Function at 0x578950
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [ebp + 0x2c]
sub esp, 0x438
push esi
mov esi, dword [ebp + 0xc]
push edi
test esi, esi
jne 0x57a003
test eax, eax
jne 0x579292
mov eax, dword [ebp + 0x28]
cmp eax, 0xffffffff
je 0x578f0c
test eax, eax
je 0x578d0a
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm0, xmm0, 0
cdq
and edx, 3
movaps xmmword [esp + 0x80], xmm0
add eax, edx
sar eax, 2
mov dword [esp + 0x14], eax
test eax, eax
jle 0x57b997
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], edi
sub dword [esp + 0xc], eax
lea esi, [eax + 0x20]
mov dword [esp + 0x1c], esi
lea edx, [ecx + 0x30]
mov esi, ecx
sub esi, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movaps xmm4, xmmword [edx - 0x30]
movaps xmm5, xmmword [esi - 0x20]
movaps xmm3, xmm4
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm6, xmm3
movaps xmm2, xmmword [ecx + esi]
movaps xmm7, xmm4
movaps xmm0, xmm2
shufps xmm2, xmmword [edx], 0xee
shufps xmm0, xmmword [edx], 0x44
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm4, xmm2, 0xdd
shufps xmm7, xmm2, 0x88
movaps xmm2, xmmword [esi]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [esi + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [esi - 0x10], 0x44
shufps xmm2, xmmword [esi + 0x10], 0xee
shufps xmm5, xmmword [esi - 0x10], 0xee
movaps xmmword [esp + 0x30], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm3, xmm2, 0x88
shufps xmm5, xmm2, 0xdd
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x30]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0x70], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
mulps xmm3, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
mulps xmm5, xmm7
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
addps xmm6, xmm3
movaps xmm3, xmmword [esp + 0x40]
movaps xmm4, xmm3
addps xmm6, xmm5
shufps xmm3, xmm1, 0xee
movaps xmm0, xmm6
shufps xmm0, xmmword [esp + 0x70], 0x44
movaps xmm5, xmm3
shufps xmm6, xmmword [esp + 0x70], 0xee
shufps xmm4, xmm1, 0x44
shufps xmm3, xmm6, 0xdd
movaps xmm1, xmm4
shufps xmm1, xmm0, 0x88
shufps xmm4, xmm0, 0xdd
movaps xmmword [esp + 0x140], xmm1
shufps xmm5, xmm6, 0x88
movaps xmmword [esp + 0x160], xmm5
movaps xmmword [esp + 0x170], xmm3
movaps xmmword [esp + 0x150], xmm4
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [ecx + esi]
movaps xmmword [esp + 0x40], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm6
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
movaps xmm7, xmm3
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm7, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm1
movaps xmmword [esp + 0x30], xmm6
movaps xmm0, xmmword [esp + 0x30]
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x50], xmm3
movaps xmm3, xmm0
shufps xmm0, xmm4, 0xee
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm5
shufps xmm0, xmmword [esp + 0x40], 0x44
shufps xmm5, xmmword [esp + 0x40], 0xee
shufps xmm6, xmm2, 0x88
shufps xmm3, xmm4, 0x44
movaps xmm2, xmm3
movaps xmmword [esp + 0x70], xmm6
shufps xmm3, xmm0, 0xdd
shufps xmm2, xmm0, 0x88
movaps xmm1, xmm3
movaps xmm0, xmmword [esp + 0x20]
mulps xmm1, xmmword [esp + 0x50]
movaps xmm4, xmm0
shufps xmm0, xmm5, 0xdd
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm4, xmm5, 0x88
addps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm5, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm5, xmm0
subps xmm0, xmmword [esp + 0x80]
orps xmm5, xmm1
mulps xmm5, xmm0
movaps xmm6, xmm5
movaps xmm1, xmm5
mulps xmm1, xmmword [esp + 0x50]
mulps xmm6, xmm7
movaps xmm7, xmmword [esp + 0x80]
movaps xmm0, xmm7
mulps xmm0, xmm2
addps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm3
addps xmm1, xmm0
mov ecx, dword [esp + 0x18]
movaps xmm3, xmm5
movaps xmm0, xmm7
mulps xmm3, xmmword [esp + 0x70]
movaps xmm2, xmm6
mulps xmm5, xmmword [esp + 0x30]
mulps xmm0, xmm4
shufps xmm2, xmm1, 0x44
shufps xmm6, xmm1, 0xee
addps xmm3, xmm0
movaps xmm0, xmm7
mulps xmm0, xmmword [esp + 0x20]
movaps xmm1, xmm3
addps xmm5, xmm0
movaps xmm0, xmm2
shufps xmm1, xmm5, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [edi], xmm0
movaps xmm0, xmm6
shufps xmm2, xmm1, 0xdd
add edi, 0x40
movaps xmmword [edx + ecx - 0x20], xmm2
mov ecx, dword [esp + 0xc]
shufps xmm3, xmm5, 0xee
shufps xmm0, xmm3, 0x88
shufps xmm6, xmm3, 0xdd
movaps xmmword [ecx + esi], xmm0
add esi, 0x40
mov ecx, dword [esp + 0x18]
movaps xmmword [edx + ecx], xmm6
add edx, 0x40
sub eax, 1
jne 0x5789f1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x10]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm0, xmm0, 0
cdq
and edx, 3
movaps xmmword [esp + 0x40], xmm0
add eax, edx
sar eax, 2
mov dword [esp + 0x18], eax
test eax, eax
jle 0x57b997
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], ecx
sub dword [esp + 0x14], eax
lea esi, [ecx + 0x30]
mov ecx, edi
sub ecx, eax
lea edx, [eax + 0x20]
mov eax, edi
mov dword [esp + 0x1c], ecx
sub eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
movaps xmm0, xmmword [edx - 0x20]
mov ecx, dword [esp + 0x1c]
movaps xmmword [esp + 0x180], xmm0
movaps xmm3, xmmword [edx - 0x10]
movaps xmmword [esp + 0x190], xmm3
movaps xmm5, xmmword [edx]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x1a0], xmm5
movaps xmm4, xmmword [edx + 0x10]
movaps xmmword [esp + 0x1b0], xmm4
movaps xmm2, xmmword [edx + ecx]
movaps xmm6, xmmword [edi]
movaps xmm0, xmm2
mov ecx, dword [esp + 0x10]
movaps xmm7, xmm6
shufps xmm7, xmmword [edi + 0x10], 0x44
shufps xmm6, xmmword [edi + 0x10], 0xee
movaps xmm1, xmm7
shufps xmm0, xmmword [ecx + esi], 0x44
shufps xmm2, xmmword [ecx + esi], 0xee
shufps xmm1, xmm0, 0x88
shufps xmm7, xmm0, 0xdd
movaps xmm0, xmm6
shufps xmm0, xmm2, 0x88
shufps xmm6, xmm2, 0xdd
movaps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x70], xmm0
movaps xmm0, xmm5
shufps xmm0, xmm4, 0x44
movaps xmmword [esp + 0x80], xmm6
movaps xmm6, xmm2
shufps xmm2, xmm3, 0xee
shufps xmm6, xmm3, 0x44
movaps xmmword [esp + 0x30], xmm1
movaps xmm3, xmm6
shufps xmm3, xmm0, 0x88
shufps xmm6, xmm0, 0xdd
movaps xmm0, xmm3
mulps xmm0, xmmword [esp + 0x30]
movaps xmm1, xmm6
mulps xmm1, xmm7
shufps xmm5, xmm4, 0xee
movaps xmm4, xmm2
shufps xmm2, xmm5, 0xdd
shufps xmm4, xmm5, 0x88
movaps xmm5, xmmword [esp + 0x70]
addps xmm1, xmm0
movaps xmm0, xmm4
movaps xmmword [esp + 0x50], xmm2
mulps xmm0, xmm5
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmmword [esp + 0x80]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm2, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm2, xmm0
subps xmm0, xmmword [esp + 0x40]
orps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x30]
mulps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x40]
mulps xmm3, xmm0
mulps xmm1, xmm2
mulps xmm7, xmm2
mulps xmm6, xmm0
addps xmm1, xmm3
mulps xmm4, xmm0
movaps xmm3, xmmword [esp + 0x80]
movaps xmm0, xmmword [esp + 0x50]
addps xmm7, xmm6
mulps xmm0, xmmword [esp + 0x40]
mulps xmm5, xmm2
mulps xmm3, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm7, 0x44
addps xmm5, xmm4
addps xmm3, xmm0
mov ecx, dword [esp + 0x14]
movaps xmm0, xmm2
shufps xmm1, xmm7, 0xee
add edi, 0x40
movaps xmmword [esp + 0x30], xmm1
movaps xmm1, xmm5
shufps xmm1, xmm3, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [esi - 0x30], xmm0
shufps xmm2, xmm1, 0xdd
movaps xmm1, xmmword [esp + 0x30]
shufps xmm5, xmm3, 0xee
movaps xmm0, xmm1
movaps xmmword [esi - 0x20], xmm2
shufps xmm0, xmm5, 0x88
movaps xmmword [edx + ecx], xmm0
add edx, 0x40
shufps xmm1, xmm5, 0xdd
movaps xmmword [esi], xmm1
add esi, 0x40
sub eax, 1
jne 0x578d60
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm2, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm2, xmm2, 0
cdq
and edx, 3
movaps xmmword [esp + 0x70], xmm2
add eax, edx
sar eax, 2
mov dword [esp + 0x14], eax
test eax, eax
jle 0x57b997
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], edi
sub dword [esp + 0xc], eax
lea esi, [eax + 0x20]
mov dword [esp + 0x1c], esi
lea edx, [ecx + 0x30]
mov esi, ecx
sub esi, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
nop dword [eax]
mov ecx, dword [esp + 0x10]
movaps xmm4, xmmword [edx - 0x30]
movaps xmm5, xmmword [esi - 0x20]
movaps xmm3, xmm4
shufps xmm3, xmmword [edx - 0x20], 0x44
movaps xmm2, xmmword [esi + ecx]
movaps xmm6, xmm3
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm7, xmm4
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm7, xmm2, 0x88
shufps xmm4, xmm2, 0xdd
movaps xmm2, xmmword [esi]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [esi + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [esi - 0x10], 0x44
shufps xmm2, xmmword [esi + 0x10], 0xee
shufps xmm5, xmmword [esi - 0x10], 0xee
movaps xmmword [esp + 0x80], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
xorps xmm5, xmmword [0x719130]
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x80]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0x30], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
movaps xmm2, xmmword [esp + 0x80]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
mulps xmm3, xmm2
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
mulps xmm5, xmm7
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
addps xmm6, xmm3
addps xmm6, xmm5
movaps xmm3, xmmword [esp + 0x40]
movaps xmm0, xmm6
shufps xmm0, xmmword [esp + 0x30], 0x44
movaps xmm5, xmm3
shufps xmm6, xmmword [esp + 0x30], 0xee
shufps xmm3, xmm1, 0xee
shufps xmm5, xmm1, 0x44
movaps xmm4, xmm3
shufps xmm3, xmm6, 0xdd
movaps xmm1, xmm5
shufps xmm1, xmm0, 0x88
shufps xmm5, xmm0, 0xdd
shufps xmm4, xmm6, 0x88
movaps xmmword [esp + 0x1c0], xmm1
movaps xmmword [esp + 0x1f0], xmm3
movaps xmmword [esp + 0x1e0], xmm4
movaps xmmword [esp + 0x1d0], xmm5
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [esi + ecx]
movaps xmmword [esp + 0x40], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm6
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
movaps xmm7, xmm3
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm7, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm1
movaps xmmword [esp + 0x30], xmm6
movaps xmm0, xmmword [esp + 0x30]
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x80], xmm3
movaps xmm3, xmm0
shufps xmm0, xmm5, 0xee
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm4
shufps xmm0, xmmword [esp + 0x40], 0x44
shufps xmm4, xmmword [esp + 0x40], 0xee
shufps xmm6, xmm2, 0x88
shufps xmm3, xmm5, 0x44
movaps xmm2, xmm3
movaps xmmword [esp + 0x50], xmm6
shufps xmm3, xmm0, 0xdd
shufps xmm2, xmm0, 0x88
movaps xmm1, xmm3
movaps xmm0, xmmword [esp + 0x20]
mulps xmm1, xmmword [esp + 0x80]
movaps xmm5, xmm0
shufps xmm0, xmm4, 0xdd
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm5, xmm4, 0x88
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm4, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm4, xmm0
orps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x70]
subps xmm0, xmm1
mulps xmm2, xmm1
mulps xmm3, xmm1
mulps xmm4, xmm0
movaps xmm6, xmm4
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x80]
mulps xmm6, xmm7
addps xmm6, xmm2
mov ecx, dword [esp + 0x18]
addps xmm0, xmm3
mulps xmm5, xmm1
movaps xmm3, xmm4
mulps xmm3, xmmword [esp + 0x50]
movaps xmm2, xmm6
movaps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmmword [esp + 0x70]
mulps xmm4, xmmword [esp + 0x30]
addps xmm3, xmm5
shufps xmm2, xmm0, 0x44
shufps xmm6, xmm0, 0xee
movaps xmm0, xmm2
addps xmm4, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm4, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [edi], xmm0
movaps xmm0, xmm6
shufps xmm2, xmm1, 0xdd
add edi, 0x40
movaps xmmword [edx + ecx - 0x20], xmm2
mov ecx, dword [esp + 0xc]
shufps xmm3, xmm4, 0xee
shufps xmm0, xmm3, 0x88
shufps xmm6, xmm3, 0xdd
movaps xmmword [esi + ecx], xmm0
add esi, 0x40
mov ecx, dword [esp + 0x18]
movaps xmmword [edx + ecx], xmm6
add edx, 0x40
sub eax, 1
jne 0x578f70
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x28]
cmp eax, 0xffffffff
je 0x579b11
test eax, eax
je 0x579792
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm0, xmm0, 0
cdq
and edx, 3
movaps xmmword [esp + 0x100], xmm0
add edx, eax
sar edx, 2
mov dword [esp + 0x1c], edx
test edx, edx
jle 0x57b997
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
lea eax, [ecx + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x18]
sub dword [esp + 0x10], eax
lea edi, [eax + 0x20]
mov dword [esp + 0xc], edi
mov edi, esi
sub edi, eax
mov eax, esi
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
movaps xmm2, xmmword [eax + ecx]
movaps xmm4, xmmword [edx - 0x30]
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm4
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm6, xmm3
movaps xmm5, xmmword [ecx - 0x20]
movaps xmm7, xmm4
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm7, xmm2, 0x88
shufps xmm4, xmm2, 0xdd
movaps xmm2, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [ecx + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [ecx - 0x10], 0x44
shufps xmm2, xmmword [ecx + 0x10], 0xee
shufps xmm5, xmmword [ecx - 0x10], 0xee
movaps xmmword [esp + 0x30], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x30]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0x70], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
mulps xmm3, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
mulps xmm5, xmm7
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
addps xmm6, xmm3
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x40]
movaps xmm4, xmm5
movaps xmm0, xmm6
shufps xmm0, xmmword [esp + 0x70], 0x44
shufps xmm6, xmmword [esp + 0x70], 0xee
shufps xmm4, xmm1, 0x44
shufps xmm5, xmm1, 0xee
movaps xmm1, xmm4
shufps xmm1, xmm0, 0x88
movaps xmm3, xmm5
shufps xmm4, xmm0, 0xdd
movaps xmmword [esp + 0x200], xmm1
shufps xmm5, xmm6, 0xdd
shufps xmm3, xmm6, 0x88
movaps xmmword [esp + 0x210], xmm4
movaps xmmword [esp + 0x220], xmm3
movaps xmmword [esp + 0x230], xmm5
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [eax + ecx]
movaps xmm7, xmm6
shufps xmm7, xmmword [edx - 0x20], 0x44
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
shufps xmm2, xmmword [edx], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm7, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm4, 0xee
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm5, 0x44
shufps xmm1, xmm4, 0x44
movaps xmm2, xmm1
shufps xmm3, xmm5, 0xee
movaps xmm5, xmmword [esp + 0x40]
shufps xmm1, xmm0, 0xdd
movaps xmm4, xmm5
shufps xmm2, xmm0, 0x88
movaps xmmword [esp + 0xe0], xmm1
movaps xmm0, xmm2
mulps xmm1, xmmword [esp + 0x80]
mulps xmm0, xmm6
shufps xmm4, xmm3, 0x88
shufps xmm5, xmm3, 0xdd
movaps xmm3, xmmword [0x78d080]
addps xmm1, xmm0
movaps xmmword [esp + 0xc0], xmm2
movaps xmm0, xmm4
movaps xmmword [esp + 0xf0], xmm4
mulps xmm0, xmm7
xorps xmm2, xmm2
movaps xmm4, xmmword [0x719330]
movaps xmmword [esp + 0xd0], xmm6
movaps xmmword [esp + 0xb0], xmm7
addps xmm1, xmm0
movaps xmmword [esp + 0x40], xmm5
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmm4
orps xmm2, xmm0
movaps xmm0, xmm2
movaps xmmword [esp + 0x20], xmm2
mulps xmm0, xmm1
movaps xmm1, xmm4
movaps xmmword [esp + 0x50], xmm0
subps xmm1, xmm0
mulps xmm3, xmm0
rsqrtps xmm2, xmm1
movaps xmm7, xmmword [0x78d040]
movaps xmm6, xmm7
addps xmm3, xmmword [0x78d070]
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d060]
mulps xmm3, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmmword [0x719710]
addps xmm3, xmmword [0x78d050]
mulps xmm0, xmm2
mulps xmm2, xmmword [0x719700]
subps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm2, xmm4
subps xmm2, xmmword [esp + 0x100]
movaps xmm4, xmmword [0x78d030]
divps xmm3, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm3
mulps xmm5, xmmword [esp + 0x100]
movaps xmmword [esp + 0x70], xmm2
mulps xmm2, xmmword [esp + 0x70]
mulps xmm6, xmm0
movaps xmm1, xmm5
mulps xmm1, xmm5
addps xmm6, xmm4
mulps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
mulps xmm7, xmm2
addps xmm6, xmmword [0x719330]
addps xmm0, xmm4
addps xmm7, xmm4
mulps xmm6, xmm3
mulps xmm0, xmm1
mulps xmm7, xmm2
movaps xmm3, xmmword [0x78d010]
addps xmm0, xmmword [0x719330]
cmpltps xmm3, xmmword [esp + 0x50]
addps xmm7, xmmword [0x719330]
mulps xmm0, xmm5
movaps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm3
movaps xmm1, xmmword [esp + 0x50]
mulps xmm7, xmmword [esp + 0x70]
divps xmm0, xmm6
divps xmm7, xmm6
movaps xmm6, xmmword [esp + 0x20]
andnps xmm1, xmm0
movaps xmm0, xmm3
movaps xmm4, xmm6
andps xmm0, xmmword [0x719330]
andnps xmm5, xmm7
andps xmm3, xmmword [0x719320]
orps xmm1, xmm0
mulps xmm4, xmmword [esp + 0xc0]
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xd0]
movaps xmm3, xmm6
movaps xmm2, xmmword [esp + 0x50]
mulps xmm3, xmmword [esp + 0xf0]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0xe0]
mulps xmm6, xmmword [esp + 0x40]
addps xmm4, xmm0
mulps xmm3, xmm2
movaps xmm0, xmm5
mulps xmm1, xmm2
mulps xmm0, xmmword [esp + 0x80]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xb0]
addps xmm3, xmm0
mulps xmm5, xmmword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
add dword [esp + 0xc], 0x40
mulps xmm6, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm1, 0x44
shufps xmm4, xmm1, 0xee
movaps xmm0, xmm2
movaps xmm1, xmm3
addps xmm6, xmm5
shufps xmm1, xmm6, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [esi], xmm0
movaps xmm0, xmm4
shufps xmm3, xmm6, 0xee
add esi, 0x40
shufps xmm2, xmm1, 0xdd
movaps xmmword [edx + ecx - 0x20], xmm2
shufps xmm0, xmm3, 0x88
movaps xmmword [edi + eax], xmm0
mov eax, dword [esp + 0x10]
shufps xmm4, xmm3, 0xdd
movaps xmmword [edx + ecx], xmm4
add edx, 0x40
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], edx
jne 0x579314
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x10]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm0, xmm0, 0
cdq
and edx, 3
movaps xmmword [esp + 0xb0], xmm0
add eax, edx
sar eax, 2
mov dword [esp + 0x18], eax
test eax, eax
jle 0x57b997
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], ecx
sub dword [esp + 0x14], eax
lea esi, [ecx + 0x30]
mov ecx, edi
sub ecx, eax
lea edx, [eax + 0x20]
mov eax, edi
mov dword [esp + 0x1c], ecx
sub eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
nop dword [eax + eax]
movaps xmm0, xmmword [edx - 0x20]
mov ecx, dword [esp + 0x1c]
movaps xmmword [esp + 0x240], xmm0
movaps xmm3, xmmword [edx - 0x10]
movaps xmmword [esp + 0x250], xmm3
movaps xmm5, xmmword [edx]
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x260], xmm5
movaps xmm4, xmmword [edx + 0x10]
movaps xmmword [esp + 0x270], xmm4
movaps xmm2, xmmword [ecx + edx]
movaps xmm6, xmmword [edi]
movaps xmm0, xmm2
mov ecx, dword [esp + 0x10]
movaps xmm7, xmm6
shufps xmm7, xmmword [edi + 0x10], 0x44
shufps xmm6, xmmword [edi + 0x10], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm0, xmmword [ecx + esi], 0x44
shufps xmm2, xmmword [ecx + esi], 0xee
shufps xmm7, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm3, 0xee
shufps xmm1, xmm3, 0x44
movaps xmmword [esp + 0x40], xmm0
movaps xmm2, xmm1
movaps xmm0, xmm5
movaps xmmword [esp + 0xc0], xmm6
shufps xmm0, xmm4, 0x44
shufps xmm2, xmm0, 0x88
shufps xmm1, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmmword [esp + 0x100], xmm1
mulps xmm1, xmmword [esp + 0x80]
shufps xmm5, xmm4, 0xee
movaps xmm4, xmmword [esp + 0x40]
movaps xmm3, xmm4
movaps xmmword [esp + 0xd0], xmm2
addps xmm1, xmm0
shufps xmm3, xmm5, 0x88
movaps xmm0, xmm3
shufps xmm4, xmm5, 0xdd
mulps xmm0, xmm7
xorps xmm2, xmm2
movaps xmmword [esp + 0x40], xmm4
movaps xmmword [esp + 0x20], xmm3
movaps xmm3, xmmword [0x78d080]
addps xmm1, xmm0
movaps xmmword [esp + 0xa0], xmm7
movaps xmm0, xmm4
movaps xmm4, xmmword [0x719330]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmm4
orps xmm2, xmm0
movaps xmm0, xmm2
movaps xmmword [esp + 0xe0], xmm2
mulps xmm0, xmm1
movaps xmm1, xmm4
mulps xmm3, xmm0
subps xmm1, xmm0
movaps xmmword [esp + 0xf0], xmm0
addps xmm3, xmmword [0x78d070]
rsqrtps xmm2, xmm1
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d060]
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d050]
movaps xmm0, xmm2
movaps xmm7, xmmword [0x78d040]
mulps xmm0, xmm1
movaps xmm6, xmm7
movaps xmm1, xmmword [0x719710]
mulps xmm0, xmm2
mulps xmm2, xmmword [0x719700]
subps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm2, xmm4
subps xmm2, xmmword [esp + 0xb0]
movaps xmm4, xmmword [0x78d030]
divps xmm3, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm3
mulps xmm5, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x70], xmm2
mulps xmm2, xmmword [esp + 0x70]
mulps xmm6, xmm0
movaps xmm1, xmm5
mulps xmm1, xmm5
addps xmm6, xmm4
mulps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
mulps xmm7, xmm2
addps xmm6, xmmword [0x719330]
addps xmm0, xmm4
addps xmm7, xmm4
mulps xmm6, xmm3
mulps xmm0, xmm1
mulps xmm7, xmm2
movaps xmm3, xmmword [0x78d010]
addps xmm0, xmmword [0x719330]
cmpltps xmm3, xmmword [esp + 0xf0]
addps xmm7, xmmword [0x719330]
mulps xmm0, xmm5
movaps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm3
movaps xmm1, xmmword [esp + 0x50]
mulps xmm7, xmmword [esp + 0x70]
divps xmm0, xmm6
divps xmm7, xmm6
movaps xmm6, xmmword [esp + 0xe0]
andnps xmm1, xmm0
movaps xmm0, xmm3
movaps xmm4, xmm6
andps xmm0, xmmword [0x719330]
andnps xmm5, xmm7
andps xmm3, xmmword [0x719320]
orps xmm1, xmm0
mulps xmm4, xmmword [esp + 0xd0]
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xc0]
movaps xmm3, xmm6
movaps xmm2, xmmword [esp + 0x50]
mulps xmm3, xmmword [esp + 0x20]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0x100]
mulps xmm6, xmmword [esp + 0x40]
addps xmm4, xmm0
mulps xmm3, xmm2
movaps xmm0, xmm5
mulps xmm1, xmm2
mulps xmm0, xmmword [esp + 0x80]
mulps xmm6, xmm2
movaps xmm2, xmm4
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xa0]
mulps xmm5, xmmword [esp + 0x30]
shufps xmm2, xmm1, 0x44
addps xmm3, xmm0
shufps xmm4, xmm1, 0xee
addps xmm6, xmm5
mov ecx, dword [esp + 0x14]
movaps xmm1, xmm3
shufps xmm1, xmm6, 0x44
movaps xmm0, xmm2
shufps xmm0, xmm1, 0x88
add edi, 0x40
movaps xmmword [esi - 0x30], xmm0
movaps xmm0, xmm4
shufps xmm3, xmm6, 0xee
shufps xmm2, xmm1, 0xdd
movaps xmmword [esi - 0x20], xmm2
shufps xmm0, xmm3, 0x88
movaps xmmword [ecx + edx], xmm0
add edx, 0x40
shufps xmm4, xmm3, 0xdd
movaps xmmword [esi], xmm4
add esi, 0x40
sub eax, 1
jne 0x5797f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm0, xmm0, 0
cdq
and edx, 3
movaps xmmword [esp + 0xb0], xmm0
add edx, eax
sar edx, 2
mov dword [esp + 0x1c], edx
test edx, edx
jle 0x57b997
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], ecx
lea eax, [ecx + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x18]
sub dword [esp + 0xc], eax
lea edi, [eax + 0x20]
mov dword [esp + 0x10], edi
mov edi, esi
sub edi, eax
mov eax, esi
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
nop dword [eax]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
movaps xmm2, xmmword [eax + ecx]
movaps xmm4, xmmword [edx - 0x30]
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm4
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm6, xmm3
movaps xmm5, xmmword [ecx - 0x20]
movaps xmm7, xmm4
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm7, xmm2, 0x88
shufps xmm4, xmm2, 0xdd
movaps xmm2, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [ecx + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [ecx - 0x10], 0x44
shufps xmm2, xmmword [ecx + 0x10], 0xee
shufps xmm5, xmmword [ecx - 0x10], 0xee
movaps xmmword [esp + 0x70], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
xorps xmm5, xmmword [0x719130]
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x70]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x30], xmm2
movaps xmm1, xmmword [esp + 0x30]
movaps xmm2, xmmword [esp + 0x70]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
mulps xmm3, xmm2
movaps xmmword [esp + 0x30], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
mulps xmm5, xmm7
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
addps xmm6, xmm3
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x30]
movaps xmm4, xmm5
shufps xmm5, xmm1, 0xee
shufps xmm4, xmm1, 0x44
movaps xmm3, xmm5
movaps xmm1, xmm4
movaps xmm0, xmm6
shufps xmm6, xmmword [esp + 0xa0], 0xee
shufps xmm0, xmmword [esp + 0xa0], 0x44
shufps xmm1, xmm0, 0x88
shufps xmm4, xmm0, 0xdd
movaps xmmword [esp + 0x280], xmm1
shufps xmm5, xmm6, 0xdd
shufps xmm3, xmm6, 0x88
movaps xmmword [esp + 0x290], xmm4
movaps xmmword [esp + 0x2a0], xmm3
movaps xmmword [esp + 0x2b0], xmm5
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [eax + ecx]
movaps xmm7, xmm6
shufps xmm7, xmmword [edx - 0x20], 0x44
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
shufps xmm2, xmmword [edx], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm7, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm4, 0xee
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm5, 0x44
shufps xmm1, xmm4, 0x44
movaps xmm2, xmm1
shufps xmm3, xmm5, 0xee
movaps xmm5, xmmword [esp + 0x40]
shufps xmm2, xmm0, 0x88
movaps xmm4, xmm5
shufps xmm1, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmmword [esp + 0xc0], xmm1
mulps xmm1, xmmword [esp + 0x80]
shufps xmm4, xmm3, 0x88
shufps xmm5, xmm3, 0xdd
movaps xmm3, xmmword [0x78d080]
addps xmm1, xmm0
movaps xmmword [esp + 0xe0], xmm2
movaps xmm0, xmm4
movaps xmmword [esp + 0x100], xmm4
mulps xmm0, xmm7
xorps xmm2, xmm2
movaps xmm4, xmmword [0x719330]
movaps xmmword [esp + 0xd0], xmm6
movaps xmmword [esp + 0x20], xmm7
addps xmm1, xmm0
movaps xmmword [esp + 0x40], xmm5
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmm4
orps xmm2, xmm0
movaps xmm0, xmm2
movaps xmmword [esp + 0xf0], xmm2
mulps xmm0, xmm1
movaps xmmword [esp + 0xa0], xmm0
mulps xmm3, xmm0
movaps xmm1, xmm4
subps xmm1, xmm0
movaps xmm7, xmmword [0x78d040]
movaps xmm6, xmm7
addps xmm3, xmmword [0x78d070]
rsqrtps xmm2, xmm1
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d060]
mulps xmm3, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmmword [0x719710]
addps xmm3, xmmword [0x78d050]
mulps xmm0, xmm2
mulps xmm2, xmmword [0x719700]
subps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm2, xmm4
subps xmm2, xmmword [esp + 0xb0]
movaps xmm4, xmmword [0x78d030]
divps xmm3, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm3
mulps xmm5, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x70], xmm2
mulps xmm2, xmmword [esp + 0x70]
mulps xmm6, xmm0
movaps xmm1, xmm5
mulps xmm1, xmm5
addps xmm6, xmm4
mulps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
mulps xmm7, xmm2
addps xmm6, xmmword [0x719330]
addps xmm0, xmm4
addps xmm7, xmm4
mulps xmm6, xmm3
mulps xmm0, xmm1
mulps xmm7, xmm2
movaps xmm3, xmmword [0x78d010]
addps xmm0, xmmword [0x719330]
cmpltps xmm3, xmmword [esp + 0xa0]
addps xmm7, xmmword [0x719330]
mulps xmm0, xmm5
movaps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm3
movaps xmm1, xmmword [esp + 0x50]
mulps xmm7, xmmword [esp + 0x70]
divps xmm0, xmm6
divps xmm7, xmm6
movaps xmm6, xmmword [esp + 0xf0]
andnps xmm1, xmm0
movaps xmm0, xmm3
movaps xmm4, xmm6
andps xmm0, xmmword [0x719330]
andnps xmm5, xmm7
andps xmm3, xmmword [0x719320]
orps xmm1, xmm0
mulps xmm4, xmmword [esp + 0xe0]
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xd0]
movaps xmm3, xmm6
movaps xmm2, xmmword [esp + 0x50]
mulps xmm3, xmmword [esp + 0x100]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0xc0]
mulps xmm3, xmm2
addps xmm4, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x80]
mulps xmm1, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x20]
mulps xmm6, xmmword [esp + 0x40]
addps xmm3, xmm0
mov ecx, dword [esp + 0x14]
mulps xmm5, xmmword [esp + 0x30]
mov eax, dword [esp + 0x10]
add dword [esp + 0x10], 0x40
mulps xmm6, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm1, 0x44
shufps xmm4, xmm1, 0xee
movaps xmm0, xmm2
movaps xmm1, xmm3
addps xmm6, xmm5
shufps xmm1, xmm6, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [esi], xmm0
movaps xmm0, xmm4
shufps xmm3, xmm6, 0xee
add esi, 0x40
shufps xmm2, xmm1, 0xdd
movaps xmmword [ecx + edx - 0x20], xmm2
shufps xmm0, xmm3, 0x88
movaps xmmword [edi + eax], xmm0
mov eax, dword [esp + 0xc]
shufps xmm4, xmm3, 0xdd
movaps xmmword [ecx + edx], xmm4
add edx, 0x40
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], edx
jne 0x579b70
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x57aa97
mov eax, dword [ebp + 0x28]
cmp eax, 0xffffffff
je 0x57a6cf
test eax, eax
je 0x57a3df
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x20]
movaps xmm1, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm1, xmm1, 0
cdq
and edx, 3
movaps xmmword [esp + 0xb0], xmm1
add eax, edx
sar eax, 2
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x57b997
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
sub esi, eax
mov dword [esp + 0x6c], esi
mov esi, ecx
sub esi, eax
lea edi, [eax + 0x20]
mov eax, dword [ebp + 8]
sub eax, ecx
mov dword [esp + 0xc], esi
mov esi, dword [ebp + 0xc]
lea edx, [ecx + 0x30]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x1c]
sub eax, esi
sub ecx, esi
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
jmp 0x57a099
mov eax, dword [esp + 0x14]
movaps xmm0, xmmword [eax + esi]
mulps xmm0, xmm1
mov eax, dword [esp + 0x10]
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [eax + esi]
mov eax, dword [esp + 0xc]
movaps xmmword [esi], xmm0
movaps xmm4, xmmword [edx - 0x30]
movaps xmm5, xmmword [edi - 0x20]
movaps xmm3, xmm4
shufps xmm3, xmmword [edx - 0x20], 0x44
movaps xmm2, xmmword [edi + eax]
movaps xmm6, xmm3
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm7, xmm4
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm4, xmm2, 0xdd
shufps xmm7, xmm2, 0x88
movaps xmm2, xmmword [edi]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edi + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [edi - 0x10], 0x44
shufps xmm2, xmmword [edi + 0x10], 0xee
shufps xmm5, xmmword [edi - 0x10], 0xee
movaps xmmword [esp + 0x30], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x30]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
mulps xmm3, xmmword [esp + 0x30]
mulps xmm5, xmm7
addps xmm6, xmm3
movaps xmm3, xmmword [esp + 0x40]
addps xmm6, xmm5
movaps xmm5, xmm3
shufps xmm3, xmm1, 0xee
shufps xmm5, xmm1, 0x44
movaps xmm4, xmm3
movaps xmm1, xmm5
movaps xmm0, xmm6
shufps xmm6, xmmword [esp + 0xa0], 0xee
shufps xmm0, xmmword [esp + 0xa0], 0x44
shufps xmm1, xmm0, 0x88
shufps xmm5, xmm0, 0xdd
shufps xmm3, xmm6, 0xdd
movaps xmmword [esp + 0x2c0], xmm1
shufps xmm4, xmm6, 0x88
movaps xmmword [esp + 0x2e0], xmm4
movaps xmmword [esp + 0x2f0], xmm3
movaps xmmword [esp + 0x2d0], xmm5
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [edi + eax]
movaps xmmword [esp + 0x40], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm6
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
movaps xmm7, xmm3
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm7, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm1
movaps xmmword [esp + 0x30], xmm6
movaps xmm0, xmmword [esp + 0x30]
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x70], xmm3
movaps xmm3, xmm0
shufps xmm0, xmm5, 0xee
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm4
shufps xmm0, xmmword [esp + 0x40], 0x44
shufps xmm4, xmmword [esp + 0x40], 0xee
shufps xmm6, xmm2, 0x88
shufps xmm3, xmm5, 0x44
movaps xmm2, xmm3
movaps xmmword [esp + 0xa0], xmm6
shufps xmm2, xmm0, 0x88
shufps xmm3, xmm0, 0xdd
movaps xmm0, xmmword [esp + 0x20]
movaps xmm1, xmm3
mulps xmm1, xmmword [esp + 0x70]
movaps xmm5, xmm0
shufps xmm0, xmm4, 0xdd
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm5, xmm4, 0x88
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm4, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm4, xmm0
orps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x80]
subps xmm0, xmm1
mulps xmm2, xmm1
mulps xmm4, xmm0
movaps xmm6, xmm4
mulps xmm6, xmm7
mov eax, dword [esp + 0x18]
addps xmm6, xmm2
mulps xmm3, xmm1
movaps xmm0, xmm4
add esi, 0x10
mulps xmm0, xmmword [esp + 0x70]
mulps xmm5, xmm1
movaps xmm2, xmm6
movaps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmmword [esp + 0x80]
addps xmm0, xmm3
movaps xmm3, xmm4
mulps xmm4, xmmword [esp + 0x30]
mulps xmm3, xmmword [esp + 0xa0]
shufps xmm2, xmm0, 0x44
addps xmm4, xmm1
shufps xmm6, xmm0, 0xee
movaps xmm0, xmm2
addps xmm3, xmm5
movaps xmm1, xmm3
shufps xmm3, xmm4, 0xee
shufps xmm1, xmm4, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [ecx], xmm0
movaps xmm0, xmm6
shufps xmm2, xmm1, 0xdd
add ecx, 0x40
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [edx + eax - 0x20], xmm2
mov eax, dword [esp + 0x6c]
shufps xmm0, xmm3, 0x88
shufps xmm6, xmm3, 0xdd
movaps xmmword [edi + eax], xmm0
add edi, 0x40
mov eax, dword [esp + 0x18]
movaps xmmword [edx + eax], xmm6
add edx, 0x40
sub dword [esp + 0x1c], 1
jne 0x57a095
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm5, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm5, xmm5, 0
cdq
and edx, 3
movaps xmmword [esp + 0x20], xmm5
add eax, edx
sar eax, 2
mov dword [esp + 0x18], eax
test eax, eax
jle 0x57b997
mov ecx, dword [ebp + 8]
mov esi, ecx
mov eax, dword [ebp + 0x18]
sub esi, eax
mov dword [esp + 0x10], esi
mov esi, dword [ebp + 0x10]
sub esi, eax
lea edi, [ecx + 0x30]
lea edx, [eax + 0x20]
mov dword [esp + 0x1c], esi
mov eax, dword [ebp + 0x10]
sub eax, ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
sub dword [ebp + 0xc], eax
sub ecx, eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebp + 0x10]
movaps xmm7, xmmword [0x719330]
mov esi, dword [esp + 0x6c]
movaps xmm1, xmm7
movaps xmm3, xmmword [eax]
subps xmm1, xmm5
movaps xmm2, xmm3
movaps xmm0, xmm7
movaps xmm4, xmmword [esi + eax]
cmpltps xmm2, xmm4
mulps xmm1, xmm4
movaps xmm6, xmm2
divps xmm1, xmm3
subps xmm0, xmm1
andnps xmm6, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm5
movaps xmm5, xmm3
cmpleps xmm5, xmmword [0x719550]
divps xmm0, xmm4
cmpleps xmm4, xmmword [0x719550]
andps xmm0, xmm2
movaps xmm3, xmm5
orps xmm6, xmm0
andps xmm3, xmm4
movaps xmm2, xmm3
movaps xmm1, xmm4
andps xmm3, xmmword [esp + 0x20]
andps xmm1, xmm7
movaps xmmword [esp + 0x40], xmm2
subps xmm7, xmm6
movaps xmm0, xmm4
movaps xmm2, xmm5
andnps xmm0, xmm6
orps xmm1, xmm0
movaps xmm0, xmm5
andps xmm0, xmmword [0x719320]
andnps xmm2, xmm1
mulps xmm7, xmmword [esi + eax]
orps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm4
andnps xmm0, xmm2
movaps xmm2, xmm5
orps xmm0, xmm3
movaps xmm3, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
andps xmm3, xmm4
addps xmm7, xmm0
movaps xmm0, xmmword [esi + eax]
mov esi, dword [ebp + 0xc]
andps xmm0, xmm5
andnps xmm1, xmm7
orps xmm1, xmm3
andnps xmm2, xmm1
orps xmm2, xmm0
movaps xmmword [esi + eax], xmm2
movaps xmm0, xmmword [edx - 0x20]
mov esi, dword [esp + 0x1c]
movaps xmmword [esp + 0x300], xmm0
movaps xmm3, xmmword [edx - 0x10]
movaps xmmword [esp + 0x310], xmm3
movaps xmm6, xmmword [edx]
movaps xmmword [esp + 0x320], xmm6
movaps xmm4, xmmword [edx + 0x10]
movaps xmmword [esp + 0x330], xmm4
movaps xmm2, xmmword [edx + esi]
movaps xmm7, xmmword [ecx]
mov esi, dword [esp + 0x14]
movaps xmm5, xmm7
shufps xmm5, xmmword [ecx + 0x10], 0x44
shufps xmm7, xmmword [ecx + 0x10], 0xee
movaps xmm1, xmm5
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmm2
shufps xmm0, xmmword [edi + esi], 0x44
shufps xmm2, xmmword [edi + esi], 0xee
shufps xmm1, xmm0, 0x88
movaps xmmword [esp + 0xa0], xmm1
shufps xmm5, xmm0, 0xdd
movaps xmm1, xmmword [esp + 0x30]
movaps xmm0, xmm7
shufps xmm0, xmm2, 0x88
add ecx, 0x40
movaps xmmword [esp + 0x80], xmm0
add eax, 0x10
shufps xmm7, xmm2, 0xdd
movaps xmm0, xmm6
shufps xmm0, xmm4, 0x44
shufps xmm6, xmm4, 0xee
movaps xmmword [esp + 0x50], xmm7
movaps xmm7, xmm1
shufps xmm1, xmm3, 0xee
shufps xmm7, xmm3, 0x44
movaps xmmword [esp + 0x70], xmm5
movaps xmm2, xmm7
shufps xmm2, xmm0, 0x88
movaps xmm5, xmm1
shufps xmm1, xmm6, 0xdd
shufps xmm7, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmmword [esp + 0xa0]
mov esi, dword [esp + 0x10]
movaps xmmword [esp + 0x30], xmm1
movaps xmm1, xmm7
mulps xmm1, xmmword [esp + 0x70]
shufps xmm5, xmm6, 0x88
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x80]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x30]
mulps xmm0, xmmword [esp + 0x50]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm4, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm4, xmm0
orps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x40]
subps xmm0, xmm1
mulps xmm2, xmm1
mulps xmm5, xmm1
mulps xmm7, xmm1
movaps xmm1, xmmword [esp + 0x30]
mulps xmm1, xmmword [esp + 0x40]
mulps xmm4, xmm0
movaps xmm6, xmm4
movaps xmm0, xmm4
mulps xmm6, xmmword [esp + 0xa0]
movaps xmm3, xmm4
mulps xmm0, xmmword [esp + 0x70]
mulps xmm3, xmmword [esp + 0x80]
mulps xmm4, xmmword [esp + 0x50]
addps xmm6, xmm2
addps xmm0, xmm7
addps xmm3, xmm5
movaps xmm5, xmmword [esp + 0x20]
addps xmm4, xmm1
movaps xmm2, xmm6
shufps xmm2, xmm0, 0x44
shufps xmm6, xmm0, 0xee
movaps xmm1, xmm3
movaps xmm0, xmm2
shufps xmm1, xmm4, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [edi - 0x30], xmm0
movaps xmm0, xmm6
shufps xmm3, xmm4, 0xee
shufps xmm2, xmm1, 0xdd
movaps xmmword [edi - 0x20], xmm2
shufps xmm0, xmm3, 0x88
movaps xmmword [edx + esi], xmm0
add edx, 0x40
shufps xmm6, xmm3, 0xdd
movaps xmmword [edi], xmm6
add edi, 0x40
sub dword [esp + 0x18], 1
jne 0x57a441
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm1, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm1, xmm1, 0
cdq
and edx, 3
movaps xmmword [esp + 0xb0], xmm1
add eax, edx
sar eax, 2
mov dword [esp + 0x14], eax
test eax, eax
jle 0x57b997
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x18]
sub esi, eax
mov dword [esp + 0xc], esi
mov esi, ecx
sub esi, eax
lea edx, [ecx + 0x30]
mov dword [esp + 0x10], esi
mov esi, dword [ebp + 0xc]
lea edi, [eax + 0x20]
mov eax, dword [ebp + 8]
sub eax, ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
sub ecx, eax
sub esi, eax
mov dword [esp + 0x6c], ecx
mov dword [ebp + 0xc], esi
jmp 0x57a744
mov ecx, dword [esp + 0x6c]
movaps xmm0, xmmword [ecx + eax]
mulps xmm0, xmm1
mov ecx, dword [esp + 0x10]
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [eax]
movaps xmmword [esi + eax], xmm0
movaps xmm4, xmmword [edx - 0x30]
movaps xmm2, xmmword [ecx + edi]
movaps xmm3, xmm4
shufps xmm3, xmmword [edx - 0x20], 0x44
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm6, xmm3
shufps xmm2, xmmword [edx], 0xee
shufps xmm4, xmmword [edx - 0x20], 0xee
movaps xmm5, xmmword [edi - 0x20]
movaps xmm7, xmm4
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm4, xmm2, 0xdd
shufps xmm7, xmm2, 0x88
movaps xmm2, xmmword [edi]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edi + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm2, xmmword [edi + 0x10], 0xee
shufps xmm3, xmmword [edi - 0x10], 0x44
shufps xmm5, xmmword [edi - 0x10], 0xee
movaps xmmword [esp + 0x70], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
xorps xmm5, xmmword [0x719130]
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x70]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
movaps xmm2, xmmword [esp + 0x70]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
mulps xmm3, xmm2
mulps xmm5, xmm7
addps xmm6, xmm3
movaps xmm3, xmmword [esp + 0x40]
addps xmm6, xmm5
movaps xmm5, xmm3
shufps xmm3, xmm1, 0xee
shufps xmm5, xmm1, 0x44
movaps xmm4, xmm3
movaps xmm1, xmm5
movaps xmm0, xmm6
shufps xmm6, xmmword [esp + 0xa0], 0xee
shufps xmm0, xmmword [esp + 0xa0], 0x44
shufps xmm1, xmm0, 0x88
shufps xmm5, xmm0, 0xdd
shufps xmm3, xmm6, 0xdd
movaps xmmword [esp + 0x340], xmm1
shufps xmm4, xmm6, 0x88
movaps xmmword [esp + 0x360], xmm4
movaps xmmword [esp + 0x370], xmm3
movaps xmmword [esp + 0x350], xmm5
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [ecx + edi]
movaps xmmword [esp + 0x40], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
movaps xmm3, xmm6
shufps xmm3, xmmword [edx - 0x20], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
movaps xmm7, xmm3
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm7, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm1
movaps xmmword [esp + 0x30], xmm6
movaps xmm0, xmmword [esp + 0x30]
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x70], xmm3
movaps xmm3, xmm0
shufps xmm0, xmm5, 0xee
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm4
shufps xmm0, xmmword [esp + 0x40], 0x44
shufps xmm4, xmmword [esp + 0x40], 0xee
shufps xmm6, xmm2, 0x88
shufps xmm3, xmm5, 0x44
movaps xmm2, xmm3
movaps xmmword [esp + 0xa0], xmm6
shufps xmm3, xmm0, 0xdd
shufps xmm2, xmm0, 0x88
movaps xmm1, xmm3
movaps xmm0, xmmword [esp + 0x20]
mulps xmm1, xmmword [esp + 0x70]
movaps xmm5, xmm0
shufps xmm0, xmm4, 0xdd
movaps xmmword [esp + 0x20], xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm5, xmm4, 0x88
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
xorps xmm0, xmm0
cmpltps xmm1, xmm0
movaps xmm0, xmmword [0x719330]
movaps xmm4, xmm1
andps xmm1, xmmword [0x78d020]
andnps xmm4, xmm0
orps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x80]
subps xmm0, xmm1
mulps xmm4, xmm0
movaps xmm6, xmm4
mulps xmm6, xmm7
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x70]
add eax, 0x10
mov ecx, dword [esp + 0x18]
mulps xmm3, xmm1
mulps xmm2, xmm1
mulps xmm5, xmm1
movaps xmm1, xmmword [esp + 0x20]
addps xmm0, xmm3
mulps xmm1, xmmword [esp + 0x80]
addps xmm6, xmm2
movaps xmm3, xmm4
mulps xmm4, xmmword [esp + 0x30]
mulps xmm3, xmmword [esp + 0xa0]
movaps xmm2, xmm6
shufps xmm6, xmm0, 0xee
addps xmm4, xmm1
shufps xmm2, xmm0, 0x44
movaps xmm0, xmm2
addps xmm3, xmm5
movaps xmm1, xmm3
shufps xmm3, xmm4, 0xee
shufps xmm1, xmm4, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [esi], xmm0
movaps xmm0, xmm6
shufps xmm2, xmm1, 0xdd
add esi, 0x40
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + edx - 0x20], xmm2
mov ecx, dword [esp + 0xc]
shufps xmm0, xmm3, 0x88
shufps xmm6, xmm3, 0xdd
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0xc]
movaps xmmword [ecx + edi], xmm0
add edi, 0x40
mov ecx, dword [esp + 0x18]
movaps xmmword [ecx + edx], xmm6
add edx, 0x40
sub dword [esp + 0x14], 1
jne 0x57a740
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x28]
cmp eax, 0xffffffff
je 0x57b458
test eax, eax
je 0x57aff0
cmp eax, 1
jne 0x57b997
mov eax, dword [ebp + 0x20]
movaps xmm1, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm1, xmm1, 0
cdq
and edx, 3
movaps xmmword [esp + 0x110], xmm1
add edx, eax
sar edx, 2
test edx, edx
jle 0x57b997
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], edi
lea eax, [ecx + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
sub dword [esp + 0x14], eax
sub dword [esp + 0xc], eax
lea esi, [eax + 0x20]
mov eax, edi
sub eax, ecx
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x1c]
sub eax, esi
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x14]
sub eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
movaps xmm0, xmmword [eax + esi]
mulps xmm0, xmm1
mov eax, dword [esp + 0x18]
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + esi]
mov eax, dword [esp + 0x10]
movaps xmmword [esi], xmm0
mov esi, dword [esp + 0x1c]
movaps xmm4, xmmword [eax - 0x30]
movaps xmm3, xmm4
shufps xmm4, xmmword [eax - 0x20], 0xee
shufps xmm3, xmmword [eax - 0x20], 0x44
movaps xmm7, xmm4
movaps xmm2, xmmword [ecx + esi]
movaps xmm6, xmm3
movaps xmm5, xmmword [esi - 0x20]
movaps xmm0, xmm2
shufps xmm0, xmmword [eax], 0x44
shufps xmm2, xmmword [eax], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm4, xmm2, 0xdd
shufps xmm7, xmm2, 0x88
movaps xmm2, xmmword [esi]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [esi + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm3, xmmword [esi - 0x10], 0x44
shufps xmm2, xmmword [esi + 0x10], 0xee
shufps xmm5, xmmword [esi - 0x10], 0xee
movaps xmmword [esp + 0x30], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x30]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x40], xmm2
movaps xmm1, xmmword [esp + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
movaps xmmword [esp + 0x40], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
mulps xmm3, xmmword [esp + 0x30]
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
mulps xmm5, xmm7
addps xmm6, xmm3
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x40]
movaps xmm4, xmm5
shufps xmm5, xmm1, 0xee
shufps xmm4, xmm1, 0x44
movaps xmm3, xmm5
movaps xmm1, xmm4
movaps xmm0, xmm6
shufps xmm6, xmmword [esp + 0xa0], 0xee
shufps xmm0, xmmword [esp + 0xa0], 0x44
shufps xmm1, xmm0, 0x88
shufps xmm4, xmm0, 0xdd
movaps xmmword [esp + 0x380], xmm1
shufps xmm5, xmm6, 0xdd
movaps xmmword [esp + 0x390], xmm4
shufps xmm3, xmm6, 0x88
movaps xmmword [esp + 0x3b0], xmm5
movaps xmmword [esp + 0x3a0], xmm3
movaps xmm6, xmmword [eax - 0x30]
movaps xmm2, xmmword [ecx + esi]
movaps xmm7, xmm6
shufps xmm7, xmmword [eax - 0x20], 0x44
movaps xmm0, xmm2
shufps xmm0, xmmword [eax], 0x44
shufps xmm6, xmmword [eax - 0x20], 0xee
shufps xmm2, xmmword [eax], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm7, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm4, 0xee
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm5, 0x44
shufps xmm1, xmm4, 0x44
movaps xmm2, xmm1
shufps xmm3, xmm5, 0xee
movaps xmm5, xmmword [esp + 0x40]
shufps xmm2, xmm0, 0x88
movaps xmm4, xmm5
shufps xmm1, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmmword [esp + 0xc0], xmm1
mulps xmm1, xmmword [esp + 0x80]
shufps xmm4, xmm3, 0x88
shufps xmm5, xmm3, 0xdd
movaps xmmword [esp + 0xe0], xmm2
xorps xmm2, xmm2
addps xmm1, xmm0
movaps xmmword [esp + 0x100], xmm4
movaps xmm0, xmm4
movaps xmmword [esp + 0xd0], xmm6
mulps xmm0, xmm7
movaps xmm4, xmmword [0x719330]
movaps xmmword [esp + 0x20], xmm7
movaps xmmword [esp + 0x40], xmm5
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmm4
orps xmm2, xmm0
movaps xmm3, xmmword [0x78d080]
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmm4
movaps xmmword [esp + 0xf0], xmm2
movaps xmm7, xmmword [0x78d040]
movaps xmm6, xmm7
mulps xmm3, xmm0
subps xmm1, xmm0
movaps xmmword [esp + 0xa0], xmm0
addps xmm3, xmmword [0x78d070]
rsqrtps xmm2, xmm1
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d060]
mulps xmm3, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmmword [0x719710]
addps xmm3, xmmword [0x78d050]
mulps xmm0, xmm2
mulps xmm2, xmmword [0x719700]
subps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm2, xmm4
subps xmm2, xmmword [esp + 0xb0]
movaps xmm4, xmmword [0x78d030]
divps xmm3, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm3
mulps xmm5, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x70], xmm2
mulps xmm2, xmmword [esp + 0x70]
mulps xmm6, xmm0
movaps xmm1, xmm5
mulps xmm1, xmm5
addps xmm6, xmm4
mulps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
mulps xmm7, xmm2
addps xmm6, xmmword [0x719330]
addps xmm0, xmm4
addps xmm7, xmm4
mulps xmm6, xmm3
mulps xmm0, xmm1
mulps xmm7, xmm2
movaps xmm3, xmmword [0x78d010]
addps xmm0, xmmword [0x719330]
cmpltps xmm3, xmmword [esp + 0xa0]
addps xmm7, xmmword [0x719330]
mulps xmm0, xmm5
movaps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm3
movaps xmm1, xmmword [esp + 0x50]
mulps xmm7, xmmword [esp + 0x70]
divps xmm0, xmm6
divps xmm7, xmm6
movaps xmm6, xmmword [esp + 0xf0]
andnps xmm1, xmm0
movaps xmm0, xmm3
movaps xmm4, xmm6
andps xmm0, xmmword [0x719330]
andnps xmm5, xmm7
mulps xmm4, xmmword [esp + 0xe0]
orps xmm1, xmm0
andps xmm3, xmmword [0x719320]
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm2, xmmword [esp + 0x50]
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xd0]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0xc0]
addps xmm4, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x80]
mulps xmm1, xmm2
addps xmm1, xmm0
mov ecx, dword [esp + 0x9c]
movaps xmm3, xmm6
mulps xmm3, xmmword [esp + 0x100]
movaps xmm0, xmm5
add dword [esp + 0x1c], 0x40
mulps xmm6, xmmword [esp + 0x40]
mulps xmm0, xmmword [esp + 0x20]
mulps xmm5, xmmword [esp + 0x30]
mulps xmm3, xmm2
mulps xmm6, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm1, 0x44
addps xmm3, xmm0
shufps xmm4, xmm1, 0xee
movaps xmm0, xmm2
addps xmm6, xmm5
movaps xmm1, xmm3
shufps xmm1, xmm6, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [edi], xmm0
movaps xmm0, xmm4
shufps xmm2, xmm1, 0xdd
add edi, 0x40
movaps xmm1, xmmword [esp + 0x110]
movaps xmmword [ecx + eax - 0x20], xmm2
mov eax, dword [esp + 0xc]
shufps xmm3, xmm6, 0xee
shufps xmm0, xmm3, 0x88
shufps xmm4, xmm3, 0xdd
movaps xmmword [eax + esi], xmm0
mov eax, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
add dword [esp + 0x10], 0x40
add esi, 0x10
mov dword [ebp + 0xc], esi
movaps xmmword [ecx + eax], xmm4
mov ecx, dword [esp + 0x14]
sub edx, 1
jne 0x57ab31
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm5, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm5, xmm5, 0
cdq
and edx, 3
movaps xmmword [esp + 0x20], xmm5
add eax, edx
sar eax, 2
mov dword [esp + 0x18], eax
test eax, eax
jle 0x57b997
mov ecx, dword [ebp + 8]
mov esi, ecx
mov edi, dword [ebp + 0x14]
sub dword [ebp + 0xc], edi
lea eax, [ecx + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x18]
sub esi, eax
mov dword [esp + 0x10], esi
mov esi, dword [ebp + 0x10]
sub esi, eax
lea edx, [eax + 0x20]
mov dword [esp + 0x1c], esi
mov eax, dword [ebp + 0x10]
sub eax, ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
sub eax, edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x9c]
movaps xmm7, xmmword [0x719330]
movaps xmm4, xmmword [edi]
movaps xmm1, xmm7
mov esi, dword [esp + 0x6c]
subps xmm1, xmm5
movaps xmm0, xmm7
movaps xmm3, xmmword [edi + esi]
mulps xmm1, xmm4
movaps xmm2, xmm3
cmpltps xmm2, xmm4
divps xmm1, xmm3
movaps xmm6, xmm2
subps xmm0, xmm1
andnps xmm6, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm5
movaps xmm5, xmm3
cmpleps xmm5, xmmword [0x719550]
divps xmm0, xmm4
cmpleps xmm4, xmmword [0x719550]
andps xmm0, xmm2
movaps xmm3, xmm5
orps xmm6, xmm0
andps xmm3, xmm4
movaps xmm0, xmm3
movaps xmm1, xmm4
andps xmm3, xmmword [esp + 0x20]
andps xmm1, xmm7
movaps xmmword [esp + 0x50], xmm0
subps xmm7, xmm6
movaps xmm0, xmm4
movaps xmm2, xmm5
andnps xmm0, xmm6
orps xmm1, xmm0
movaps xmm0, xmm5
andps xmm0, xmmword [0x719320]
andnps xmm2, xmm1
mulps xmm7, xmmword [edi]
orps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmm1, xmm4
andnps xmm0, xmm2
movaps xmm2, xmm5
orps xmm0, xmm3
movaps xmm3, xmmword [edi + esi]
mov esi, dword [ebp + 0xc]
movaps xmmword [esp + 0x50], xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
andps xmm3, xmm4
addps xmm7, xmm0
movaps xmm0, xmmword [edi]
andps xmm0, xmm5
andnps xmm1, xmm7
orps xmm1, xmm3
andnps xmm2, xmm1
orps xmm2, xmm0
movaps xmmword [edi + esi], xmm2
movaps xmm0, xmmword [edx - 0x20]
mov esi, dword [esp + 0x1c]
movaps xmmword [esp + 0x3c0], xmm0
movaps xmm3, xmmword [edx - 0x10]
movaps xmmword [esp + 0x3d0], xmm3
movaps xmm5, xmmword [edx]
movaps xmmword [esp + 0x3e0], xmm5
movaps xmm4, xmmword [edx + 0x10]
movaps xmmword [esp + 0x3f0], xmm4
movaps xmm2, xmmword [edx + esi]
movaps xmm6, xmmword [ecx]
mov esi, dword [esp + 0x14]
movaps xmm7, xmm6
shufps xmm6, xmmword [ecx + 0x10], 0xee
shufps xmm7, xmmword [ecx + 0x10], 0x44
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm2
shufps xmm0, xmmword [esi + eax], 0x44
shufps xmm2, xmmword [esi + eax], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm6, xmm0, 0x88
movaps xmmword [esp + 0xf0], xmm6
shufps xmm7, xmm0, 0xdd
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm3, 0xee
shufps xmm1, xmm3, 0x44
movaps xmmword [esp + 0x40], xmm0
movaps xmm2, xmm1
movaps xmm0, xmm5
movaps xmmword [esp + 0xc0], xmm7
shufps xmm0, xmm4, 0x44
shufps xmm2, xmm0, 0x88
shufps xmm1, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmmword [esp + 0xe0], xmm1
mulps xmm1, xmmword [esp + 0x80]
shufps xmm5, xmm4, 0xee
movaps xmm4, xmmword [esp + 0x40]
movaps xmm3, xmm4
movaps xmmword [esp + 0xb0], xmm2
addps xmm1, xmm0
shufps xmm3, xmm5, 0x88
movaps xmm0, xmm3
shufps xmm4, xmm5, 0xdd
mulps xmm0, xmm7
xorps xmm2, xmm2
movaps xmmword [esp + 0x40], xmm4
movaps xmmword [esp + 0xd0], xmm3
movaps xmm3, xmmword [0x78d080]
addps xmm1, xmm0
movaps xmm7, xmmword [0x78d040]
movaps xmm0, xmm4
movaps xmm6, xmm7
mulps xmm0, xmmword [esp + 0x30]
movaps xmm4, xmmword [0x719330]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmm4
orps xmm2, xmm0
movaps xmm0, xmm2
movaps xmmword [esp + 0xa0], xmm2
mulps xmm0, xmm1
movaps xmm1, xmm4
mulps xmm3, xmm0
subps xmm1, xmm0
movaps xmmword [esp + 0x110], xmm0
addps xmm3, xmmword [0x78d070]
rsqrtps xmm2, xmm1
mulps xmm3, xmm0
addps xmm3, xmmword [0x78d060]
mulps xmm3, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmmword [0x719710]
addps xmm3, xmmword [0x78d050]
mulps xmm0, xmm2
mulps xmm2, xmmword [0x719700]
subps xmm1, xmm0
mulps xmm1, xmm2
movaps xmm2, xmm4
subps xmm2, xmmword [esp + 0x50]
movaps xmm4, xmmword [0x78d030]
divps xmm3, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm3
mulps xmm5, xmmword [esp + 0x50]
movaps xmmword [esp + 0x70], xmm2
mulps xmm6, xmm0
addps xmm6, xmm4
mulps xmm6, xmm0
mulps xmm2, xmmword [esp + 0x70]
movaps xmm1, xmm5
mov esi, dword [esp + 0x10]
add ecx, 0x40
addps xmm6, xmmword [0x719330]
mulps xmm1, xmm5
movaps xmm0, xmm7
add edi, 0x10
mulps xmm7, xmm2
mulps xmm6, xmm3
mulps xmm0, xmm1
addps xmm7, xmm4
movaps xmm3, xmmword [0x78d010]
cmpltps xmm3, xmmword [esp + 0x110]
addps xmm0, xmm4
mulps xmm7, xmm2
movaps xmmword [esp + 0x50], xmm3
addps xmm7, xmmword [0x719330]
mulps xmm0, xmm1
movaps xmm1, xmmword [esp + 0x50]
mulps xmm7, xmmword [esp + 0x70]
addps xmm0, xmmword [0x719330]
divps xmm7, xmm6
mulps xmm0, xmm5
movaps xmm5, xmm3
andnps xmm5, xmm7
divps xmm0, xmm6
movaps xmm6, xmmword [esp + 0xa0]
andnps xmm1, xmm0
movaps xmm4, xmm6
mulps xmm4, xmmword [esp + 0xb0]
movaps xmm0, xmm3
andps xmm0, xmmword [0x719330]
andps xmm3, xmmword [0x719320]
orps xmm1, xmm0
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm2, xmmword [esp + 0x50]
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xf0]
movaps xmm3, xmm6
mulps xmm3, xmmword [esp + 0xd0]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0xe0]
mulps xmm6, xmmword [esp + 0x40]
addps xmm4, xmm0
mulps xmm3, xmm2
mulps xmm1, xmm2
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x80]
mulps xmm6, xmm2
movaps xmm2, xmm4
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xc0]
mulps xmm5, xmmword [esp + 0x30]
shufps xmm2, xmm1, 0x44
addps xmm3, xmm0
shufps xmm4, xmm1, 0xee
movaps xmm0, xmm2
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x20]
movaps xmm1, xmm3
shufps xmm1, xmm6, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [eax - 0x30], xmm0
movaps xmm0, xmm4
shufps xmm3, xmm6, 0xee
shufps xmm2, xmm1, 0xdd
movaps xmmword [eax - 0x20], xmm2
shufps xmm0, xmm3, 0x88
movaps xmmword [edx + esi], xmm0
add edx, 0x40
shufps xmm4, xmm3, 0xdd
movaps xmmword [eax], xmm4
add eax, 0x40
sub dword [esp + 0x18], 1
jne 0x57b060
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
movaps xmm1, xmmword [eax]
mov eax, dword [ebp + 0x24]
add eax, 3
shufps xmm1, xmm1, 0
cdq
and edx, 3
movaps xmmword [esp + 0x130], xmm1
lea edi, [edx + eax]
sar edi, 2
test edi, edi
jle 0x57b997
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 0x30]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
sub edx, ecx
mov eax, dword [ebp + 0x18]
sub dword [esp + 0x10], eax
sub dword [esp + 0x1c], eax
mov ecx, dword [ebp + 0x14]
lea esi, [eax + 0x20]
mov dword [esp + 0x9c], edx
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 0xc]
sub eax, esi
sub ecx, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x12c], ecx
movaps xmm0, xmmword [esi + eax]
mulps xmm0, xmm1
mov eax, dword [esp + 0x1c]
movaps xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [esi + ecx]
mov ecx, dword [esp + 0x14]
movaps xmmword [esi], xmm0
movaps xmm4, xmmword [edx - 0x30]
movaps xmm3, xmm4
shufps xmm4, xmmword [edx - 0x20], 0xee
shufps xmm3, xmmword [edx - 0x20], 0x44
movaps xmm7, xmm4
movaps xmm2, xmmword [ecx + eax]
movaps xmm6, xmm3
movaps xmm5, xmmword [ecx - 0x20]
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
shufps xmm2, xmmword [edx], 0xee
shufps xmm3, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
shufps xmm4, xmm2, 0xdd
shufps xmm7, xmm2, 0x88
movaps xmm2, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm3
movaps xmm0, xmm2
shufps xmm0, xmmword [ecx + 0x10], 0x44
movaps xmm3, xmm5
shufps xmm2, xmmword [ecx + 0x10], 0xee
shufps xmm3, xmmword [ecx - 0x10], 0x44
shufps xmm5, xmmword [ecx - 0x10], 0xee
movaps xmmword [esp + 0x70], xmm4
movaps xmm4, xmm3
shufps xmm3, xmm0, 0xdd
shufps xmm4, xmm0, 0x88
movaps xmmword [esp + 0x20], xmm3
movaps xmm0, xmm4
mulps xmm0, xmm6
movaps xmm3, xmm5
shufps xmm5, xmm2, 0xdd
xorps xmm5, xmmword [0x719130]
shufps xmm3, xmm2, 0x88
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x70]
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmmword [esp + 0x50]
subps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
subps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm7
movaps xmmword [esp + 0x110], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x30], xmm2
movaps xmm1, xmmword [esp + 0x30]
movaps xmm2, xmmword [esp + 0x70]
subps xmm1, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm6
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
movaps xmmword [esp + 0x30], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm7
mulps xmm4, xmmword [esp + 0x50]
subps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x50]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm0
movaps xmm6, xmmword [esp + 0x20]
subps xmm6, xmm4
mulps xmm3, xmm2
mulps xmm5, xmm7
addps xmm6, xmm3
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x30]
movaps xmm4, xmm5
shufps xmm5, xmm1, 0xee
shufps xmm4, xmm1, 0x44
movaps xmm3, xmm5
movaps xmm1, xmm4
movaps xmm0, xmm6
shufps xmm6, xmmword [esp + 0x110], 0xee
shufps xmm0, xmmword [esp + 0x110], 0x44
shufps xmm1, xmm0, 0x88
shufps xmm4, xmm0, 0xdd
movaps xmmword [esp + 0x400], xmm1
shufps xmm5, xmm6, 0xdd
shufps xmm3, xmm6, 0x88
movaps xmmword [esp + 0x410], xmm4
movaps xmmword [esp + 0x430], xmm5
movaps xmmword [esp + 0x420], xmm3
movaps xmm6, xmmword [edx - 0x30]
movaps xmm2, xmmword [ecx + eax]
movaps xmm7, xmm6
shufps xmm7, xmmword [edx - 0x20], 0x44
movaps xmm0, xmm2
shufps xmm0, xmmword [edx], 0x44
shufps xmm6, xmmword [edx - 0x20], 0xee
shufps xmm2, xmmword [edx], 0xee
movaps xmmword [esp + 0x30], xmm6
movaps xmm6, xmm7
shufps xmm7, xmm0, 0xdd
shufps xmm6, xmm0, 0x88
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x70], xmm7
movaps xmm7, xmm0
shufps xmm0, xmm2, 0xdd
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm1, xmm0
shufps xmm7, xmm2, 0x88
shufps xmm0, xmm4, 0xee
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm5, 0x44
shufps xmm1, xmm4, 0x44
movaps xmm2, xmm1
shufps xmm3, xmm5, 0xee
movaps xmm5, xmmword [esp + 0x40]
shufps xmm2, xmm0, 0x88
movaps xmm4, xmm5
shufps xmm1, xmm0, 0xdd
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmmword [esp + 0xc0], xmm1
mulps xmm1, xmmword [esp + 0x70]
shufps xmm4, xmm3, 0x88
shufps xmm5, xmm3, 0xdd
movaps xmmword [esp + 0xe0], xmm2
xorps xmm2, xmm2
addps xmm1, xmm0
movaps xmmword [esp + 0xd0], xmm6
movaps xmm0, xmm4
movaps xmmword [esp + 0x80], xmm7
mulps xmm0, xmm7
movaps xmmword [esp + 0x100], xmm4
movaps xmmword [esp + 0x40], xmm5
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x30]
addps xmm1, xmm0
movaps xmm0, xmm1
cmpltps xmm0, xmm2
movaps xmm2, xmm0
andps xmm0, xmmword [0x78d000]
andnps xmm2, xmmword [0x719330]
orps xmm2, xmm0
movaps xmmword [esp + 0xf0], xmm2
movaps xmm0, xmmword [0x78d080]
mulps xmm2, xmm1
mulps xmm0, xmm2
movaps xmmword [esp + 0xb0], xmm2
addps xmm0, xmmword [0x78d070]
mulps xmm0, xmm2
addps xmm0, xmmword [0x78d060]
mulps xmm0, xmm2
addps xmm0, xmmword [0x78d050]
movaps xmmword [esp + 0x110], xmm0
movaps xmm0, xmmword [0x719330]
subps xmm0, xmm2
call fcn.0057d0e0
movaps xmm1, xmmword [esp + 0x110]
divps xmm1, xmm0
movaps xmm7, xmmword [0x78d040]
movaps xmm4, xmmword [0x78d030]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm6, xmm7
movaps xmm3, xmmword [0x719330]
movaps xmm5, xmm1
subps xmm3, xmmword [esp + 0xa0]
mulps xmm5, xmmword [esp + 0xa0]
mulps xmm6, xmm0
mulps xmm3, xmm1
addps xmm6, xmm4
movaps xmm2, xmm3
movaps xmmword [esp + 0x110], xmm3
mulps xmm2, xmm3
mulps xmm6, xmm0
movaps xmm0, xmm7
movaps xmm3, xmmword [0x78d010]
mulps xmm7, xmm2
addps xmm6, xmmword [0x719330]
cmpltps xmm3, xmmword [esp + 0xb0]
mulps xmm6, xmm1
addps xmm7, xmm4
movaps xmm1, xmm5
movaps xmmword [esp + 0x50], xmm3
mulps xmm1, xmm5
mulps xmm7, xmm2
mulps xmm0, xmm1
addps xmm7, xmmword [0x719330]
addps xmm0, xmm4
mulps xmm7, xmmword [esp + 0x110]
mulps xmm0, xmm1
divps xmm7, xmm6
addps xmm0, xmmword [0x719330]
movaps xmm1, xmmword [esp + 0x50]
mulps xmm0, xmm5
movaps xmm5, xmm3
andnps xmm5, xmm7
divps xmm0, xmm6
movaps xmm6, xmmword [esp + 0xf0]
andnps xmm1, xmm0
movaps xmm4, xmm6
mulps xmm4, xmmword [esp + 0xe0]
movaps xmm0, xmm3
andps xmm0, xmmword [0x719330]
andps xmm3, xmmword [0x719320]
orps xmm1, xmm0
orps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm1
movaps xmm2, xmmword [esp + 0x50]
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0xd0]
movaps xmm3, xmm6
mulps xmm3, xmmword [esp + 0x100]
mulps xmm4, xmm1
movaps xmm1, xmm6
mulps xmm1, xmmword [esp + 0xc0]
mulps xmm3, xmm2
addps xmm4, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x70]
mulps xmm1, xmm2
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [esp + 0x80]
addps xmm3, xmm0
mulps xmm6, xmmword [esp + 0x40]
add esi, 0x10
mov eax, dword [esp + 0x18]
mulps xmm5, xmmword [esp + 0x30]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xc]
mulps xmm6, xmm2
movaps xmm2, xmm4
add dword [esp + 0x18], 0x40
shufps xmm2, xmm1, 0x44
shufps xmm4, xmm1, 0xee
movaps xmm0, xmm2
movaps xmm1, xmm3
addps xmm6, xmm5
shufps xmm1, xmm6, 0x44
shufps xmm0, xmm1, 0x88
movaps xmmword [eax], xmm0
movaps xmm0, xmm4
mov eax, dword [esp + 0x14]
add dword [esp + 0x14], 0x40
shufps xmm2, xmm1, 0xdd
movaps xmm1, xmmword [esp + 0x130]
movaps xmmword [ecx + edx - 0x20], xmm2
mov ecx, dword [esp + 0x10]
shufps xmm3, xmm6, 0xee
shufps xmm0, xmm3, 0x88
shufps xmm4, xmm3, 0xdd
movaps xmmword [eax + ecx], xmm0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x6c]
movaps xmmword [ecx + edx], xmm4
mov edx, ecx
mov ecx, dword [esp + 0x12c]
add edx, 0x40
mov dword [esp + 0xc], edx
sub edi, 1
jne 0x57b4d2
pop edi
pop esi
mov esp, ebp
pop ebp
ret