Function at 0x1014b820
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, 0xe8
mov eax, dword [ecx + 0x10]
push esi
mov esi, dword [ebx + 8]
push edi
mov eax, dword [eax]
mov edi, dword [ecx]
mov dword [ebp - 0x58], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
imul edx, esi
add eax, edx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 4]
add eax, esi
mov ecx, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
imul ecx, eax
mov eax, dword [ebp - 0x58]
mov esi, dword [eax + 0xc]
add edx, ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x58], esi
movups xmm0, xmmword [esi + 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movups xmm7, xmmword [esi]
mov dword [ebp - 4], eax
mov eax, dword [edi]
movups xmm5, xmmword [esi + 0x10]
mov dword [ebp - 0x30], ecx
mov ecx, dword [edi + 8]
movups xmm6, xmmword [esi + 0x20]
lea edi, [edx + eax*4]
mov edx, dword [ebp - 0x30]
movups xmm3, xmmword [esi + 0x30]
mov eax, edx
mov dword [ebp - 0x44], edi
movaps xmmword [ebp - 0xd0], xmm0
neg edx
movups xmm0, xmmword [esi + 0x50]
mov dword [ebp - 0x2c], ecx
neg eax
mov ecx, dword [ebp - 0x44]
mov esi, ecx
movaps xmmword [ebp - 0xe0], xmm0
shl edx, 2
shl eax, 3
movups xmm2, xmmword [esi]
mov dword [ebp - 0x84], edx
movups xmm4, xmmword [esi + 4]
mov dword [ebp - 0x90], eax
add eax, edi
movaps xmm0, xmm2
mov dword [ebp - 0x38], eax
shufps xmm0, xmm2, 0x90
movaps xmm1, xmm2
addps xmm4, xmm0
shufps xmm2, xmm2, 0x41
movups xmm0, xmmword [esi + 8]
add edi, edx
mov edx, dword [ebp - 0x30]
mulps xmm1, xmm7
mov dword [ebp - 0x24], edi
mulps xmm4, xmm5
addps xmm0, xmm2
lea edx, [ecx + edx*4]
movups xmm2, xmmword [edi]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x30]
addps xmm4, xmm1
mulps xmm0, xmm6
movaps xmmword [ebp - 0xc0], xmm7
movaps xmm1, xmm2
lea edx, [ecx + edx*8]
movaps xmmword [ebp - 0x70], xmm5
mov dword [ebp - 0x40], edx
addps xmm4, xmm0
movaps xmmword [ebp - 0x80], xmm6
movaps xmmword [ebp - 0xb0], xmm3
mulps xmm4, xmm3
movups xmm3, xmmword [edi + 4]
mov esi, dword [ebp - 0x3c]
add edi, 8
cmp dword [ebp - 0x2c], 0xa
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x90
addps xmm3, xmm0
mulps xmm1, xmm7
mov ecx, dword [ebp - 0x48]
movups xmm0, xmmword [edi]
shufps xmm2, xmm2, 0x41
addps xmm0, xmm2
mulps xmm3, xmm5
movups xmm2, xmmword [esi]
mulps xmm0, xmm6
addps xmm3, xmm1
movups xmm6, xmmword [esi + 4]
movaps xmm1, xmm2
addps xmm3, xmm0
mulps xmm1, xmm7
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x90
addps xmm6, xmm0
shufps xmm2, xmm2, 0x41
movups xmm0, xmmword [esi + 8]
addps xmm0, xmm2
movups xmm2, xmmword [eax]
mulps xmm6, xmm5
mulps xmm0, xmmword [ebp - 0x80]
movups xmm5, xmmword [eax + 4]
addps xmm6, xmm1
movaps xmm1, xmm2
mulps xmm1, xmm7
addps xmm6, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x90
addps xmm5, xmm0
shufps xmm2, xmm2, 0x41
movups xmm0, xmmword [eax + 8]
addps xmm6, xmm3
movups xmm3, xmmword [edx]
mulps xmm5, xmmword [ebp - 0x70]
addps xmm0, xmm2
mulps xmm6, xmmword [ebp - 0xd0]
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x90
mulps xmm0, xmmword [ebp - 0x80]
addps xmm5, xmm1
movups xmm1, xmmword [edx + 8]
addps xmm6, xmm4
movaps xmm4, xmm3
addps xmm5, xmm0
shufps xmm3, xmm3, 0x41
movups xmm0, xmmword [edx + 4]
mov edx, 4
addps xmm1, xmm3
mulps xmm4, xmm7
movaps xmm3, xmmword [ebp - 0x70]
addps xmm0, xmm2
mulps xmm1, xmmword [ebp - 0x80]
mulps xmm0, xmm3
addps xmm0, xmm4
addps xmm1, xmm0
addps xmm1, xmm5
mulps xmm1, xmmword [ebp - 0xe0]
addps xmm1, xmm6
movups xmmword [ecx], xmm1
jb 0x1014bc36
mov eax, ecx
mov dword [ebp - 0x4c], 8
mov ecx, dword [ebp - 0x3c]
add eax, 0x10
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x24]
sub dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xa0], ecx
add eax, 0xc
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
lea eax, [esi + 0x18]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x8c], ecx
add esi, 0x14
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x88], ecx
jmp 0x1014baab
movaps xmm3, xmmword [ebp - 0x70]
movups xmm0, xmmword [esi]
mov ecx, dword [ebp - 0x84]
movups xmm5, xmmword [esi - 8]
movups xmm1, xmmword [esi - 0xc]
movups xmm2, xmmword [esi - 4]
addps xmm5, xmm0
movups xmm0, xmmword [esi + 4]
movups xmm4, xmmword [edi + 0x10]
mulps xmm2, xmm7
addps xmm0, xmm1
movups xmm1, xmmword [esi + ecx]
mov ecx, dword [ebp - 0x30]
mulps xmm5, xmm3
mulps xmm0, xmmword [ebp - 0x80]
movups xmm3, xmmword [edi + 8]
addps xmm5, xmm2
movups xmm2, xmmword [edi + 4]
movups xmm6, xmmword [eax - 0xc]
addps xmm2, xmm1
mulps xmm3, xmm7
addps xmm5, xmm0
movups xmm0, xmmword [edi]
mulps xmm2, xmmword [ebp - 0x70]
addps xmm4, xmm0
mulps xmm5, xmmword [ebp - 0xb0]
movups xmm0, xmmword [esi + ecx*4]
mov ecx, dword [ebp - 0x34]
addps xmm2, xmm3
mulps xmm4, xmmword [ebp - 0x80]
addps xmm6, xmm0
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x28]
movups xmm0, xmmword [eax]
mulps xmm6, xmmword [ebp - 0x70]
addps xmm4, xmm2
movups xmm2, xmmword [eax - 8]
mov eax, dword [ebp - 0x88]
addps xmm0, xmm1
mulps xmm2, xmm7
movups xmm3, xmmword [eax + ecx]
mov ecx, dword [ebp - 0x50]
mulps xmm0, xmmword [ebp - 0x80]
mov eax, dword [ebp - 0x8c]
addps xmm6, xmm2
mulps xmm3, xmm7
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
addps xmm6, xmm0
movups xmm1, xmmword [esi + eax]
mov eax, dword [ebp - 0x54]
movups xmm0, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x98]
addps xmm6, xmm4
addps xmm2, xmm1
mulps xmm6, xmmword [ebp - 0xd0]
mulps xmm2, xmmword [ebp - 0x70]
addps xmm6, xmm5
movups xmm5, xmmword [ecx + eax]
mov ecx, dword [ebp - 0x50]
addps xmm2, xmm3
addps xmm5, xmm0
movups xmm4, xmmword [ecx + 4]
movups xmm1, xmmword [ecx]
mov ecx, dword [ebp - 0x30]
mulps xmm5, xmmword [ebp - 0x80]
mulps xmm4, xmm7
movups xmm3, xmmword [esi + ecx*8]
mov ecx, dword [ebp - 0x9c]
addps xmm5, xmm2
addps xmm3, xmm1
movups xmm0, xmmword [ecx + edi]
mov ecx, dword [ebp - 0xa0]
mulps xmm3, xmmword [ebp - 0x70]
movups xmm2, xmmword [ecx + eax]
addps xmm2, xmm0
addps xmm3, xmm4
mulps xmm2, xmmword [ebp - 0x80]
addps xmm2, xmm3
addps xmm2, xmm5
mulps xmm2, xmmword [ebp - 0xe0]
mov ecx, dword [ebp - 0x28]
addps xmm2, xmm6
add dword [ebp - 0x50], 0x10
add eax, 0x10
mov dword [ebp - 0x54], eax
add edx, 4
mov eax, dword [ebp - 0x4c]
add esi, 0x10
add eax, 4
add edi, 0x10
movups xmmword [ecx], xmm2
add ecx, 0x10
mov dword [ebp - 0x28], ecx
mov ecx, eax
mov dword [ebp - 0x4c], eax
xor eax, eax
add ecx, 2
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x2c]
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x54]
jb 0x1014baa7
ja 0x1014bc30
cmp dword [ebp - 4], ecx
jbe 0x1014baa7
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x2c]
movaps xmm1, xmmword [0x10207890]
mov dword [ebp - 0x10], 0
movups xmm5, xmmword [ecx + edx*4]
mov dword [ebp - 0xc], 0x4040404
movups xmm3, xmmword [ecx + edx*4 - 4]
mov dword [ebp - 8], 0x8080808
movups xmm4, xmmword [ecx + edx*4 - 8]
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
mulps xmm5, xmm7
mov dword [ebp - 0x14], 0x3020100
movaps xmm0, xmmword [ebp - 0x20]
movups xmm7, xmmword [ecx + edi*4 - 0x10]
mov ecx, dword [ebp - 0x24]
psllw xmm1, 2
movaps xmm2, xmm7
mov dword [ebp - 0x20], 0
paddb xmm0, xmm1
mov dword [ebp - 0x1c], 0x4040404
movaps xmm1, xmmword [0x10207890]
addps xmm7, xmm3
movups xmm3, xmmword [ecx + edi*4 - 0x10]
mov dword [ebp - 0x18], 0x8080808
movups xmm6, xmmword [ecx + edx*4 - 4]
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
mulps xmm7, xmmword [ebp - 0x70]
addps xmm6, xmm3
mov dword [ebp - 4], 0x3020100
pshufb xmm2, xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x4040404
movaps xmm0, xmmword [ebp - 0x10]
addps xmm7, xmm5
movups xmm5, xmmword [ecx + edx*4]
mov dword [ebp - 0x18], 0x8080808
mulps xmm6, xmmword [ebp - 0x70]
addps xmm4, xmm2
mov dword [ebp - 0x14], 0xc0c0c0c
mulps xmm5, xmmword [ebp - 0xc0]
movaps xmm2, xmm3
mov dword [ebp - 0x10], 0x3020100
movups xmm3, xmmword [esi + edx*4 - 4]
mov dword [ebp - 0xc], 0x3020100
mulps xmm4, xmmword [ebp - 0x80]
mov dword [ebp - 8], 0x3020100
psllw xmm1, 2
addps xmm6, xmm5
movups xmm5, xmmword [esi + edx*4]
mov dword [ebp - 4], 0x3020100
paddb xmm0, xmm1
addps xmm7, xmm4
movups xmm4, xmmword [ecx + edx*4 - 8]
movaps xmm1, xmmword [0x10207890]
pshufb xmm1, xmmword [ebp - 0x20]
mulps xmm7, xmmword [ebp - 0xb0]
pshufb xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x10]
mulps xmm5, xmmword [ebp - 0xc0]
addps xmm2, xmm4
movups xmm4, xmmword [esi + edx*4 - 8]
psllw xmm1, 2
mulps xmm2, xmmword [ebp - 0x80]
paddb xmm0, xmm1
addps xmm6, xmm2
movups xmm2, xmmword [esi + edi*4 - 0x10]
movaps xmmword [ebp - 0xb0], xmm2
pshufb xmm2, xmm0
movaps xmm0, xmmword [ebp - 0xb0]
addps xmm0, xmm3
addps xmm2, xmm4
mulps xmm0, xmmword [ebp - 0x70]
addps xmm0, xmm5
mulps xmm2, xmmword [ebp - 0x80]
mov dword [ebp - 0x20], 0
movups xmm3, xmmword [eax + edx*4 - 4]
mov dword [ebp - 0x1c], 0x4040404
movups xmm4, xmmword [eax + edx*4 - 8]
mov dword [ebp - 0x18], 0x8080808
addps xmm0, xmm2
mov dword [ebp - 0x14], 0xc0c0c0c
movups xmm5, xmmword [eax + edx*4]
mov dword [ebp - 0x10], 0x3020100
mov dword [ebp - 0xc], 0x3020100
mulps xmm5, xmmword [ebp - 0xc0]
mov dword [ebp - 8], 0x3020100
addps xmm0, xmm6
mov dword [ebp - 4], 0x3020100
movups xmm6, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x40]
movaps xmm2, xmm6
addps xmm6, xmm3
mulps xmm0, xmmword [ebp - 0xd0]
movups xmm3, xmmword [eax + edx*4 - 8]
mulps xmm6, xmmword [ebp - 0x70]
addps xmm0, xmm7
movaps xmm7, xmmword [0x10207890]
movaps xmm1, xmm7
pshufb xmm1, xmmword [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x4040404
mov dword [ebp - 0x18], 0x8080808
movaps xmmword [ebp - 0xb0], xmm0
addps xmm6, xmm5
movaps xmm0, xmmword [ebp - 0x10]
movups xmm5, xmmword [eax + edi*4 - 0x10]
mov dword [ebp - 0x14], 0xc0c0c0c
pshufb xmm7, xmmword [ebp - 0x20]
mov dword [ebp - 0x10], 0x3020100
mov dword [ebp - 0xc], 0x3020100
mov dword [ebp - 8], 0x3020100
psllw xmm1, 2
mov dword [ebp - 4], 0x3020100
paddb xmm0, xmm1
psllw xmm7, 2
pshufb xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x10]
movaps xmm1, xmm5
addps xmm2, xmm4
paddb xmm0, xmm7
movups xmm4, xmmword [eax + edx*4]
pshufb xmm1, xmm0
mulps xmm2, xmmword [ebp - 0x80]
mulps xmm4, xmmword [ebp - 0xc0]
addps xmm3, xmm1
addps xmm6, xmm2
movups xmm2, xmmword [eax + edx*4 - 4]
mov eax, dword [ebp - 0x48]
mulps xmm3, xmmword [ebp - 0x80]
addps xmm5, xmm2
mulps xmm5, xmmword [ebp - 0x70]
addps xmm5, xmm4
addps xmm5, xmm3
addps xmm5, xmm6
mulps xmm5, xmmword [ebp - 0xe0]
addps xmm5, xmmword [ebp - 0xb0]
movups xmmword [eax + edx*4], xmm5
add edx, 4
mov dword [ebp - 0x28], edx
cmp edx, edi
jae 0x1014c029
xorps xmm3, xmm3
mov esi, 0xfffffffe
or eax, 0xffffffff
movaps xmm1, xmm3
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x24], eax
cdq
mov ecx, esi
imul esi, dword [ebp - 0x30]
xor eax, edx
mov eax, dword [ebp - 0x58]
xor ecx, edx
sub ecx, edx
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + esi*4]
or esi, 0xffffffff
mov dword [ebp - 4], eax
mov eax, 0xfffffffe
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], esi
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
mov eax, dword [ebp - 0x58]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x2c]
add ecx, ecx
add edx, dword [ebp - 0x28]
adc esi, 0
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x1014bfbf
jg 0x1014bf9b
test edx, edx
jb 0x1014bfbf
xor ecx, ecx
cmp esi, ecx
jl 0x1014bfc5
jg 0x1014bfa7
cmp edx, edi
jb 0x1014bfc5
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 0x1014bf91
not edx
not esi
jmp 0x1014bf91
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x4c]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mulss xmm0, xmm2
adc esi, ecx
mov dword [ebp - 0x4c], esi
addss xmm1, xmm0
js 0x1014bf73
jg 0x1014bfef
cmp eax, 2
jbe 0x1014bf73
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
add esi, 1
mov dword [ebp - 0x34], esi
adc eax, 0
mov dword [ebp - 0x24], eax
js 0x1014bf42
jg 0x1014c012
cmp esi, 2
jbe 0x1014bf42
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x48]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x28], eax
cmp eax, edi
jb 0x1014bf31
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8