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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
fld dword [ebp + 0x10]
push esi
call fcn.00629ff0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [ebp + 0x14]
fstp dword [esp + 0x34]
fld dword [ebp + 0x10]
call fcn.0062a160
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov esi, 1
fld dword [ebp + 0x14]
mov ecx, esi
fchs
mov eax, ebx
fmulp st(1)
fstp dword [esp + 0x38]
fld dword [0x6b3660]
fstp dword [esp + 0x40]
call fcn.00525290
call fcn.005252b0
cmp byte [edi + 0x1a1], 0
je 0x49aa0a
push 0x903010
lea ecx, [esp + 0x4c]
call fcn.005029b0
lea eax, [esp + 0x48]
push eax
jmp 0x49aa71
mov eax, dword [edi + 0x148]
call fcn.0040f770
test al, al
je 0x49aa2e
push 0x8c389a
lea ecx, [esp + 0x4c]
call fcn.005029b0
lea ecx, [esp + 0x48]
push ecx
jmp 0x49aa71
cmp byte [edi + 0x1a2], 0
jne 0x49aa5e
mov edx, dword [edi + 0x148]
mov eax, dword [edx + 0x720]
cmp byte [eax + 0x55], 0
jne 0x49aa5e
push 0x109090
lea ecx, [esp + 0x4c]
call fcn.005029b0
lea ecx, [esp + 0x48]
push ecx
jmp 0x49aa71
push 0xaaaa60
lea ecx, [esp + 0x4c]
call fcn.005029b0
lea edx, [esp + 0x48]
push edx
mov ecx, ebx
call fcn.00525260
cmp dword [ebp + 0x18], 0xffffffff
mov byte [esp + 0x12], 0
sete byte [esp + 0x13]
cmp dword [ebp + 0x20], esi
jge 0x49aa8e
mov dword [ebp + 0x20], esi
fldz
mov esi, 2
cmp dword [ebp + 0x1c], esi
fld qword [0x686830]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 8]
fld dword [esp + 0x40]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0xc]
fld dword [esp + 8]
fld qword [0x686dc0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 8]
fmul dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 8]
fadd dword [ebp + 8]
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fadd dword [ebp + 0xc]
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 8]
fld dword [esp + 0x24]
fadd dword [esp + 0x18]
fstp dword [esp + 0xc]
fld dword [esp + 8]
fstp dword [esp + 0x44]
fld dword [esp + 0xc]
fstp dword [esp + 0x1c]
jle 0x49aeb0
fxch st(1)
mov dword [esp + 0x2c], 0xfffffff8
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
lea ebx, [ebx]
fld dword [esp + 0x44]
add esi, 4
fstp dword [esp + 0x30]
mov dword [esp + 0x14], esi
fld dword [esp + 0x1c]
add dword [esp + 0x2c], 0x20
cmp esi, 3
fstp dword [esp + 0x28]
fild dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fld dword [esp + 0x58]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x68]
fmul dword [esp + 0x5c]
fstp dword [esp + 0x6c]
fst dword [esp + 0x14]
fld dword [esp + 0x68]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fmul dword [esp + 0x6c]
fstp dword [esp + 0x40]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x34]
fstp dword [esp + 0x60]
fmul dword [esp + 0x38]
fstp dword [esp + 0x64]
fld dword [esp + 0x60]
fadd dword [ebp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x64]
fadd dword [ebp + 0xc]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x20]
fld dword [esp + 0x4c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x24]
jl 0x49ac58
mov ecx, dword [edi + 0x1c8]
test ecx, ecx
jne 0x49ac1f
xor eax, eax
jmp 0x49ac2a
mov eax, dword [edi + 0x1cc]
sub eax, ecx
sar eax, 3
add eax, 3
cmp esi, eax
jge 0x49ac58
test ecx, ecx
je 0x49ac47
mov eax, dword [edi + 0x1cc]
sub eax, ecx
sar eax, 3
lea ecx, [esi - 3]
cmp ecx, eax
jb 0x49ac4c
call fcn.0062492b
mov eax, dword [edi + 0x1c8]
add eax, dword [esp + 0x2c]
jmp 0x49ac5c
lea eax, [esp + 0x20]
cmp esi, dword [ebp + 0x1c]
fld dword [esp + 0x20]
mov edx, dword [eax]
fst dword [esp + 0x44]
mov eax, dword [eax + 4]
fld dword [esp + 0x24]
fst dword [esp + 0x1c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
jl 0x49ac8e
cmp byte [ebp + 0x24], 0
je 0x49ac8e
mov eax, dword [ebp + 0x18]
mov cl, 1
add eax, 2
jmp 0x49ac93
mov eax, dword [ebp + 0x18]
xor cl, cl
cmp byte [esp + 0x13], 0
jne 0x49acab
cmp esi, eax
jle 0x49acab
mov al, 1
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], al
jmp 0x49acaf
mov al, byte [esp + 0x12]
cmp esi, dword [ebp + 0x20]
jl 0x49ad2e
test cl, cl
je 0x49acf5
test al, al
jne 0x49ad40
fld dword [esp + 0xc]
sub esp, 0x18
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x40]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push ebx
call fcn.0049a920
add esp, 0x1c
jmp 0x49ad32
test al, al
jne 0x49ad40
fld dword [esp + 0xc]
sub esp, 0x18
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x40]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push ebx
call fcn.0049a8b0
add esp, 0x1c
jmp 0x49ad32
fstp st(1)
fstp st(0)
cmp esi, dword [ebp + 0x1c]
jl 0x49ab60
jmp 0x49aeb4
cmp byte [edi + 0x194], 0
fstp st(1)
fstp st(0)
je 0x49adf5
mov eax, dword [edi + 0x1c8]
test eax, eax
je 0x49adf5
mov ecx, dword [edi + 0x1cc]
sub ecx, eax
sar ecx, 3
je 0x49adf5
lea eax, [esp + 0x70]
call fcn.004db140
fld dword [edi + 0x1ac]
fsubr qword [0x687540]
push ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004db1f0
mov eax, dword [edi + 0x1a8]
mov edx, dword [edi + 0x1a4]
sub esp, 8
mov dword [esp + 0x14], eax
fld dword [esp + 0x14]
fstp dword [esp + 4]
mov dword [esp + 0x10], edx
fld dword [esp + 0x10]
mov edx, dword [0x6b8978]
fstp dword [esp]
lea ecx, [esp + 0x78]
push ecx
push ebx
call fcn.005269e0
fld dword [esp + 0xc]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x78]
fld dword [esp + 0x10]
fstp dword [esp]
push edx
mov edx, dword [0x6b8978]
push ebx
call fcn.005269e0
jmp 0x49aeb4
xor ecx, ecx
mov eax, ebx
call fcn.00525290
mov cl, 1
call fcn.005252b0
mov eax, dword [edi + 0x1a4]
mov ecx, dword [edi + 0x1a8]
mov dword [esp + 8], eax
lea eax, [esp + 0x70]
mov dword [esp + 0xc], ecx
call fcn.004db140
fld dword [esp + 0x28]
fsub dword [esp + 0x24]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x20]
fsub dword [esp + 0x30]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.00644e4a
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
lea eax, [esp + 0x74]
fstp dword [esp]
call fcn.004db1f0
fld dword [esp + 0xc]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x78]
fld dword [esp + 0x10]
fstp dword [esp]
push edx
mov edx, dword [0x6b8508]
push ebx
call fcn.005269e0
mov ecx, 1
mov eax, ebx
call fcn.00525290
fld dword [esp + 0xc]
mov edx, dword [0x6b8508]
sub esp, 8
fstp dword [esp + 4]
lea eax, [esp + 0x78]
fld dword [esp + 0x10]
fstp dword [esp]
push eax
push ebx
call fcn.005269e0
jmp 0x49aeb4
fstp st(1)
fstp st(0)
xor ecx, ecx
mov eax, ebx
call fcn.00525290
xor cl, cl
call fcn.005252b0
pop esi
mov esp, ebp
pop ebp
ret 0x20