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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49f2b1
sub esp, 0x60
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
test edx, 0x80000000
je 0x49f29a
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 0x49f28f
xor ebx, ebx
sub ebx, ecx
mov ecx, 0
sbb ecx, ebp
neg edx
test edx, edx
jge 0x49ee3b
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 0x49f245
xor ecx, ecx
test cl, cl
je 0x49eef1
test ebx, ebx
je 0x49f2ab
mov ecx, eax
mov eax, edx
mov esi, eax
cmp ebx, 0xffffffff
je 0x49ee9b
cdq
idiv ebx
jmp 0x49ee9d
neg eax
and eax, 1
mov edx, eax
mov eax, esi
mov esi, edx
cmp ebx, 0xffffffff
je 0x49eeb0
cdq
idiv ebx
jmp 0x49eeb2
xor edx, edx
mov edi, edx
sar edx, 0x1f
test cl, cl
je 0x49eeeb
test edx, edx
setne al
test edi, edi
setne cl
or eax, ecx
test al, al
je 0x49eeeb
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 0x49eed2
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.00452a40
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 0x49f186
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 0x49f17f
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 0x49ef9b
add ebp, 1
adc ecx, 0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, edx
jmp 0x49efbc
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 0x49efa7
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 0x49f02c
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 0x49f117
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 0x49f10e
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 0x49f101
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 0x49efe2
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 0x49eeb7
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
jmp 0x49efe2
mov ecx, dword [esp + 0x20]
jmp 0x49f090
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x34], eax
cmp ebp, eax
sete cl
and ecx, edi
test cl, cl
je 0x49f175
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 0x49f15e
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x4c]
jmp 0x49f051
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
xor edi, edi
jmp 0x49f09d
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
jmp 0x49f15e
xor ecx, ecx
jmp 0x49ef6b
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.00452890
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.00452890
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.00452a40
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 0x49eeb7
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.00452a40
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 0x49ee7f
mov ebx, ecx
xor eax, eax
mov ecx, ebp
jmp 0x49ee40
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov edx, ecx
mov ecx, ebx
jmp 0x49edf7
call fcn.0042f460
nop
call fcn.00459790
jmp fcn.0049eda0