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

Disassembly:
sub esp, 0x94
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x1864]
lea edi, [esi + 0x1864]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [esi + 0x1e18]
lea ecx, [esi + 0x1e18]
call dword [edx + 4]
push 0
mov ecx, edi
call fcn.00532af0
mov edi, dword [esi + 0x29ec]
mov eax, dword [esi + 0x29f0]
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], eax
fild dword [esp + 0x18]
xor ebp, ebp
test eax, eax
fdivr dword [esi + 0x298c]
mov dword [esp + 0xc], ebp
fmul dword [esi + 0x2980]
fstp dword [esp + 0x44]
fild dword [esp + 0x40]
fdivr dword [esi + 0x2990]
fmul dword [esi + 0x2980]
fstp dword [esp + 0x24]
fld dword [esi + 0x2980]
fmul dword [esi + 0x298c]
fld dword [esi + 0x14]
fsub dword [esi + 0xc]
fsubp st(1)
fmul dword [0x7cd778]
fstp dword [esp + 0x9c]
fld dword [esi + 0x2990]
fmul dword [esi + 0x2980]
fld dword [esi + 0x18]
fsub dword [esi + 0x10]
fsubp st(1)
fmul dword [0x7cd778]
fld dword [esi + 0x2988]
fmul dword [esi + 0x2980]
faddp st(1)
fsubr dword [esi + 0x10]
fstp dword [esp + 0x10]
jle 0x4ffc59
push ebx
fld dword [esi + 0x2980]
fmul dword [esi + 0x2984]
xor ebx, ebx
test edi, edi
fadd dword [esp + 0xa0]
fsubr dword [esi + 0xc]
fstp dword [esp + 0x18]
jle 0x4ffc39
fld dword [esp + 0x14]
fadd dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esp + 0x18]
fadd dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x4c]
fld dword [esi + 0xc]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
fcomp st(1)
mov dword [esp + 0x58], eax
fnstsw ax
test ah, 0x41
jne 0x4ff687
mov edx, dword [esp + 0x18]
fstp st(0)
mov dword [esp + 0x30], edx
jmp 0x4ff68b
fstp dword [esp + 0x30]
fld dword [esi + 0x10]
fld dword [esp + 0x14]
mov eax, dword [esp + 0x30]
fcomp st(1)
mov dword [esp + 0x50], eax
fnstsw ax
test ah, 0x41
jne 0x4ff6af
mov ecx, dword [esp + 0x14]
fstp st(0)
mov dword [esp + 0x20], ecx
jmp 0x4ff6b3
fstp dword [esp + 0x20]
fld dword [esi + 0x14]
fld dword [esp + 0x58]
mov edx, dword [esp + 0x20]
fcomp st(1)
mov dword [esp + 0x54], edx
fnstsw ax
test ah, 1
je 0x4ff6d7
mov eax, dword [esp + 0x58]
fstp st(0)
mov dword [esp + 0x2c], eax
jmp 0x4ff6db
fstp dword [esp + 0x2c]
fld dword [esi + 0x18]
fld dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
fcomp st(1)
mov dword [esp + 0x58], ecx
fnstsw ax
test ah, 1
je 0x4ff6ff
mov edx, dword [esp + 0x5c]
fstp st(0)
mov dword [esp + 0x24], edx
jmp 0x4ff703
fstp dword [esp + 0x24]
fld dword [esp + 0x2c]
fsub dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 0x41
jne 0x4ffc1c
fld dword [esp + 0x24]
fsub dword [esp + 0x20]
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 0x41
jne 0x4ffc1c
test ebx, ebx
jl 0x4ff786
cmp ebx, edi
jge 0x4ff786
test ebp, ebp
jl 0x4ff786
cmp ebp, dword [esi + 0x29f0]
jge 0x4ff786
imul edi, ebp
mov ebp, dword [esi + 0x29e8]
lea ecx, [edi + ebx]
mov eax, ecx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, eax
shl edx, 5
sub ecx, edx
mov edx, 1
inc ecx
shl edx, cl
test dword [ebp + eax*4], edx
setne al
test al, al
je 0x4ff7a0
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x50]
push 0xff000000
push eax
lea ecx, [esi + 0x1864]
call fcn.005340c0
jmp 0x4ffc1c
fld dword [esp + 0x30]
fsub dword [esp + 0x18]
lea eax, [ebx - 1]
test eax, eax
fdiv dword [esp + 0x48]
fstp dword [esp + 0x34]
fld dword [esp + 0x20]
fsub dword [esp + 0x14]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x38]
fld dword [esp + 0x2c]
fsub dword [esp + 0x4c]
fdiv dword [esp + 0x48]
fstp dword [esp + 0x3c]
fld dword [esp + 0x24]
fsub dword [esp + 0x44]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x40]
jl 0x4ff81e
cmp eax, dword [esp + 0x1c]
jge 0x4ff81e
add edi, eax
mov eax, edi
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, eax
shl ecx, 5
mov edx, ecx
mov ecx, edi
mov edi, dword [ebp + eax*4]
sub ecx, edx
inc ecx
mov edx, 1
shl edx, cl
test edi, edx
setne al
test al, al
je 0x4ff8c7
fld dword [0x830108]
fsub dword [0x830100]
lea eax, [esp + 0x60]
push 0xffffffffffffffff
lea ecx, [esp + 0x54]
push eax
fmul dword [esp + 0x3c]
push ecx
lea ecx, [esi + 0x1e18]
fadd dword [0x830100]
fld dword [0x830108]
fsub st(1)
fmul dword [esp + 0x48]
fadd dword [0x830108]
fstp dword [esp + 0x74]
fld dword [0x83010c]
fsub dword [0x830104]
fmul dword [esp + 0x44]
fadd dword [0x830104]
fstp dword [esp + 0x70]
fld dword [0x83010c]
fsub dword [esp + 0x70]
fmul dword [esp + 0x4c]
fadd dword [0x83010c]
fstp dword [esp + 0x78]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x6c]
fld dword [esp + 0x70]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x70]
fld dword [esp + 0x74]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x74]
fld dword [esp + 0x78]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x78]
call fcn.00533d50
lea ecx, [ebx + 1]
test ecx, ecx
jl 0x4ff91b
mov eax, dword [esi + 0x29ec]
cmp ecx, eax
jge 0x4ff91b
mov edi, dword [esp + 0x10]
mov edx, dword [esi + 0x29f0]
cmp edi, edx
jge 0x4ff91f
imul eax, edi
add eax, ecx
mov ecx, eax
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, eax
shl edx, 5
sub ecx, edx
mov edx, 1
inc ecx
shl edx, cl
mov ecx, dword [esi + 0x29e8]
test dword [ecx + eax*4], edx
setne al
test al, al
je 0x4ff9e6
jmp 0x4ff91f
mov edi, dword [esp + 0x10]
fld dword [0x8300f8]
fsub dword [0x8300f0]
lea edx, [esp + 0x70]
push 0xffffffffffffffff
lea eax, [esp + 0x54]
push edx
fmul dword [esp + 0x3c]
push eax
lea ecx, [esi + 0x1e18]
fadd dword [0x8300f0]
fld dword [0x8300f8]
fsub st(1)
fmul dword [esp + 0x48]
fadd dword [0x8300f8]
fstp dword [esp + 0x84]
fld dword [0x8300fc]
fsub dword [0x8300f4]
fmul dword [esp + 0x44]
fadd dword [0x8300f4]
fstp dword [esp + 0x80]
fld dword [0x8300fc]
fsub dword [esp + 0x80]
fmul dword [esp + 0x4c]
fadd dword [0x8300fc]
fstp dword [esp + 0x88]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x7c]
fld dword [esp + 0x80]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x80]
fld dword [esp + 0x84]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x84]
fld dword [esp + 0x88]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x88]
call fcn.00533d50
mov eax, dword [esi + 0x29ec]
lea ecx, [edi - 1]
cmp ebx, eax
jge 0x4ffa32
test ecx, ecx
jl 0x4ffa32
cmp ecx, dword [esi + 0x29f0]
jge 0x4ffa32
imul eax, ecx
add eax, ebx
mov ecx, eax
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, eax
shl edx, 5
sub ecx, edx
mov edx, 1
inc ecx
shl edx, cl
mov ecx, dword [esi + 0x29e8]
test dword [ecx + eax*4], edx
setne al
test al, al
je 0x4ffaff
fld dword [0x830150]
fsub dword [0x830148]
lea edx, [esp + 0x80]
push 0xffffffffffffffff
lea eax, [esp + 0x54]
push edx
fmul dword [esp + 0x3c]
push eax
lea ecx, [esi + 0x1e18]
fadd dword [0x830148]
fld dword [0x830150]
fsub st(1)
fmul dword [esp + 0x48]
fadd dword [0x830150]
fstp dword [esp + 0x94]
fld dword [0x830154]
fsub dword [0x83014c]
fmul dword [esp + 0x44]
fadd dword [0x83014c]
fstp dword [esp + 0x90]
fld dword [0x830154]
fsub dword [esp + 0x90]
fmul dword [esp + 0x4c]
fadd dword [0x830154]
fstp dword [esp + 0x98]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x94]
fld dword [esp + 0x98]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x98]
call fcn.00533d50
mov eax, dword [esi + 0x29ec]
lea ecx, [edi + 1]
cmp ebx, eax
jge 0x4ffb4b
test ecx, ecx
jl 0x4ffb4b
cmp ecx, dword [esi + 0x29f0]
jge 0x4ffb4b
imul eax, ecx
add eax, ebx
mov ecx, eax
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, eax
shl edx, 5
sub ecx, edx
mov edx, 1
inc ecx
shl edx, cl
mov ecx, dword [esi + 0x29e8]
test dword [ecx + eax*4], edx
setne al
test al, al
je 0x4ffc18
fld dword [0x830140]
fsub dword [0x830138]
lea edx, [esp + 0x90]
push 0xffffffffffffffff
lea eax, [esp + 0x54]
push edx
fmul dword [esp + 0x3c]
push eax
lea ecx, [esi + 0x1e18]
fadd dword [0x830138]
fld dword [0x830140]
fsub st(1)
fmul dword [esp + 0x48]
fadd dword [0x830140]
fstp dword [esp + 0xa4]
fld dword [0x830144]
fsub dword [0x83013c]
fmul dword [esp + 0x44]
fadd dword [0x83013c]
fstp dword [esp + 0xa0]
fld dword [0x830144]
fsub dword [esp + 0xa0]
fmul dword [esp + 0x4c]
fadd dword [0x830144]
fstp dword [esp + 0xa8]
fmul dword [0x7d8bf0]
fstp dword [esp + 0x9c]
fld dword [esp + 0xa0]
fmul dword [0x7d8bf0]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa4]
fmul dword [0x7d8bf0]
fstp dword [esp + 0xa4]
fld dword [esp + 0xa8]
fmul dword [0x7d8bf0]
fstp dword [esp + 0xa8]
call fcn.00533d50
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0x29ec]
mov ecx, dword [esp + 0x4c]
inc ebx
mov dword [esp + 0x18], ecx
cmp ebx, eax
mov dword [esp + 0x1c], eax
mov edi, eax
jl 0x4ff64f
fld dword [esp + 0x14]
fadd dword [esp + 0x28]
mov eax, dword [esi + 0x29f0]
inc ebp
cmp ebp, eax
mov dword [esp + 0x10], ebp
fstp dword [esp + 0x14]
jl 0x4ff61f
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x94
ret