Function at 0x512720
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x69e340]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x512a91
sub esp, 0x60
lea eax, [0x533ca0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
lea ecx, [0x533c60]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 0x68]
test eax, eax
jbe 0x512a87
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x2c], ecx
lea ebx, [0x55a691]
mov dword [esp], ebx
mov dword [esp + 4], 0x18
call sym.syscall.StringToUTF16Ptr
mov eax, dword [esp + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
lea edx, [0x5327e0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [0x651080]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5128cd
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
lea edx, [ecx + eax]
test eax, eax
jl 0x5128ac
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jle 0x5128ac
cmp eax, edx
jg 0x5128ac
cmp ebx, edx
jl 0x5128ac
mov edx, dword [esp + 0x6c]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x64]
add eax, edx
test ecx, 3
jne 0x51288b
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
lea eax, [0x5339e0]
mov dword [esp], eax
shr ecx, 2
mov dword [esp + 0x20], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
xor ebp, ebp
jmp 0x512904
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
add esp, 0x60
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
add esp, 0x60
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
add esp, 0x60
ret
mov dword [ecx], ebx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov eax, edx
mov edx, esi
cmp ebp, ecx
jge 0x512a33
lea esi, [ebp + 1]
mov edi, esi
shl esi, 2
cmp esi, ebx
ja 0x512a7e
mov dword [esp + 0x28], ebp
shl ebp, 2
cmp esi, ebp
jb 0x512a75
sub esi, ebp
sub ebx, ebp
mov dword [esp + 0x24], ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
lea ebx, [edx + ebp]
test esi, esi
jbe 0x512a6c
movzx ecx, byte [edx + ebp]
cmp esi, 1
jbe 0x512a60
mov dword [esp + 0x30], edi
movzx edi, byte [edx + ebp + 1]
xchg edi, eax
mov byte [edx + ebp], al
xchg edi, eax
mov byte [edx + ebp + 1], cl
cmp esi, 2
jbe 0x512a54
movzx edi, byte [edx + ebp + 2]
cmp esi, 3
jbe 0x512a48
movzx ecx, byte [edx + ebp + 3]
mov byte [edx + ebp + 2], cl
xchg edi, eax
mov byte [edx + ebp + 3], al
xchg edi, eax
mov ecx, dword [esp + 0x28]
lea ebp, [eax + ecx*8 + 4]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp], ebx
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x52efe0]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x552671]
mov dword [esp], eax
mov dword [esp + 4], 2
lea edx, [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx*8]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x3c]
mov dword [ebp], eax
mov eax, dword [0x69e3e8]
test eax, eax
je 0x5128ee
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
jmp 0x5128ee
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov byte [esp + 0x7c], 1
add esp, 0x60
ret
mov eax, 3
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 2
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 1
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, esi
call sym.runtime.panicSliceB
mov ecx, esi
mov edx, ebx
call sym.runtime.panicSliceAcap
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.github.com_gonutz_w32_v2.VerQueryValueTranslations