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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52878c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a4
push ebx
mov ebx, ecx
xor eax, eax
push esi
push edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0xd8], 0x534208
mov dword [esp + 0x1a0], 0x47ae147b
mov dword [esp + 0x1a4], 0x3f847ae1
mov dword [esp + 0x1a8], 0xd2f1a9fc
mov dword [esp + 0x1ac], 0x3f50624d
mov dword [esp + 0x170], eax
mov dword [esp + 0x180], 0xd2f1a9fc
mov dword [esp + 0x184], 0xbf50624d
mov dword [esp + 0x188], 0x9374bc6a
mov dword [esp + 0x18c], 0x3ff00418
mov dword [esp + 0x190], 0xd2f1a9fc
mov dword [esp + 0x194], 0x3f50624d
mov dword [esp + 0x198], 0xd916872b
mov dword [esp + 0x19c], 0x3feff7ce
lea ecx, [esp + 0x34]
mov dword [esp + 0x1b8], eax
call fcn.00487f90
mov edi, dword [ebp + 8]
lea ecx, [ebx + 0x48]
mov byte [esp + 0x1b8], 1
lea eax, [edi + 0x48]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.00487d00
fld qword [esp + 0x34]
fsub qword [0x53ad70]
mov ecx, ebx
fstp qword [esp + 0x34]
fld qword [esp + 0x3c]
fsub qword [0x53ad70]
fstp qword [esp + 0x3c]
fld qword [esp + 0x44]
fadd qword [0x53ad70]
fstp qword [esp + 0x44]
fld qword [esp + 0x4c]
fadd qword [0x53ad70]
fstp qword [esp + 0x4c]
call fcn.0049c880
mov esi, eax
lea edx, [esp + 0x34]
push esi
push edx
lea ecx, [esp + 0xe0]
call fcn.00489260
test eax, eax
je 0x49f67e
lea ecx, [esp + 0xb8]
call fcn.00487f90
lea eax, [esp + 0xb8]
mov ecx, esi
push eax
mov byte [esp + 0x1bc], 2
call fcn.00488960
lea ecx, [esp + 0x98]
call fcn.00487f90
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x34]
push ecx
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1c0], 3
call fcn.00487d00
mov ecx, dword [edi + 0xb0]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x49f656
mov ebx, 0x10
mov eax, dword [edi + 0xac]
add eax, ebx
mov ecx, eax
add eax, 0xfffffff0
mov edx, dword [ecx]
mov dword [esp + 0x88], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x90], edx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x94], ecx
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x88]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x84], edx
lea edx, [esp + 0x7c]
mov eax, dword [eax + 0xc]
push edx
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xa0]
push eax
call fcn.00489160
add esp, 0xc
test eax, eax
jne 0x49f638
mov ecx, dword [edi + 0xac]
lea eax, [ecx + ebx]
lea edx, [eax - 0x10]
mov ecx, dword [eax - 0x10]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x58], ecx
mov ecx, dword [edx + 8]
fld qword [esp + 0x54]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], edx
fsub qword [esp + 0x20]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
fld qword [esp + 0x5c]
mov dword [esp + 0x2c], edx
fsub qword [esp + 0x28]
fld st(1)
fmul qword [esi + 0x20]
fld st(1)
fmul qword [esi + 0x18]
fsubp st(1)
fst qword [esp + 0x14]
fcomp qword [0x531cf0]
fnstsw ax
test ah, 0x40
jne 0x49f634
fld qword [esi]
fsub qword [esp + 0x20]
fstp qword [esp + 0x6c]
fld qword [esp + 0x28]
fsub qword [esi + 8]
fstp qword [esp + 0x64]
fld qword [esp + 0x6c]
fmul st(1)
fld qword [esp + 0x64]
fmul st(3)
faddp st(1)
fdiv qword [esp + 0x14]
fstp st(2)
fstp st(0)
fcom qword [0x531cf0]
fnstsw ax
test ah, 1
jne 0x49f636
fcomp qword [0x531798]
fnstsw ax
test ah, 0x41
je 0x49f638
fld qword [esp + 0x64]
fmul qword [esi + 0x18]
fld qword [esp + 0x6c]
fmul qword [esi + 0x20]
faddp st(1)
fdiv qword [esp + 0x14]
fcom qword [0x531cf0]
fnstsw ax
test ah, 1
jne 0x49f636
fcomp qword [0x531798]
fnstsw ax
test ah, 0x41
jne 0x49f691
jmp 0x49f638
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0xb0]
inc eax
add ebx, 0x10
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x49f4d5
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b8], 2
call fcn.00519440
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1b8], 1
call fcn.00519440
mov esi, dword [esi + 0x38]
mov ecx, ebx
call fcn.0049c880
cmp esi, eax
je 0x49f6fa
jmp 0x49f44f
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b8], 2
call fcn.00519440
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1b8], 1
call fcn.00519440
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0
call fcn.00519440
lea ecx, [esp + 0xd8]
mov dword [esp + 0x1b8], 0xffffffff
call fcn.004891f0
mov al, 1
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0
call fcn.00519440
lea ecx, [esp + 0xd8]
mov dword [esp + 0x1b8], 0xffffffff
call fcn.004891f0
mov ecx, dword [esp + 0x1b0]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4