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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x57f0ee
sub esp, 0x98
mov eax, dword [esp + 0xac]
lea ecx, [eax - 2]
cmp ecx, 0x3c
ja 0x57f0d5
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x57ed01
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
call sym.math_big.nat.bitLen
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
call sym.runtime.fint32to64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.math.log2
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
call sym.runtime.fint32to64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
call sym.runtime.fdiv64
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.f64toint32
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
movzx edx, byte [esp + 0xa8]
test dl, dl
je 0x57ec6f
lea ecx, [eax + 2]
mov dword [esp + 0x5c], ecx
lea eax, [0x660420]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xac]
mov ecx, eax
neg eax
and eax, ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x94], edx
cmp ecx, eax
jne 0x57ecef
bsf ecx, ecx
mov dword [esp + 0x34], ecx
mov ebx, 1
shl ebx, cl
nop
mov ebp, dword [esp + 0x9c]
mov esi, dword [ebp]
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x78], edi
and ebx, edi
lea eax, [ebx - 1]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x6c], eax
mov eax, 1
mov dword [esp + 0x58], eax
mov eax, 0x20
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x6c]
jmp 0x57ef13
mov eax, 0xffffffff
xor edx, edx
div ecx
mov edx, ecx
mov ebx, 1
jmp 0x57ed3e
lea eax, [0x65ce20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0x30
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 1
add esp, 0x98
ret
imul ecx, edx
inc ebx
cmp ecx, eax
jbe 0x57ed3a
mov dword [esp + 0x60], ecx
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call sym.math_big.divisors
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], edx
nop
mov ebx, dword [esp + 0xa0]
cmp ebx, 1
jne 0x57edab
mov dword [esp + 0x88], 0
mov ebp, 1
lea esi, [esp + 0x88]
mov edi, 1
jmp 0x57edea
lea eax, [0x660de0]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
mov esi, eax
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x90]
cmp ebx, ebp
jl 0x57edf0
mov ebx, ebp
mov edx, dword [esp + 0x9c]
cmp edx, esi
je 0x57ee37
mov dword [esp + 0x8c], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov dword [esp], esi
mov dword [esp + 4], edx
shl ebx, 2
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edx, dword [esp + 0x94]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
call sym.math_big.nat.convertWords
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x94]
xor edx, edx
jmp 0x57ee99
inc edx
cmp edx, eax
jae 0x57ef01
lea ebx, [edx + ecx]
cmp byte [ebx], 0x30
je 0x57ee98
movzx ebx, byte [esp + 0xa8]
test bl, bl
je 0x57eebf
lea ebx, [edx - 1]
cmp eax, ebx
jbe 0x57eef8
mov byte [edx + ecx - 1], 0x2d
jmp 0x57eec1
mov ebx, edx
cmp ebx, eax
ja 0x57eeef
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
lea eax, [ebx + ecx]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], edx
add esp, 0x98
ret
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, ebx
call sym.runtime.panicIndex
mov ecx, eax
mov eax, edx
call sym.runtime.panicIndex
inc edi
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x58]
cmp ebp, edi
jg 0x57f07c
jmp 0x57efde
test ebp, ebp
jne 0x57ef4d
mov ebp, dword [esp + 0x9c]
mov esi, dword [ebp + edi*4]
mov dword [esp + 0x64], eax
mov eax, 0x20
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
jmp 0x57ef0a
mov edx, dword [esp + 0x9c]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x74], ecx
mov ecx, ebp
mov edx, dword [esp + 0x74]
shl edx, cl
cmp ecx, 0x20
sbb ecx, ecx
and edx, ecx
or esi, edx
and esi, eax
cmp esi, 0x3e
jae 0x57f0b4
lea edx, [ebx - 1]
mov ecx, ebp
lea ebp, [0x6a53fd]
movzx esi, byte [ebp + esi]
mov ebp, dword [esp + 0x5c]
cmp ebp, edx
jbe 0x57f0ab
mov ebp, dword [esp + 0x94]
xchg esi, eax
mov byte [ebx + ebp - 1], al
xchg esi, eax
mov ebp, dword [esp + 0x9c]
mov esi, dword [ebp + edi*4]
mov ebp, dword [esp + 0x34]
sub ebp, ecx
mov ecx, ebp
shr esi, cl
lea ebx, [ecx - 0x20]
neg ebx
cmp ecx, 0x20
sbb ebp, ebp
and esi, ebp
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x50], ebx
mov ebx, edx
mov edx, dword [esp + 0x94]
jmp 0x57ef0a
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x5c]
jmp 0x57f006
xchg esi, eax
mov byte [ebx + edx - 1], al
xchg esi, eax
mov esi, dword [esp + 0x40]
shr esi, cl
mov ebx, dword [esp + 0x78]
and esi, ebx
mov ebp, ebx
mov ebx, eax
mov eax, dword [esp + 0x54]
test esi, esi
je 0x57f029
mov dword [esp + 0x40], esi
and esi, eax
cmp esi, 0x3e
jae 0x57f047
lea eax, [ebx - 1]
lea ebp, [0x6a53fd]
movzx esi, byte [ebp + esi]
cmp edi, eax
ja 0x57efec
jmp 0x57f040
movzx ebp, byte [esp + 0xa8]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, edi
mov ecx, edx
mov edx, ebx
jmp 0x57eeaf
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
mov ecx, 0x3e
call sym.runtime.panicIndexU
xchg esi, eax
mov byte [ebx + edx - 1], al
xchg esi, eax
mov esi, dword [esp + 0x40]
shr esi, cl
mov ebx, dword [esp + 0x78]
and esi, ebx
mov ebx, dword [esp + 0x50]
sub ebx, ecx
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x50], ebx
mov ebx, edi
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
cmp ebp, ecx
jb 0x57ef2b
mov dword [esp + 0x40], esi
and esi, eax
cmp esi, 0x3e
jae 0x57f0c9
lea edi, [ebx - 1]
lea ebp, [0x6a53fd]
movzx esi, byte [ebp + esi]
mov ebp, dword [esp + 0x5c]
cmp ebp, edi
ja 0x57f053
jmp 0x57f0c0
mov eax, edx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, esi
mov ecx, 0x3e
call sym.runtime.panicIndexU
mov eax, edi
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, esi
mov ecx, 0x3e
call sym.runtime.panicIndexU
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6b78]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.math_big.nat.itoa