Function at 0x54a600
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69b6b8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movaps xmm7, xmm3
movss dword [ebp - 0x30], xmm7
mov esi, ecx
mov dword [ebp - 0x18], esi
movss xmm3, dword [esi + 0x1c]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov eax, edi
movss xmm0, dword [esi + 0x20]
movss xmm1, dword [0x6db910]
subss xmm0, xmm3
movss xmm5, dword [edx]
movss xmm4, dword [edi]
mov ecx, dword [esi + 0x2c]
comiss xmm4, xmm5
divss xmm1, xmm0
cmova eax, edx
movd xmm2, ecx
movss xmm0, dword [eax]
subss xmm0, xmm7
cvtdq2ps xmm2, xmm2
subss xmm0, xmm3
comiss xmm5, xmm4
mulss xmm0, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x20], eax
mov eax, edi
cmova eax, edx
movss xmm0, dword [eax]
lea eax, [edi + 8]
addss xmm0, xmm7
mov dword [ebp - 0x1c], eax
subss xmm0, xmm3
movss xmm3, dword [esi + 0x24]
mulss xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [0x6db910]
cvttss2si ecx, xmm0
movss xmm0, dword [eax]
comiss xmm0, dword [edx + 8]
mov dword [ebp - 0x14], ecx
lea ecx, [edx + 8]
mov edx, dword [esi + 0x30]
movss xmm0, dword [esi + 0x28]
subss xmm0, xmm3
mov esi, dword [ebp - 0x1c]
cmova eax, ecx
movd xmm2, edx
cvtdq2ps xmm2, xmm2
divss xmm1, xmm0
movss xmm0, dword [eax]
mov eax, esi
subss xmm0, xmm7
subss xmm0, xmm3
mulss xmm0, xmm2
mulss xmm0, xmm1
cvttss2si edi, xmm0
movss xmm0, dword [ecx]
comiss xmm0, dword [esi]
mov dword [ebp - 0x28], edi
cmova eax, ecx
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x20]
addss xmm0, xmm7
cmp eax, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x14]
subss xmm0, xmm3
mulss xmm0, xmm2
mulss xmm0, xmm1
cvttss2si esi, xmm0
jge 0x54aa24
test ecx, ecx
js 0x54aa24
cmp edi, edx
jge 0x54aa24
test esi, esi
js 0x54aa24
mov edi, dword [ebp - 0x20]
xor eax, eax
test edi, edi
cmovns eax, edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x2c]
cmp ecx, eax
jl 0x54a77f
dec eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
xor edi, edi
test eax, eax
cmovns edi, eax
cmp esi, edx
jl 0x54a790
lea esi, [edx - 1]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.004d53f0
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x38]
push esi
push edi
push dword [ebp - 0x14]
mov dword [ebp - 4], 0
push dword [ebp - 0x24]
push eax
call fcn.0054aa40
mov eax, dword [ebp - 0x38]
movss xmm5, dword [0x6dba68]
movss dword [ebp - 0x28], xmm5
mov esi, dword [eax]
cmp esi, eax
je 0x54aa03
mov dword [ebp - 0x2c], 3
xorps xmm3, xmm3
xor eax, eax
mov edi, 0x28
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [esi + 0x10]
cmp dword [ecx + edi], 0
jne 0x54a9a0
inc eax
cdq
idiv dword [ebp - 0x2c]
lea eax, [edx + edx*2]
mov edx, dword [ebx + 8]
movss xmm0, dword [ecx + eax*4 + 0xc]
movss xmm2, dword [ecx + eax*4 + 4]
mov eax, dword [ebp - 0x14]
movss xmm5, dword [edx]
mov edx, dword [ebp - 0x1c]
subss xmm0, dword [ecx + eax + 0xc]
subss xmm2, dword [ecx + eax + 4]
movss xmm1, dword [edx]
mov edx, dword [ebx + 0xc]
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x24], xmm2
movss xmm6, dword [edx]
movss xmm7, dword [edx + 8]
subss xmm6, xmm5
subss xmm7, xmm1
mov edx, dword [ebp - 0x14]
movaps xmm4, xmm6
mulss xmm4, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm2
subss xmm4, xmm0
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x54a9a0
movaps xmm3, xmm1
movaps xmm2, xmm5
movss xmm1, dword [0x6db910]
subss xmm3, dword [ecx + edx + 0xc]
subss xmm2, dword [ecx + edx + 4]
divss xmm1, xmm4
movaps xmm4, xmm3
movaps xmm0, xmm2
mulss xmm3, xmm6
mulss xmm4, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x20]
mulss xmm2, xmm7
subss xmm4, xmm0
subss xmm3, xmm2
mulss xmm4, xmm1
mulss xmm3, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm4
ja 0x54a99d
movss xmm0, dword [0x6db910]
comiss xmm4, xmm0
ja 0x54a99d
comiss xmm1, xmm3
ja 0x54a99d
comiss xmm3, xmm0
ja 0x54a99d
mov eax, dword [ebp - 0x1c]
mulss xmm7, xmm4
mulss xmm6, xmm4
addss xmm7, dword [eax]
addss xmm6, xmm5
movaps xmm0, xmm7
subss xmm0, dword [eax]
mov eax, dword [ebx + 8]
movaps xmm5, xmm6
subss xmm5, dword [eax]
mulss xmm0, xmm0
mulss xmm5, xmm5
addss xmm5, xmm0
movss xmm0, dword [ebp - 0x28]
comiss xmm0, xmm5
jbe 0x54a99d
movss xmm0, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
movss dword [ebp - 0x44], xmm0
lea ecx, [ebp - 0x44]
movss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x6dbeb0]
push eax
mov dword [ebp - 0x40], 0
movss dword [ebp - 0x3c], xmm0
call fcn.004940a0
movss xmm3, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x10]
mulss xmm2, xmm3
mulss xmm0, xmm3
addss xmm2, xmm6
mulss xmm1, xmm3
addss xmm0, xmm7
movss dword [ebp - 0x28], xmm5
unpcklps xmm2, xmm1
movq qword [ecx], xmm2
movss dword [ebp - 0x54], xmm0
mov eax, dword [ebp - 0x54]
mov dword [ecx + 8], eax
xorps xmm3, xmm3
inc dword [ebp - 0x18]
add edi, 4
mov eax, dword [ebp - 0x18]
add edx, 0xc
mov dword [ebp - 0x14], edx
cmp edi, 0x34
jl 0x54a800
cmp byte [esi + 0xd], 0
jne 0x54a9f8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x54a9dd
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x54a9f8
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x54a9d1
jmp 0x54a9f8
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x54a9f6
cmp esi, dword [eax + 8]
jne 0x54a9f6
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x54a9e6
mov esi, eax
mov eax, dword [ebp - 0x38]
cmp esi, eax
jne 0x54a7e5
push eax
push dword [eax]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x38]
call fcn.004d4ee0
mov ecx, dword [ebp - 0x38]
mov edx, 1
push 0x14
call fcn.004020c0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc