Documented ARM32 Windows syscall invoking convention. Still not
understanding how to properly parse the immediate values encoded in
movs. MSVC uses a different mov instruction for some of the functions
for some reason. Normal mov in Thumb2 takes a 12-bit imm, movw takes
full 16-bit imm. The weird thing is that immediates in those functions
that differ don't exceed the boundaries of the normal 12-bit mov. This
just seems like a shit codegen.
Pulling an additional crate for finding syscall functions was definitely
unnecessary. Now we use a few conditionals to make sure we are getting
the correct functions with a slight speedup.