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

Disassembly:
mov ecx, dword [0x57fc4c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49a2d0
sub esp, 0x74
lea edi, [esp + 0x98]
xor eax, eax
call fcn.004719bb
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x49a2b7
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
call fcn.00499f50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3b9aca00
call fcn.00499f50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3c
call fcn.00499f50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3c
call fcn.00499f50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
call fcn.00499f50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call fcn.00499be0
mov eax, dword [esp + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x34]
lea ebx, [0x5586c0]
mov ebx, dword [ebx + edx*4]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
call fcn.00499ef0
mov eax, dword [esp + 0x44]
mov ecx, eax
sar eax, 0x1f
movzx edx, byte [esp + 4]
mov ebx, dword [esp + 0x38]
add ebx, ecx
mov ecx, dword [esp + 0x3c]
adc ecx, eax
test dl, dl
je 0x49a14f
mov edx, dword [esp + 0x34]
inc edx
cmp edx, 3
jl 0x49a14f
add ebx, 1
adc ecx, 0
mov edx, dword [esp + 0x94]
mov dword [esp], edx
mov ebp, dword [esp + 0x4c]
lea eax, [ebp - 1]
mov ebp, eax
sar ebp, 0x1f
mov esi, dword [esp + 0x48]
imul esi, esi, 0xe10
mov edi, dword [esp + 0x50]
imul edi, edi, 0x3c
add esi, edi
mov edi, dword [esp + 0x54]
add esi, edi
mov edi, esi
sar esi, 0x1f
add eax, ebx
adc ebp, ecx
mov ecx, 0x15180
mul ecx
imul ecx, ebp, 0x15180
add ecx, edx
add eax, edi
mov dword [esp + 0x40], eax
adc ecx, esi
mov dword [esp + 0x44], ecx
add eax, 0xe5263700
mov dword [esp + 0x2c], eax
mov dword [esp + 4], eax
adc ecx, 0x80000001
mov dword [esp + 0x30], ecx
mov dword [esp + 8], ecx
call fcn.0049a380
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x49a263
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x40]
mov esi, ebp
sub ebp, ebx
mov edi, dword [esp + 0x44]
sbb edi, ecx
add ebp, 0xe5263700
adc edi, 0x80000001
cmp edx, edi
setg cl
sete dl
cmp ebp, eax
setb al
and eax, edx
or eax, ecx
test al, al
jne 0x49a227
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
setl cl
sete dl
cmp ebp, eax
setae al
and eax, edx
or eax, ecx
test al, al
je 0x49a248
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0049a380
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x40]
mov ebx, ecx
mov edx, ebx
sar ebx, 0x1f
sub esi, edx
mov ecx, dword [esp + 0x44]
sbb ecx, ebx
add esi, 0xe5263700
adc ecx, 0x80000001
jmp 0x49a26b
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00499e10
lea edi, [esp + 0x60]
lea esi, [esp + 0xc]
call fcn.00471e9e
lea eax, [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
call fcn.004993f0
lea edi, [esp + 0x98]
lea esi, [esp + 0x60]
call fcn.00471e9e
add esp, 0x74
ret
lea eax, [0x4bdb20]
mov dword [esp], eax
lea eax, [0x4e1d18]
mov dword [esp + 4], eax
call fcn.0046c0c0
nop
call fcn.004704c0
jmp fcn.00499fe0