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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a5aa0
sub esp, 0x5c
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x78]
mov ebp, ecx
and ecx, ebx
mov eax, ebx
mov ebx, dword [esp + 0x74]
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4a58f2
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x3c], ecx
mov edx, eax
sub eax, ecx
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x40], ebp
mov esi, ebx
sbb ebx, ebp
test ebx, ebx
xchg edi, ebx
setl bl
xchg edi, ebx
sete cl
test eax, eax
setb al
and eax, ecx
or edi, eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x4a58e7
cmp esi, ebp
setg al
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
seta dl
and edx, edi
or edx, eax
test dl, dl
jne 0x4a58cd
test ebx, ebx
setg al
mov edx, dword [esp + 0x48]
test edx, edx
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ecx
or edi, eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x4a58a1
mov eax, dword [esp + 0x40]
cmp esi, eax
setl al
sete cl
mov esi, dword [esp + 0x44]
cmp esi, ebp
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ecx
or eax, ebp
test al, al
jne 0x4a58b3
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ebx
add esp, 0x5c
ret
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x80000000
add esp, 0x5c
ret
mov dword [esp + 0x88], 0xffffffff
mov dword [esp + 0x8c], 0x7fffffff
add esp, 0x5c
ret
test ebx, ebx
mov ebp, dword [esp + 0x3c]
jmp 0x4a5866
nop
mov ecx, ebp
shr ebp, 0x1f
shl ebp, 0x1f
test ebp, ebp
je 0x4a5a91
shl ecx, 1
mov ebp, edx
shr edx, 0x1f
or edx, ecx
mov ecx, ebp
shl ebp, 1
shr ebp, 0x1f
mov esi, edx
shl edx, 1
or ebp, edx
mov edx, ebp
add ebp, 0xd7b17f80
shr esi, 0x1f
add edx, 0xd7b17f80
adc esi, 0xd
nop
mov edx, eax
shr eax, 0x1f
shl eax, 0x1f
test eax, eax
je 0x4a5a7f
shl edx, 1
mov eax, ebx
shr ebx, 0x1f
or ebx, edx
mov edx, eax
shl eax, 1
shr eax, 0x1f
mov edi, ebx
shl ebx, 1
or eax, ebx
mov ebx, eax
add eax, 0xd7b17f80
shr edi, 0x1f
add ebx, 0xd7b17f80
adc edi, 0xd
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], esi
sub ebp, eax
mov eax, ebp
mov ebx, 0x3b9aca00
mov ebp, edx
mul ebx
and ecx, 0x3fffffff
and ebp, 0x3fffffff
sub ecx, ebp
mov dword [esp + 0x54], ecx
mov ebx, eax
add eax, ecx
mov dword [esp + 0x4c], eax
nop
nop
mov ebp, edi
mov edi, esp
lea esi, [esp + 0x74]
call fcn.0044f6ae
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
mov esi, ebx
mov ebx, dword [esp + 0x30]
sub ecx, ebx
mov ecx, dword [esp + 0x38]
sbb ecx, ebp
imul ecx, ecx, 0x3b9aca00
add ecx, edx
mov edx, dword [esp + 0x54]
mov ebx, edx
sar edx, 0x1f
add esi, ebx
adc ecx, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], ecx
call fcn.004a5570
lea esi, [esp + 0x1c]
mov edi, esp
call fcn.0044f6ae
lea edi, [esp + 0x14]
mov dword [esp + 0x58], edi
lea esi, [esp + 0x60]
call fcn.0044f6ae
call fcn.004a3b80
movzx ecx, byte [esp + 0x28]
test cl, cl
jne 0x4a5a65
mov edi, esp
lea esi, [esp + 0x60]
call fcn.0044f6ae
mov edi, dword [esp + 0x58]
lea esi, [esp + 0x74]
call fcn.0044f6ae
call fcn.004a3970
movzx eax, byte [esp + 0x28]
test al, al
je 0x4a5a4b
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x80000000
add esp, 0x5c
ret
mov dword [esp + 0x88], 0xffffffff
mov dword [esp + 0x8c], 0x7fffffff
add esp, 0x5c
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x8c], eax
add esp, 0x5c
ret
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov edx, ebx
jmp 0x4a5967
mov esi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov ecx, edx
jmp 0x4a592d
call fcn.0044d880
jmp fcn.004a57c0