Function at 0x10153f00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x198
mov eax, dword [ecx + 0x10]
push esi
mov esi, dword [ecx + 4]
push edi
mov eax, dword [eax]
mov edi, dword [ebx + 8]
mov edx, dword [eax + 0x10]
imul edx, edi
add edx, dword [eax + 0x14]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x60], edx
mov edx, dword [ecx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x48], eax
mov eax, dword [edx]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [edx + 4]
add ecx, edi
imul ecx, dword [esi + 0x10]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp - 0x5c]
add edi, dword [esi + 0x14]
mov dword [ebp - 0x38], edi
lea eax, [ecx*4]
sub eax, ecx
neg eax
shl eax, 2
mov dword [ebp - 0xc4], eax
lea edx, [eax + edi]
mov eax, ecx
neg eax
mov dword [ebp - 0x2c], edx
shl eax, 3
mov dword [ebp - 0x104], eax
add eax, edi
mov dword [ebp - 0x28], eax
mov eax, ecx
neg eax
shl eax, 2
add edi, eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x38]
lea esi, [eax + ecx*4]
mov dword [ebp - 0x34], edi
movups xmm2, xmmword [esi]
mov dword [ebp - 0x44], esi
lea ecx, [eax + ecx*8]
mov eax, dword [ebp - 0x5c]
movups xmm3, xmmword [edi]
mov dword [ebp - 0x30], ecx
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0xdc], eax
add eax, dword [ebp - 0x38]
add edi, 8
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x74]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0xb0], xmm0
movups xmm0, xmmword [eax + 0x10]
movaps xmmword [ebp - 0xa0], xmm0
movups xmm0, xmmword [eax + 0x20]
movaps xmmword [ebp - 0x90], xmm0
movups xmm0, xmmword [eax + 0x30]
movaps xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [eax + 0x40]
movaps xmmword [ebp - 0x130], xmm0
movups xmm0, xmmword [eax + 0x50]
movaps xmmword [ebp - 0x120], xmm0
movups xmm0, xmmword [eax + 0x60]
movaps xmmword [ebp - 0x140], xmm0
movups xmm0, xmmword [eax + 0x70]
mov eax, dword [ebp - 0x38]
movaps xmmword [ebp - 0x150], xmm0
movups xmm4, xmmword [eax]
mov eax, dword [ebp - 0x28]
movups xmm0, xmmword [esi + 4]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
mulps xmm0, xmm2
movups xmm5, xmmword [ecx]
mov ecx, dword [ebp - 0x54]
mulps xmm1, xmmword [ebp - 0xa0]
movups xmm6, xmmword [eax]
add eax, 4
add ecx, 0xc
movups xmm7, xmmword [edx]
mov dword [ebp - 0x4c], eax
addps xmm1, xmm0
mov dword [ebp - 0x3c], ecx
movups xmm0, xmmword [esi + 8]
movups xmmword [ebp - 0x10], xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x41
addps xmm1, xmm0
shufps xmm2, xmm2, 6
movups xmm0, xmmword [ebp - 0x10]
mulps xmm1, xmmword [ebp - 0x90]
addps xmm0, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x41
movups xmmword [ebp - 0x10], xmm0
movups xmm0, xmmword [esi + 0xc]
mov esi, dword [ebp - 0x34]
addps xmm2, xmm0
movups xmm0, xmmword [ebp - 0x10]
mulps xmm2, xmmword [ebp - 0x70]
addps xmm0, xmm2
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x90
movups xmmword [ebp - 0x10], xmm0
movups xmm0, xmmword [esi + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
mulps xmm0, xmm3
shufps xmm3, xmm3, 6
mulps xmm2, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movups xmm0, xmmword [edi]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
mov esi, dword [ebp - 0x38]
addps xmm3, xmm0
mulps xmm1, xmmword [ebp - 0x90]
movups xmm0, xmmword [ebp - 0x10]
mulps xmm3, xmmword [ebp - 0x70]
addps xmm2, xmm1
movaps xmm1, xmm4
shufps xmm1, xmm4, 0x41
addps xmm2, xmm3
movaps xmm3, xmm5
shufps xmm3, xmm5, 0x90
addps xmm0, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
mulps xmm0, xmmword [ebp - 0x120]
movups xmmword [ebp - 0x10], xmm0
movups xmm0, xmmword [esi + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 6
mulps xmm2, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
addps xmm4, xmm0
mulps xmm1, xmmword [ebp - 0x90]
mulps xmm4, xmmword [ebp - 0x70]
addps xmm2, xmm1
addps xmm2, xmm4
movups xmm4, xmmword [ebp - 0x10]
mulps xmm2, xmmword [ebp - 0x130]
addps xmm4, xmm2
mov esi, dword [ebp - 0x30]
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x41
movaps xmm2, xmm6
shufps xmm2, xmm6, 0x90
movups xmm0, xmmword [esi + 4]
addps xmm3, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
mulps xmm0, xmm5
shufps xmm5, xmm5, 6
mulps xmm3, xmmword [ebp - 0xa0]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
addps xmm5, xmm0
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x28]
mulps xmm1, xmmword [ebp - 0x90]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
mulps xmm5, xmmword [ebp - 0x70]
mulps xmm0, xmm6
addps xmm3, xmm1
mulps xmm2, xmmword [ebp - 0xa0]
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x41
shufps xmm6, xmm6, 6
addps xmm3, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
addps xmm1, xmm0
movups xmm0, xmmword [eax + 0xc]
mov eax, dword [ebp - 0x54]
addps xmm6, xmm0
mulps xmm1, xmmword [ebp - 0x90]
movups xmm0, xmmword [edx + 4]
mulps xmm6, xmmword [ebp - 0x70]
addps xmm2, xmm1
movaps xmm1, xmm7
movups xmm5, xmmword [eax]
shufps xmm1, xmm7, 0x41
addps xmm2, xmm6
movaps xmm6, xmmword [ebp - 0xb0]
addps xmm3, xmm2
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x90
mulps xmm3, xmmword [ebp - 0x140]
addps xmm4, xmm3
movaps xmm3, xmm7
shufps xmm3, xmm7, 0x90
addps xmm3, xmm0
movaps xmm0, xmm6
mulps xmm0, xmm7
shufps xmm7, xmm7, 6
mulps xmm3, xmmword [ebp - 0xa0]
addps xmm3, xmm0
movups xmm0, xmmword [edx + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 0xc]
addps xmm7, xmm0
mulps xmm1, xmmword [ebp - 0x90]
movups xmm0, xmmword [eax + 4]
mulps xmm7, xmmword [ebp - 0x70]
addps xmm3, xmm1
movaps xmm1, xmm5
addps xmm2, xmm0
shufps xmm1, xmm5, 0x41
movaps xmm0, xmm6
mulps xmm0, xmm5
addps xmm3, xmm7
shufps xmm5, xmm5, 6
movaps xmm7, xmmword [ebp - 0xa0]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
addps xmm5, xmm0
mulps xmm1, xmmword [ebp - 0x90]
addps xmm2, xmm1
cmp dword [ebp - 0x48], 0xb
mulps xmm5, xmmword [ebp - 0x70]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], 4
addps xmm2, xmm5
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x150]
addps xmm4, xmm3
movups xmmword [eax], xmm4
jb 0x1015467e
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
add edx, 0x14
mov eax, esi
movaps xmm5, xmmword [ebp - 0x90]
mov esi, dword [ebp - 0x44]
add eax, 0x1c
sub esi, dword [ebp - 0x34]
mov dword [ebp - 0xf0], esi
mov esi, dword [ebp - 0x28]
sub esi, dword [ebp - 0x34]
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x30]
sub esi, dword [ebp - 0x34]
mov dword [ebp - 0xf8], esi
mov esi, dword [ebp - 0x2c]
sub esi, dword [ebp - 0x34]
mov dword [ebp - 0xcc], esi
mov esi, dword [ebp - 0x54]
mov ecx, esi
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0xd0], ecx
mov ecx, esi
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0xd4], ecx
mov ecx, esi
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0xd8], ecx
mov ecx, esi
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, esi
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc0], ecx
add eax, 0x18
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x60]
mov dword [ebp - 0xb4], 8
mov dword [ebp - 0xc8], ecx
nop
mov esi, dword [ebp - 0x5c]
movups xmm0, xmmword [eax - 0xc]
mov ecx, dword [ebp - 0xf0]
movaps xmm3, xmmword [ebp - 0x70]
movups xmm4, xmmword [edx + esi*4]
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0xf4]
addps xmm4, xmm0
movups xmm0, xmmword [eax - 8]
movups xmm2, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x50]
mulps xmm0, xmm6
mulps xmm4, xmm7
addps xmm4, xmm0
movups xmm0, xmmword [eax]
addps xmm1, xmm0
movups xmm0, xmmword [eax + 4]
mulps xmm1, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [eax - 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
mulps xmm1, xmm3
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm4, xmm1
movups xmm1, xmmword [edi + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edi]
addps xmm1, xmm0
movups xmm0, xmmword [edi - 4]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edi + 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
mulps xmm1, xmm3
addps xmm2, xmm1
movups xmm1, xmmword [edx - 0xc]
addps xmm4, xmm2
movups xmm2, xmmword [edx - 8]
addps xmm2, xmm0
movups xmm0, xmmword [edx - 4]
mulps xmm4, xmmword [ebp - 0x120]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edx - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [ecx - 0x10]
mulps xmm1, xmm3
movups xmm3, xmmword [edx + esi*8]
mov esi, dword [ebp - 0x100]
addps xmm3, xmm0
movups xmm0, xmmword [ecx - 0xc]
mov ecx, dword [ebp - 0xf8]
addps xmm2, xmm1
mulps xmm0, xmm6
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0xfc]
mulps xmm3, xmm7
mulps xmm2, xmmword [ebp - 0x130]
addps xmm3, xmm0
movups xmm0, xmmword [ecx + eax]
mov ecx, dword [ebp - 0x4c]
addps xmm4, xmm2
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [esi + ecx]
mov esi, dword [ebp - 0x50]
movups xmm0, xmmword [esi]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x70]
movups xmm0, xmmword [ecx + 8]
mov esi, dword [ebp - 0x104]
addps xmm3, xmm1
movups xmm2, xmmword [esi + edx]
mov esi, dword [ebp - 0xb8]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 0xc]
movups xmm1, xmmword [esi + edi]
mov esi, dword [ebp - 0xbc]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [esi + eax]
mov esi, dword [ebp - 0x3c]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [ecx + 0x18]
mov ecx, dword [ebp - 0xc0]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x70]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x140]
addps xmm4, xmm3
movups xmm3, xmmword [ecx + esi]
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0x40]
movups xmm0, xmmword [ecx + edx]
mov ecx, dword [ebp - 0xc8]
addps xmm3, xmm0
movups xmm0, xmmword [esi + ecx]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x4c]
mulps xmm0, xmm6
movups xmm1, xmmword [esi + edi]
mov esi, dword [ebp - 0xd0]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [esi + eax]
mov esi, dword [ebp - 0xd4]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [esi + ecx]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xd8]
movups xmm0, xmmword [ecx + esi]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xdc]
addps xmm1, xmm0
movups xmm0, xmmword [esi]
movups xmm2, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x4c]
mulps xmm1, xmmword [ebp - 0x70]
addps xmm2, xmm0
movups xmm0, xmmword [esi + 4]
mov esi, dword [ebp - 0xe0]
addps xmm3, xmm1
mulps xmm0, xmm6
movups xmm1, xmmword [esi + edi]
mov esi, dword [ebp - 0xe4]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [esi + eax]
mov esi, dword [ebp - 0xe8]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [esi + ecx]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x50]
movups xmm0, xmmword [esi + ecx]
mov esi, dword [ebp - 0x40]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x70]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x150]
addps xmm4, xmm3
add dword [ebp - 0x24], 4
add eax, 0x10
add dword [ebp - 0x4c], 0x10
add ecx, 0x10
add dword [ebp - 0x3c], 0x10
add edx, 0x10
add dword [ebp - 0x40], 0x10
add edi, 0x10
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xb4]
add eax, 4
mov dword [ebp - 0x50], ecx
mov ecx, eax
mov dword [ebp - 0xb4], eax
xor eax, eax
movups xmmword [esi], xmm4
add ecx, 3
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x48]
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x58]
jb 0x101543c0
ja 0x1015467b
cmp dword [ebp - 0x14], ecx
jbe 0x101543c0
mov edx, dword [ebp - 0x2c]
movaps xmm4, xmmword [0x10207890]
mov edi, dword [ebp - 0x48]
movaps xmm1, xmm4
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x4040404
mov dword [ebp - 0x18], 0x8080808
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], 0xc0c0c0c
pshufb xmm1, xmmword [ebp - 0x20]
mov dword [ebp - 0x10], 0x3020100
mov dword [ebp - 0xc], 0x3020100
mov dword [ebp - 8], 0x3020100
mov dword [ebp - 4], 0x3020100
psllw xmm1, 2
mov ecx, dword [ebp - 0x28]
paddb xmm1, xmmword [ebp - 0x10]
pshufb xmm2, xmm1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
movaps xmm1, xmm4
mov dword [ebp - 4], 0xc0c0c0c
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movups xmm3, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
movaps xmmword [ebp - 0x170], xmm2
paddb xmm1, xmmword [ebp - 0x20]
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], 0
pshufb xmm2, xmm1
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
movaps xmm1, xmm4
pshufb xmm1, xmmword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
psllw xmm1, 2
movups xmm0, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
paddb xmm1, xmmword [ebp - 0x20]
movaps xmmword [ebp - 0x160], xmm2
movaps xmm7, xmm0
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
pshufb xmm2, xmm1
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
movaps xmm1, xmm4
mov dword [ebp - 0x20], 0x3020100
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x10], 0
psllw xmm1, 2
mov dword [ebp - 0xc], 0x4040404
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm3, xmm1
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
movaps xmm1, xmm4
mov dword [ebp - 0x20], 0x3020100
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
movaps xmmword [ebp - 0x180], xmm3
psllw xmm1, 2
movaps xmmword [ebp - 0x190], xmm0
paddb xmm1, xmmword [ebp - 0x20]
mov esi, dword [ebp - 0x54]
pshufb xmm7, xmm1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
movaps xmm1, xmm4
mov dword [ebp - 8], 0x8080808
movups xmm5, xmmword [esi + edi*4 - 0x10]
mov esi, dword [ebp - 0x24]
movups xmm6, xmmword [edx + edi*4 - 0x10]
mov dword [ebp - 4], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
movaps xmm3, xmm5
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
movups xmm0, xmmword [eax + esi*4 + 4]
mov dword [ebp - 4], 0xc0c0c0c
pshufb xmm4, xmmword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
psllw xmm4, 2
paddb xmm1, xmmword [ebp - 0x20]
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
paddb xmm4, xmmword [ebp - 0x20]
pshufb xmm3, xmm4
movups xmm4, xmmword [eax + esi*4 - 4]
pshufb xmm6, xmm1
addps xmm4, xmm0
movups xmm0, xmmword [eax + esi*4]
movups xmm1, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm4, xmmword [ebp - 0xa0]
addps xmm4, xmm0
movups xmm0, xmmword [eax + esi*4 - 8]
addps xmm0, xmm1
mulps xmm0, xmmword [ebp - 0x90]
addps xmm4, xmm0
movups xmm0, xmmword [eax + esi*4 - 0xc]
mov eax, dword [ebp - 0x34]
addps xmm0, xmm2
movups xmm1, xmmword [eax + esi*4 - 4]
movups xmm2, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x70]
addps xmm4, xmm0
movups xmm0, xmmword [eax + esi*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm1, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 - 8]
addps xmm0, xmm2
mulps xmm0, xmmword [ebp - 0x90]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 - 0xc]
mov eax, dword [ebp - 0x38]
addps xmm0, xmmword [ebp - 0x160]
movups xmm2, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x70]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 + 4]
addps xmm4, xmm1
movups xmm1, xmmword [eax + esi*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4]
mulps xmm4, xmmword [ebp - 0x120]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm1, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 - 8]
addps xmm0, xmm2
mulps xmm0, xmmword [ebp - 0x90]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 - 0xc]
addps xmm0, xmmword [ebp - 0x170]
mulps xmm0, xmmword [ebp - 0x70]
mov eax, dword [ebp - 0x28]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 + 4]
movups xmm2, xmmword [eax + esi*4 - 4]
mulps xmm1, xmmword [ebp - 0x130]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4]
addps xmm4, xmm1
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm2, xmmword [ebp - 0xa0]
movups xmm1, xmmword [eax + edi*4 - 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4 - 8]
addps xmm0, xmm1
movups xmm1, xmmword [ecx + esi*4 - 4]
mulps xmm0, xmmword [ebp - 0x90]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4 - 0xc]
mov eax, dword [ebp - 0x54]
addps xmm0, xmmword [ebp - 0x180]
mulps xmm0, xmmword [ebp - 0x70]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + esi*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + esi*4]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm1, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + esi*4 - 8]
addps xmm0, xmmword [ebp - 0x190]
mulps xmm0, xmmword [ebp - 0x90]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + esi*4 - 0xc]
addps xmm0, xmm7
mulps xmm0, xmmword [ebp - 0x70]
addps xmm1, xmm0
movups xmm0, xmmword [eax + esi*4 + 4]
addps xmm2, xmm1
movups xmm1, xmmword [edx + esi*4 - 4]
mulps xmm2, xmmword [ebp - 0x140]
addps xmm4, xmm2
movups xmm2, xmmword [eax + esi*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm2, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4 - 8]
addps xmm0, xmm5
mulps xmm0, xmmword [ebp - 0x90]
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi*4 - 0xc]
mov eax, dword [ebp - 0x60]
addps xmm0, xmm3
movups xmm3, xmmword [edx + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x70]
addps xmm2, xmm0
movups xmm0, xmmword [edx + esi*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edx + esi*4]
mulps xmm0, xmmword [ebp - 0xb0]
mulps xmm1, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [edx + esi*4 - 8]
addps xmm0, xmm3
mulps xmm0, xmmword [ebp - 0x90]
addps xmm1, xmm0
movups xmm0, xmmword [edx + esi*4 - 0xc]
addps xmm0, xmm6
mulps xmm0, xmmword [ebp - 0x70]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x150]
addps xmm4, xmm2
movups xmmword [eax + esi*4], xmm4
add esi, 4
mov dword [ebp - 0x24], esi
cmp esi, edi
jae 0x10154c75
nop dword [eax]
mov eax, 0xfffffffd
or edx, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x58], edx
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x74]
xor ecx, edx
sub ecx, edx
add ecx, 4
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x5c]
or edx, 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x14], eax
mov eax, 0xfffffffd
mov dword [ebp - 0x48], eax
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x74]
xor ecx, edx
sub ecx, edx
add ecx, ecx
mov edx, esi
add edx, dword [ebp - 0x48]
mov esi, 0
adc esi, dword [ebp - 0x40]
movss xmm0, dword [eax + ecx*8]
nop dword [eax]
test esi, esi
jl 0x10154bfe
jg 0x10154bda
test edx, edx
jb 0x10154bfe
xor ecx, ecx
cmp esi, ecx
jl 0x10154c04
jg 0x10154be6
cmp edx, edi
jb 0x10154c04
mov eax, edi
shld ecx, eax, 1
add eax, eax
sub eax, edx
sbb ecx, esi
sub eax, 1
mov edx, eax
sbb ecx, 0
mov esi, ecx
jmp 0x10154bd0
not edx
not esi
jmp 0x10154bd0
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x48], eax
mulss xmm0, xmm2
adc edx, ecx
mov dword [ebp - 0x40], edx
addss xmm1, xmm0
js 0x10154ba7
jg 0x10154c39
cmp eax, 3
jbe 0x10154ba7
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x58]
add eax, 1
mov esi, dword [ebp - 0x24]
adc edx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x58], edx
js 0x10154b71
jg 0x10154c5e
cmp eax, 3
jbe 0x10154b71
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
movss dword [eax + esi*4], xmm1
inc esi
mov dword [ebp - 0x24], esi
cmp esi, edi
jb 0x10154b60
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8