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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x184
mov al, byte [ebp + 0x1c]
test al, al
push ebx
push esi
mov esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0x14]
je 0x54c542
mov eax, dword [edi + 0xc]
fld dword [edi]
mov dword [edi], eax
fstp dword [edi + 0xc]
mov ecx, dword [edi + 8]
fld dword [edi + 4]
mov dword [edi + 4], ecx
fstp dword [edi + 8]
mov al, byte [esi]
mov dl, byte [esi + 3]
mov byte [esi], dl
mov byte [esi + 3], al
mov cl, byte [esi + 2]
mov al, byte [esi + 1]
mov byte [esi + 1], cl
mov dword [esp + 0x1c], 0xbf800000
mov byte [esi + 2], al
jmp 0x54c54a
mov dword [esp + 0x1c], 0x3f800000
mov al, byte [esi + 3]
movsx edx, byte [esi]
mov ecx, dword [ebp + 0xc]
inc al
mov byte [esi + 3], al
shl edx, 4
movaps xmm0, xmmword [edx + ecx]
mov edx, dword [edi + 4]
movaps xmmword [esp + 0x40], xmm0
fld dword [esp + 0x40]
movsx eax, al
fmul dword [esp + 0x1c]
shl eax, 4
movaps xmm0, xmmword [eax + ecx]
mov al, byte [ebp + 0x20]
test al, al
fstp dword [esp + 0x24]
mov ecx, dword [edi + 0xc]
movaps xmmword [esp + 0x40], xmm0
fld dword [esp + 0x40]
mov dword [esp + 0x18], edx
fmul dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
fstp dword [esp + 0x28]
je 0x54c5ba
fld dword [esp + 0x24]
mov eax, ecx
fstp dword [esp + 0x18]
mov dword [esp + 0x24], edx
fld dword [esp + 0x28]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ebx, dword [ebp + 0x10]
push ecx
push edx
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.005471d0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0xe8]
push ebx
push eax
call fcn.005471d0
movaps xmm0, xmmword [esp + 0x110]
mov ecx, dword [ebp + 0x28]
movaps xmm1, xmm0
minps xmm1, xmmword [esp + 0x120]
maxps xmm0, xmmword [esp + 0x120]
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x100]
movaps xmm3, xmm1
minps xmm3, xmm2
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm4, xmm2
minps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xe0]
movaps xmm5, xmm3
minps xmm5, xmm4
movaps xmm4, xmmword [esp + 0xd0]
movaps xmm6, xmm4
minps xmm6, xmm5
movaps xmm5, xmmword [esp + 0xc0]
maxps xmm1, xmm0
movaps xmm0, xmmword [esp + 0xb0]
movaps xmm7, xmm5
maxps xmm2, xmm1
add ecx, 0x2a0
add esp, 0x20
minps xmm7, xmm6
movaps xmm6, xmmword [esp + 0x90]
maxps xmm3, xmm2
maxps xmm4, xmm3
maxps xmm5, xmm4
push ecx
minps xmm6, xmm7
maxps xmm0, xmm5
lea ecx, [esp + 0x134]
movaps xmmword [esp + 0x134], xmm6
movaps xmmword [esp + 0x144], xmm0
call fcn.00602790
test al, al
jne 0x54cc32
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x14]
mov al, byte [0x73f5f5]
push 0
mov dword [esp + 0x30], ecx
call fcn.005f4ca0
mov eax, dword [esp + 0x2c]
push 0
mov dword [0x73f5d8], eax
call fcn.00555a40
mov ecx, dword [ebp + 0x1c]
push ecx
mov dword [0x73f5e8], 0
call fcn.00555a40
movss xmm0, dword [0x68b500]
movaps xmm6, xmmword [ebx + 0x10]
movaps xmm3, xmmword [ebx + 0x20]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x44], xmm0
movaps xmm0, xmmword [esp + 0x38]
xorps xmm5, xmm5
movaps xmm1, xmm5
movss xmm1, xmm0
movaps xmm0, xmmword [ebx]
subps xmm6, xmm0
movaps xmm0, xmmword [ebx + 0x30]
subps xmm3, xmm0
shufps xmm1, xmm1, 0x51
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
movaps xmmword [esp + 0x78], xmm0
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xc9
mulps xmm0, xmm6
movaps xmm4, xmm1
mulps xmm4, xmm2
movaps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xaa
movaps xmmword [esp + 0x48], xmm4
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm7, xmm0
addss xmm7, xmm4
addss xmm7, dword [esp + 0x48]
movaps xmmword [esp + 0x48], xmm7
fld dword [esp + 0x48]
fcomp dword [0x68b4fc]
add esp, 8
movaps xmmword [esp + 0x120], xmm3
movaps xmmword [esp + 0x50], xmm2
fnstsw ax
test ah, 0x41
jne 0x54c7f1
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xaa
movaps xmm7, xmm0
shufps xmm7, xmm0, 0x55
addss xmm0, xmm7
addss xmm0, xmm4
movaps xmmword [esp + 0x30], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x30]
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
mulps xmm2, xmm4
movaps xmmword [esp + 0x40], xmm2
lea eax, [esp + 0x40]
jmp 0x54c7f5
lea eax, [esp + 0x50]
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x110], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm3, xmmword [esp + 0x70]
mulps xmm0, xmm1
movaps xmm1, xmm3
subps xmm1, xmm0
shufps xmm1, xmm1, 0xc9
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
movaps xmm2, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm4, xmm3
addss xmm4, xmm2
movaps xmmword [esp + 0x70], xmm4
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x40], xmm1
fnstsw ax
test ah, 0x41
jne 0x54c892
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x30]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x70], xmm1
lea eax, [esp + 0x70]
jmp 0x54c896
lea eax, [esp + 0x40]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movaps xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [ebx + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmm0, xmmword [ebx + 0x20]
movaps xmmword [esp + 0x180], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x150], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x50], xmm1
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
movsx ecx, byte [esi]
mov dword [esp + 0x20], edi
mov edi, dword [0x73f5e8]
mov dword [esp + 0x38], edx
inc esi
mov dword [esp + 0x2c], 3
nop
movsx edx, byte [esi - 1]
shl edx, 4
movaps xmm0, xmmword [edx + eax]
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
movaps xmmword [esp + 0x70], xmm0
fld dword [esp + 0x70]
mov dword [esp + 0x88], edx
movsx edx, byte [esi]
fmul dword [esp + 0x1c]
cmp ecx, edx
fstp dword [esp + 0x6c]
je 0x54cb70
mov edx, ecx
shl edx, 4
add edx, eax
jmp 0x54c950
movaps xmm4, xmmword [edx]
mov al, byte [ebp + 0x20]
test al, al
movaps xmmword [esp + 0x160], xmm4
fld dword [esp + 0x160]
movaps xmmword [esp + 0x40], xmm4
fmul dword [esp + 0x1c]
fld dword [esp + 0x88]
fadd st(1)
fsub dword [esp + 0x6c]
fstp dword [esp + 0x18]
je 0x54c993
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x18]
mov dword [esp + 0x18], eax
movaps xmm1, xmmword [esp + 0x50]
fst dword [esp + 0x14]
fabs
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
minss xmm1, xmm0
movaps xmmword [esp + 0x50], xmm1
movaps xmm1, xmmword [esp + 0x30]
maxss xmm1, xmm0
movaps xmmword [esp + 0x30], xmm1
fmul dword [esp + 0x180]
lea eax, [esp + 0x14]
movaps xmm1, xmm5
fadd dword [0x68b500]
movss xmm1, xmm0
movss xmm0, dword [eax]
movaps xmm3, xmm1
fcom dword [0x68b62c]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0x110]
mulps xmm0, xmm1
movaps xmm1, xmm5
fnstsw ax
shufps xmm1, xmm0, 0x20
test ah, 0x41
shufps xmm0, xmm1, 0x24
movaps xmm1, xmm0
movaps xmm0, xmmword [ebx]
shufps xmm3, xmm3, 0x51
addps xmm0, xmm3
addps xmm0, xmm1
je 0x54ca1d
fstp st(0)
fld dword [0x68b62c]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
movss xmm1, dword [esp + 0x14]
shufps xmm1, xmm1, 0
fabs
fmul dword [esp + 0x150]
movaps xmm2, xmm6
mulps xmm2, xmm1
fadd dword [0x68b500]
movaps xmm1, xmm2
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
fcom dword [0x68b62c]
movaps xmm2, xmm0
addps xmm2, xmm1
movss xmm1, dword [eax]
movaps xmm7, xmm1
shufps xmm7, xmm1, 0
fnstsw ax
movaps xmm1, xmmword [esp + 0x170]
test ah, 0x41
mulps xmm1, xmm7
movaps xmm7, xmm5
shufps xmm7, xmm1, 0x20
shufps xmm1, xmm7, 0x24
movaps xmm7, xmm1
movaps xmm1, xmmword [ebx + 0x30]
addps xmm1, xmm3
addps xmm1, xmm7
je 0x54caa2
fstp st(0)
fld dword [0x68b62c]
movsx eax, word [esp + 0x4c]
fstp dword [esp + 0x14]
movss xmm3, dword [esp + 0x14]
shl eax, 0x11
movaps xmm7, xmmword [esp + 0x120]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
movsx eax, word [esp + 0x48]
shl eax, 0x11
fmul dword [esp + 0x1c]
mov dword [esp + 0x14], eax
shufps xmm3, xmm3, 0
mulps xmm7, xmm3
fmul dword [0x694b18]
mov eax, edi
shl eax, 6
add eax, 0x73f700
fstp dword [esp + 0x18]
movaps xmm3, xmm1
fild dword [esp + 0x14]
addps xmm3, xmm7
lea ebx, [esp + 0x14]
inc edi
fmul dword [esp + 0x1c]
mov dword [0x73f5e8], edi
inc ecx
add edx, 0x10
fmul dword [0x694b18]
fstp dword [esp + 0x14]
movss xmm7, dword [ebx]
shufps xmm7, xmm0, 0xe0
shufps xmm0, xmm7, 0x24
movaps xmmword [eax], xmm0
lea ebx, [esp + 0x18]
movss xmm0, dword [ebx]
mov ebx, dword [ebp + 0x10]
shufps xmm0, xmm2, 0xe0
shufps xmm2, xmm0, 0x24
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xff
shufps xmm0, xmm3, 0xe0
shufps xmm3, xmm0, 0x24
movaps xmmword [eax + 0x10], xmm2
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
movaps xmmword [eax + 0x20], xmm3
shufps xmm0, xmm1, 0xe0
shufps xmm1, xmm0, 0x24
movaps xmmword [eax + 0x30], xmm1
movsx eax, byte [esi]
cmp ecx, eax
jne 0x54c950
mov eax, dword [ebp + 0xc]
add dword [esp + 0x20], 4
mov edx, dword [esp + 0x2c]
inc esi
dec edx
mov dword [esp + 0x2c], edx
jne 0x54c910
mov esi, dword [ebp + 0x28]
lea ecx, [esi + 0x260]
push ecx
lea ecx, [esp + 0x134]
call fcn.00602890
fld dword [esp + 0x24]
fcomp dword [0x68b4fc]
test al, al
fnstsw ax
je 0x54cbf9
test ah, 5
lea eax, [esp + 0xd0]
jnp 0x54cbbe
lea eax, [esp + 0x90]
cmp dword [0x73f5e8], 2
jl 0x54cc32
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [ebp + 8]
push ecx
mov ecx, dword [edx + 0x10]
push ecx
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0xa0]
push ecx
push eax
push esi
call fcn.00557ed0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ah, 5
lea eax, [esp + 0xd0]
jnp 0x54cc0c
lea eax, [esp + 0x90]
cmp dword [0x73f5e8], 2
jl 0x54cc32
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x28]
push 0
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
push eax
push esi
call fcn.005576f0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret