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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c9130
sub esp, 0x80
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jl 0x4c9062
test eax, eax
je 0x4c9034
test ecx, ecx
je 0x4c9034
cmp ecx, 1
je 0x4c8fb8
mov edx, dword [esp + 0x8c]
test edx, edx
jle 0x4c8fa3
mov ebx, dword [esp + 0x98]
test ebx, ebx
jle 0x4c8f95
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4c9129
mov ebp, dword [esp + 0x84]
lea esi, [ebp + edx*4 - 4]
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4c9129
mov edi, dword [esp + 0x90]
lea edi, [edi + ebx*4 - 4]
cmp edi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c8f28
xor edx, edx
xor ebp, ebp
mov esi, dword [0x7570e4]
cmp ecx, esi
jl 0x4c8e4a
mov dword [esp + 0x7c], edx
mov dword [esp + 0x38], ebp
mov dword [esp], ecx
call dbg.math/big.karatsubaLen
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
cmp eax, ecx
ja 0x4c9114
mov edx, dword [esp + 0xa4]
cmp eax, edx
ja 0x4c910d
lea ebx, [eax + eax*2]
shl ebx, 1
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x94]
lea edi, [esi + ebp]
cmp ebx, edi
jle 0x4c8e43
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x38]
cmp ebx, esi
jg 0x4c8e03
ja 0x4c9106
mov dword [esp + 0x38], esi
mov ebp, dword [esp + 0x7c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call dbg.math/big.karatsuba
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
ja 0x4c90ff
mov edx, dword [esp + 0x50]
mov ebx, edx
shl edx, 1
cmp edx, eax
ja 0x4c90f8
sub ecx, edx
shl ebx, 3
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x7c]
add ebx, ecx
mov dword [esp], ebx
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call dbg.math/big.nat.clear
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jge 0x4c8df2
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
call dbg.math/big.nat.norm
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
ja 0x4c90f1
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 0xa4]
sub edx, eax
mov dword [esp + 0x44], edx
mov ebp, edx
neg edx
mov esi, eax
shl eax, 2
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x9c]
add eax, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
call dbg.math/big.nat.mul
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x50]
mov dword [esp + 0x18], edi
call dbg.math/big.addAt
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call dbg.math/big.nat.norm
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
jmp 0x4c8d47
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call dbg.math/big.nat.norm
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
call dbg.math/big.nat.mul
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x60]
mov dword [esp + 0x18], edi
call dbg.math/big.addAt
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
call dbg.math/big.nat.mul
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x50]
add edi, esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x18], edi
call dbg.math/big.addAt
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x94]
cmp ebx, edx
jge 0x4c8dae
ja 0x4c90ea
mov dword [esp + 0x78], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
sub edx, ebx
mov ecx, dword [esp + 0x98]
sub ecx, ebx
mov dword [esp + 0x54], ecx
shl ebx, 2
neg ecx
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x90]
add ebx, ecx
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jle 0x4c8da3
mov edx, dword [esp + 0x54]
cmp ecx, edx
jbe 0x4c8be9
jmp 0x4c90e3
mov ecx, edx
mov edx, dword [esp + 0x54]
jmp 0x4c8be9
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call dbg.math/big.nat.norm
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
add esp, 0x80
ret
mov edx, dword [esp + 0x94]
cmp edx, ecx
jne 0x4c8acb
jmp 0x4c8dae
lea eax, [0x604560]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 8], eax
call dbg.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
jmp 0x4c8a34
mov ebx, edi
jmp 0x4c8a1a
lea esi, [eax + ecx]
cmp esi, ebp
jg 0x4c8ee8
ja 0x4c911b
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x7c], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x90]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
call dbg.math/big.basicMul
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call dbg.math/big.nat.norm
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
lea edx, [0x604560]
mov dword [esp], edx
mov dword [esp + 4], esi
lea edx, [ecx + eax + 4]
mov dword [esp + 8], edx
call dbg.runtime.makeslice
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
jmp 0x4c8e5b
test edx, edx
jle 0x4c8f8a
mov esi, dword [esp + 0xa4]
test esi, esi
jle 0x4c8f86
lea edi, [edx - 1]
cmp edi, edx
jae 0x4c9122
lea edi, [ebp + edx*4 - 4]
lea ebx, [esi - 1]
cmp ebx, esi
jae 0x4c9122
mov ebx, dword [esp + 0x9c]
lea ebx, [ebx + esi*4 - 4]
cmp ebx, edi
sete bl
test bl, bl
je 0x4c8f71
mov ebx, dword [esp + 0x98]
jmp 0x4c89b8
mov ebx, dword [esp + 0x98]
mov edx, ebp
mov ebp, dword [esp + 0x8c]
jmp 0x4c89bc
xor ebx, ebx
jmp 0x4c8f61
mov esi, dword [esp + 0xa4]
xor ebx, ebx
jmp 0x4c8f61
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4c89ae
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4c89ae
mov ecx, dword [esp + 0x9c]
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0
call dbg.math/big.nat.mulAddWW
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x80
ret
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
call dbg.math/big.nat.mul
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.math/big.nat.mul