The x86 architecture is a typical CISC architecture, it can perform stores of different sizes.
A mov [ebx], 0 is ambiguous (which size is used?) but mov byte [ebx], 0 fixes the size to 8-bit.
The ptr is just an embellishment so that the instruction reads as almost self-documenting: move to the byte pointed by ebx zero.
That also explains the semantics of the instruction, there are plenty of tutorial on the internet about the x86 addressing modes.
I picked up the first one.
1000h is a strange address, it's probably outside the working set of the process and it also is the typical RVA (Relative Virtual Address) of the .text section.
This makes me think that there is a relocation entry pointing at that instruction's operand.
IDA free can't debug but x64dbg can, try debugging the program to see if the address turns into something like BASE_ADDRESS + 1000h.
IDA will show you a static view of the PE sections once loaded, so you can inspect the initial value of the global variables but to see a live view of the memory you have to debug the program.
Officially, at the PE entry-point the registers have undefined values, but since execution starts in a user-mode library, some values leak, though this is not a reliable ABI.
There are a few calling conventions used by the compiler and by the APIs, you should get accustomized to that.
Each compiler will also have its typical register allocation algorithm but this may be too complex to exhibit a pattern but in very simple routines.
Input values will probably be in some register at some point but finding when and where is the hardest part.
By studying the application behavior you can write down a set of possible input APIs the program will use and break on every of these.
Upon return to the program code, you'll have the input string (IO is string based).
Alternatively, you reverse engineer the application from the start, a trained analyst can find the WinMain pretty easily and if the program is not obfuscated or written in a very abstract language, it'll be quick to find where the input is read.
A third way is writing a trimmed down twin application with a technology very close to the original one and then analyze the latter.
This way you also have a source code to get through the fog of the disassembly.
nullptr, as that area is usually marked as no-access in the virtual memory map.