Function at 0x10148510
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, 0x208
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 - 0x88], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x64], 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 - 0x3c], eax
mov eax, dword [edx]
mov dword [ebp - 0x50], ecx
mov ecx, dword [edx + 4]
add ecx, edi
imul ecx, dword [esi + 0x10]
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x50]
add edx, dword [esi + 0x14]
mov dword [ebp - 0x34], edx
movups xmm2, xmmword [edx + ecx*4]
lea eax, [ecx*4]
sub eax, ecx
neg eax
shl eax, 2
mov dword [ebp - 0xc8], eax
lea esi, [eax + edx]
mov eax, ecx
neg eax
mov dword [ebp - 0x28], esi
shl eax, 3
mov dword [ebp - 0x108], eax
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, ecx
neg eax
shl eax, 2
lea edi, [eax + edx]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x34]
lea edx, [edx + ecx*4]
movups xmm3, xmmword [edi]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x30], edx
lea ecx, [eax + ecx*8]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], ecx
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0xe4], eax
add eax, dword [ebp - 0x34]
add edi, 8
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x88]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0xc0], xmm0
movups xmm0, xmmword [eax + 0x10]
movaps xmmword [ebp - 0xb0], xmm0
movups xmm0, xmmword [eax + 0x20]
movaps xmmword [ebp - 0xa0], xmm0
movups xmm0, xmmword [eax + 0x30]
movaps xmmword [ebp - 0x80], 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 - 0x34]
movaps xmmword [ebp - 0x150], xmm0
movups xmm4, xmmword [eax]
mov eax, dword [ebp - 0x24]
movups xmm0, xmmword [edx + 4]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0xc0]
mulps xmm0, xmm2
movups xmm5, xmmword [ecx]
mov ecx, dword [ebp - 0x44]
mulps xmm1, xmmword [ebp - 0xb0]
movups xmm6, xmmword [eax]
add eax, 4
add ecx, 0xc
movups xmm7, xmmword [esi]
mov dword [ebp - 0x4c], eax
addps xmm1, xmm0
mov dword [ebp - 0x5c], ecx
movups xmm0, xmmword [edx + 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 - 0xa0]
addps xmm0, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x41
movups xmmword [ebp - 0x10], xmm0
movups xmm0, xmmword [edx + 0xc]
mov edx, dword [ebp - 0x60]
addps xmm2, xmm0
movups xmm0, xmmword [ebp - 0x10]
mulps xmm2, xmmword [ebp - 0x80]
addps xmm0, xmm2
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x90
movups xmmword [ebp - 0x10], xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xc0]
mulps xmm0, xmm3
shufps xmm3, xmm3, 6
mulps xmm2, xmmword [ebp - 0xb0]
addps xmm2, xmm0
movups xmm0, xmmword [edi]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 0xc]
mov edx, dword [ebp - 0x34]
addps xmm3, xmm0
mulps xmm1, xmmword [ebp - 0xa0]
movups xmm0, xmmword [ebp - 0x10]
mulps xmm3, xmmword [ebp - 0x80]
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 [edx + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xc0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 6
mulps xmm2, xmmword [ebp - 0xb0]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 0xc]
addps xmm4, xmm0
mulps xmm1, xmmword [ebp - 0xa0]
mulps xmm4, xmmword [ebp - 0x80]
addps xmm2, xmm1
addps xmm2, xmm4
movups xmm4, xmmword [ebp - 0x10]
mulps xmm2, xmmword [ebp - 0x130]
addps xmm4, xmm2
mov edx, dword [ebp - 0x2c]
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x41
movaps xmm2, xmm6
shufps xmm2, xmm6, 0x90
movups xmm0, xmmword [edx + 4]
addps xmm3, xmm0
movaps xmm0, xmmword [ebp - 0xc0]
mulps xmm0, xmm5
shufps xmm5, xmm5, 6
mulps xmm3, xmmword [ebp - 0xb0]
addps xmm3, xmm0
movups xmm0, xmmword [edx + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 0xc]
addps xmm5, xmm0
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x24]
mulps xmm1, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xc0]
mulps xmm5, xmmword [ebp - 0x80]
mulps xmm0, xmm6
addps xmm3, xmm1
mulps xmm2, xmmword [ebp - 0xb0]
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 - 0x44]
addps xmm6, xmm0
mulps xmm1, xmmword [ebp - 0xa0]
movups xmm0, xmmword [esi + 4]
mulps xmm6, xmmword [ebp - 0x80]
addps xmm2, xmm1
movaps xmm1, xmm7
movups xmm5, xmmword [eax]
shufps xmm1, xmm7, 0x41
addps xmm2, xmm6
movaps xmm6, xmmword [ebp - 0xc0]
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 - 0xb0]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
addps xmm7, xmm0
mulps xmm1, xmmword [ebp - 0xa0]
movups xmm0, xmmword [eax + 4]
mulps xmm7, xmmword [ebp - 0x80]
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 - 0xb0]
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 - 0xa0]
addps xmm2, xmm1
cmp dword [ebp - 0x3c], 0xb
mov edx, 4
mulps xmm5, xmmword [ebp - 0x80]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x48], edx
addps xmm2, xmm5
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x150]
addps xmm4, xmm3
movups xmmword [eax], xmm4
jb 0x10148c94
mov ecx, dword [ebp - 0x60]
add eax, 0x10
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0xf8], edx
add esi, 0x14
mov edx, dword [ebp - 0x24]
sub edx, ecx
movaps xmm5, xmmword [ebp - 0xa0]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x100], edx
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd8], edx
add eax, 0x1c
mov edx, dword [ebp - 0x44]
sub edx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xec], edx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0xd4], edx
mov edx, ecx
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0xe8], edx
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xe0], edx
add eax, 0x18
mov edx, ecx
mov dword [ebp - 0x54], 8
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0xdc], edx
mov edx, ecx
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x64]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebp - 0x50]
movups xmm0, xmmword [eax - 0xc]
mov edx, dword [ebp - 0x84]
movaps xmm3, xmmword [ebp - 0x80]
movups xmm4, xmmword [esi + ecx*4]
mov ecx, dword [ebp - 0xf8]
addps xmm4, xmm0
movups xmm0, xmmword [eax - 8]
movups xmm1, xmmword [edi + ecx]
mov ecx, dword [ebp - 0xfc]
mulps xmm0, xmm6
mulps xmm4, xmm7
movups xmm2, xmmword [esi + ecx]
mov ecx, dword [ebp - 0x50]
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 [esi]
mulps xmm1, xmm3
addps xmm2, xmm1
movups xmm1, xmmword [esi - 0xc]
addps xmm4, xmm2
movups xmm2, xmmword [esi - 8]
addps xmm2, xmm0
movups xmm0, xmmword [esi - 4]
mulps xmm4, xmmword [ebp - 0x120]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [esi - 0x10]
addps xmm1, xmm0
mulps xmm1, xmm3
movups xmm3, xmmword [esi + ecx*8]
mov ecx, dword [ebp - 0x40]
addps xmm2, xmm1
movups xmm0, xmmword [ecx - 0x10]
addps xmm3, xmm0
mulps xmm2, xmmword [ebp - 0x130]
movups xmm0, xmmword [ecx - 0xc]
mov ecx, dword [ebp - 0x100]
mulps xmm0, xmm6
addps xmm4, xmm2
movups xmm1, xmmword [edi + ecx]
mov ecx, dword [ebp - 0x104]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [eax + ecx]
mov ecx, dword [ebp - 0x4c]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [ecx + edx]
mov edx, dword [ebp - 0x40]
movups xmm0, xmmword [edx]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x80]
mov edx, dword [ebp - 0x108]
movups xmm0, xmmword [ecx + 8]
movups xmm2, xmmword [esi + edx]
mov edx, dword [ebp - 0x10c]
addps xmm3, xmm1
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 0xc]
movups xmm1, xmmword [edi + edx]
mov edx, dword [ebp - 0xc4]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx]
mov edx, dword [ebp - 0x5c]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [ecx + 0x18]
mov ecx, dword [ebp - 0xc8]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x80]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x140]
addps xmm4, xmm3
movups xmm3, xmmword [esi + ecx]
mov ecx, dword [ebp - 0xcc]
movups xmm0, xmmword [edx + ecx]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xd0]
addps xmm3, xmm0
movups xmm0, xmmword [edx + ecx]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xdc]
mulps xmm0, xmm6
movups xmm1, xmmword [eax + edx]
mov edx, dword [ebp - 0xd8]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [edi + edx]
mov edx, dword [ebp - 0x40]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [edx + ecx]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xe0]
movups xmm0, xmmword [ecx + edx]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xe4]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
movups xmm2, xmmword [esi + ecx]
mov ecx, dword [ebp - 0xf0]
mulps xmm1, xmmword [ebp - 0x80]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 4]
mov edx, dword [ebp - 0xe8]
addps xmm3, xmm1
mulps xmm0, xmm6
movups xmm1, xmmword [eax + edx]
mov edx, dword [ebp - 0xec]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + edx]
mov edx, dword [ebp - 0x40]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edx + ecx]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xf4]
movups xmm0, xmmword [ecx + edx]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x80]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x150]
addps xmm4, xmm3
mov ecx, dword [ebp - 0x38]
add eax, 0x10
mov edx, dword [ebp - 0x48]
add esi, 0x10
add dword [ebp - 0x4c], 0x10
add edx, 4
add dword [ebp - 0x40], 0x10
add edi, 0x10
add dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
add eax, 4
movups xmmword [ecx], xmm4
add ecx, 0x10
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x48], edx
add ecx, 3
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x3c]
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x58]
jb 0x101489d4
ja 0x10148c91
cmp dword [ebp - 0x14], ecx
jbe 0x101489d4
mov esi, dword [ebp - 0x28]
movups xmm5, xmmword [0x10207894]
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
movaps xmm4, xmmword [0x10207890]
movaps xmm1, xmm5
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x4040404
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0x18], 0x8080808
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 dword [ebp - 0x20], 0x3020100
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 - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
movaps xmmword [ebp - 0x1b0], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x60]
psllw xmm1, 2
mov dword [ebp - 0x10], 0
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
movaps xmm1, xmm5
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x1a0], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
mov dword [ebp - 0x10], 0
paddb xmm1, xmmword [ebp - 0x20]
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 dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x170], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x30]
psllw xmm1, 2
mov dword [ebp - 0x14], 0x3020100
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
movaps xmm1, xmm5
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
movaps xmmword [ebp - 0x160], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
movaps xmmword [ebp - 0x190], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0
movaps xmm1, xmm4
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
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
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
mov dword [ebp - 0x10], 0
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
movaps xmm1, xmm5
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x180], xmm2
movups xmm2, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
mov dword [ebp - 0x10], 0
paddb xmm1, xmmword [ebp - 0x20]
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 dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x1d0], xmm2
movups xmm2, xmmword [ecx + edi*4 - 0x10]
mov ecx, dword [ebp - 0x2c]
psllw xmm1, 2
mov dword [ebp - 0x14], 0x3020100
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
movaps xmm1, xmm5
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
movaps xmmword [ebp - 0x1c0], xmm2
movups xmm2, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
mov dword [ebp - 0x10], 0
paddb xmm1, xmmword [ebp - 0x20]
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 dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x1f0], xmm2
movups xmm2, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x14], 0x3020100
psllw xmm1, 2
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
movaps xmmword [ebp - 0x1e0], xmm2
mov dword [ebp - 0x14], 0x3020100
movups xmm2, xmmword [esi + edi*4 - 0x10]
mov dword [ebp - 0x10], 0
movups xmm7, xmmword [esi + edi*4 - 0x10]
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
movaps xmm1, xmm5
mov dword [ebp - 4], 0xc0c0c0c
pshufb xmm1, xmmword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
psllw xmm1, 2
movups xmm6, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x60]
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm2, xmm1
mov dword [ebp - 4], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
movaps xmm1, xmm4
mov dword [ebp - 0x1c], 0x3020100
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x10], 0
movups xmm0, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0xc], 0x4040404
psllw xmm1, 2
movaps xmm3, xmm6
mov dword [ebp - 8], 0x8080808
movaps xmm5, xmm6
paddb xmm1, xmmword [ebp - 0x20]
pshufb xmm7, xmm1
mov dword [ebp - 4], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
movups xmm1, xmmword [0x10207894]
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
pshufb xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x4040404
mov dword [ebp - 8], 0x8080808
mov dword [ebp - 4], 0xc0c0c0c
pshufb xmm4, xmmword [ebp - 0x10]
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 + edx*4 - 4]
movaps xmmword [ebp - 0x200], xmm2
movaps xmm2, xmmword [ebp - 0xc0]
addps xmm4, xmm0
movups xmm0, xmmword [eax + edx*4]
pshufb xmm5, xmm1
mulps xmm4, xmmword [ebp - 0xb0]
mulps xmm0, xmm2
addps xmm4, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x160]
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm4, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x30]
addps xmm0, xmmword [ebp - 0x170]
movups xmm1, xmmword [eax + edx*4 - 4]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm4, xmm0
movups xmm0, xmmword [eax + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm0, xmm2
mulps xmm1, xmmword [ebp - 0xb0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x180]
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x34]
addps xmm0, xmmword [ebp - 0x190]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi*4 - 0x10]
addps xmm4, xmm1
movups xmm1, xmmword [eax + edx*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm4, xmmword [ebp - 0x120]
mulps xmm0, xmm2
mulps xmm1, xmmword [ebp - 0xb0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x1a0]
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x24]
addps xmm0, xmmword [ebp - 0x1b0]
movups xmm2, xmmword [eax + edx*4 - 4]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi*4 - 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm1, xmmword [ebp - 0x130]
mulps xmm0, xmmword [ebp - 0xc0]
mulps xmm2, xmmword [ebp - 0xb0]
addps xmm4, xmm1
movups xmm1, xmmword [ecx + edx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x1c0]
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x44]
addps xmm0, xmmword [ebp - 0x1d0]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4]
mulps xmm0, xmmword [ebp - 0xc0]
mulps xmm1, xmmword [ebp - 0xb0]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x1e0]
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x1f0]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm0, xmmword [ebp - 0xc0]
addps xmm2, xmm1
movups xmm1, xmmword [esi + edx*4 - 4]
mulps xmm2, xmmword [ebp - 0x140]
addps xmm4, xmm2
movups xmm2, xmmword [eax + edx*4 - 4]
addps xmm2, xmm6
mulps xmm2, xmmword [ebp - 0xb0]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmm3
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
addps xmm0, xmm5
mulps xmm0, xmmword [ebp - 0x80]
addps xmm2, xmm0
movups xmm0, xmmword [esi + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [esi + edx*4]
mulps xmm0, xmmword [ebp - 0xc0]
mulps xmm1, xmmword [ebp - 0xb0]
addps xmm1, xmm0
mov eax, dword [ebp - 0x64]
movups xmm0, xmmword [esi + edx*4 - 8]
addps xmm0, xmm7
mulps xmm0, xmmword [ebp - 0xa0]
addps xmm1, xmm0
movups xmm0, xmmword [esi + edx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x200]
mulps xmm0, xmmword [ebp - 0x80]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x150]
addps xmm4, xmm2
movups xmmword [eax + edx*4], xmm4
add edx, 4
mov dword [ebp - 0x48], edx
cmp edx, edi
jae 0x10149502
mov esi, 0xfffffffd
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], eax
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x88]
xor ecx, edx
sub ecx, edx
add ecx, 4
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, esi
imul eax, dword [ebp - 0x50]
or edx, 0xffffffff
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x14], eax
mov eax, 0xfffffffd
mov dword [ebp - 0x3c], eax
nop dword [eax]
mov ecx, eax
mov esi, 0
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x88]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x48]
add ecx, ecx
add edx, dword [ebp - 0x3c]
adc esi, dword [ebp - 0x38]
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x10149494
jg 0x10149470
test edx, edx
jb 0x10149494
xor ecx, ecx
cmp esi, ecx
jl 0x1014949a
jg 0x1014947c
cmp edx, edi
jb 0x1014949a
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 0x10149466
not edx
not esi
jmp 0x10149466
mov eax, dword [ebp - 0x14]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x3c], eax
mulss xmm0, xmm2
adc edx, ecx
mov dword [ebp - 0x38], edx
addss xmm1, xmm0
js 0x10149440
jg 0x101494c8
cmp eax, 3
jbe 0x10149440
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add esi, 1
mov dword [ebp - 0x58], esi
adc eax, 0
mov dword [ebp - 0x54], eax
js 0x10149406
jg 0x101494eb
cmp esi, 3
jbe 0x10149406
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x64]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x48], eax
cmp eax, edi
jb 0x101493f5
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8