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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x5820a7
sub esp, 0xf4
nop
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
jmp 0x581030
dec ebp
test ebp, ebp
jle 0x58103c
mov esi, dword [ebx + ebp*4 - 4]
test esi, esi
je 0x58102f
mov edx, dword [esp + 0x10c]
cmp edx, ebp
jb 0x58209f
nop
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
jmp 0x58105d
dec edi
test edi, edi
jle 0x581069
mov eax, dword [esi + edi*4 - 4]
test eax, eax
je 0x58105c
mov eax, esi
mov esi, dword [esp + 0x118]
cmp esi, edi
jb 0x582096
test ebp, ebp
je 0x581286
cmp edi, 0x64
jl 0x581242
mov ecx, ebp
sub ebp, edi
test ebp, ebp
jl 0x58123b
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x11c]
cmp esi, ebx
jbe 0x58208d
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x9c], edi
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0x124]
mov eax, dword [esi + ebx*4]
shr edi, 1
mov dword [esp + 0xa8], edi
test eax, eax
je 0x5811b8
mov edx, dword [eax + 8]
lea ecx, [edi + 1]
cmp edx, ecx
jl 0x5810f4
jb 0x582088
mov eax, dword [eax]
jmp 0x581191
test edi, edi
jne 0x581142
lea eax, [0x660de0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov edx, 1
mov ecx, 1
jmp 0x581191
mov dword [esp + 0x8c], ecx
lea eax, [0x660de0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [edi + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 8], edx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esi + ebx*4]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov ecx, dword [0x899508]
test ecx, ecx
je 0x5811b4
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ebx]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [ebx], eax
jmp 0x58121a
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call sym.math_big.getNat
mov eax, dword [0x899508]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5811e5
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x124]
jmp 0x581201
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x124]
mov esi, dword [ebp + ebx*4]
mov dword [edi + 4], esi
mov dword [ebp + ebx*4], ecx
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x10c]
jmp 0x581349
add esp, 0xf4
ret
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
call sym.math_big.nat.divBasic
add esp, 0xf4
ret
nop
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x5812a8
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
shl eax, 2
mov dword [esp + 4], eax
call sym.runtime.memclrNoHeapPointers
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x18], ebx
call sym.math_big.addAt
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x104]
mov edi, dword [esp + 0x124]
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x120]
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, edi
jle 0x581768
sub ebp, edi
mov ebx, dword [esp + 0xc8]
cmp ebx, ebp
jb 0x58207f
mov dword [esp + 0xc4], ebp
sub edx, ebp
mov dword [esp + 0x58], edx
neg edx
shl ebp, 2
sar edx, 0x1f
and ebp, edx
mov edx, edi
mov edi, dword [esp + 0x11c]
mov esi, dword [esi + edi*4]
mov edi, dword [esi + 4]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0xc4]
sub ebx, edi
mov dword [esp + 0x54], ebx
mov edi, dword [esp + 0x104]
add ebp, edi
mov dword [esp + 0xd8], ebp
mov edi, dword [esi]
mov dword [esp + 0xe8], edi
mov esi, dword [esi + 8]
mov dword [esp + 0x80], esi
nop
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x5813fb
mov dword [esp], edi
shl ebx, 2
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0xe8]
lea eax, [edx + ecx]
mov esi, dword [esp + 0x58]
cmp esi, eax
jb 0x582076
lea ebx, [edx - 1]
cmp ebx, eax
ja 0x58206d
mov dword [esp + 0x60], ebx
sub esi, edx
inc esi
mov dword [esp + 0xc0], esi
shl ebx, 2
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
add esi, ebp
mov ebp, dword [esp + 0x60]
cmp ecx, ebp
jb 0x582066
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xf0], esi
mov dword [esp], edi
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x80]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea esi, [ecx + 1]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x14], esi
sub ecx, edx
mov esi, dword [esp + 0x118]
sub esi, edx
inc esi
mov dword [esp + 0xb8], esi
inc ecx
mov dword [esp + 0xb4], ecx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
mov ebx, dword [esp + 0x110]
add esi, ebx
mov dword [esp + 0xec], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x11c]
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x124]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x128]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x34], esi
call sym.math_big.nat.divRecursiveStep
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x78]
jmp 0x581de5
mov edx, dword [esp + 0x80]
cmp ecx, edx
ja 0x582061
mov dword [esp + 0x98], ecx
mov ebx, dword [esp + 0x120]
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x9c]
lea edi, [esi + esi*2]
cmp ebp, edi
jl 0x581558
jb 0x582058
mov ebx, dword [ebx]
mov dword [esp + 0x44], ebp
mov ebp, ebx
mov ebx, dword [esp + 0x120]
jmp 0x5815db
cmp edi, 1
jne 0x581586
mov dword [esp + 0xb0], 0
mov edi, 1
lea ebp, [esp + 0xb0]
mov ebp, 1
mov dword [esp + 0x44], ebp
lea ebp, [esp + 0xb0]
jmp 0x5815db
mov dword [esp + 0x88], edi
lea eax, [0x660de0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esi + esi*2 + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x88]
mov ebp, ebx
mov ebx, dword [esp + 0x120]
nop
test edi, edi
je 0x58161a
mov dword [esp + 0x3c], edi
mov dword [esp + 0xd0], ebp
mov dword [esp], ebp
shl edi, 2
mov dword [esp + 4], edi
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0xd0]
mov edi, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x118]
mov dword [esp + 0x20], esi
call sym.math_big.nat.mul
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xd8]
xor esi, esi
jmp 0x581e7a
mov esi, ebx
jmp 0x581fc3
mov edi, dword [esp + 0x58]
cmp ebx, edi
ja 0x581ffc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
call sym.math_big.nat.cmp
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x581fe4
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x58]
cmp ecx, edx
ja 0x581fdf
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x20], ebx
call sym.math_big.subVV
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x5812af
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
ja 0x581fd8
mov ebx, dword [esp + 0x58]
sub ebx, edx
sub ecx, edx
mov ebp, ebx
neg ebx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xd8]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call sym.math_big.subVW
jmp 0x5812af
mov ebp, dword [esp + 0x11c]
mov esi, dword [esi + ebp*4]
mov ebx, dword [esi + 4]
mov dword [esp + 0x74], ebx
mov ebp, dword [esi + 8]
mov dword [esp + 0x7c], ebp
mov esi, dword [esi]
mov dword [esp + 0xe4], esi
nop
test ebx, ebx
je 0x5817c1
mov dword [esp], esi
shl ebx, 2
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xa8]
lea eax, [edi - 1]
mov ebp, dword [esp + 0xc8]
cmp ebp, eax
jb 0x581ddd
mov dword [esp + 0x5c], eax
sub edx, edi
sub ebp, edi
inc edx
mov dword [esp + 0x50], edx
shl eax, 2
neg edx
sar edx, 0x1f
and edx, eax
mov edi, dword [esp + 0x104]
add edx, edi
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x581802
dec ebp
mov edi, dword [esp + 0x104]
test ebp, ebp
jle 0x581815
mov edi, dword [edx + ebp*4 - 4]
test edi, edi
je 0x5817fa
mov edi, dword [esp + 0x104]
mov edi, dword [esp + 0x50]
cmp ebp, edi
ja 0x581dd4
mov edi, dword [esp + 0x5c]
cmp ecx, edi
jb 0x581dcd
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd4], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x118]
mov edx, dword [esp + 0xa8]
sub ebp, edx
sub ecx, edx
inc ebp
mov dword [esp + 0xc0], ebp
inc ecx
mov dword [esp + 0xbc], ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov eax, dword [esp + 0x110]
add ebp, eax
mov dword [esp + 0xf0], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x11c]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x34], ecx
call sym.math_big.nat.divRecursiveStep
nop
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x74]
jmp 0x5818f6
dec ecx
test ecx, ecx
jle 0x581902
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x5818f5
mov edx, dword [esp + 0x7c]
cmp ecx, edx
ja 0x581dc8
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x120]
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x9c]
lea edi, [esi + esi*2]
cmp ebp, edi
jl 0x581937
jb 0x581dbf
mov ebx, dword [ebx]
jmp 0x5819a0
cmp edi, 1
jne 0x58195a
mov dword [esp + 0xac], 0
mov edi, 1
lea ebx, [esp + 0xac]
mov ebp, 1
jmp 0x5819a0
mov dword [esp + 0x84], edi
lea eax, [0x660de0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + esi*2 + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x40]
nop
test edi, edi
je 0x5819e4
mov dword [esp + 0x38], edi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x40], ebp
mov dword [esp], ebx
shl edi, 2
mov dword [esp + 4], edi
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x118]
mov dword [esp + 0x20], esi
call sym.math_big.nat.mul
mov eax, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc8]
xor esi, esi
jmp 0x581a72
mov edi, dword [esp + 0xa0]
lea esi, [edi + 1]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
cmp esi, 2
jge 0x581bed
mov edi, ebp
jmp 0x581d9c
mov edi, dword [esp + 0xc8]
mov edi, dword [esp + 0x10c]
cmp edi, ebp
jb 0x581db6
mov dword [esp + 0xa0], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
call sym.math_big.nat.cmp
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x581a4b
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call sym.math_big.subVW
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x581db1
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x20], ebp
call sym.math_big.subVV
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jle 0x581ba0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
sub eax, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
mov ebx, dword [esp + 0xc4]
and edx, ebx
mov ebx, dword [esp + 0xdc]
add edx, ebx
mov dword [esp], edx
inc eax
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
call sym.math_big.subVW
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
call sym.math_big.addAt
jmp 0x581a4b
mov esi, ebp
jmp 0x581bf2
dec ebp
test ebp, ebp
jle 0x581bfe
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x581bf1
mov edi, dword [esp + 0x10c]
cmp edi, ebp
jb 0x581d8b
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
call sym.math_big.nat.cmp
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x581d73
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x64]
cmp edx, ecx
jb 0x581d6e
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebx
call sym.math_big.subVV
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x581ce1
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x64]
cmp ecx, edx
jb 0x581d67
mov ebx, dword [esp + 0x10c]
sub ebx, edx
sub ecx, edx
mov ebp, ebx
neg ebx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x104]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call sym.math_big.subVW
mov eax, dword [esp + 0x1c]
test eax, eax
ja 0x581d4f
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
jmp 0x581cf6
dec ecx
test ecx, ecx
jle 0x581d02
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x581cf5
mov edx, dword [esp + 0x7c]
cmp ecx, edx
ja 0x581d4a
mov ebx, dword [esp + 0xf8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0
call sym.math_big.addAt
add esp, 0xf4
ret
call sym.runtime.panicSliceAcap
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6b90]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6b90]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov ecx, ebp
mov edx, edi
call sym.runtime.panicSliceAcap
dec ebp
mov edi, dword [esp + 0xc8]
test ebp, ebp
jle 0x581a89
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x581d94
jmp 0x581a82
call sym.runtime.panicSliceAcap
mov ecx, ebp
mov edx, edi
call sym.runtime.panicSliceAcap
mov ecx, edi
mov edx, ebp
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov eax, edi
call sym.runtime.panicSliceB
mov ecx, ebp
mov edx, edi
call sym.runtime.panicSliceAcap
mov ecx, ebp
call sym.runtime.panicSliceB
dec ecx
test ecx, ecx
jle 0x581510
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x581de4
jmp 0x581510
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
sub edx, ecx
inc edx
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0xec]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call sym.math_big.addAt
mov eax, dword [esp + 0xa4]
lea esi, [eax + 1]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xd8]
cmp esi, 2
jge 0x581685
mov dword [esp + 0xa4], esi
mov edi, ebx
jmp 0x58200d
mov esi, dword [esp + 0xa4]
mov esi, dword [esp + 0x58]
cmp ebx, esi
ja 0x58204f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
call sym.math_big.nat.cmp
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x582022
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call sym.math_big.subVW
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
cmp edx, ecx
jb 0x58204a
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x20], ebp
call sym.math_big.subVV
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jle 0x581fb4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
sub eax, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
mov ebp, dword [esp + 0xbc]
and edx, ebp
mov ebp, dword [esp + 0xe0]
add edx, ebp
mov dword [esp], edx
inc eax
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
call sym.math_big.subVW
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x54]
cmp edx, ecx
jae 0x581dfa
jmp 0x582041
dec ebx
test ebx, ebx
jle 0x58168c
mov edi, dword [ebp + ebx*4 - 4]
test edi, edi
je 0x581fc2
jmp 0x58168c
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6b90]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov ecx, ebx
mov edx, edi
call sym.runtime.panicSliceAcap
dec ebx
mov esi, dword [esp + 0xa4]
test ebx, ebx
jle 0x581e98
mov esi, dword [ebp + ebx*4 - 4]
test esi, esi
je 0x582005
jmp 0x581e91
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xd8]
jmp 0x581685
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov ecx, ebx
mov edx, esi
call sym.runtime.panicSliceAcap
mov ecx, edi
mov edx, ebp
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, esi
call sym.runtime.panicSliceAcap
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov eax, ebx
mov ecx, esi
call sym.runtime.panicIndex
mov ecx, edi
mov edx, esi
call sym.runtime.panicSliceAcap
mov ecx, ebp
call sym.runtime.panicSliceAcap
nop
call sym.runtime.morestack_noctxt
jmp sym.math_big.nat.divRecursiveStep