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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1f4
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor ecx, ecx
mov al, 8
mov esi, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
mov edx, 1
mov bl, byte [esi + 4]
mov dword [esp + 0x38], edx
test al, bl
je 0x4f893c
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x34], edx
mov esi, dword [esi + 0xc]
test byte [esi + 4], al
jne 0x4f8940
mov dword [esp + 0x34], ecx
mov ebx, dword [ebp + 8]
push ebx
call fcn.00489500
mov esi, eax
push edi
inc esi
mov dword [esp + 0x30], esi
call fcn.00489500
fild dword [esp + 0x30]
add esp, 8
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
fsub qword [0x550f30]
test eax, eax
fdivr qword [0x550f30]
fstp qword [esp + 0xa0]
fild dword [esp + 0x24]
fsub qword [0x550f30]
fdivr qword [0x550f30]
fstp qword [esp + 0xa8]
je 0x4f8abb
lea eax, [esp + 0x1a0]
lea ecx, [esp + 0x1b8]
push eax
push ecx
push ebx
call fcn.004f8ee0
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x104]
lea eax, [esp + 0x14c]
push edx
push eax
push ecx
call fcn.004f8ee0
lea edx, [esp + 0x128]
lea eax, [esp + 0x1e8]
push edx
push eax
push edi
call fcn.004f8ee0
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x194]
lea edx, [esp + 0x1ac]
push ecx
push edx
push eax
call fcn.004f8ee0
lea ecx, [esp + 0x200]
lea edx, [esp + 0x1e8]
push ecx
lea eax, [esp + 0xbc]
push edx
push eax
call fcn.00418e50
push 0x3fe00000
lea ecx, [esp + 0xc8]
push 0
push ecx
call fcn.00418fa0
add esp, 0x48
lea edx, [esp + 0x188]
lea eax, [esp + 0x1a0]
lea ecx, [esp + 0x58]
push edx
push eax
push ecx
call fcn.00418e50
push 0x3fe00000
lea edx, [esp + 0x68]
push 0
push edx
call fcn.00418fa0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x158]
push eax
lea edx, [esp + 0x8c]
push ecx
push edx
call fcn.00418e50
push 0x3fe00000
lea eax, [esp + 0x98]
push 0
push eax
call fcn.00418fa0
lea ecx, [esp + 0x1a0]
lea edx, [esp + 0x128]
push ecx
lea eax, [esp + 0x74]
push edx
push eax
call fcn.00418e50
push 0x3fe00000
lea ecx, [esp + 0x80]
push 0
push ecx
call fcn.00418fa0
add esp, 0x48
jmp 0x4f8b3c
lea edx, [esp + 0x170]
lea eax, [esp + 0xf8]
push edx
push eax
push ebx
call fcn.004f8ee0
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x11c]
lea edx, [esp + 0x14c]
push ecx
push edx
push eax
call fcn.004f8ee0
mov ecx, 6
lea esi, [esp + 0x110]
lea edi, [esp + 0xa0]
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0x170]
lea edi, [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0x140]
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0x110]
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
xor edi, edi
test esi, esi
mov dword [esp + 0x2c], edi
jle 0x4f8e16
jmp 0x4f8b4f
mov ebx, dword [ebp + 8]
push 0xc0
push 1
call fcn.00547150
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x3c], esi
je 0x4f8e37
mov edx, dword [esi]
lea ecx, [esp + 0x30]
or dh, 2
push esi
push ecx
mov dword [esi + 0x38], 1
mov dword [esi], edx
call fcn.004894b0
lea edx, [esp + 0x160]
push edx
push ebx
push edi
call fcn.004f8e50
add esp, 0x14
test eax, eax
jne 0x4f8e37
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0xe0]
push eax
push ecx
push edi
call fcn.004f8e50
add esp, 0xc
test eax, eax
jne 0x4f8e37
fild dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
xor ebx, ebx
test eax, eax
fmul qword [esp + 0xa0]
mov dword [esp + 0x10], ebx
fstp qword [esp + 0x18]
jle 0x4f8e05
jmp 0x4f8be3
mov esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x128]
push edx
push eax
push ebx
call fcn.004f8e50
add esp, 0xc
test eax, eax
jne 0x4f8e37
mov edi, dword [ebp + 0x14]
lea ecx, [esp + 0xc8]
push ecx
push edi
push ebx
call fcn.004f8e50
add esp, 0xc
test eax, eax
jne 0x4f8e37
fild dword [esp + 0x10]
fmul qword [esp + 0xa8]
fld qword [0x550f30]
fsub st(1)
fld qword [0x550f30]
fsub qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [esp + 0x128]
fmul qword [esp + 0x10]
fld qword [esp + 0x158]
fmul st(2)
faddp st(1)
fld qword [esp + 0xe0]
fmul st(3)
faddp st(1)
fld qword [esp + 0xc8]
fmul qword [esp + 0x18]
faddp st(1)
fld qword [esp + 0x88]
fmul qword [esp + 0x10]
fmul st(2)
fsubp st(1)
fld qword [esp + 0x58]
fmul st(2)
fmul qword [esp + 0x18]
fsubp st(1)
fld qword [esp + 0x70]
fmul qword [esp + 0x10]
fmul st(3)
fsubp st(1)
fld qword [esp + 0x40]
fmul st(3)
fmul qword [esp + 0x18]
fsubp st(1)
fstp qword [esp + 0xb0]
fld qword [esp + 0x130]
fmul qword [esp + 0x10]
fld qword [esp + 0xe8]
fmul st(3)
faddp st(1)
fld qword [esp + 0x160]
fmul st(2)
faddp st(1)
fld qword [esp + 0xd0]
fmul qword [esp + 0x18]
faddp st(1)
fld qword [esp + 0x90]
fmul qword [esp + 0x10]
fmul st(2)
fsubp st(1)
fld qword [esp + 0x60]
fmul st(2)
fmul qword [esp + 0x18]
fsubp st(1)
fld qword [esp + 0x78]
fmul qword [esp + 0x10]
fmul st(3)
fsubp st(1)
fld qword [esp + 0x48]
fmul st(3)
fmul qword [esp + 0x18]
fsubp st(1)
fstp qword [esp + 0xb8]
fld qword [esp + 0x138]
fmul qword [esp + 0x10]
fld qword [esp + 0xf0]
fmul st(3)
faddp st(1)
fld qword [esp + 0x168]
fmul st(2)
faddp st(1)
fld qword [esp + 0xd8]
fmul qword [esp + 0x18]
faddp st(1)
fld qword [esp + 0x98]
fmul qword [esp + 0x10]
fmul st(2)
fsubp st(1)
fld qword [esp + 0x68]
fmul st(2)
fmul qword [esp + 0x18]
fsubp st(1)
fld qword [esp + 0x80]
fmul qword [esp + 0x10]
test ebx, ebx
fmul st(3)
fsubp st(1)
fld qword [esp + 0x50]
fmul st(3)
fmul qword [esp + 0x18]
fsubp st(1)
fstp qword [esp + 0xc0]
fstp st(0)
fstp st(0)
jle 0x4f8ddb
lea edx, [esp + 0xb0]
push esi
lea eax, [esp + 0x1ec]
push edx
push eax
call fcn.00440210
add esp, 0xc
test eax, eax
je 0x4f8e37
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4f8ddb
cmp ebx, 1
je 0x4f8db8
mov ecx, dword [esp + 0x24]
dec ecx
cmp ebx, ecx
jne 0x4f8ddb
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push esi
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [ebp + 0x10]
push ecx
push edx
push edi
push eax
push ebx
call fcn.004f8f70
add esp, 0x20
mov eax, dword [esp + 0x24]
inc ebx
mov ecx, 6
lea esi, [esp + 0xb0]
lea edi, [esp + 0x1e8]
cmp ebx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x10], ebx
jl 0x4f8bdf
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
inc edi
cmp edi, eax
mov dword [esp + 0x2c], edi
jl 0x4f8b4c
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x30]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edx
call fcn.00504aa0
add esp, 0x20
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
push eax
call fcn.004888e0
mov eax, dword [esp + 0x3c]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret