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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x452a4b
sub esp, 0x70
mov ecx, dword [esp + 0x78]
mov edx, ecx
shr ecx, 0x14
and ecx, 0x7ff
mov ebx, edx
and edx, 0xfffff
test ecx, ecx
jne 0x4526a1
test edx, edx
setne cl
mov ebp, dword [esp + 0x74]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x452698
mov eax, ebp
mov ecx, 0xfffffc02
jmp 0x452a41
mov eax, ebp
xor ecx, ecx
jmp 0x452a2e
cmp ecx, 0x7ff
jne 0x4526dd
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [esp + 0x74]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x4526d2
mov eax, esi
xor ebp, ebp
mov edi, 1
jmp 0x4526f7
mov eax, esi
mov ebp, 1
xor edi, edi
jmp 0x4526f7
or edx, 0x100000
add ecx, 0xfffffc01
mov eax, dword [esp + 0x74]
mov esi, eax
xor ebp, ebp
xor edi, edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x80]
shr ecx, 0x14
and ecx, 0x7ff
mov ebx, dword [esp + 0x80]
and ebx, 0xfffff
test ecx, ecx
jne 0x452749
test ebx, ebx
setne cl
mov edx, dword [esp + 0x7c]
test edx, edx
setne al
or eax, ecx
test al, al
je 0x452740
mov eax, edx
mov ecx, 0xfffffc02
jmp 0x452a24
mov eax, edx
xor ecx, ecx
jmp 0x452a01
cmp ecx, 0x7ff
jne 0x4527cd
mov dword [esp + 0x30], esi
test ebx, ebx
setne al
mov edx, dword [esp + 0x7c]
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x45279e
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
xor eax, eax
mov byte [esp + 0x27], al
mov esi, 1
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x30]
jmp 0x4527fd
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, 1
mov byte [esp + 0x27], al
xor esi, esi
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x30]
jmp 0x4527fd
or ebx, 0x100000
add ecx, 0xfffffc01
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], eax
xor eax, eax
mov byte [esp + 0x27], al
xor eax, eax
mov byte [esp + 0x26], al
mov eax, dword [esp + 0x48]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x45280e
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
je 0x452828
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x7ff80000
add esp, 0x70
ret
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0x80]
and edi, 0x80000000
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45288a
movzx ecx, byte [esp + 0x27]
test cl, cl
jne 0x452872
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45288f
mov dword [esp + 0x28], edi
mov ebp, dword [esp + 0x2c]
test ebp, ebp
sete al
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, eax
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4528a9
mov edi, dword [esp + 0x28]
jmp 0x45288f
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
xor edi, eax
mov dword [esp + 0x88], edi
add esp, 0x70
ret
movzx ecx, byte [esp + 0x27]
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
sete al
and ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4528e5
test cl, cl
je 0x4528c3
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x7ff80000
add esp, 0x70
ret
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4528e5
mov eax, dword [esp + 0x74]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
xor edi, eax
mov dword [esp + 0x88], edi
add esp, 0x70
ret
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x78]
and ecx, 0x80000000
mov eax, dword [esp + 0x2c]
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
test ebx, ebx
sete bl
and ebx, ebp
test bl, bl
je 0x45292a
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
xor ecx, eax
mov dword [esp + 0x88], ecx
add esp, 0x70
ret
xor edi, ecx
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
lea ecx, [ebx + ecx - 1]
mov dword [esp + 0x6c], ecx
mov ebx, edx
mov ebp, eax
mul esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x3c], eax
mov eax, ebp
mul ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mul esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
imul ebp, ebx
mov ecx, dword [esp + 0x34]
imul esi, ecx
mov edx, dword [esp + 0x68]
add esi, edx
add ebp, esi
mov esi, ebp
and ebp, 0x7ffff
shr esi, 0x13
mov eax, ecx
mov ecx, edx
mul ebx
nop
mov dword [esp], 0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x60]
add ebx, ecx
mov ecx, dword [esp + 0x64]
adc ecx, 0
mov edi, dword [esp + 0x58]
add edi, ebx
mov ebx, dword [esp + 0x5c]
adc ebx, 0
add ecx, eax
adc edx, 0
add ebx, ecx
adc edx, 0
shl edx, 0xd
mov ecx, ebx
shl ebx, 0xd
shr ecx, 0x13
or ecx, edx
or esi, ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
call sym.runtime.fpack64
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x38]
jmp 0x4527e9
mov dword [esp + 0x2c], edx
shl ebx, 1
shr edx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x2c]
shl edx, 1
dec ecx
cmp ebx, 0x100000
jb 0x452a12
jmp 0x452a01
mov eax, ebp
jmp 0x4526ed
shl edx, 1
mov esi, ebp
shr esi, 0x1f
or edx, esi
shl ebp, 1
dec ecx
cmp edx, 0x100000
jb 0x452a35
jmp 0x452a2e
call sym.runtime.morestack_noctxt
jmp sym.runtime.fmul64