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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a1141
sub esp, 0x60
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
test edx, 0x80000000
je 0x4a112a
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
mov edx, ebx
shl ebx, 1
mov ebp, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr ebp, 0x1f
add ebx, 0xd7b17f80
adc ebp, 0xd
test ebp, ebp
setl bl
xchg esi, ebx
sete bl
xchg esi, ebx
test ecx, ecx
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or ebx, edi
and edx, 0x3fffffff
test bl, bl
je 0x4a111f
xor ebx, ebx
sub ebx, ecx
mov ecx, 0
sbb ecx, ebp
neg edx
test edx, edx
jge 0x4a0ccb
add ebx, 0xffffffff
adc ecx, 0xffffffff
add edx, 0x3b9aca00
mov eax, 1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edx
mov byte [esp + 0x1b], al
mov ebp, dword [esp + 0x7c]
test ebp, ebp
xchg esi, ebx
setl bl
xchg esi, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 0x3b9aca00
setb cl
and ecx, edi
or ecx, esi
test cl, cl
jne 0x4a10d5
xor ecx, ecx
test cl, cl
je 0x4a0d81
test ebx, ebx
je 0x4a113b
mov ecx, eax
mov eax, edx
mov esi, eax
cmp ebx, 0xffffffff
je 0x4a0d2b
cdq
idiv ebx
jmp 0x4a0d2d
neg eax
and eax, 1
mov edx, eax
mov eax, esi
mov esi, edx
cmp ebx, 0xffffffff
je 0x4a0d40
cdq
idiv ebx
jmp 0x4a0d42
xor edx, edx
mov edi, edx
sar edx, 0x1f
test cl, cl
je 0x4a0d7b
test edx, edx
setne al
test edi, edi
setne cl
or eax, ecx
test al, al
je 0x4a0d7b
sub ebx, edi
sbb ebp, edx
xor esi, 1
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebp
add esp, 0x60
ret
mov ebp, edx
mov ebx, edi
jmp 0x4a0d62
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.00454450
mov eax, dword [esp + 0x14]
test eax, eax
sete al
mov ecx, dword [esp + 0x10]
test ecx, ecx
sete cl
and ecx, eax
test cl, cl
jne 0x4a1016
mov eax, dword [esp + 0x54]
mov ecx, 0x3b9aca00
mul ecx
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov ebp, edx
mul ecx
add eax, 0
adc edx, ebx
cmp ebx, edx
seta cl
sete bl
test eax, eax
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebx
or ecx, esi
test cl, cl
je 0x4a100f
add ebp, 1
mov ecx, 0
adc ecx, 0
mov ebx, dword [esp + 0x30]
mov esi, ebx
add ebx, eax
mov edi, esi
sar esi, 0x1f
add edi, eax
adc esi, edx
cmp edx, esi
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp eax, ebx
seta al
and eax, edi
or eax, edx
test al, al
je 0x4a0e2b
add ebp, 1
adc ecx, 0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, edx
jmp 0x4a0e4c
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x40]
shl edx, 1
shr eax, 0x1f
or edx, eax
mov eax, dword [esp + 0x34]
shl eax, 1
mov dword [esp + 0x40], edx
shr edx, 0x1f
cmp edx, 1
jne 0x4a0e37
mov edx, dword [esp + 0x78]
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
jmp 0x4a0ebc
shr ebp, 1
mov ecx, edi
shl edi, 0x1f
or edi, ebp
shr ecx, 1
mov ebx, eax
and eax, 1
shl eax, 0x1f
or eax, ecx
shr ebx, 1
mov ecx, edx
shl edx, 0x1f
or edx, ebx
shr ecx, 1
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x7c]
mov eax, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x40]
cmp ecx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
seta dl
cmp ebp, eax
seta cl
and ecx, edi
or ecx, edx
test cl, cl
je 0x4a0fa7
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x44]
mov edx, ebx
sub ebx, ecx
mov edi, dword [esp + 0x48]
sbb esi, edi
mov ecx, dword [esp + 0x24]
cmp ecx, esi
setb cl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp edx, ebx
setb dl
and edi, edx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4a0f9e
add ebp, 0xffffffff
mov ecx, dword [esp + 0x20]
adc ecx, 0xffffffff
sub ebp, eax
mov edx, dword [esp + 0x40]
sbb ecx, edx
mov edi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x28], ebx
test edx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
test eax, eax
sete cl
and ecx, edi
test cl, cl
je 0x4a0f91
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x48]
cmp ecx, edi
sete cl
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
sete bl
and ebx, ecx
test bl, bl
je 0x4a0e72
movzx ecx, byte [esp + 0x1b]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov edx, esi
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
jmp 0x4a0d47
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
jmp 0x4a0e72
mov ecx, dword [esp + 0x20]
jmp 0x4a0f20
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x34], eax
cmp ebp, eax
sete cl
and ecx, edi
test cl, cl
je 0x4a1005
mov ecx, dword [esp + 0x48]
cmp ecx, esi
setb dl
xchg edi, ebx
sete bl
xchg edi, ebx
mov eax, dword [esp + 0x44]
cmp eax, ebx
xchg ebp, ebx
setbe bl
xchg ebp, ebx
and ebp, edi
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a0fee
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x4c]
jmp 0x4a0ee1
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
xor edi, edi
jmp 0x4a0f2d
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
jmp 0x4a0fee
xor ecx, ecx
jmp 0x4a0dfb
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.004542a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004542a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
call fcn.00454450
mov eax, dword [esp + 0x10]
mov ecx, 0x3b9aca00
mul ecx
mov ecx, dword [esp + 0x30]
mov ebx, ecx
add ecx, eax
mov ebp, dword [esp + 0x14]
imul ebp, ebp, 0x3b9aca00
add edx, ebp
mov ebp, ebx
sar ebx, 0x1f
add ebp, eax
adc edx, ebx
mov esi, dword [esp + 0x4c]
and esi, 1
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov edi, ecx
movzx ecx, byte [esp + 0x1b]
jmp 0x4a0d47
add ebx, ebx
mov dword [esp], 0x3b9aca00
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
adc ebp, ebp
mov dword [esp + 0xc], ebp
call fcn.00454450
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
mov eax, dword [esp + 0x10]
test eax, eax
sete al
and ecx, eax
movzx eax, byte [esp + 0x1b]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x4a0d0f
mov ebx, ecx
xor eax, eax
mov ecx, ebp
jmp 0x4a0cd0
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov edx, ecx
mov ecx, ebx
jmp 0x4a0c87
call fcn.004309e0
nop
call fcn.0045b380
jmp fcn.004a0c30