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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x194
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x4c]
movzx eax, byte [edi + 7]
movaps xmm0, xmmword [edi + 0x20]
add eax, 2
movaps xmmword [esp + 0x50], xmm0
shl eax, 4
movaps xmm0, xmmword [eax + edi]
fld dword [esp + 0x50]
fchs
movaps xmmword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x54b2ef
mov ecx, dword [esp + 0x20]
fstp st(0)
mov dword [esp + 0x3c], ecx
jmp 0x54b2f3
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
push edx
push esi
push ebx
call fcn.00546bd0
add esp, 0xc
test al, al
jne 0x54ba9b
movaps xmm0, xmmword [esi + 0x30]
movaps xmm2, xmmword [ebx + 0x1d0]
movaps xmm4, xmmword [ebx + 0x1c0]
movaps xmm1, xmmword [esi]
movaps xmm5, xmmword [ebx + 0x1c0]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [ebx + 0x1b0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
addps xmm3, xmm4
movaps xmm4, xmmword [ebx + 0x1a0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm4, xmm2
movaps xmm2, xmmword [ebx + 0x1d0]
addps xmm4, xmm3
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xaa
mulps xmm5, xmm3
movaps xmm3, xmmword [ebx + 0x1b0]
addps xmm5, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
mulps xmm3, xmm2
addps xmm3, xmm5
movaps xmm5, xmmword [ebx + 0x1a0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
mulps xmm5, xmm2
movaps xmm2, xmm5
addps xmm2, xmm3
maxps xmm2, xmm4
movaps xmm3, xmm2
shufps xmm3, xmm2, 0xaa
movaps xmmword [esp + 0x50], xmm3
fld dword [esp + 0x50]
fcomp dword [0x68b59c]
fnstsw ax
test ah, 0x41
je 0x54ba9b
movaps xmm2, xmmword [ebx + 0x1d0]
movaps xmm4, xmmword [ebx + 0x1c0]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [ebx + 0x1b0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [ebx + 0x1a0]
mulps xmm0, xmm2
addps xmm3, xmm4
movaps xmm4, xmmword [ebx + 0x1c0]
addps xmm0, xmm3
movaps xmm2, xmm0
movaps xmm0, xmmword [ebx + 0x1d0]
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [ebx + 0x1b0]
addps xmm4, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulps xmm3, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0
movaps xmm1, xmmword [ebx + 0x1a0]
mulps xmm1, xmm0
movaps xmm0, xmm1
addps xmm3, xmm4
addps xmm0, xmm3
minps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x50], xmm1
fld dword [esp + 0x50]
fcomp dword [0x68ed94]
fnstsw ax
mov al, byte [esi + 0x4a]
test ah, 0x41
jne 0x54b48c
movzx ebx, byte [edi + 4]
add ebx, 2
shl ebx, 4
add ebx, edi
test al, 2
je 0x54b486
movzx eax, byte [edi + 8]
jmp 0x54b4a2
movzx eax, byte [edi + 0xb]
jmp 0x54b4a1
test al, 2
lea ebx, [edi + 0x20]
je 0x54b49d
movzx ecx, byte [edi + 4]
mov dword [esp + 0x14], ecx
jmp 0x54b4a6
movzx eax, byte [edi + 7]
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 2
jl 0x54ba9b
mov edx, dword [edi + 0x14]
push edx
lea ecx, [esp + 0x20]
call fcn.00546e10
mov dword [0x73f5e8], 0
movaps xmm0, xmmword [ebx]
shufps xmm0, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm0
movss xmm0, dword [0x68b500]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x68b4fc]
mov dword [esp + 0x84], ecx
movss dword [esp + 0x2c], xmm0
movaps xmm1, xmmword [esp + 0x20]
lea ecx, [esp + 0x100]
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x8c], edx
movaps xmmword [esp + 0xe4], xmm0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
push 0x74a750
lea edx, [esp + 0xc8]
movss xmm0, xmm1
shufps xmm0, xmm0, 0x51
push edx
mov ecx, esi
mov dword [esp + 0x98], eax
movaps xmmword [esp + 0x4c], xmm0
call fcn.00600940
lea eax, [esp + 0xd0]
push eax
push 0x74a780
lea ecx, [esp + 0xf8]
push ecx
mov ecx, esi
call fcn.00600940
movaps xmm0, xmmword [esi]
movaps xmm5, xmmword [esp + 0x40]
movaps xmm1, xmmword [esi + 0x10]
movaps xmm3, xmmword [esi + 0x20]
subps xmm1, xmm0
movaps xmm0, xmmword [esi + 0x30]
subps xmm3, xmm0
movaps xmm4, xmm5
shufps xmm4, xmm5, 0xc9
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xc9
mulps xmm5, xmm2
movaps xmm2, xmm5
movaps xmm0, xmm4
mulps xmm0, xmm1
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm6, xmm0
movaps xmm5, xmm0
shufps xmm6, xmm0, 0x55
movaps xmm7, xmm0
shufps xmm5, xmm0, 0xaa
addss xmm7, xmm6
addss xmm7, xmm5
movaps xmmword [esp + 0x20], xmm7
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0xb0], xmm1
movaps xmmword [esp + 0x50], xmm3
movaps xmmword [esp + 0x60], xmm2
fnstsw ax
test ah, 0x41
jne 0x54b651
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
addss xmm0, xmm6
addss xmm0, xmm5
movaps xmmword [esp + 0x20], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0
mulps xmm2, xmm5
movaps xmmword [esp + 0x20], xmm2
lea eax, [esp + 0x20]
jmp 0x54b655
lea eax, [esp + 0x60]
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x110], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm0, xmmword [esp + 0x40]
mulps xmm3, xmm4
movaps xmm2, xmm3
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm5, xmm4
addss xmm5, xmm3
movaps xmmword [esp + 0x60], xmm5
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x20], xmm2
fnstsw ax
test ah, 0x41
jne 0x54b6f2
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x40], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm2, xmm3
movaps xmmword [esp + 0x60], xmm2
lea eax, [esp + 0x60]
jmp 0x54b6f6
lea eax, [esp + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
movaps xmmword [esp + 0x90], xmm0
jle 0x54b993
mov ecx, dword [0x73f5e8]
mov dword [esp + 0x14], eax
jmp 0x54b720
movaps xmm7, xmmword [ebx]
fld dword [0x68b4fc]
movaps xmm2, xmmword [esp + 0x70]
movaps xmm4, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x60], xmm7
fld dword [esp + 0x60]
movaps xmm0, xmm7
fucompp
shufps xmm0, xmm7, 0x55
minss xmm2, xmm0
movaps xmmword [esp + 0x70], xmm2
movaps xmm2, xmmword [esp + 0x80]
fnstsw ax
maxss xmm2, xmm0
test ah, 0x44
movaps xmmword [esp + 0x80], xmm2
movaps xmm2, xmm4
movss xmm2, xmm0
movaps xmm6, xmm2
shufps xmm6, xmm6, 0x51
movaps xmmword [esp + 0x20], xmm7
movaps xmmword [esp + 0xa0], xmm6
jnp 0x54b8d9
movaps xmm0, xmmword [esp + 0x110]
movaps xmm3, xmmword [esi + 0x10]
movaps xmm2, xmm4
movaps xmm1, xmm7
shufps xmm1, xmm7, 0
mulps xmm0, xmm1
shufps xmm2, xmm0, 0x20
shufps xmm0, xmm2, 0x24
movaps xmm2, xmmword [esi]
addps xmm2, xmm6
addps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x100]
mulps xmm0, xmm1
movaps xmm5, xmm4
shufps xmm5, xmm0, 0x20
shufps xmm0, xmm5, 0x24
movaps xmm5, xmmword [esp + 0xc0]
addps xmm5, xmm0
movaps xmm0, xmm5
subps xmm0, xmm2
mulps xmm0, xmm0
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
addss xmm0, xmm6
addss xmm0, xmm5
movaps xmmword [esp + 0x40], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
shufps xmm3, xmm3, 0xff
movaps xmm5, xmm3
shufps xmm5, xmm3, 0
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
movaps xmm0, xmmword [esp + 0xb0]
mulps xmm0, xmm3
mulps xmm0, xmm5
movaps xmm3, xmm4
movaps xmm5, xmm2
addps xmm5, xmm0
movaps xmm0, xmmword [esp + 0x90]
mulps xmm0, xmm1
shufps xmm3, xmm0, 0x20
shufps xmm0, xmm3, 0x24
movaps xmm3, xmmword [esi + 0x30]
addps xmm3, xmmword [esp + 0xa0]
addps xmm3, xmm0
movaps xmm0, xmmword [esp + 0xd0]
mulps xmm0, xmm1
movaps xmm1, xmmword [esi + 0x20]
shufps xmm4, xmm0, 0x20
shufps xmm0, xmm4, 0x24
movaps xmm4, xmmword [esp + 0xf0]
addps xmm4, xmm0
movaps xmm0, xmm4
subps xmm0, xmm3
mulps xmm0, xmm0
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xaa
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
addss xmm0, xmm6
addss xmm0, xmm4
movaps xmmword [esp + 0x40], xmm0
sqrtss xmm0, xmm0
shufps xmm1, xmm1, 0xff
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm4, xmm1
shufps xmm4, xmm1, 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0x50]
mulps xmm0, xmm1
mulps xmm0, xmm4
movaps xmm1, xmm0
movaps xmm0, xmm3
addps xmm0, xmm1
movaps xmm1, xmmword [esp + 0xb0]
jmp 0x54b8f4
movaps xmm2, xmmword [esi]
movaps xmm3, xmmword [esi + 0x30]
addps xmm2, xmm6
addps xmm3, xmm6
movaps xmm5, xmm2
movaps xmm0, xmm3
addps xmm0, xmmword [esp + 0x50]
addps xmm5, xmm1
movsx edx, word [esp + 0x2c]
movsx eax, word [esp + 0x28]
shl edx, 0x11
mov dword [esp + 0x18], edx
shl eax, 0x11
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, ecx
shl eax, 6
fmul dword [0x694b18]
add eax, 0x73f700
lea edx, [esp + 0x18]
inc ecx
fstp dword [esp + 0x1c]
add ebx, 0x10
fild dword [esp + 0x18]
mov dword [0x73f5e8], ecx
fmul dword [0x694b18]
fstp dword [esp + 0x18]
movss xmm4, dword [edx]
shufps xmm4, xmm2, 0xe0
shufps xmm2, xmm4, 0x24
movaps xmmword [eax], xmm2
lea edx, [esp + 0x1c]
movss xmm2, dword [edx]
shufps xmm2, xmm5, 0xe0
shufps xmm5, xmm2, 0x24
movaps xmmword [eax + 0x10], xmm5
movaps xmm2, xmm7
shufps xmm2, xmm7, 0xff
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
movaps xmmword [eax + 0x20], xmm0
movaps xmm0, xmm7
shufps xmm0, xmm7, 0xaa
shufps xmm0, xmm3, 0xe0
shufps xmm3, xmm0, 0x24
movaps xmmword [eax + 0x30], xmm3
dec dword [esp + 0x14]
jne 0x54b720
mov eax, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
push eax
push esi
push ebx
call fcn.00546c50
add esp, 0xc
test al, al
je 0x54ba46
movzx ecx, byte [edi + 7]
mov edx, dword [edi + 0x10]
add ecx, 2
shl ecx, 4
movaps xmm0, xmmword [ecx + edi]
movaps xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [edi + 0x20]
mov eax, dword [esp + 0xa0]
push eax
lea ecx, [esp + 0x124]
push esi
push ecx
movaps xmmword [esp + 0x9c], xmm0
mov dword [esp + 0x28], edx
call fcn.00546e40
mov edx, dword [esp + 0x9c]
push edx
mov ebx, eax
lea eax, [esp + 0x170]
push esi
push eax
call fcn.00546e40
mov ecx, dword [0x73f5e8]
add esp, 0x18
cmp ecx, 2
jl 0x54ba91
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 8]
push ecx
push ebx
push eax
push esi
push edx
call fcn.00557ed0
add esp, 0x1c
push edi
push esi
call fcn.005541e0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx eax, byte [edi + 7]
add eax, 2
shl eax, 4
movaps xmm0, xmmword [eax + edi]
cmp dword [0x73f5e8], 2
movaps xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [edi + 0x20]
movaps xmmword [esp + 0x90], xmm0
jl 0x54ba91
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x90]
push 0
push ecx
push edx
push eax
push esi
push ebx
call fcn.005576f0
add esp, 0x18
push edi
push esi
call fcn.005541e0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4