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

Disassembly:
mov ecx, dword [0x5ce0f0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x470d33
sub esp, 0x64
mov edx, dword [esp + 0x68]
test edx, edx
sete bl
mov ebp, dword [esp + 0x6c]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and ebx, edi
test bl, bl
je 0x470868
movzx eax, byte [esp + 0x74]
test al, al
je 0x470856
movss xmm0, dword [0x514208]
jmp 0x470859
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 1
add esp, 0x64
ret
mov ebx, dword [esp + 0x70]
lea edi, [ebx + 0x15c]
cmp edi, 0x2b7
ja 0x470d06
nop
cmp ebp, 1
sete al
seta cl
and eax, 1
or eax, ecx
test al, al
je 0x47089a
xor ecx, ecx
mov esi, 0x20
jmp 0x4708a0
mov ecx, ebp
mov ebp, edx
xor esi, esi
mov dword [esp + 0x60], edi
test ecx, ecx
sete al
seta dl
cmp ebp, 0x10000
xchg edi, ebx
setae bl
xchg edi, ebx
and eax, edi
or edx, eax
test dl, dl
je 0x4708d1
shr ebp, 0x10
mov edx, ecx
shl edx, 0x10
or ebp, edx
shr ecx, 0x10
add esi, 0x10
test ecx, ecx
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, 0x100
setae al
and eax, edi
or eax, edx
test al, al
je 0x4708fe
shr ebp, 8
mov edx, ecx
shl edx, 0x18
or ebp, edx
shr ecx, 8
add esi, 8
test ecx, ecx
jne 0x470d24
cmp ebp, 0x100
jae 0x470d18
imul eax, ebx, 0x3526a
sar eax, 0x10
add eax, 0xbf
mov dword [esp + 0x5c], eax
sar eax, 0x1f
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x60]
shl ebx, 4
mov dword [esp + 0x60], ebx
lea edi, [0x59e9a0]
mov ecx, dword [edi + ebx + 8]
mov dword [esp + 0x54], ecx
mov ebx, dword [edi + ebx + 0xc]
mov dword [esp + 0x50], ebx
lea edi, [0x4f6f0a]
movzx ebp, byte [edi + ebp]
lea ebp, [ebp + esi - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x20], ebp
mov ecx, ebp
mov edi, dword [esp + 0x68]
shl edi, cl
mov eax, dword [esp + 0x6c]
shl eax, cl
lea edx, [ecx - 0x20]
mov ecx, edx
mov esi, dword [esp + 0x68]
shl esi, cl
neg ecx
mov ebx, dword [esp + 0x68]
shr ebx, cl
sar ebp, 0x1f
mov dword [esp + 0x4c], ebp
cmp ecx, 0x20
sbb ecx, ecx
and ebx, ecx
cmp edx, 0x20
sbb edx, edx
and esi, edx
mov edx, dword [esp + 0x20]
cmp edx, 0x20
sbb ecx, ecx
and edi, ecx
mov dword [esp + 0x48], edi
and eax, ecx
or ebx, eax
or ebx, esi
mov dword [esp + 0x44], ebx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call sym.math_bits.Mul64
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x3f
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
mov ecx, ebx
mov ebx, dword [esp + 0x20]
sub edi, ebx
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
sbb ebx, edi
mov dword [esp + 0x58], ebx
cmp eax, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
cmp edx, 0x3f
sete dl
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x470b58
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x48]
mov edi, edx
add edx, ebp
mov ebx, dword [esp + 0x44]
adc ebx, esi
mov eax, dword [esp + 0x44]
cmp eax, ebx
seta bl
sete al
cmp edx, edi
setb dl
and edx, eax
or edx, ebx
test dl, dl
jne 0x470a56
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
jmp 0x470b58
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x60]
lea ecx, [0x59e9a0]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
call sym.math_bits.Mul64
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
add eax, edx
mov ebx, dword [esp + 0x28]
adc ecx, ebx
cmp ebx, ecx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, edx
setb dl
and edx, ebp
or ebx, edx
test bl, bl
je 0x470ac8
mov ebx, dword [esp + 0x2c]
add ebx, 1
mov edx, dword [esp + 0x54]
adc edx, 0
jmp 0x470ad0
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
mov ebp, edx
and edx, 0x3f
cmp edx, 0x3f
sete dl
cmp ebx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x470b4c
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and edx, esi
test dl, dl
je 0x470b4c
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
add edx, edi
mov eax, dword [esp + 0x44]
adc esi, eax
cmp eax, esi
seta al
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, edi
setb dl
and edx, esi
or edx, eax
test dl, dl
jne 0x470b3a
mov eax, dword [esp + 0x40]
jmp 0x470b4c
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
mov esi, ecx
mov ecx, ebp
mov ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov edx, ecx
shr edx, 0x1f
mov edi, edx
xor edx, 1
mov dword [esp + 0x54], edx
add edi, 0x26
mov ebx, 0
adc ebx, 0
cmp ebx, 1
sbb ebx, ebx
xor ebx, 0xffffffff
or ebx, edi
mov edi, ecx
mov ecx, ebx
shr edi, cl
shr eax, cl
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov esi, dword [esp + 0x30]
shr esi, cl
neg ecx
mov edx, dword [esp + 0x30]
shl edx, cl
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
and edi, ebx
cmp ebp, 0x20
sbb ebx, ebx
and esi, ebx
cmp ecx, 0x20
sbb ebx, ebx
and edx, ebx
or edx, eax
or edx, esi
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x54]
mov ebp, eax
sub eax, ebx
mov esi, dword [esp + 0x28]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
mov ecx, eax
mov eax, dword [esp + 0x24]
test eax, eax
sete al
and esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x470c3d
mov eax, dword [esp + 0x2c]
test eax, eax
sete al
mov esi, dword [esp + 0x30]
test esi, 0x3f
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x470c37
mov eax, edx
and edx, 3
cmp edx, 1
sete dl
and edx, 1
test dl, dl
jne 0x470c25
sub ebp, ebx
jmp 0x470c41
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
sub ebp, ebx
mov eax, edx
jmp 0x470c41
sub ebp, ebx
mov eax, edx
mov edx, dword [esp + 0x58]
sbb edx, 0
mov ebx, eax
and eax, 1
add eax, ebx
mov dword [esp + 0x34], eax
adc edi, 0
mov dword [esp + 0x58], edi
mov ebx, eax
shr eax, 1
mov ebp, edi
shl edi, 0x1f
mov esi, ebp
shr ebp, 0x19
shl esi, 7
shr ebx, 0x19
or esi, ebx
or edi, eax
test ebp, ebp
seta al
sete bl
test esi, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, eax
test bl, bl
je 0x470ca1
mov edi, dword [esp + 0x34]
shr edi, 2
mov ebx, dword [esp + 0x58]
shl ebx, 0x1e
or edi, ebx
add ecx, 1
adc edx, 0
mov eax, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
test edx, edx
seta dl
sete bl
cmp ecx, 0xfe
setae cl
and ecx, ebx
or ecx, edx
test cl, cl
jne 0x470cf4
shl eax, 0x17
and edi, 0x7fffff
or eax, edi
movzx ecx, byte [esp + 0x74]
test cl, cl
je 0x470cdb
or eax, 0x80000000
mov dword [esp + 0x3c], eax
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 1
add esp, 0x64
ret
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
mov eax, ebp
mov ecx, 0x100
call sym.runtime.panicIndexU
mov esi, ecx
mov eax, ebp
mov ecx, 0x100
call sym.runtime.panicExtendIndexU
nop
call sym.runtime.morestack_noctxt
jmp sym.strconv.eiselLemire32