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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x47643f
sub esp, 0x60
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x476438
mov eax, 0x20
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
cmp edx, 1
jl 0x476425
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx - 2]
cmp ebp, 0x22
ja 0x47630d
xor ecx, ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x2c], ecx
cmp ebx, 0xa
jne 0x4762b8
mov ebp, 0x9999999a
mov esi, 0x19999999
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], esi
mov edi, ecx
mov ecx, eax
mov esi, 1
shl esi, cl
cmp eax, 0x20
sbb ebp, ebp
and ebp, esi
mov esi, ebp
add ebp, 0xffffffff
lea ecx, [eax - 0x20]
mov eax, ebp
mov ebp, 1
shl ebp, cl
cmp ecx, 0x20
sbb ebx, ebx
and ebx, ebp
neg ecx
mov ebp, 1
shr ebp, cl
cmp ecx, 0x20
mov ecx, edx
sbb edx, edx
and edx, ebp
or ebx, edx
add esi, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
cmp edi, ecx
jge 0x476140
jae 0x4762b1
movzx esi, byte [esi + edi]
lea ecx, [esi - 0x30]
cmp cl, 9
ja 0x47627e
mov byte [esp + 0x1f], cl
xchg ebp, eax
cmp cl, al
xchg ebp, eax
jae 0x47626b
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
cmp esi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, edx
sete cl
and edi, ecx
cmp ebx, edx
seta cl
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x476255
mov ecx, eax
mov eax, ebp
mul esi
mov dword [esp + 0x24], eax
movzx edi, byte [esp + 0x1f]
xchg edi, eax
movzx eax, al
xchg edi, eax
add eax, edi
sar ebp, 0x1f
imul esi, ebp
add edx, esi
mov ebp, dword [esp + 0x6c]
imul ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x24]
add edi, ebx
mov esi, edx
adc edx, 0
cmp edx, esi
xchg edi, ebx
sete bl
xchg edi, ebx
cmp eax, ebx
setb bl
and edi, ebx
cmp edx, esi
setb bl
or ebx, edi
test bl, bl
jne 0x476167
mov ebx, dword [esp + 0x38]
cmp edx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp eax, ecx
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, edi
cmp edx, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x476167
mov esi, dword [esp + 0x2c]
lea edi, [esi + 1]
mov esi, dword [esp + 0x34]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edi
cmp edi, ecx
jl 0x47604c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
mov eax, dword [0x7d2190]
mov ecx, dword [0x7d2194]
mov edx, 0xffffffff
mov dword [esp + 0x28], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea ebx, [0x614a80]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov dword [eax + 4], 9
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x47623a
lea ecx, [0x63916a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x7e38e0]
lea edx, [eax + 8]
test ecx, ecx
jne 0x476224
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x7e38e0]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x47620e
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
lea ecx, [0x724ef0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x5c]
jmp 0x4761ed
mov dword [esp], edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x5c]
jmp 0x4761d2
mov dword [esp], eax
lea ecx, [0x63916a]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x5c]
jmp 0x4761b7
mov ecx, dword [0x7d2194]
mov eax, dword [0x7d2190]
mov edx, 0xffffffff
jmp 0x476178
mov ecx, dword [0x7d219c]
mov eax, dword [0x7d2198]
xor edx, edx
jmp 0x476178
lea ecx, [esi - 0x61]
cmp cl, 0x19
ja 0x47628e
lea ecx, [esi - 0x57]
jmp 0x476062
lea ecx, [esi - 0x41]
cmp cl, 0x19
ja 0x47629e
lea ecx, [esi - 0x37]
jmp 0x476062
mov ecx, dword [0x7d219c]
mov eax, dword [0x7d2198]
xor edx, edx
jmp 0x476178
call dbg.runtime.panicindex
ud2
cmp ebx, 0x10
jne 0x4762c9
xor ebp, ebp
mov esi, 0x10000000
jmp 0x475fc8
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], ebx
sar ebx, 0x1f
mov dword [esp + 0xc], ebx
call dbg.runtime.uint64div
mov eax, dword [esp + 0x10]
add eax, 1
mov esi, dword [esp + 0x14]
adc esi, 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, eax
mov eax, dword [esp + 0x70]
jmp 0x475fc8
test ebx, ebx
jne 0x47638b
mov ebx, dword [esp + 0x64]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x476384
cmp edx, 1
jle 0x47637d
movzx esi, byte [ebx + 1]
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x47635a
cmp edx, 3
jl 0x476347
mov ecx, 0x10
mov ebp, 2
mov ebx, ecx
mov ecx, ebp
jmp 0x475fad
mov ecx, dword [0x7d219c]
mov eax, dword [0x7d2198]
xor edx, edx
jmp 0x476178
xchg esi, eax
cmp al, 0x58
xchg esi, eax
je 0x47632f
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x476374
mov ecx, 8
mov ebp, 1
jmp 0x47633e
mov ecx, 0xa
xor ebp, ebp
jmp 0x47633e
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jmp 0x476366
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jmp 0x476366
mov dword [esp], ebx
call dbg.strconv.Itoa
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x63a6ed]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x605da0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x47640f
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
xor edx, edx
lea eax, [0x724b30]
mov ecx, dword [esp + 0x58]
jmp 0x476178
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x4763fe
mov ecx, dword [0x7d219c]
mov eax, dword [0x7d2198]
xor edx, edx
jmp 0x476178
mov eax, edx
jmp 0x475f8a
call dbg.runtime.morestack_noctxt
jmp dbg.strconv.ParseUint