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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49f1c5
sub esp, 0x74
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x90]
mov ebp, edx
and edx, ebx
mov eax, ebx
mov ebx, dword [esp + 0x8c]
test edx, 0x80000000
je 0x49f005
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x3c], ecx
mov edx, eax
sub eax, ecx
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x40], ebp
mov esi, ebx
sbb ebx, ebp
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
setl cl
test eax, eax
setb al
and eax, edi
or ecx, eax
test cl, cl
je 0x49effa
cmp ebp, esi
setl al
sete cl
mov ebp, dword [esp + 0x3c]
cmp ebp, edx
setb dl
and edx, ecx
or eax, edx
test al, al
jne 0x49efe0
test ebx, ebx
setg al
mov ecx, dword [esp + 0x4c]
test ecx, ecx
seta dl
and edx, edi
or edx, eax
test dl, dl
je 0x49efb4
mov eax, dword [esp + 0x40]
cmp eax, esi
setg al
sete dl
mov esi, dword [esp + 0x44]
cmp ebp, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, edx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49efc6
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebx
add esp, 0x74
ret
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0x80000000
add esp, 0x74
ret
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0x7fffffff
add esp, 0x74
ret
test ebx, ebx
mov ebp, dword [esp + 0x3c]
jmp 0x49ef7d
test ebp, 0x80000000
je 0x49f1b0
shl ebp, 1
mov edx, ecx
shr ecx, 0x1f
or ecx, ebp
mov ebp, edx
shl edx, 1
mov esi, ecx
shl ecx, 1
shr edx, 0x1f
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
shr esi, 0x1f
add ecx, 0xd7b17f80
adc esi, 0xd
test eax, 0x80000000
je 0x49f19b
shl eax, 1
mov ecx, ebx
shr ebx, 0x1f
or ebx, eax
mov eax, ecx
shl ecx, 1
mov edi, ebx
shl ebx, 1
shr ecx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr edi, 0x1f
add ebx, 0xd7b17f80
adc edi, 0xd
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x58], eax
mov ebx, edx
sub edx, ecx
mov eax, edx
mov ecx, 0x3b9aca00
mul ecx
mov dword [esp + 0x54], eax
and ebp, 0x3fffffff
mov ecx, dword [esp + 0x58]
and ecx, 0x3fffffff
sub ebp, ecx
add eax, ebp
mov dword [esp + 0x48], eax
mov edi, esp
lea esi, [esp + 0x8c]
call fcn.0045d09e
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
sub ebx, ecx
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
sbb ecx, ebx
imul ecx, ecx, 0x3b9aca00
add ecx, edx
mov edx, ebp
sar ebp, 0x1f
mov ebx, dword [esp + 0x54]
add ebx, edx
adc ecx, ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], ecx
call fcn.0049ec80
lea esi, [esp + 0x1c]
lea edi, [esp + 0x60]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x60]
call fcn.0045d09e
lea edi, [esp + 0x14]
mov dword [esp + 0x5c], edi
lea esi, [esp + 0x78]
call fcn.0045d09e
call fcn.0049de30
movzx ecx, byte [esp + 0x28]
test cl, cl
jne 0x49f181
mov edi, esp
lea esi, [esp + 0x78]
call fcn.0045d09e
mov edi, dword [esp + 0x5c]
lea esi, [esp + 0x8c]
call fcn.0045d09e
call fcn.0049dcf0
movzx eax, byte [esp + 0x28]
test al, al
je 0x49f167
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0x80000000
add esp, 0x74
ret
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0x7fffffff
add esp, 0x74
ret
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa4], eax
add esp, 0x74
ret
mov ecx, dword [esp + 0x94]
mov edi, dword [esp + 0x98]
mov eax, ebx
jmp 0x49f070
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov ebp, ecx
jmp 0x49f03b
call fcn.0045b380
jmp fcn.0049eed0