Function at 0x10152f00
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, 0x268
push esi
mov esi, dword [ebx + 8]
xor edx, edx
push edi
mov edi, ecx
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x1e8], edi
mov dword [ebp - 0xb0], 0x3020100
mov dword [ebp - 0xac], 0x3020100
mov dword [ebp - 0xa8], 0x3020100
mov dword [ebp - 0xa4], 0x3020100
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0x4040404
mov dword [ebp - 0x98], 0x8080808
mov dword [ebp - 0x94], 0xc0c0c0c
mov dword [ebp - 0xd0], 0x3020100
mov dword [ebp - 0xcc], 0x3020100
mov dword [ebp - 0xc8], 0x3020100
mov dword [ebp - 0xc4], 0x3020100
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0x4040404
mov dword [ebp - 0xb8], 0x8080808
mov dword [ebp - 0xb4], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0x4040404
mov dword [ebp - 0xd8], 0x8080808
mov dword [ebp - 0xd4], 0xc0c0c0c
mov dword [ebp - 0x40], 0x3020100
mov dword [ebp - 0x3c], 0x3020100
mov dword [ebp - 0x38], 0x3020100
mov dword [ebp - 0x34], 0x3020100
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x4040404
mov dword [ebp - 0x28], 0x8080808
mov dword [ebp - 0x24], 0xc0c0c0c
mov dword [ebp - 0x90], 0x3020100
mov dword [ebp - 0x8c], 0x3020100
mov dword [ebp - 0x88], 0x3020100
mov dword [ebp - 0x84], 0x3020100
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0x4040404
mov dword [ebp - 0x48], 0x8080808
mov dword [ebp - 0x44], 0xc0c0c0c
mov dword [ebp - 0x70], 0x3020100
mov dword [ebp - 0x6c], 0x3020100
mov dword [ebp - 0x68], 0x3020100
mov dword [ebp - 0x64], 0x3020100
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0x4040404
mov dword [ebp - 0x78], 0x8080808
mov dword [ebp - 0x74], 0xc0c0c0c
mov dword [ebp - 0x10], 0x3020100
mov dword [ebp - 0xc], 0x3020100
mov dword [ebp - 8], 0x3020100
mov dword [ebp - 4], 0x3020100
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0x4040404
mov dword [ebp - 0x58], 0x8080808
mov dword [ebp - 0x54], 0xc0c0c0c
mov dword [ebp - 0x148], edx
mov eax, dword [edi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
imul ecx, esi
mov esi, dword [edi]
add ecx, dword [edx + eax + 0x14]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x124], ecx
mov edi, dword [esi + 8]
mov dword [ebp - 0x120], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x114], ecx
mov ecx, dword [esi + 4]
add ecx, dword [ebp - 0x174]
imul ecx, dword [edx + 0x10]
add ecx, dword [eax + edx + 0x14]
mov eax, dword [esi]
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xe4], edx
lea eax, [ecx*4]
sub eax, ecx
neg eax
shl eax, 2
mov dword [ebp - 0x1b0], eax
lea esi, [eax + edx]
mov eax, ecx
neg eax
mov dword [ebp - 0xe8], esi
mov esi, dword [ebp - 0xe4]
shl eax, 3
lea edi, [eax + edx]
mov dword [ebp - 0x1e4], eax
mov eax, ecx
mov dword [ebp - 0xf0], edi
neg eax
shl eax, 2
add edx, eax
mov dword [ebp - 0x118], eax
lea eax, [esi + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xec], eax
mov esi, dword [ebp - 0x114]
movups xmm3, xmmword [edx]
mov dword [ebp - 0xf4], ecx
movups xmm2, xmmword [eax]
lea esi, [esi + esi*2]
shl esi, 2
lea eax, [edi + 4]
mov dword [ebp - 0x1d0], esi
add esi, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x108], esi
mov esi, dword [ebp - 0x14c]
movups xmm6, xmmword [edi]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x100], eax
movups xmm0, xmmword [esi]
movaps xmmword [ebp - 0x1a0], xmm0
movups xmm0, xmmword [esi + 0x10]
movaps xmmword [ebp - 0x190], xmm0
movups xmm0, xmmword [esi + 0x20]
movaps xmmword [ebp - 0x170], xmm0
movups xmm0, xmmword [esi + 0x30]
movaps xmmword [ebp - 0x140], xmm0
movups xmm0, xmmword [esi + 0x40]
movaps xmmword [ebp - 0x200], xmm0
movups xmm0, xmmword [esi + 0x50]
movaps xmmword [ebp - 0x210], xmm0
movups xmm0, xmmword [esi + 0x60]
movaps xmmword [ebp - 0x220], xmm0
movups xmm0, xmmword [esi + 0x70]
mov esi, dword [ebp - 0xe4]
movaps xmmword [ebp - 0x230], xmm0
movups xmm4, xmmword [esi]
mov edi, dword [ebp - 0xec]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
mov esi, dword [ebp - 0xe8]
movups xmm5, xmmword [ecx]
mov ecx, dword [ebp - 0x108]
movups xmm0, xmmword [edi + 4]
add ecx, 0xc
movups xmm7, xmmword [esi]
mov esi, dword [ebp - 0xe4]
addps xmm1, xmm0
mov dword [ebp - 0x11c], ecx
movaps xmm0, xmmword [ebp - 0x1a0]
mov ecx, esi
mulps xmm0, xmm2
mulps xmm1, xmmword [ebp - 0x190]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
movups xmmword [ebp - 0x160], xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x41
addps xmm1, xmm0
shufps xmm2, xmm2, 6
movups xmm0, xmmword [ebp - 0x160]
mulps xmm1, xmmword [ebp - 0x170]
addps xmm0, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x41
movups xmmword [ebp - 0x160], xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x118]
addps xmm2, xmm0
movups xmm0, xmmword [ebp - 0x160]
mulps xmm2, xmmword [ebp - 0x140]
addps xmm0, xmm2
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x90
movups xmmword [ebp - 0x160], xmm0
movups xmm0, xmmword [edi + esi + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x1a0]
mulps xmm0, xmm3
shufps xmm3, xmm3, 6
mulps xmm2, xmmword [ebp - 0x190]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [edi + esi + 0xc]
addps xmm3, xmm0
mulps xmm1, xmmword [ebp - 0x170]
movups xmm0, xmmword [ebp - 0x160]
mulps xmm3, xmmword [ebp - 0x140]
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 - 0x210]
movups xmmword [ebp - 0x160], xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x1a0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 6
mulps xmm2, xmmword [ebp - 0x190]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + 0xc]
addps xmm4, xmm0
mulps xmm1, xmmword [ebp - 0x170]
mulps xmm4, xmmword [ebp - 0x140]
addps xmm2, xmm1
addps xmm2, xmm4
movups xmm4, xmmword [ebp - 0x160]
mulps xmm2, xmmword [ebp - 0x200]
addps xmm4, xmm2
mov edi, dword [ebp - 0xf4]
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x41
movaps xmm2, xmm6
shufps xmm2, xmm6, 0x90
mov esi, dword [ebp - 0xe8]
movups xmm0, xmmword [edi + 4]
mov ecx, dword [ebp - 0x11c]
addps xmm3, xmm0
movaps xmm0, xmmword [ebp - 0x1a0]
mulps xmm0, xmm5
shufps xmm5, xmm5, 6
mulps xmm3, xmmword [ebp - 0x190]
addps xmm3, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0xf0]
addps xmm5, xmm0
mulps xmm1, xmmword [ebp - 0x170]
movups xmm0, xmmword [eax]
mulps xmm5, xmmword [ebp - 0x140]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x1a0]
addps xmm3, xmm1
mulps xmm0, xmm6
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x41
mulps xmm2, xmmword [ebp - 0x190]
shufps xmm6, xmm6, 6
addps xmm3, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x108]
addps xmm6, xmm0
mulps xmm1, xmmword [ebp - 0x170]
movups xmm0, xmmword [esi + 4]
mulps xmm6, xmmword [ebp - 0x140]
addps xmm2, xmm1
movaps xmm1, xmm7
movups xmm5, xmmword [edi]
shufps xmm1, xmm7, 0x41
addps xmm2, xmm6
movaps xmm6, xmmword [ebp - 0x1a0]
addps xmm3, xmm2
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x90
mulps xmm3, xmmword [ebp - 0x220]
addps xmm4, xmm3
movaps xmm3, xmm7
shufps xmm3, xmm7, 0x90
addps xmm3, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm6
shufps xmm7, xmm7, 6
mulps xmm3, xmmword [ebp - 0x190]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
addps xmm7, xmm0
mulps xmm1, xmmword [ebp - 0x170]
movups xmm0, xmmword [edi + 4]
mulps xmm7, xmmword [ebp - 0x140]
addps xmm3, xmm1
movaps xmm1, xmm5
addps xmm2, xmm0
shufps xmm1, xmm5, 0x41
movaps xmm0, xmm5
shufps xmm5, xmm5, 6
mulps xmm0, xmm6
addps xmm3, xmm7
movaps xmm7, xmmword [ebp - 0x190]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x170]
addps xmm2, xmm1
movups xmm0, xmmword [ecx]
mov ecx, dword [ebp - 0x124]
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0xf8], 4
addps xmm5, xmm0
mulps xmm5, xmmword [ebp - 0x140]
addps xmm2, xmm5
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x230]
addps xmm4, xmm3
movups xmmword [ecx], xmm4
cmp edi, 0xb
jb 0x101539cc
mov edi, dword [ebp - 0xec]
add ecx, 0x10
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x104], edi
mov edi, dword [ebp - 0x118]
add edi, dword [ebp - 0xe4]
sub eax, edi
sub dword [ebp - 0x104], edi
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0xf4]
sub eax, edi
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x1c8], eax
add esi, 0x18
mov eax, dword [ebp - 0xe8]
sub eax, edi
movaps xmm5, xmmword [ebp - 0x170]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x108]
sub eax, edi
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0xf0]
sub eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xec]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xec]
mov dword [ebp - 0x1e0], eax
mov eax, edi
sub eax, dword [ebp - 0xec]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x1c0], eax
add ecx, 0x1c
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf0]
mov dword [ebp - 0x1a4], eax
mov eax, edi
sub eax, dword [ebp - 0xf0]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1cc], eax
mov eax, edi
sub eax, dword [ebp - 0xf4]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0xe8]
sub eax, edi
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x1b4], eax
add ecx, 0x14
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x124]
mov dword [ebp - 0x110], 8
mov dword [ebp - 0x1ac], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x114]
movups xmm0, xmmword [esi - 0xc]
mov edi, dword [ebp - 0x104]
movaps xmm3, xmmword [ebp - 0x140]
movups xmm4, xmmword [ecx + eax*4]
mov eax, dword [ebp - 0x118]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x10c]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x114]
mulps xmm0, xmm6
mulps xmm4, xmm7
addps xmm4, xmm0
movups xmm0, xmmword [esi]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 4]
mulps xmm1, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [esi - 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm3
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [edx - 4]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edx + 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm3
addps xmm2, xmm1
movups xmm1, xmmword [ecx - 0xc]
addps xmm4, xmm2
movups xmm2, xmmword [ecx - 8]
addps xmm2, xmm0
movups xmm0, xmmword [ecx - 4]
mulps xmm4, xmmword [ebp - 0x210]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + 8]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [ecx - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [edi - 0x10]
mulps xmm1, xmm3
movups xmm3, xmmword [ecx + eax*8]
mov eax, dword [ebp - 0x1c8]
addps xmm3, xmm0
movups xmm0, xmmword [edi - 0xc]
mov edi, dword [ebp - 0x1c0]
addps xmm2, xmm1
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1c4]
mulps xmm0, xmm6
mulps xmm2, xmmword [ebp - 0x200]
mulps xmm3, xmm7
addps xmm4, xmm2
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x100]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [edi + eax]
mov edi, dword [ebp - 0x10c]
movups xmm0, xmmword [edi]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x140]
mov edi, dword [ebp - 0x1e4]
movups xmm0, xmmword [eax + 8]
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1bc]
addps xmm3, xmm1
addps xmm2, xmm0
movups xmm0, xmmword [eax + 0xc]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1b8]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x11c]
addps xmm1, xmm0
movups xmm0, xmmword [eax]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [eax + 0x18]
mov eax, dword [ebp - 0x1b4]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x140]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x220]
addps xmm4, xmm3
movups xmm3, xmmword [eax + edi]
mov eax, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0xfc]
movups xmm0, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1ac]
addps xmm3, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x100]
mulps xmm0, xmm6
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1e0]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x1a4]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [edi + eax]
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x1cc]
movups xmm0, xmmword [eax + edi]
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edi]
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x100]
mulps xmm1, xmmword [ebp - 0x140]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x1d4]
addps xmm3, xmm1
mulps xmm0, xmm6
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1d8]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x1dc]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edi + eax]
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x154]
movups xmm0, xmmword [eax + edi]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x140]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x230]
addps xmm4, xmm3
mov edi, dword [ebp - 0xfc]
add ecx, 0x10
mov eax, dword [ebp - 0x110]
add edx, 0x10
add dword [ebp - 0xf8], 4
add eax, 4
add dword [ebp - 0x100], 0x10
add esi, 0x10
add dword [ebp - 0x10c], 0x10
add dword [ebp - 0x11c], 0x10
movups xmmword [edi], xmm4
add edi, 0x10
mov dword [ebp - 0xfc], edi
mov edi, eax
mov dword [ebp - 0x110], eax
xor eax, eax
add edi, 3
mov dword [ebp - 0x144], edi
mov edi, dword [ebp - 0x120]
adc eax, eax
test eax, eax
jb 0x101536c0
ja 0x101539c6
cmp dword [ebp - 0x144], edi
jbe 0x101536c0
mov esi, dword [ebp - 0xe8]
movaps xmm2, xmmword [0x10207890]
mov edx, dword [ebp - 0xe4]
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0xa0]
mov eax, dword [ebp - 0x118]
add eax, edx
mov ecx, dword [ebp - 0xf4]
movups xmm1, xmmword [edx + edi*4 - 0x10]
mov edx, dword [ebp - 0xf0]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0xb0]
pshufb xmm1, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0xc0]
movaps xmmword [ebp - 0x160], xmm1
movups xmm1, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0xec]
psllw xmm0, 2
movups xmm6, xmmword [edx + edi*4 - 0x10]
mov edx, dword [ebp - 0xf8]
paddb xmm0, xmmword [ebp - 0xd0]
movaps xmm3, xmm1
pshufb xmm3, xmm0
movups xmm4, xmmword [eax + edi*4 - 0x10]
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0xe0]
movaps xmm5, xmm4
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x20]
pshufb xmm5, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0x30]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x40]
pshufb xmm6, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x240], xmm6
movups xmm6, xmmword [ecx + edi*4 - 0x10]
mov ecx, edx
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x90]
pshufb xmm6, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0x80]
pshufb xmm2, xmmword [ebp - 0x60]
psllw xmm0, 2
movaps xmmword [ebp - 0x250], xmm6
paddb xmm0, xmmword [ebp - 0x70]
movups xmm6, xmmword [esi + edi*4 - 0x10]
mov esi, dword [ebp - 0x108]
psllw xmm2, 2
pshufb xmm6, xmm0
paddb xmm2, xmmword [ebp - 0x10]
movaps xmmword [ebp - 0x260], xmm6
movups xmm6, xmmword [esi + edi*4 - 0x10]
mov esi, dword [ebp - 0x118]
add esi, dword [ebp - 0xe4]
movaps xmm7, xmm6
pshufb xmm7, xmm2
movups xmm0, xmmword [esi + ecx*4 + 4]
movups xmm2, xmmword [esi + edx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4]
mulps xmm0, xmmword [ebp - 0x1a0]
mulps xmm2, xmmword [ebp - 0x190]
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4 - 8]
addps xmm0, xmm1
movups xmm1, xmmword [eax + ecx*4 - 4]
mulps xmm0, xmmword [ebp - 0x170]
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4 - 0xc]
addps xmm0, xmm3
mulps xmm0, xmmword [ebp - 0x140]
addps xmm2, xmm0
movups xmm0, xmmword [eax + ecx*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4]
mulps xmm0, xmmword [ebp - 0x1a0]
mulps xmm1, xmmword [ebp - 0x190]
addps xmm1, xmm0
mov edx, dword [ebp - 0xf0]
movups xmm0, xmmword [eax + ecx*4 - 8]
addps xmm0, xmm4
movaps xmm4, xmmword [ebp - 0x1a0]
mulps xmm0, xmmword [ebp - 0x170]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 - 0xc]
mov eax, dword [ebp - 0xe4]
addps xmm0, xmm5
movaps xmm5, xmmword [ebp - 0x190]
movups xmm3, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x140]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 + 4]
addps xmm2, xmm1
movups xmm1, xmmword [eax + ecx*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4]
mulps xmm2, xmmword [ebp - 0x210]
mulps xmm0, xmm4
mulps xmm1, xmm5
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 - 8]
addps xmm0, xmm3
mulps xmm0, xmmword [ebp - 0x170]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 - 0xc]
mov eax, dword [ebp - 0x108]
addps xmm0, xmmword [ebp - 0x160]
mulps xmm0, xmmword [ebp - 0x140]
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 + 4]
mulps xmm1, xmmword [ebp - 0x200]
addps xmm2, xmm1
movups xmm1, xmmword [edx + edi*4 - 0x10]
movups xmmword [ebp - 0x200], xmm2
movups xmm2, xmmword [edx + ecx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm0, xmm4
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
addps xmm0, xmm1
mulps xmm0, xmmword [ebp - 0x170]
addps xmm2, xmm0
movups xmm0, xmmword [edx + ecx*4 - 0xc]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
addps xmm0, xmmword [ebp - 0x240]
movups xmm1, xmmword [ecx + edx*4 - 4]
mulps xmm0, xmmword [ebp - 0x140]
movups xmm3, xmmword [ecx + edi*4 - 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + edx*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4]
mulps xmm0, xmm4
mulps xmm1, xmm5
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4 - 8]
addps xmm0, xmm3
movups xmm3, xmmword [ebp - 0x200]
mulps xmm0, xmmword [ebp - 0x170]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x250]
mulps xmm0, xmmword [ebp - 0x140]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 + 4]
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x220]
addps xmm3, xmm2
movups xmm2, xmmword [eax + edx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm0, xmm4
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmm6
mov esi, dword [ebp - 0xe8]
movups xmm1, xmmword [esi + edx*4 - 4]
mulps xmm0, xmmword [ebp - 0x170]
addps xmm2, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x124]
addps xmm0, xmm7
mulps xmm0, xmmword [ebp - 0x140]
addps xmm2, xmm0
movups xmm0, xmmword [esi + edx*4 + 4]
addps xmm1, xmm0
movups xmm0, xmmword [esi + edx*4]
mulps xmm0, xmm4
movups xmm4, xmmword [esi + edi*4 - 0x10]
mulps xmm1, xmm5
addps xmm1, xmm0
movups xmm0, xmmword [esi + edx*4 - 8]
addps xmm0, xmm4
mulps xmm0, xmmword [ebp - 0x170]
addps xmm1, xmm0
movups xmm0, xmmword [esi + edx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x260]
mulps xmm0, xmmword [ebp - 0x140]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x230]
addps xmm3, xmm2
movups xmmword [eax + edx*4], xmm3
add edx, 4
mov dword [ebp - 0xf8], edx
cmp edx, edi
jae 0x10153ecb
nop dword [eax + eax]
mov esi, 0xfffffffd
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x104], eax
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x14c]
xor ecx, edx
sub ecx, edx
add ecx, 4
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xe4]
imul eax, esi
or esi, 0xffffffff
mov dword [ebp - 0x120], esi
lea eax, [ecx + eax*4]
mov dword [ebp - 0x154], eax
mov eax, 0xfffffffd
mov dword [ebp - 0xfc], eax
nop dword [eax]
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
mov eax, dword [ebp - 0x14c]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0xfc]
add ecx, ecx
add edx, dword [ebp - 0xf8]
adc esi, 0
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x10153e35
jg 0x10153e11
test edx, edx
jb 0x10153e35
xor ecx, ecx
cmp esi, ecx
jl 0x10153e3b
jg 0x10153e1d
cmp edx, edi
jb 0x10153e3b
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 0x10153e07
not edx
not esi
jmp 0x10153e07
mov eax, dword [ebp - 0x154]
mov esi, dword [ebp - 0x120]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mulss xmm0, xmm2
adc esi, ecx
mov dword [ebp - 0x120], esi
addss xmm1, xmm0
js 0x10153de0
jg 0x10153e7c
cmp eax, 3
jbe 0x10153de0
mov esi, dword [ebp - 0x110]
mov eax, dword [ebp - 0x104]
add esi, 1
mov dword [ebp - 0x110], esi
adc eax, 0
mov dword [ebp - 0x104], eax
js 0x10153d97
jg 0x10153eab
cmp esi, 3
jbe 0x10153d97
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x124]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0xf8], eax
cmp eax, edi
jb 0x10153d80
mov edx, dword [ebp - 0x148]
mov edi, dword [ebp - 0x1e8]
add edx, 0x18
mov esi, dword [ebp - 0x174]
mov dword [ebp - 0x148], edx
cmp edx, 0x48
jb 0x10153107
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8