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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49a31b
sub esp, 0x6c
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x88]
mov ebp, edx
and edx, ebx
mov eax, ebx
mov ebx, dword [esp + 0x84]
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x49a15d
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x3c], ecx
mov edx, eax
sub eax, ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x90]
mov esi, ebx
sbb ebx, ebp
mov dword [esp + 0x4c], ebx
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
test eax, eax
setb cl
and ecx, edi
test ebx, ebx
setl bl
or ebx, ecx
test bl, bl
je 0x49a152
cmp esi, ebp
sete cl
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
seta dl
and edx, ecx
cmp esi, ebp
setg cl
or edx, ecx
test dl, dl
jne 0x49a138
test eax, eax
seta cl
and ecx, edi
mov edx, dword [esp + 0x4c]
test edx, edx
xchg edi, ebx
setg bl
xchg edi, ebx
or ecx, edi
test cl, cl
je 0x49a10c
cmp esi, ebp
sete cl
mov edi, dword [esp + 0x40]
cmp edi, ebx
setb bl
and ebx, ecx
cmp esi, ebp
setl cl
or ecx, ebx
test cl, cl
jne 0x49a11e
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
add esp, 0x6c
ret
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0x80000000
add esp, 0x6c
ret
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x9c], 0x7fffffff
add esp, 0x6c
ret
test eax, eax
mov ebx, dword [esp + 0x3c]
jmp 0x49a0d9
mov edx, ebp
shr ebp, 0x1f
shl ebp, 0x1f
test ebp, ebp
je 0x49a30c
shl edx, 1
mov ebp, ecx
shr ecx, 0x1f
or ecx, edx
mov edx, ebp
shl ebp, 1
shr ebp, 0x1f
mov esi, ecx
shl ecx, 1
or ebp, ecx
mov ecx, ebp
add ebp, 0xd7b17f80
shr esi, 0x1f
add ecx, 0xd7b17f80
adc esi, 0xd
mov ecx, eax
shr eax, 0x1f
shl eax, 0x1f
test eax, eax
je 0x49a2f7
shl ecx, 1
mov eax, ebx
shr ebx, 0x1f
or ebx, ecx
mov ecx, 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 + 0x38], esi
mov dword [esp + 0x34], ebp
sub ebp, eax
mov eax, ebp
mov ebx, 0x3b9aca00
mov ebp, edx
mul ebx
mov dword [esp + 0x50], eax
and ebp, 0x3fffffff
and ecx, 0x3fffffff
sub ebp, ecx
add eax, ebp
mov dword [esp + 0x44], eax
mov ebx, edi
mov edi, esp
lea esi, [esp + 0x84]
call fcn.0044c61e
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
mov esi, ebp
mov ebp, dword [esp + 0x30]
sub ecx, ebp
mov ecx, dword [esp + 0x38]
sbb ecx, ebx
imul ecx, ecx, 0x3b9aca00
add ecx, edx
mov edx, esi
sar esi, 0x1f
mov ebx, dword [esp + 0x50]
add ebx, edx
adc ecx, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x18], ecx
call fcn.00499de0
lea esi, [esp + 0x1c]
lea edi, [esp + 0x58]
call fcn.0044c61e
mov edi, esp
lea esi, [esp + 0x58]
call fcn.0044c61e
lea edi, [esp + 0x14]
mov dword [esp + 0x54], edi
lea esi, [esp + 0x70]
call fcn.0044c61e
call fcn.00499000
movzx ecx, byte [esp + 0x28]
test cl, cl
jne 0x49a2dd
mov edi, esp
lea esi, [esp + 0x70]
call fcn.0044c61e
mov edi, dword [esp + 0x54]
lea esi, [esp + 0x84]
call fcn.0044c61e
call fcn.00498de0
movzx eax, byte [esp + 0x28]
test al, al
je 0x49a2c3
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0x80000000
add esp, 0x6c
ret
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x9c], 0x7fffffff
add esp, 0x6c
ret
mov eax, dword [esp + 0x44]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x9c], eax
add esp, 0x6c
ret
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov ecx, ebx
jmp 0x49a1d0
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edx, ecx
jmp 0x49a197
call fcn.0044a520
jmp fcn.0049a030