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

Disassembly:
sub esp, 0x170
push ebx
push ebp
mov ebp, dword [esp + 0x17c]
xor eax, eax
push esi
mov ebx, ecx
push edi
mov ecx, ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
call fcn.004ef2a0
add eax, 0x4c
push eax
lea ecx, [esp + 0xc8]
call fcn.00503910
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x34
push eax
lea ecx, [esp + 0xc8]
call fcn.00503730
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x64
push eax
lea ecx, [esp + 0xc8]
call fcn.00503730
lea ecx, [esp + 0xc4]
call fcn.005037a0
mov edi, eax
cmp edi, dword [esp + 0x18c]
mov esi, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x14], esi
jge 0x500711
nop
cmp edi, dword [esp + 0x188]
jl 0x500657
cmp esi, 0xbf
ja 0x500048
mov ecx, esi
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, esi
sar ecx, 5
test dword [ebx + ecx*4 + 0x270], eax
setne al
test al, al
jne 0x500657
push 0x40
lea edx, [esp + 0x68]
push 0
push edx
call fcn.0074d440
fld1
fst dword [esp + 0x70]
add esp, 0xc
fldz
mov ecx, ebp
fst dword [esp + 0x68]
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fst dword [esp + 0x74]
fst dword [esp + 0x7c]
fst dword [esp + 0x80]
fst dword [esp + 0x84]
fst dword [esp + 0x88]
fst dword [esp + 0x90]
fst dword [esp + 0x94]
fst dword [esp + 0x98]
fstp dword [esp + 0x9c]
fst dword [esp + 0x78]
fst dword [esp + 0x8c]
fstp dword [esp + 0xa0]
call fcn.004ef2a0
add eax, 0x34
cmp esi, 0xbf
ja 0x50023b
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x50023b
fldz
lea esi, [ebp + 0x9c]
fst dword [esp + 0xa4]
xor al, al
test esi, esi
fst dword [esp + 0xa8]
fst dword [esp + 0xac]
fld1
fst dword [esp + 0xb0]
fstp dword [esp + 0xc0]
fst dword [esp + 0xb4]
fst dword [esp + 0xb8]
fstp dword [esp + 0xbc]
je 0x500144
cmp byte [0x992082], al
je 0x500142
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [ebp + 0x14]
je 0x50015b
cmp byte [0x992082], 0
je 0x50015b
push esi
call dword [0x79428c]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa4]
push eax
push ecx
push edi
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1ca0
xor al, al
test esi, esi
je 0x500193
cmp byte [0x992082], al
je 0x500191
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [ebp + 0x18]
je 0x5001aa
cmp byte [0x992082], 0
je 0x5001aa
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xb4]
push edx
push eax
push edi
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1ca0
xor al, al
test esi, esi
je 0x5001e2
cmp byte [0x992082], al
je 0x5001e0
push esi
call dword [0x794290]
mov al, 1
test al, al
fld dword [ebp + 0x1c]
fstp dword [esp + 0x20]
je 0x5001fd
cmp byte [0x992082], 0
je 0x5001fd
push esi
call dword [0x79428c]
fld dword [esp + 0x20]
lea ecx, [esp + 0x130]
push ecx
push ecx
lea edx, [esp + 0xbc]
fstp dword [esp]
push edx
lea eax, [esp + 0xb0]
push eax
call fcn.0050ed30
add esp, 0x10
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x134]
call fcn.005b0a30
add dword [esp + 0x1c], 1
mov esi, dword [esp + 0x14]
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x4c
cmp esi, 0xbf
ja 0x50039b
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x50039b
lea esi, [ebp + 0x9c]
xor al, al
test esi, esi
je 0x50028f
cmp byte [0x992082], al
je 0x50028d
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [ebp + 0x14]
je 0x5002a6
cmp byte [0x992082], 0
je 0x5002a6
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x18]
push eax
push edi
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1d40
mov ebx, eax
xor al, al
test esi, esi
je 0x5002d8
cmp byte [0x992082], al
je 0x5002d6
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [ebp + 0x18]
je 0x5002ef
cmp byte [0x992082], 0
je 0x5002ef
push esi
call dword [0x79428c]
mov ecx, dword [esp + 0x18]
push ecx
push edi
mov ecx, ebp
call fcn.004ef2a0
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + 0x16c]
push eax
call fcn.004f1d40
mov edi, eax
xor al, al
test esi, esi
je 0x500325
cmp byte [0x992082], al
je 0x500323
push esi
call dword [0x794290]
mov al, 1
test al, al
fld dword [ebp + 0x1c]
fstp dword [esp + 0x20]
je 0x500340
cmp byte [0x992082], 0
je 0x500340
push esi
call dword [0x79428c]
fld dword [edi]
add dword [esp + 0x18], 1
fsub dword [ebx]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fld dword [ebx]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x38]
fld dword [edi + 4]
fsub dword [ebx + 4]
fmul st(1)
fadd dword [ebx + 4]
fstp dword [esp + 0x3c]
fld dword [edi + 8]
fsub dword [ebx + 8]
fmulp st(1)
fadd dword [ebx + 8]
mov ebx, dword [esp + 0x28]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fstp dword [esp + 0x70]
fld dword [esp + 0x3c]
fstp dword [esp + 0x80]
fld dword [esp + 0x40]
fstp dword [esp + 0x90]
mov esi, dword [esp + 0x14]
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x64
cmp esi, 0xbf
ja 0x50061d
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x50061d
mov ecx, ebp
call fcn.004ef2a0
test byte [eax + 0xf8], 1
je 0x500467
mov esi, dword [esp + 0x10]
push esi
mov ecx, ebp
call fcn.004fe550
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1da0
fstp dword [esp + 0x50]
push esi
mov ecx, ebp
call fcn.004fe590
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1da0
fstp dword [esp + 0x20]
mov ecx, ebp
call fcn.004fe5d0
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
lea eax, [esp + 0x64]
fld dword [esp + 0x50]
push eax
fld st(0)
push ecx
fsubp st(2)
fld dword [esp + 0x2c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0050eed0
add esp, 8
jmp 0x500618
mov ecx, ebx
call fcn.004ee7c0
test al, al
mov esi, dword [esp + 0x10]
mov ecx, ebp
je 0x500552
push esi
call fcn.004fe550
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1e00
fld dword [eax]
fstp dword [esp + 0x54]
push esi
fld dword [eax + 4]
mov ecx, ebp
fstp dword [esp + 0x5c]
fld dword [eax + 8]
fstp dword [esp + 0x60]
call fcn.004fe590
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1e00
fld dword [eax]
fstp dword [esp + 0x44]
mov ecx, ebp
fld dword [eax + 4]
fstp dword [esp + 0x48]
fld dword [eax + 8]
fstp dword [esp + 0x4c]
fldz
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.004fe5d0
fstp dword [esp + 0x24]
fld dword [esp + 0x44]
lea ecx, [esp + 0x64]
fld dword [esp + 0x54]
push ecx
fld st(0)
lea edx, [esp + 0x30]
fsubp st(2)
push edx
fld dword [esp + 0x2c]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x50]
fld dword [esp + 0x60]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x54]
fld dword [esp + 0x64]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x3c]
call fcn.0050ef00
add esp, 8
jmp 0x500618
fldz
lea eax, [esp + 0xf8]
fst dword [esp + 0x108]
push eax
fst dword [esp + 0x110]
push esi
fst dword [esp + 0x118]
fst dword [esp + 0xf4]
fst dword [esp + 0xf8]
fstp dword [esp + 0xfc]
call fcn.004fe550
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1e60
lea ecx, [esp + 0xdc]
push ecx
push esi
mov ecx, ebp
call fcn.004fe590
push eax
mov ecx, ebp
call fcn.004ef2a0
mov ecx, dword [ebx + 0x16c]
push eax
call fcn.004f1e60
fldz
fst dword [esp + 0x124]
lea edx, [esp + 0x114]
fst dword [esp + 0x128]
push edx
mov ecx, ebp
fstp dword [esp + 0x130]
call fcn.004fe5d0
push ecx
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x104]
push ecx
call fcn.004fe450
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x128]
push eax
call fcn.0050ef20
add esp, 0x18
add dword [esp + 0x10], 1
mov eax, dword [esp + 0x14]
shl eax, 6
add eax, dword [ebx + 0x30]
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x140]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x148]
push edx
call dword [0x97e254]
mov edi, dword [esp + 0x6c]
add esp, 0xc
jmp 0x5006ef
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x34
cmp esi, 0xbf
ja 0x500687
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x500687
add dword [esp + 0x1c], 1
mov esi, dword [esp + 0x14]
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x4c
cmp esi, 0xbf
ja 0x5006bb
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x5006bb
add dword [esp + 0x18], 1
mov esi, dword [esp + 0x14]
mov ecx, ebp
call fcn.004ef2a0
add eax, 0x64
cmp esi, 0xbf
ja 0x5006ef
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar esi, 5
test dword [eax + esi*4], edx
setne al
test al, al
je 0x5006ef
add dword [esp + 0x10], 1
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xc8]
call fcn.00503860
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 0x18c]
jl 0x500010
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 0xc