Function at 0x10115b80
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

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, 0x3a8
mov eax, dword [0x102289dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x14]
push esi
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebx + 0x10]
push edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebx + 0x18]
push eax
push esi
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 0x204], eax
call fcn.1013c630
add esp, 8
test al, al
je 0x1011aba7
mov eax, dword [esi + 8]
cmp eax, 6
jae 0x10115bfe
push str.rect.xsize_____MinWidth__
push 0x30e
jmp 0x1011abb1
mov esi, dword [esi + 0xc]
xor ecx, ecx
and eax, 3
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x164], ecx
sub eax, ecx
je 0x101192fa
sub eax, 1
je 0x10117c1b
sub eax, 1
je 0x10116c1c
lea eax, [ebp - 0x278]
mov dword [ebp - 0x278], esi
push eax
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x274], ecx
push eax
mov dword [ebp - 0x2d0], 2
mov dword [ebp - 0x2cc], ecx
call fcn.1013dba0
add esp, 8
lea ecx, [ebp - 0x1f8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push dword [ebp - 0x184]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x19c]
push eax
mov dword [ebp - 0x1e8], edi
mov esi, dword [eax + 0x10]
shr esi, 2
mov dword [ebp - 0x190], esi
call fcn.100eba00
cmp dword [ebp - 0x214], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x290], xmm0
jl 0x101163e6
jg 0x10115cb5
test edi, edi
je 0x101163e6
mov edx, dword [ebp - 0x290]
mov eax, esi
neg eax
mov dword [ebp - 0x1a0], edx
shl eax, 3
mov dword [ebp - 0x1bc], eax
mov eax, esi
neg eax
shl eax, 2
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x1a8], eax
nop word [eax + eax]
mov ecx, dword [ebp - 0x204]
push 0
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x17c], edi
mov edi, dword [ebp - 0x190]
imul ecx, dword [edx + 0x10]
push edi
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x164], eax
add eax, dword [ebp - 0x1bc]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x1b8]
mov esi, eax
add ecx, dword [ebp - 0x164]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x170], esi
call fcn.10155890
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x164]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x164]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm6, xmmword [esi]
mov dword [ebp - 0x168], eax
movups xmm4, xmmword [eax]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x164]
movaps xmmword [ebp - 0x240], xmm0
movups xmm3, xmmword [ecx]
mov ecx, dword [ebp - 0x15c]
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x160]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x90
addps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1e0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x1d0]
mov edi, dword [ebp - 0x15c]
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x164]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
mulps xmm5, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1e0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x17c]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm7
mulps xmm3, xmmword [ebp - 0x1d0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 0x41
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm3
mulps xmm1, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mov eax, 4
mov dword [ebp - 0x16c], eax
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
addps xmm4, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm1, xmm0
movaps xmm0, xmm6
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm7
shufps xmm6, xmm6, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
mov esi, dword [ebp - 0x154]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1d0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x240]
addps xmm5, xmm2
movups xmmword [esi], xmm5
cmp edi, 0xa
jb 0x101161fa
mov edi, dword [ebp - 0x15c]
lea eax, [esi + 0x10]
mov dword [ebp - 0x180], eax
lea esi, [ecx + 0x18]
mov eax, dword [ebp - 0x168]
add eax, 0xc
movaps xmm5, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x164]
sub edi, eax
mov dword [ebp - 0x198], edi
mov edi, dword [ebp - 0x160]
sub edi, eax
movaps xmm6, xmmword [ebp - 0x1d0]
lea ecx, [eax + 0x14]
mov dword [ebp - 0x1ac], edi
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0x178], edi
sub dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x164]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x160]
sub eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1b0], eax
mov eax, edi
sub eax, dword [ebp - 0x15c]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c0], eax
mov eax, edi
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x1e4], eax
mov eax, edi
sub eax, dword [ebp - 0x168]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x188], 8
mov dword [ebp - 0x170], edi
mov edi, dword [ebp - 0x1ac]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1b0]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x198]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x178]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
movups xmm3, xmmword [edi + ecx]
mov edi, dword [ebp - 0x194]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x230]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x170]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [eax + edi]
mov eax, dword [ebp - 0x174]
mov edi, dword [ebp - 0x1c0]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x15c]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x250]
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x184]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x158]
mulps xmm1, xmm6
movups xmm0, xmmword [eax]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm3, xmm1
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1e4]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x180]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x240]
addps xmm4, xmm3
add dword [ebp - 0x16c], 4
add eax, 0x10
add dword [ebp - 0x180], 0x10
add ecx, 0x10
mov dword [ebp - 0x158], eax
add edx, 0x10
mov eax, dword [ebp - 0x188]
add esi, 0x10
add eax, 4
movups xmmword [edi], xmm4
mov edi, dword [ebp - 0x17c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x188], eax
xor eax, eax
add dword [ebp - 0x160], 2
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x158]
jb 0x10116051
ja 0x101161f4
cmp dword [ebp - 0x160], edi
jbe 0x10116051
mov eax, dword [ebp - 0x16c]
cmp eax, edi
jae 0x10116394
mov esi, 0xfffffffe
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x194], eax
nop dword [eax]
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x190]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, edx
mov ecx, dword [ebp - 0x164]
imul eax, esi
mov esi, dword [ebp - 0x1f8]
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x178], ecx
cmp ecx, esi
jae 0x10116271
mov eax, esi
sub eax, ecx
sar eax, 2
sub eax, edx
lea eax, [esi + eax*4]
mov dword [ebp - 0x178], eax
jmp 0x1011628d
mov esi, dword [ebp - 0x1f4]
cmp ecx, esi
jbe 0x1011628d
sub ecx, esi
mov eax, edx
sar ecx, 2
sub eax, ecx
lea ecx, [esi + eax*4]
mov dword [ebp - 0x178], ecx
mov eax, 0xfffffffe
or edx, 0xffffffff
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x17c], edx
mov ecx, eax
mov esi, 0
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x16c]
add ecx, ecx
add edx, dword [ebp - 0x170]
adc esi, dword [ebp - 0x17c]
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x101162fe
jg 0x101162da
test edx, edx
jb 0x101162fe
xor ecx, ecx
cmp esi, ecx
jl 0x10116304
jg 0x101162e6
cmp edx, edi
jb 0x10116304
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 0x101162d0
not edx
not esi
jmp 0x101162d0
mov eax, dword [ebp - 0x178]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x170], eax
mulss xmm0, xmm2
adc edx, ecx
mov dword [ebp - 0x17c], edx
addss xmm1, xmm0
js 0x101162a1
jg 0x10116345
cmp eax, 2
jbe 0x101162a1
mov esi, dword [ebp - 0x188]
mov eax, dword [ebp - 0x194]
add esi, 1
mov dword [ebp - 0x188], esi
adc eax, 0
mov dword [ebp - 0x194], eax
js 0x10116220
jg 0x10116374
cmp esi, 2
jbe 0x10116220
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x154]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x16c], eax
cmp eax, edi
jb 0x10116202
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a0], edx
adc eax, 0
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x214]
jl 0x10115cf0
jg 0x101163cc
cmp edx, dword [ebp - 0x1e8]
jb 0x10115cf0
mov eax, dword [ebp - 0x274]
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], esi
jmp 0x101163ee
mov esi, dword [ebp - 0x184]
xor eax, eax
test eax, eax
jl 0x101164a1
jg 0x10116401
cmp esi, 4
jbe 0x101164a1
mov edi, dword [ebp - 0x19c]
sub esi, 2
mov ecx, dword [ebp - 0x204]
sbb eax, 0
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x1f4], eax
lea ecx, [ebp - 0x3a4]
mov eax, dword [edi + 0x10]
shr eax, 2
push str.Convolve
mov dword [ebp - 0x298], eax
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x298]
mov dword [ebp - 0x294], 0
push eax
push edi
push dword [ebp - 0x1b4]
call fcn.1013dbd0
push eax
push 0x10040610
push esi
push 2
push dword [ebp - 0x18c]
lea eax, [ebp - 0x320]
push eax
call fcn.1013c230
add esp, 0x1c
cmp dword [eax], 0
jne 0x1011a011
mov eax, dword [ebp - 0x274]
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], esi
jmp 0x101164a7
mov edi, dword [ebp - 0x19c]
test eax, eax
jl 0x1011ab94
jg 0x101164ba
cmp esi, 2
jbe 0x1011ab94
mov eax, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1f8]
mov edi, dword [edi + 0x10]
shr edi, 2
mov dword [ebp - 0x160], edi
push dword [eax + 0xc]
mov eax, dword [ebp - 0x19c]
push eax
call fcn.100eba00
mov eax, dword [ebp - 0x164]
mov edx, esi
sub edx, 2
mov dword [ebp - 0x194], edx
sbb eax, 0
mov dword [ebp - 0x1a0], eax
cmp eax, dword [ebp - 0x164]
jg 0x1011ab94
jl 0x10116511
cmp edx, esi
jae 0x1011ab94
mov eax, edi
neg eax
shl eax, 3
mov dword [ebp - 0x1e8], eax
mov eax, edi
neg eax
shl eax, 2
mov dword [ebp - 0x1e4], eax
nop dword [eax + eax]
mov ecx, dword [ebp - 0x204]
push 0
push edi
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x170], esi
imul ecx, dword [edx + 0x10]
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x154], eax
add eax, dword [ebp - 0x1e8]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x1e4]
add ecx, dword [ebp - 0x154]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x180], eax
call fcn.10155890
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x158]
mov esi, eax
mov eax, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x16c], esi
movups xmm1, xmmword [ecx]
mov ecx, dword [ebp - 0x180]
movups xmm0, xmmword [eax + 0x10]
movups xmm4, xmmword [esi]
mov esi, dword [ebp - 0x158]
movaps xmmword [ebp - 0x1e0], xmm0
movaps xmm5, xmm1
movups xmm0, xmmword [eax + 0x20]
movups xmm7, xmmword [eax]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmm3, xmmword [edx]
movups xmm6, xmmword [ecx]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [eax + 0x40]
shufps xmm5, xmm1, 0x90
movaps xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [eax + 0x50]
mov eax, dword [ebp - 0x15c]
movaps xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [esi + 4]
movups xmm2, xmmword [eax]
add eax, 8
addps xmm5, xmm0
mov dword [ebp - 0x1c0], eax
movaps xmm0, xmm1
shufps xmm1, xmm1, 0x41
mulps xmm0, xmm7
mulps xmm5, xmmword [ebp - 0x1e0]
addps xmm5, xmm0
movups xmm0, xmmword [esi + 8]
mov esi, dword [ebp - 0x15c]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 4]
mov esi, dword [ebp - 0x170]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x16c]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 4]
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
shufps xmm3, xmm3, 0x41
mulps xmm5, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 8]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm4
mulps xmm3, xmmword [ebp - 0x1d0]
mulps xmm0, xmm7
shufps xmm4, xmm4, 0x41
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm3
mulps xmm1, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0x174]
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
addps xmm4, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movaps xmm0, xmm6
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm7
shufps xmm6, xmm6, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [ecx + 8]
mov ecx, 4
mov dword [ebp - 0x168], ecx
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1d0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x240]
addps xmm5, xmm2
movups xmmword [eax], xmm5
cmp esi, 0xa
jb 0x10116a6b
mov ecx, dword [ebp - 0x15c]
add eax, 0x10
mov edi, dword [ebp - 0x154]
add edx, 0x14
mov dword [ebp - 0x18c], ecx
mov ecx, dword [ebp - 0x158]
sub dword [ebp - 0x18c], edi
sub ecx, edi
mov edi, dword [ebp - 0x180]
mov dword [ebp - 0x1bc], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x154]
mov dword [ebp - 0x1ac], ecx
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x154]
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x1b8], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x15c]
movaps xmm5, xmmword [ebp - 0x1e0]
movaps xmm6, xmmword [ebp - 0x1d0]
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1a8], ecx
add eax, 0xc
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x158], ecx
add eax, 0x18
mov ecx, edi
mov dword [ebp - 0x188], 8
sub ecx, dword [ebp - 0x16c]
sub edi, dword [ebp - 0x174]
mov dword [ebp - 0x180], edi
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b0], ecx
nop dword [eax]
mov ecx, dword [ebp - 0x1bc]
movups xmm0, xmmword [eax - 0xc]
mov esi, dword [ebp - 0x17c]
movups xmm4, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x1b8]
addps xmm4, xmm0
movups xmm0, xmmword [eax - 8]
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x18c]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x1ac]
addps xmm4, xmm0
movups xmm0, xmmword [eax]
movups xmm3, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x1b0]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edi + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edi]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
mulps xmm1, xmm6
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 - 0x230]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + esi]
mov ecx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x180]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [ecx + esi]
mov ecx, dword [ebp - 0x198]
mov esi, dword [ebp - 0x17c]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x1a8]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x250]
addps xmm3, xmm0
movups xmm0, xmmword [ecx + eax]
mov ecx, dword [ebp - 0x214]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [esi]
movups xmm2, xmmword [ecx + edx]
mov ecx, dword [ebp - 0x15c]
mulps xmm1, xmm6
addps xmm2, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm3, xmm1
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x158]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [ecx + eax]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x240]
addps xmm4, xmm3
mov esi, dword [ebp - 0x178]
add eax, 0x10
mov ecx, dword [ebp - 0x168]
add edx, 0x10
add dword [ebp - 0x17c], 0x10
add ecx, 4
mov dword [ebp - 0x190], eax
add edi, 0x10
mov eax, dword [ebp - 0x188]
add eax, 4
movups xmmword [esi], xmm4
add esi, 0x10
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x178], esi
mov esi, eax
xor eax, eax
mov dword [ebp - 0x168], ecx
add esi, 2
mov dword [ebp - 0x1c0], esi
mov esi, dword [ebp - 0x170]
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x190]
jb 0x101168b0
ja 0x10116a65
cmp dword [ebp - 0x1c0], esi
jbe 0x101168b0
mov edi, dword [ebp - 0x160]
cmp ecx, esi
jae 0x10116bcd
mov esi, 0xfffffffe
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x190], eax
nop word [eax + eax]
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x1f8]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, edi
mov ecx, dword [ebp - 0x154]
imul eax, esi
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x18c], ecx
cmp ecx, edx
jae 0x10116adb
mov eax, edx
sub eax, ecx
sar eax, 2
sub eax, edi
lea eax, [edx + eax*4]
mov dword [ebp - 0x18c], eax
jmp 0x10116af7
mov edx, dword [ebp - 0x1f4]
cmp ecx, edx
jbe 0x10116af7
sub ecx, edx
mov eax, edi
sar ecx, 2
sub eax, ecx
lea ecx, [edx + eax*4]
mov dword [ebp - 0x18c], ecx
or eax, 0xffffffff
mov edi, 0xfffffffe
mov dword [ebp - 0x178], eax
push 0
push dword [ebp - 0x170]
mov ecx, edi
add ecx, dword [ebp - 0x168]
adc eax, 0
push eax
push ecx
call fcn.10156080
mov ecx, eax
mov esi, edi
mov eax, dword [ebp - 0x178]
add esp, 0x10
cdq
xor eax, edx
mov eax, dword [ebp - 0x18c]
xor esi, edx
sub esi, edx
add esi, esi
add edi, 1
movss xmm0, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1a4]
mulss xmm0, dword [eax + esi*8]
mov eax, dword [ebp - 0x178]
adc eax, 0
mov dword [ebp - 0x178], eax
mulss xmm0, xmm2
addss xmm1, xmm0
js 0x10116b05
jg 0x10116b6e
cmp edi, 2
jbe 0x10116b05
mov esi, dword [ebp - 0x188]
mov eax, dword [ebp - 0x190]
add esi, 1
mov edi, dword [ebp - 0x160]
adc eax, 0
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x190], eax
js 0x10116a90
jg 0x10116ba3
cmp esi, 2
jbe 0x10116a90
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x174]
mov edi, dword [ebp - 0x160]
movss dword [eax + ecx*4], xmm1
inc ecx
mov dword [ebp - 0x168], ecx
cmp ecx, dword [ebp - 0x170]
jb 0x10116a73
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x194], edx
adc eax, 0
mov dword [ebp - 0x1a0], eax
cmp eax, dword [ebp - 0x164]
jl 0x10116530
jg 0x1011ab94
cmp edx, dword [ebp - 0x184]
jb 0x10116530
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101e8c02
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x280]
mov dword [ebp - 0x280], esi
push eax
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x27c], ecx
push eax
mov dword [ebp - 0x2e0], 2
mov dword [ebp - 0x2dc], ecx
call fcn.1013dba0
add esp, 8
lea ecx, [ebp - 0x1f8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push dword [ebp - 0x184]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x19c]
push eax
mov dword [ebp - 0x208], edi
mov esi, dword [eax + 0x10]
shr esi, 2
mov dword [ebp - 0x190], esi
call fcn.100eba00
cmp dword [ebp - 0x198], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x298], xmm0
jl 0x101173ce
jg 0x10116ca5
test edi, edi
je 0x101173ce
mov edx, dword [ebp - 0x298]
mov eax, esi
neg eax
mov dword [ebp - 0x1a8], edx
shl eax, 3
mov dword [ebp - 0x1e8], eax
mov eax, esi
neg eax
shl eax, 2
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x214], eax
nop word [eax + eax]
mov ecx, dword [ebp - 0x204]
push 0
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x17c], edi
mov edi, dword [ebp - 0x190]
imul ecx, dword [edx + 0x10]
push edi
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x164], eax
add eax, dword [ebp - 0x1e8]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x1e4]
mov esi, eax
add ecx, dword [ebp - 0x164]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x178], esi
call fcn.10155890
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x164]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x164]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm4, xmmword [esi]
mov dword [ebp - 0x16c], eax
movups xmm5, xmmword [eax]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x164]
movaps xmmword [ebp - 0x240], xmm0
movups xmm3, xmmword [ecx]
mov ecx, dword [ebp - 0x168]
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x160]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm6, xmm1
shufps xmm6, xmm1, 0x90
addps xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
shufps xmm1, xmm1, 0x41
mulps xmm6, xmmword [ebp - 0x1e0]
addps xmm6, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x1d0]
mov edi, dword [ebp - 0x168]
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x164]
addps xmm6, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm2
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm6, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm3
mulps xmm6, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1e0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x17c]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm2, xmm0
movaps xmm0, xmm7
mulps xmm3, xmmword [ebp - 0x1d0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 0x41
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm3
mulps xmm1, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [esi + 8]
mov esi, dword [ebp - 0x154]
addps xmm6, xmm1
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x90
addps xmm4, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm5
shufps xmm5, xmm5, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [eax + 8]
mov eax, 4
mov dword [ebp - 0x15c], eax
addps xmm5, xmm0
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm1, xmm5
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x240]
addps xmm6, xmm2
movups xmmword [esi], xmm6
cmp edi, 0xa
jb 0x101171ea
mov edi, dword [ebp - 0x168]
lea eax, [esi + 0x10]
mov dword [ebp - 0x170], eax
lea esi, [ecx + 0x18]
mov eax, dword [ebp - 0x16c]
add eax, 0xc
movaps xmm5, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x164]
sub edi, eax
mov dword [ebp - 0x1b8], edi
mov edi, dword [ebp - 0x160]
sub edi, eax
movaps xmm6, xmmword [ebp - 0x1d0]
lea ecx, [eax + 0x14]
mov dword [ebp - 0x1c0], edi
mov edi, dword [ebp - 0x178]
mov dword [ebp - 0x174], edi
sub dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x164]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x160]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
mov eax, edi
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x168], eax
mov eax, edi
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x160], eax
mov eax, edi
sub eax, dword [ebp - 0x16c]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x188], 8
mov dword [ebp - 0x178], edi
mov edi, dword [ebp - 0x1c0]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1bc]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1b8]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x174]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
movups xmm3, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1ac]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x230]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x170]
mov eax, dword [ebp - 0x178]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [eax + edi]
mov eax, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x168]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x194]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x250]
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x1a0]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x158]
mulps xmm1, xmm6
movups xmm0, xmmword [eax]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm3, xmm1
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x160]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x170]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x240]
addps xmm4, xmm3
add dword [ebp - 0x15c], 4
add eax, 0x10
add dword [ebp - 0x170], 0x10
add ecx, 0x10
mov dword [ebp - 0x158], eax
add edx, 0x10
mov eax, dword [ebp - 0x188]
add esi, 0x10
add eax, 4
movups xmmword [edi], xmm4
mov edi, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x188], eax
xor eax, eax
add dword [ebp - 0x180], 2
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x158]
jb 0x10117041
ja 0x101171e4
cmp dword [ebp - 0x180], edi
jbe 0x10117041
mov eax, dword [ebp - 0x15c]
cmp eax, edi
jae 0x1011737c
mov esi, 0xfffffffe
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x1a0], eax
nop dword [eax]
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x190]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, edx
mov ecx, dword [ebp - 0x164]
imul eax, esi
mov esi, dword [ebp - 0x1f8]
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x174], ecx
cmp ecx, esi
jae 0x10117261
mov eax, esi
sub eax, ecx
sar eax, 2
sub eax, edx
lea eax, [esi + eax*4]
mov dword [ebp - 0x174], eax
jmp 0x1011727d
mov esi, dword [ebp - 0x1f4]
cmp ecx, esi
jbe 0x1011727d
sub ecx, esi
mov eax, edx
sar ecx, 2
sub eax, ecx
lea ecx, [esi + eax*4]
mov dword [ebp - 0x174], ecx
mov eax, 0xfffffffe
or esi, 0xffffffff
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x188], esi
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x178]
add ecx, ecx
add edx, dword [ebp - 0x15c]
adc esi, 0
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x101172e6
jg 0x101172c2
test edx, edx
jb 0x101172e6
xor ecx, ecx
cmp esi, ecx
jl 0x101172ec
jg 0x101172ce
cmp edx, edi
jb 0x101172ec
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 0x101172b8
not edx
not esi
jmp 0x101172b8
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x188]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x178]
add eax, 1
mov dword [ebp - 0x178], eax
mulss xmm0, xmm2
adc esi, ecx
mov dword [ebp - 0x188], esi
addss xmm1, xmm0
js 0x10117291
jg 0x1011732d
cmp eax, 2
jbe 0x10117291
mov esi, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1a0]
add esi, 1
mov dword [ebp - 0x194], esi
adc eax, 0
mov dword [ebp - 0x1a0], eax
js 0x10117210
jg 0x1011735c
cmp esi, 2
jbe 0x10117210
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x154]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x15c], eax
cmp eax, edi
jb 0x101171f2
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x1a8], edx
adc eax, 0
mov dword [ebp - 0x214], eax
cmp eax, dword [ebp - 0x198]
jl 0x10116ce0
jg 0x101173b4
cmp edx, dword [ebp - 0x208]
jb 0x10116ce0
mov eax, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x280]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], edi
jmp 0x101173d6
mov edi, dword [ebp - 0x184]
xor eax, eax
test eax, eax
jl 0x1011749f
jg 0x101173e9
cmp edi, 4
jbe 0x1011749f
mov esi, dword [ebp - 0x19c]
sub edi, 2
mov ecx, dword [ebp - 0x204]
sbb eax, 0
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0x10]
shr eax, 2
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x2f4], eax
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2b8]
push str.Convolve
mov dword [ebp - 0x2e4], eax
lea eax, [ebp - 0x2f4]
push eax
push 0x10040610
push edi
push 2
push dword [ebp - 0x18c]
lea eax, [ebp - 0x324]
mov dword [ebp - 0x2a4], 0
push eax
mov dword [ebp - 0x2f0], esi
call fcn.1013c230
add esp, 0x1c
cmp dword [eax], 0
jne 0x1011a011
mov eax, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x280]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], edi
jmp 0x101174a5
mov esi, dword [ebp - 0x19c]
test eax, eax
jl 0x1011ab94
jg 0x101174b8
cmp edi, 2
jbe 0x1011ab94
mov eax, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1f8]
mov esi, dword [esi + 0x10]
shr esi, 2
mov dword [ebp - 0x188], esi
push dword [eax + 0xc]
mov eax, dword [ebp - 0x19c]
push eax
call fcn.100eba00
mov eax, dword [ebp - 0x164]
mov edx, edi
sub edx, 2
mov dword [ebp - 0x1a0], edx
sbb eax, 0
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x164]
jg 0x1011ab94
jl 0x1011750f
cmp edx, edi
jae 0x1011ab94
mov eax, esi
neg eax
shl eax, 3
mov dword [ebp - 0x208], eax
mov eax, esi
neg eax
shl eax, 2
mov dword [ebp - 0x1e8], eax
nop dword [eax]
mov ecx, dword [ebp - 0x204]
push 0
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x178], edi
mov edi, dword [ebp - 0x188]
imul ecx, dword [edx + 0x10]
push edi
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x154], eax
add eax, dword [ebp - 0x208]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x1e8]
mov esi, eax
add ecx, dword [ebp - 0x154]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x18c], esi
call fcn.10155890
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm6, xmmword [esi]
mov dword [ebp - 0x16c], eax
movups xmm4, xmmword [eax]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x154]
movaps xmmword [ebp - 0x240], xmm0
movups xmm3, xmmword [ecx]
mov ecx, dword [ebp - 0x168]
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x160]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x90
addps xmm5, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1e0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x1d0]
mov edi, dword [ebp - 0x168]
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x154]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm2
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm3
mulps xmm5, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1e0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x178]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm7
mulps xmm3, xmmword [ebp - 0x1d0]
mulps xmm0, xmm4
shufps xmm4, xmm4, 0x41
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm3
mulps xmm1, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mov eax, 4
mov dword [ebp - 0x15c], eax
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
addps xmm4, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm6
shufps xmm6, xmm6, 0x41
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
mov esi, dword [ebp - 0x180]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1d0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x240]
addps xmm5, xmm2
movups xmmword [esi], xmm5
cmp edi, 0xa
jb 0x10117a3a
mov edi, dword [ebp - 0x168]
lea eax, [esi + 0x10]
mov dword [ebp - 0x170], eax
lea esi, [ecx + 0x18]
mov eax, dword [ebp - 0x16c]
add eax, 0xc
movaps xmm5, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x154]
sub edi, eax
mov dword [ebp - 0x1bc], edi
mov edi, dword [ebp - 0x160]
sub edi, eax
movaps xmm6, xmmword [ebp - 0x1d0]
lea ecx, [eax + 0x14]
mov dword [ebp - 0x1e4], edi
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x174], edi
sub dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x160]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x1c0], eax
mov eax, edi
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x194], eax
mov eax, edi
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x214], eax
mov eax, edi
sub eax, dword [ebp - 0x16c]
sub edi, dword [ebp - 0x180]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x198], 8
mov dword [ebp - 0x18c], edi
mov edi, dword [ebp - 0x1e4]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1c0]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1bc]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x174]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
movups xmm3, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1b8]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x230]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x170]
mov eax, dword [ebp - 0x18c]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [eax + edi]
mov eax, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x194]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1b0]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x250]
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x190]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x158]
mulps xmm1, xmm6
movups xmm0, xmmword [eax]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm3, xmm1
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x214]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x170]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x240]
addps xmm4, xmm3
add dword [ebp - 0x15c], 4
add eax, 0x10
add dword [ebp - 0x170], 0x10
add ecx, 0x10
mov dword [ebp - 0x158], eax
add edx, 0x10
mov eax, dword [ebp - 0x198]
add esi, 0x10
add eax, 4
movups xmmword [edi], xmm4
mov edi, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x198], eax
xor eax, eax
add dword [ebp - 0x17c], 2
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x158]
jb 0x10117891
ja 0x10117a34
cmp dword [ebp - 0x17c], edi
jbe 0x10117891
mov eax, dword [ebp - 0x15c]
cmp eax, edi
jae 0x10117bcc
mov esi, 0xfffffffe
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x194], eax
nop dword [eax]
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x188]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, esi
mov ecx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x1f8]
imul eax, edx
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x174], ecx
cmp ecx, esi
jae 0x10117ab1
mov eax, esi
sub eax, ecx
sar eax, 2
sub eax, edx
lea eax, [esi + eax*4]
mov dword [ebp - 0x174], eax
jmp 0x10117acd
mov esi, dword [ebp - 0x1f4]
cmp ecx, esi
jbe 0x10117acd
sub ecx, esi
mov eax, edx
sar ecx, 2
sub eax, ecx
lea ecx, [esi + eax*4]
mov dword [ebp - 0x174], ecx
mov eax, 0xfffffffe
or esi, 0xffffffff
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], esi
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x18c]
add ecx, ecx
add edx, dword [ebp - 0x15c]
adc esi, 0
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x10117b36
jg 0x10117b12
test edx, edx
jb 0x10117b36
xor ecx, ecx
cmp esi, ecx
jl 0x10117b3c
jg 0x10117b1e
cmp edx, edi
jb 0x10117b3c
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 0x10117b08
not edx
not esi
jmp 0x10117b08
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x198]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mulss xmm0, xmm2
adc esi, ecx
mov dword [ebp - 0x198], esi
addss xmm1, xmm0
js 0x10117ae1
jg 0x10117b7d
cmp eax, 2
jbe 0x10117ae1
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
add esi, 1
mov dword [ebp - 0x190], esi
adc eax, 0
mov dword [ebp - 0x194], eax
js 0x10117a60
jg 0x10117bac
cmp esi, 2
jbe 0x10117a60
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x180]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x15c], eax
cmp eax, edi
jb 0x10117a42
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a0], edx
adc eax, 0
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x164]
jl 0x10117530
jg 0x1011ab94
cmp edx, dword [ebp - 0x184]
jb 0x10117530
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101e8c02
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x288]
mov dword [ebp - 0x288], esi
push eax
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x284], ecx
push eax
mov dword [ebp - 0x2c8], 2
mov dword [ebp - 0x2c4], ecx
call fcn.1013dba0
add esp, 8
lea ecx, [ebp - 0x1f8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push dword [ebp - 0x184]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x19c]
push eax
mov dword [ebp - 0x20c], edi
mov esi, dword [eax + 0x10]
shr esi, 2
mov dword [ebp - 0x188], esi
call fcn.100eba00
cmp dword [ebp - 0x1a0], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
jl 0x10118751
jg 0x10117ca4
test edi, edi
je 0x10118751
mov edx, dword [ebp - 0x2a8]
mov eax, esi
neg eax
mov dword [ebp - 0xb0], 0x3020100
shl eax, 3
mov dword [ebp - 0x208], eax
mov eax, esi
neg eax
mov dword [ebp - 0xac], 0x3020100
shl eax, 2
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x2a4]
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 - 0x30], 0x3020100
mov dword [ebp - 0x2c], 0x3020100
mov dword [ebp - 0x28], 0x3020100
mov dword [ebp - 0x24], 0x3020100
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0x4040404
mov dword [ebp - 0x18], 0x8080808
mov dword [ebp - 0x14], 0xc0c0c0c
mov dword [ebp - 0x50], 0x3020100
mov dword [ebp - 0x4c], 0x3020100
mov dword [ebp - 0x48], 0x3020100
mov dword [ebp - 0x44], 0x3020100
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0x4040404
mov dword [ebp - 0x38], 0x8080808
mov dword [ebp - 0x34], 0xc0c0c0c
mov dword [ebp - 0x70], 0x3020100
mov dword [ebp - 0x6c], 0x3020100
mov dword [ebp - 0x68], 0x3020100
mov dword [ebp - 0x64], 0x3020100
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0x4040404
mov dword [ebp - 0x58], 0x8080808
mov dword [ebp - 0x54], 0xc0c0c0c
mov dword [ebp - 0x90], 0x3020100
mov dword [ebp - 0x8c], 0x3020100
mov dword [ebp - 0x88], 0x3020100
mov dword [ebp - 0x84], 0x3020100
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0x4040404
mov dword [ebp - 0x78], 0x8080808
mov dword [ebp - 0x74], 0xc0c0c0c
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
mov ecx, dword [ebp - 0x204]
push 0
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x174], edi
mov edi, dword [ebp - 0x188]
imul ecx, dword [edx + 0x10]
push edi
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x184], eax
add eax, dword [ebp - 0x208]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x1e8]
mov esi, eax
add ecx, dword [ebp - 0x184]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x164], esi
call fcn.10155890
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x184]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x184]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm6, xmmword [esi]
mov dword [ebp - 0x15c], eax
movups xmm4, xmmword [eax]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [ebp - 0x230], xmm7
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x260], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x184]
movaps xmmword [ebp - 0xc0], xmm0
movups xmm3, xmmword [ecx]
mov ecx, dword [ebp - 0x158]
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x168]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x90
addps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0x154], 4
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x184]
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
mulps xmm5, xmmword [ebp - 0x260]
mulps xmm1, xmmword [ebp - 0x1d0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x160]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm4
mulps xmm3, xmmword [ebp - 0x1e0]
mulps xmm0, xmm7
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm3
shufps xmm4, xmm4, 0x41
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mulps xmm1, xmmword [ebp - 0xd0]
addps xmm4, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
mulps xmm4, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm6
shufps xmm6, xmm6, 0x41
mulps xmm0, xmm7
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1e0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0xc0]
addps xmm5, xmm2
movups xmmword [edi], xmm5
mov edi, dword [ebp - 0x174]
cmp edi, 0xa
jb 0x10118355
mov edi, dword [ebp - 0x158]
lea esi, [ecx + 0x18]
sub edi, dword [ebp - 0x184]
mov dword [ebp - 0x1bc], edi
mov edi, dword [ebp - 0x168]
sub edi, dword [ebp - 0x184]
mov dword [ebp - 0x1e4], edi
mov edi, dword [ebp - 0x164]
sub edi, dword [ebp - 0x184]
mov dword [ebp - 0x1b8], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x184]
mov dword [ebp - 0x180], edi
mov edi, dword [ebp - 0x168]
sub edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1c0], edi
add eax, 0x10
mov edi, dword [ebp - 0x164]
sub edi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x1a8], edi
add ecx, 0x14
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x158]
movaps xmm5, xmmword [ebp - 0x1d0]
movaps xmm6, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x16c], edi
mov edi, dword [ebp - 0x164]
sub edi, dword [ebp - 0x168]
mov dword [ebp - 0x214], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x168]
mov dword [ebp - 0x210], edi
mov edi, dword [ebp - 0x164]
sub edi, dword [ebp - 0x15c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1ac], edi
add eax, 0xc
mov edi, dword [ebp - 0x164]
sub edi, dword [ebp - 0x160]
mov dword [ebp - 0x198], 8
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1b0], edi
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ebp - 0x1e4]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1c0]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x1bc]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1b8]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
movups xmm3, xmmword [edi + ecx]
mov edi, dword [ebp - 0x1ac]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x260]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1b0]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [eax + edi]
mov edi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x17c]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x214]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0xd0]
addps xmm3, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x180]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [eax]
movups xmm2, xmmword [edi + ecx]
mov edi, dword [ebp - 0x16c]
mulps xmm1, xmm6
addps xmm2, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm3, xmm1
movups xmm1, xmmword [edi + edx]
mov edi, dword [ebp - 0x210]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + esi]
mov edi, dword [ebp - 0x170]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0xc0]
addps xmm4, xmm3
add dword [ebp - 0x154], 4
add eax, 0x10
add dword [ebp - 0x170], 0x10
add ecx, 0x10
mov dword [ebp - 0x17c], eax
add edx, 0x10
mov eax, dword [ebp - 0x198]
add esi, 0x10
add eax, 4
movups xmmword [edi], xmm4
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x198], eax
xor eax, eax
add dword [ebp - 0x178], 2
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x17c]
jb 0x101181a0
ja 0x10118343
cmp dword [ebp - 0x178], edi
jbe 0x101181a0
mov esi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x15c]
movaps xmm5, xmmword [0x10207c30]
mov edx, dword [ebp - 0x184]
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0xa0]
movups xmm1, xmmword [edx + edi*4 - 0x10]
mov edx, dword [ebp - 0x158]
psllw xmm0, 2
movups xmm3, xmmword [esi + edi*4 - 0x10]
mov esi, dword [ebp - 0x154]
paddb xmm0, xmmword [ebp - 0xb0]
pshufb xmm1, xmm0
movups xmm6, xmmword [edx + edi*4 - 0x10]
movaps xmm0, xmm5
movaps xmmword [ebp - 0x250], xmm1
pshufb xmm0, xmmword [ebp - 0x20]
movups xmm1, xmmword [ecx + edi*4 - 0x10]
psllw xmm0, 2
movaps xmm7, xmm6
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0x30]
pshufb xmm7, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x40]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x50]
pshufb xmm2, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x60]
pshufb xmm5, xmmword [ebp - 0x80]
psllw xmm0, 2
psllw xmm5, 2
paddb xmm0, xmmword [ebp - 0x70]
paddb xmm5, xmmword [ebp - 0x90]
pshufb xmm3, xmm0
movups xmm0, xmmword [ecx + esi*4]
movaps xmmword [ebp - 0x240], xmm3
movups xmm3, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x230]
movaps xmm4, xmm3
pshufb xmm4, xmm5
movups xmm5, xmmword [ecx + esi*4 - 4]
addps xmm5, xmm1
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + esi*4 - 8]
mov ecx, esi
addps xmm0, xmm2
movaps xmm2, xmmword [ebp - 0x1e0]
movups xmm1, xmmword [edx + ecx*4 - 4]
mulps xmm0, xmm2
addps xmm1, xmm6
movaps xmm6, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm0, xmm6
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
mov edx, dword [ebp - 0x184]
addps xmm0, xmm7
movaps xmm7, xmmword [ebp - 0x1d0]
mulps xmm0, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [edx + edi*4 - 0x10]
addps xmm5, xmm1
movups xmm1, xmmword [edx + ecx*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm5, xmmword [ebp - 0x260]
mulps xmm0, xmm6
mulps xmm1, xmm7
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
addps xmm0, xmmword [ebp - 0x250]
mulps xmm0, xmm2
movups xmm2, xmmword [eax + ecx*4 - 4]
addps xmm1, xmm0
addps xmm2, xmm3
mulps xmm1, xmmword [ebp - 0xd0]
mulps xmm2, xmm7
addps xmm5, xmm1
movups xmm0, xmmword [eax + ecx*4]
mov esi, dword [ebp - 0x164]
mulps xmm0, xmm6
movups xmm1, xmmword [esi + ecx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [eax + ecx*4 - 8]
mov eax, dword [ebp - 0x160]
addps xmm0, xmm4
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm2, xmm0
movups xmm0, xmmword [esi + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [esi + ecx*4]
mulps xmm0, xmm6
mulps xmm1, xmm7
addps xmm1, xmm0
movups xmm0, xmmword [esi + ecx*4 - 8]
mov esi, ecx
addps xmm0, xmmword [ebp - 0x240]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0xc0]
addps xmm5, xmm2
movups xmmword [eax + esi*4], xmm5
add esi, 4
mov dword [ebp - 0x154], esi
cmp esi, edi
jae 0x101186ff
mov eax, 0xfffffffe
or edx, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x198], edx
nop dword [eax]
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x188]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x184]
imul eax, edx
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x174], ecx
cmp ecx, eax
jae 0x101185cb
sub eax, ecx
mov ecx, dword [ebp - 0x1f8]
sar eax, 2
sub eax, edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x174], eax
jmp 0x101185ed
mov eax, dword [ebp - 0x1f4]
cmp ecx, eax
jbe 0x101185ed
sub ecx, eax
mov eax, edx
mov edx, dword [ebp - 0x1f4]
sar ecx, 2
sub eax, ecx
lea ecx, [edx + eax*4]
mov dword [ebp - 0x174], ecx
mov eax, 0xfffffffe
or edx, 0xffffffff
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x170], edx
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
add ecx, ecx
mov edx, esi
add edx, dword [ebp - 0x178]
mov esi, 0
adc esi, dword [ebp - 0x170]
movss xmm0, dword [eax + ecx*8]
nop dword [eax]
test esi, esi
jl 0x1011865e
jg 0x1011863a
test edx, edx
jb 0x1011865e
xor ecx, ecx
cmp esi, ecx
jl 0x10118664
jg 0x10118646
cmp edx, edi
jb 0x10118664
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 0x10118630
not edx
not esi
jmp 0x10118630
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x154]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
add eax, 1
mov dword [ebp - 0x178], eax
mulss xmm0, xmm2
adc edx, ecx
mov dword [ebp - 0x170], edx
addss xmm1, xmm0
js 0x10118601
jg 0x101186ab
cmp eax, 2
jbe 0x10118601
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x198]
add eax, 1
mov esi, dword [ebp - 0x154]
adc edx, ecx
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x198], edx
js 0x10118570
jg 0x101186df
cmp eax, 2
jbe 0x10118570
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x160]
movss dword [eax + esi*4], xmm1
inc esi
mov dword [ebp - 0x154], esi
cmp esi, edi
jb 0x10118552
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x190], edx
adc eax, 0
mov dword [ebp - 0x194], eax
cmp eax, dword [ebp - 0x1a0]
jl 0x10117e12
jg 0x10118737
cmp edx, dword [ebp - 0x20c]
jb 0x10117e12
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x288]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], edi
jmp 0x10118759
mov edi, dword [ebp - 0x184]
xor eax, eax
test eax, eax
jl 0x10118822
jg 0x1011876c
cmp edi, 4
jbe 0x10118822
mov esi, dword [ebp - 0x19c]
sub edi, 2
mov ecx, dword [ebp - 0x204]
sbb eax, 0
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0x10]
shr eax, 2
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x308], eax
lea eax, [ebp - 0x2a0]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x2b4]
push str.Convolve
mov dword [ebp - 0x2f8], eax
lea eax, [ebp - 0x308]
push eax
push 0x10040610
push edi
push 2
push dword [ebp - 0x18c]
lea eax, [ebp - 0x328]
mov dword [ebp - 0x29c], 0
push eax
mov dword [ebp - 0x304], esi
call fcn.1013c470
add esp, 0x1c
cmp dword [eax], 0
jne 0x1011a011
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x288]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x184], edi
jmp 0x10118828
mov esi, dword [ebp - 0x19c]
test eax, eax
jl 0x1011ab94
jg 0x1011883b
cmp edi, 2
jbe 0x1011ab94
mov eax, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1f8]
mov esi, dword [esi + 0x10]
shr esi, 2
mov dword [ebp - 0x188], esi
push dword [eax + 0xc]
mov eax, dword [ebp - 0x19c]
push eax
call fcn.100eba00
mov eax, dword [ebp - 0x164]
mov edx, edi
sub edx, 2
mov dword [ebp - 0x1a0], edx
sbb eax, 0
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x164]
jg 0x1011ab94
jl 0x10118892
cmp edx, edi
jae 0x1011ab94
mov eax, esi
mov dword [ebp - 0x80], 0x3020100
neg eax
mov dword [ebp - 0x7c], 0x3020100
shl eax, 3
mov dword [ebp - 0x20c], eax
mov eax, esi
neg eax
mov dword [ebp - 0x78], 0x3020100
shl eax, 2
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x74], 0x3020100
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0x4040404
mov dword [ebp - 0x88], 0x8080808
mov dword [ebp - 0x84], 0xc0c0c0c
mov dword [ebp - 0x60], 0x3020100
mov dword [ebp - 0x5c], 0x3020100
mov dword [ebp - 0x58], 0x3020100
mov dword [ebp - 0x54], 0x3020100
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0x4040404
mov dword [ebp - 0x68], 0x8080808
mov dword [ebp - 0x64], 0xc0c0c0c
mov dword [ebp - 0x40], 0x3020100
mov dword [ebp - 0x3c], 0x3020100
mov dword [ebp - 0x38], 0x3020100
mov dword [ebp - 0x34], 0x3020100
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0x4040404
mov dword [ebp - 0x48], 0x8080808
mov dword [ebp - 0x44], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x4040404
mov dword [ebp - 0x28], 0x8080808
mov dword [ebp - 0x24], 0xc0c0c0c
mov dword [ebp - 0xa0], 0x3020100
mov dword [ebp - 0x9c], 0x3020100
mov dword [ebp - 0x98], 0x3020100
mov dword [ebp - 0x94], 0x3020100
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0x4040404
mov dword [ebp - 0xa8], 0x8080808
mov dword [ebp - 0xa4], 0xc0c0c0c
nop dword [eax + eax]
mov ecx, dword [ebp - 0x204]
push 0
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x174], edi
mov edi, dword [ebp - 0x188]
imul ecx, dword [edx + 0x10]
push edi
lea eax, [ecx + eax*4]
add eax, dword [edx + 0x14]
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x154], eax
add eax, dword [ebp - 0x20c]
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x210]
mov esi, eax
add ecx, dword [ebp - 0x154]
push 0
push edi
push ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x15c], esi
call fcn.10155890
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*4]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x154]
push 0
push edi
lea ecx, [eax + edi*8]
push ecx
lea ecx, [ebp - 0x1f8]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm6, xmmword [esi]
mov dword [ebp - 0x160], eax
movups xmm4, xmmword [eax]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [ebp - 0x230], xmm7
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x260], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x154]
movaps xmmword [ebp - 0xc0], xmm0
movups xmm3, xmmword [ecx]
mov ecx, dword [ebp - 0x16c]
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x168]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x90
addps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
mov edi, dword [ebp - 0x16c]
mov dword [ebp - 0x158], 4
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x154]
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
mulps xmm5, xmmword [ebp - 0x260]
mulps xmm1, xmmword [ebp - 0x1d0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x180]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm4
mulps xmm3, xmmword [ebp - 0x1e0]
mulps xmm0, xmm7
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm3
shufps xmm4, xmm4, 0x41
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mulps xmm1, xmmword [ebp - 0xd0]
addps xmm4, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
mulps xmm4, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm6
shufps xmm6, xmm6, 0x41
mulps xmm0, xmm7
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1e0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0xc0]
addps xmm5, xmm2
movups xmmword [edi], xmm5
mov edi, dword [ebp - 0x174]
cmp edi, 0xa
jb 0x10118f26
mov edi, dword [ebp - 0x16c]
lea esi, [ecx + 0x18]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x1e4], edi
mov edi, dword [ebp - 0x168]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x208], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x1bc], edi
mov edi, dword [ebp - 0x160]
sub edi, dword [ebp - 0x154]
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x168]
sub edi, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1e8], edi
add eax, 0x10
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x1b0], edi
add ecx, 0x14
mov edi, dword [ebp - 0x160]
sub edi, dword [ebp - 0x16c]
movaps xmm5, xmmword [ebp - 0x1d0]
movaps xmm6, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x214], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x168]
mov dword [ebp - 0x1ac], edi
mov edi, dword [ebp - 0x160]
sub edi, dword [ebp - 0x168]
mov dword [ebp - 0x194], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x160]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1c0], edi
add eax, 0xc
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x180]
mov dword [ebp - 0x198], 8
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1b8], edi
mov edi, dword [ebp - 0x208]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [ecx + edi]
mov edi, dword [ebp - 0x1e8]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edx + edi]
mov edi, dword [ebp - 0x1e4]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [ecx + edi]
mov edi, dword [ebp - 0x1c0]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
movups xmm3, xmmword [eax + edi]
mov edi, dword [ebp - 0x1bc]
addps xmm1, xmm0
mov eax, dword [ebp - 0x1b8]
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x260]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edi]
mov edi, dword [ebp - 0x170]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x17c]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x1b0]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0xd0]
addps xmm3, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x190]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [eax]
movups xmm2, xmmword [ecx + edi]
mov edi, dword [ebp - 0x194]
mulps xmm1, xmm6
addps xmm2, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm3, xmm1
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x214]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x170]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0xc0]
addps xmm4, xmm3
add dword [ebp - 0x158], 4
add eax, 0x10
add dword [ebp - 0x170], 0x10
add ecx, 0x10
mov dword [ebp - 0x17c], eax
add edx, 0x10
mov eax, dword [ebp - 0x198]
add esi, 0x10
add eax, 4
movups xmmword [edi], xmm4
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], eax
xor eax, eax
add dword [ebp - 0x18c], 2
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x17c]
jb 0x10118d71
ja 0x10118f14
cmp dword [ebp - 0x18c], edi
jbe 0x10118d71
mov esi, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x160]
movaps xmm5, xmmword [0x10207c30]
mov edx, dword [ebp - 0x154]
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x90]
movups xmm1, xmmword [edx + edi*4 - 0x10]
mov edx, dword [ebp - 0x16c]
psllw xmm0, 2
movups xmm3, xmmword [esi + edi*4 - 0x10]
mov esi, dword [ebp - 0x158]
paddb xmm0, xmmword [ebp - 0x80]
pshufb xmm1, xmm0
movups xmm6, xmmword [edx + edi*4 - 0x10]
movaps xmm0, xmm5
movaps xmmword [ebp - 0x250], xmm1
pshufb xmm0, xmmword [ebp - 0x70]
movups xmm1, xmmword [ecx + edi*4 - 0x10]
psllw xmm0, 2
movaps xmm7, xmm6
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0x60]
pshufb xmm7, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x50]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x40]
pshufb xmm2, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x30]
pshufb xmm5, xmmword [ebp - 0xb0]
psllw xmm0, 2
psllw xmm5, 2
paddb xmm0, xmmword [ebp - 0x20]
paddb xmm5, xmmword [ebp - 0xa0]
pshufb xmm3, xmm0
movups xmm0, xmmword [ecx + esi*4]
movaps xmmword [ebp - 0x240], xmm3
movups xmm3, xmmword [eax + edi*4 - 0x10]
mulps xmm0, xmmword [ebp - 0x230]
movaps xmm4, xmm3
pshufb xmm4, xmm5
movups xmm5, xmmword [ecx + esi*4 - 4]
addps xmm5, xmm1
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + esi*4 - 8]
mov ecx, esi
addps xmm0, xmm2
movaps xmm2, xmmword [ebp - 0x1e0]
movups xmm1, xmmword [edx + ecx*4 - 4]
mulps xmm0, xmm2
addps xmm1, xmm6
movaps xmm6, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm0, xmm6
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
mov edx, dword [ebp - 0x154]
addps xmm0, xmm7
movaps xmm7, xmmword [ebp - 0x1d0]
mulps xmm0, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [edx + edi*4 - 0x10]
addps xmm5, xmm1
movups xmm1, xmmword [edx + ecx*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm5, xmmword [ebp - 0x260]
mulps xmm0, xmm6
mulps xmm1, xmm7
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
addps xmm0, xmmword [ebp - 0x250]
mulps xmm0, xmm2
movups xmm2, xmmword [eax + ecx*4 - 4]
addps xmm1, xmm0
addps xmm2, xmm3
mulps xmm1, xmmword [ebp - 0xd0]
mulps xmm2, xmm7
addps xmm5, xmm1
movups xmm0, xmmword [eax + ecx*4]
mov esi, dword [ebp - 0x15c]
mulps xmm0, xmm6
movups xmm1, xmmword [esi + ecx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [eax + ecx*4 - 8]
mov eax, dword [ebp - 0x180]
addps xmm0, xmm4
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm2, xmm0
movups xmm0, xmmword [esi + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [esi + ecx*4]
mulps xmm0, xmm6
mulps xmm1, xmm7
addps xmm1, xmm0
movups xmm0, xmmword [esi + ecx*4 - 8]
addps xmm0, xmmword [ebp - 0x240]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0xc0]
addps xmm5, xmm2
movups xmmword [eax + ecx*4], xmm5
add ecx, 4
mov dword [ebp - 0x158], ecx
cmp ecx, edi
jae 0x101192ab
mov esi, 0xfffffffe
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x194], eax
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x188]
add ecx, 3
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, esi
mov ecx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x1f8]
imul eax, edx
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x174], ecx
cmp ecx, esi
jae 0x10119189
mov eax, esi
sub eax, ecx
sar eax, 2
sub eax, edx
lea eax, [esi + eax*4]
mov dword [ebp - 0x174], eax
jmp 0x101191a5
mov esi, dword [ebp - 0x1f4]
cmp ecx, esi
jbe 0x101191a5
sub ecx, esi
mov eax, edx
sar ecx, 2
sub eax, ecx
lea ecx, [esi + eax*4]
mov dword [ebp - 0x174], ecx
mov eax, 0xfffffffe
or esi, 0xffffffff
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], esi
nop dword [eax]
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
mov eax, dword [ebp - 0x1a4]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x18c]
add ecx, ecx
add edx, dword [ebp - 0x158]
adc esi, 0
movss xmm0, dword [eax + ecx*8]
test esi, esi
jl 0x10119215
jg 0x101191f1
test edx, edx
jb 0x10119215
xor ecx, ecx
cmp esi, ecx
jl 0x1011921b
jg 0x101191fd
cmp edx, edi
jb 0x1011921b
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 0x101191e7
not edx
not esi
jmp 0x101191e7
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x198]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x18c]
add eax, 1
mov dword [ebp - 0x18c], eax
mulss xmm0, xmm2
adc esi, ecx
mov dword [ebp - 0x198], esi
addss xmm1, xmm0
js 0x101191c0
jg 0x1011925c
cmp eax, 2
jbe 0x101191c0
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
add esi, 1
mov dword [ebp - 0x190], esi
adc eax, 0
mov dword [ebp - 0x194], eax
js 0x10119138
jg 0x1011928b
cmp esi, 2
jbe 0x10119138
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x180]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x158], eax
cmp eax, edi
jb 0x10119121
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a0], edx
adc eax, 0
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x164]
jl 0x101189f0
jg 0x1011ab94
cmp edx, dword [ebp - 0x184]
jb 0x101189f0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101e8c02
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebp - 0x188], ecx
cmp esi, 2
jae 0x1011930f
mov edx, esi
mov dword [ebp - 0x1bc], esi
jmp 0x1011931a
mov edx, 2
mov dword [ebp - 0x1bc], edx
mov eax, dword [edi + 0x10]
dec esi
mov edi, dword [edi + 0x14]
mov ecx, eax
imul esi, eax
xorps xmm0, xmm0
shr ecx, 2
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x15c], edi
movlpd qword [ebp - 0x2a0], xmm0
add esi, edi
cmp dword [ebp - 0x188], 0
mov dword [ebp - 0x178], esi
jl 0x10119f4d
jg 0x1011935f
test edx, edx
je 0x10119f4d
mov eax, ecx
mov dword [ebp - 0x80], 0x3020100
neg eax
mov dword [ebp - 0x7c], 0x3020100
shl eax, 3
mov dword [ebp - 0x20c], eax
mov eax, ecx
neg eax
mov dword [ebp - 0x78], 0x3020100
shl eax, 2
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x74], 0x3020100
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0x4040404
mov dword [ebp - 0x88], 0x8080808
mov dword [ebp - 0x84], 0xc0c0c0c
mov dword [ebp - 0x60], 0x3020100
mov dword [ebp - 0x5c], 0x3020100
mov dword [ebp - 0x58], 0x3020100
mov dword [ebp - 0x54], 0x3020100
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0x4040404
mov dword [ebp - 0x68], 0x8080808
mov dword [ebp - 0x64], 0xc0c0c0c
mov dword [ebp - 0x40], 0x3020100
mov dword [ebp - 0x3c], 0x3020100
mov dword [ebp - 0x38], 0x3020100
mov dword [ebp - 0x34], 0x3020100
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0x4040404
mov dword [ebp - 0x48], 0x8080808
mov dword [ebp - 0x44], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x4040404
mov dword [ebp - 0x28], 0x8080808
mov dword [ebp - 0x24], 0xc0c0c0c
mov dword [ebp - 0xa0], 0x3020100
mov dword [ebp - 0x9c], 0x3020100
mov dword [ebp - 0x98], 0x3020100
mov dword [ebp - 0x94], 0x3020100
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0x4040404
mov dword [ebp - 0xa8], 0x8080808
mov dword [ebp - 0xa4], 0xc0c0c0c
mov dword [ebp - 0x130], 0x3020100
mov dword [ebp - 0x12c], 0x3020100
mov dword [ebp - 0x128], 0x3020100
mov dword [ebp - 0x124], 0x3020100
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0x4040404
mov dword [ebp - 0x118], 0x8080808
mov dword [ebp - 0x114], 0xc0c0c0c
mov dword [ebp - 0xf0], 0x3020100
mov dword [ebp - 0xec], 0x3020100
mov dword [ebp - 0xe8], 0x3020100
mov dword [ebp - 0xe4], 0x3020100
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0x4040404
mov dword [ebp - 0x108], 0x8080808
mov dword [ebp - 0x104], 0xc0c0c0c
mov dword [ebp - 0x100], 0x3020100
mov dword [ebp - 0xfc], 0x3020100
mov dword [ebp - 0xf8], 0x3020100
mov dword [ebp - 0xf4], 0x3020100
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0x4040404
mov dword [ebp - 0xd8], 0x8080808
mov dword [ebp - 0xd4], 0xc0c0c0c
mov dword [ebp - 0x150], 0x3020100
mov dword [ebp - 0x14c], 0x3020100
mov dword [ebp - 0x148], 0x3020100
mov dword [ebp - 0x144], 0x3020100
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0x4040404
mov dword [ebp - 0x138], 0x8080808
mov dword [ebp - 0x134], 0xc0c0c0c
mov dword [ebp - 0xd0], 0x3020100
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
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 - 0x1b8], eax
mov dword [ebp - 0x1ac], edx
nop dword [eax]
mov ecx, dword [ebp - 0x204]
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x16c], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1b0], eax
add ecx, edx
mov eax, dword [ebp - 0x19c]
imul ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax]
lea edx, [ecx + eax*4]
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x20c]
add edx, dword [eax + 0x14]
add ecx, edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x160], ecx
cmp ecx, edi
jae 0x101196d1
mov eax, edi
sub eax, ecx
sar eax, 2
sub eax, dword [ebp - 0x164]
lea ecx, [edi + eax*4]
jmp 0x101196e5
cmp ecx, esi
jbe 0x101196eb
mov eax, dword [ebp - 0x164]
sub ecx, esi
sar ecx, 2
sub eax, ecx
lea ecx, [esi + eax*4]
mov dword [ebp - 0x160], ecx
add edx, dword [ebp - 0x210]
mov dword [ebp - 0x158], edx
cmp edx, edi
jae 0x1011970d
mov eax, edi
sub eax, edx
sar eax, 2
sub eax, dword [ebp - 0x164]
lea edx, [edi + eax*4]
jmp 0x10119721
cmp edx, esi
jbe 0x10119727
mov eax, dword [ebp - 0x164]
sub edx, esi
sar edx, 2
sub eax, edx
lea edx, [esi + eax*4]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x154]
mov edi, dword [ebp - 0x164]
lea edi, [eax + edi*4]
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x180], edi
cmp edi, eax
jae 0x1011975e
mov esi, dword [ebp - 0x15c]
sub eax, edi
sar eax, 2
sub eax, dword [ebp - 0x164]
lea edi, [esi + eax*4]
mov eax, esi
jmp 0x10119778
cmp edi, esi
jbe 0x1011977e
mov eax, dword [ebp - 0x164]
sub edi, esi
sar edi, 2
sub eax, edi
lea edi, [esi + eax*4]
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x180], edi
mov edx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x154]
lea esi, [esi + edx*8]
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x17c], esi
cmp esi, eax
jae 0x101197b3
sub eax, esi
mov esi, dword [ebp - 0x15c]
sar eax, 2
sub eax, dword [ebp - 0x164]
lea esi, [esi + eax*4]
jmp 0x101197d9
mov eax, dword [ebp - 0x178]
cmp esi, eax
jbe 0x101197df
mov ecx, dword [ebp - 0x178]
sub esi, eax
mov eax, dword [ebp - 0x164]
sar esi, 2
sub eax, esi
lea esi, [ecx + eax*4]
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x17c], esi
mov eax, dword [ebp - 0x1a4]
movups xmm1, xmmword [edi]
movups xmm2, xmmword [edx]
add edx, 8
movups xmm0, xmmword [eax + 0x10]
movups xmm7, xmmword [eax]
movaps xmmword [ebp - 0x1d0], xmm0
movaps xmm5, xmm1
movups xmm0, xmmword [eax + 0x20]
shufps xmm5, xmm1, 0x90
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmm4, xmmword [esi]
movaps xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmm6, xmmword [ecx]
movaps xmmword [ebp - 0x260], xmm0
movups xmm0, xmmword [eax + 0x50]
mov eax, dword [ebp - 0x154]
movaps xmmword [ebp - 0x230], xmm7
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [edi + 4]
movups xmm3, xmmword [eax]
mov eax, dword [ebp - 0x158]
addps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [edi + 8]
mov edi, dword [ebp - 0x154]
addps xmm1, xmm0
movups xmm0, xmmword [eax + 4]
mulps xmm1, xmmword [ebp - 0x1e0]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
mulps xmm5, xmmword [ebp - 0x260]
mulps xmm1, xmmword [ebp - 0x1d0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 4]
addps xmm2, xmm0
movaps xmm0, xmm4
mulps xmm3, xmmword [ebp - 0x1e0]
mulps xmm0, xmm7
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm3
shufps xmm4, xmm4, 0x41
addps xmm2, xmm0
movups xmm0, xmmword [esi + 8]
mulps xmm1, xmmword [ebp - 0x240]
addps xmm4, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
mulps xmm4, xmmword [ebp - 0x1e0]
addps xmm2, xmm4
cmp dword [ebp - 0x1b0], 0xa
addps xmm1, xmm0
movaps xmm0, xmm6
mov edi, dword [ebp - 0x16c]
mulps xmm0, xmm7
mov dword [ebp - 0x168], 4
shufps xmm6, xmm6, 0x41
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1e0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x250]
addps xmm5, xmm2
movups xmmword [edi], xmm5
mov edi, dword [ebp - 0x180]
jb 0x10119c3f
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x214], eax
add ecx, 0x10
mov eax, dword [ebp - 0x154]
sub dword [ebp - 0x214], eax
mov dword [ebp - 0x174], edi
sub dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x160]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x170], ecx
lea ecx, [esi + 0xc]
mov esi, dword [ebp - 0x17c]
mov dword [ebp - 0x1e4], eax
mov eax, esi
sub eax, dword [ebp - 0x154]
movaps xmm5, xmmword [ebp - 0x1d0]
movaps xmm6, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x264], eax
mov eax, edi
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x208], ecx
lea ecx, [edi + 0x18]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x160]
mov edi, eax
sub edi, dword [ebp - 0x158]
mov dword [ebp - 0x268], edi
mov edi, esi
sub edi, dword [ebp - 0x158]
mov dword [ebp - 0x1f4], edi
mov edi, dword [ebp - 0x180]
mov dword [ebp - 0x1a8], eax
sub dword [ebp - 0x1a8], edi
mov dword [ebp - 0x1a0], esi
sub dword [ebp - 0x1a0], edi
mov edi, eax
mov dword [ebp - 0x194], ecx
sub edi, esi
mov ecx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x194]
add ecx, 0x14
sub eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1c0], edi
mov edi, dword [ebp - 0x208]
mov dword [ebp - 0x198], 8
mov dword [ebp - 0x26c], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x174]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1e8]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x214]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1e4]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
mov esi, dword [ebp - 0x26c]
movups xmm3, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1c0]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x260]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi]
mov eax, dword [ebp - 0x170]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [esi + eax]
mov eax, dword [ebp - 0x268]
mov esi, dword [ebp - 0x194]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1a8]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x240]
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x264]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [edi]
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1f4]
mulps xmm1, xmm6
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
addps xmm3, xmm1
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1a0]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x170]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x250]
addps xmm4, xmm3
add dword [ebp - 0x168], 4
add esi, 0x10
add dword [ebp - 0x170], 0x10
add ecx, 0x10
movups xmmword [eax], xmm4
add edx, 0x10
mov eax, dword [ebp - 0x198]
add edi, 0x10
add eax, 4
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x198], eax
xor eax, eax
add dword [ebp - 0x190], 2
adc eax, eax
test eax, eax
jb 0x10119a90
ja 0x10119c2d
mov eax, dword [ebp - 0x1b0]
cmp dword [ebp - 0x190], eax
jbe 0x10119a90
mov edi, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x158]
movups xmm5, xmmword [0x10207c34]
mov esi, dword [ebp - 0x168]
mov edx, dword [ebp - 0x154]
movaps xmm3, xmmword [0x10207c30]
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x90]
movups xmm1, xmmword [edx + esi*4]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x80]
pshufb xmm1, xmm0
movaps xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0x350], xmm1
movups xmm1, xmmword [edx + esi*4]
mov edx, dword [ebp - 0x168]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x60]
pshufb xmm1, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x340], xmm1
movups xmm1, xmmword [eax + esi*4]
psllw xmm0, 2
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0x40]
pshufb xmm2, xmm0
movaps xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0x30]
movaps xmmword [ebp - 0x220], xmm2
psllw xmm0, 2
movups xmm2, xmmword [edi + esi*4]
paddb xmm0, xmmword [ebp - 0x20]
pshufb xmm1, xmm0
movaps xmm0, xmm5
movaps xmm7, xmm2
pshufb xmm0, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x200], xmm1
movaps xmm1, xmm2
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0xa0]
pshufb xmm7, xmm0
movaps xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0x120]
movups xmm3, xmmword [ecx + esi*4]
mov esi, dword [ebp - 0x17c]
psllw xmm0, 2
movaps xmm4, xmm3
paddb xmm0, xmmword [ebp - 0x130]
pshufb xmm1, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x110]
movups xmm5, xmmword [esi + edx*4]
psllw xmm0, 2
movaps xmm6, xmm5
paddb xmm0, xmmword [ebp - 0xf0]
pshufb xmm4, xmm0
movaps xmmword [ebp - 0x370], xmm4
movaps xmm4, xmmword [0x10207c30]
movaps xmm0, xmm4
pshufb xmm0, xmmword [ebp - 0xe0]
pshufb xmm4, xmmword [ebp - 0xc0]
psllw xmm0, 2
psllw xmm4, 2
paddb xmm0, xmmword [ebp - 0x100]
paddb xmm4, xmmword [ebp - 0xd0]
pshufb xmm3, xmm0
movups xmm0, xmmword [0x10207c34]
movaps xmmword [ebp - 0x360], xmm3
movaps xmm3, xmm5
pshufb xmm0, xmmword [ebp - 0x140]
pshufb xmm3, xmm4
movups xmm4, xmmword [edi + edx*4 - 4]
psllw xmm0, 2
addps xmm4, xmm1
paddb xmm0, xmmword [ebp - 0x150]
pshufb xmm6, xmm0
movaps xmm0, xmmword [ebp - 0x230]
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm2
addps xmm4, xmm0
movups xmm0, xmmword [edi + edx*4 - 8]
addps xmm0, xmm7
mov edi, edx
movaps xmm7, xmmword [ebp - 0x230]
mov edx, dword [ebp - 0x154]
movups xmm1, xmmword [eax + edi*4 - 4]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmmword [ebp - 0x200]
movups xmm2, xmmword [eax + edi*4]
addps xmm4, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm2
mulps xmm1, xmmword [ebp - 0x1d0]
movups xmm2, xmmword [edx + edi*4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi*4 - 8]
mov eax, dword [ebp - 0x16c]
addps xmm0, xmmword [ebp - 0x220]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm2
movups xmm2, xmmword [esi + edi*4 - 4]
addps xmm4, xmm1
movups xmm1, xmmword [edx + edi*4 - 4]
addps xmm2, xmm3
addps xmm1, xmmword [ebp - 0x340]
mulps xmm4, xmmword [ebp - 0x260]
mulps xmm2, xmmword [ebp - 0x1d0]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edx + edi*4 - 8]
mov edx, dword [ebp - 0x1ac]
add edx, 1
addps xmm0, xmmword [ebp - 0x350]
mov dword [ebp - 0x1ac], edx
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm5
mulps xmm1, xmmword [ebp - 0x240]
addps xmm2, xmm0
movups xmm0, xmmword [esi + edi*4 - 8]
mov esi, dword [ebp - 0x178]
addps xmm4, xmm1
movups xmm1, xmmword [ecx + edi*4 - 4]
addps xmm0, xmm6
addps xmm1, xmmword [ebp - 0x360]
mulps xmm0, xmmword [ebp - 0x1e0]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + edi*4]
mulps xmm7, xmm0
movups xmm0, xmmword [ecx + edi*4 - 8]
addps xmm0, xmmword [ebp - 0x370]
addps xmm1, xmm7
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x250]
addps xmm4, xmm2
movups xmmword [eax + edi*4], xmm4
mov eax, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x15c]
adc eax, 0
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x188]
jl 0x10119660
jg 0x10119f4d
cmp edx, dword [ebp - 0x1bc]
jb 0x10119660
mov esi, dword [ebp - 0x184]
cmp esi, 4
jbe 0x1011a020
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ecx + 0x10]
shr eax, 2
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x30c], eax
lea eax, [esi - 2]
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x318], ecx
test edx, edx
jne 0x10119fdd
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x290], fcn.100de9e0
mov dword [ebp - 0x28c], ecx
push str.Convolve
lea ecx, [ebp - 0x31c]
test edx, edx
push ecx
push 0x10040610
push eax
push 2
lea eax, [ebp - 0x2ac]
lea ecx, [ebp - 0x290]
push eax
cmovne ecx, edx
call fcn.100ecb90
cmp dword [ebp - 0x2ac], 0
je 0x1011a029
push str.RunOnPool__pool__ybegin__yend__ThreadPool::NoInit_____const_uint32_t_y__size_t___HWY_ATTR__RunRow_kSizeModN__rect.ConstRow_in__y___rect.xsize____stride__WrapRowUnchanged____weights__out__Row_y_______Convolve__
push 0x350
jmp 0x1011abb1
cmp esi, 2
jbe 0x1011ab94
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0xc0], 0x3020100
mov dword [ebp - 0xbc], 0x3020100
mov dword [ebp - 0xb8], 0x3020100
mov edx, dword [eax + 0x10]
mov edi, edx
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1b4]
shr edi, 2
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x218], ecx
mov eax, dword [eax + 0xc]
dec eax
mov dword [ebp - 0xb4], 0x3020100
imul eax, edx
mov edx, esi
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0x4040404
mov dword [ebp - 0xc8], 0x8080808
mov dword [ebp - 0xc4], 0xc0c0c0c
add eax, ecx
mov dword [ebp - 0x140], 0x3020100
mov dword [ebp - 0x214], eax
sub edx, 2
mov eax, 0
mov dword [ebp - 0x1b0], edx
sbb eax, eax
mov dword [ebp - 0x13c], 0x3020100
mov dword [ebp - 0x198], eax
mov eax, edi
neg eax
mov dword [ebp - 0x138], 0x3020100
shl eax, 3
mov dword [ebp - 0x1f4], eax
mov eax, edi
neg eax
mov dword [ebp - 0x134], 0x3020100
shl eax, 2
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0x4040404
mov dword [ebp - 0x148], 0x8080808
mov dword [ebp - 0x144], 0xc0c0c0c
mov dword [ebp - 0xe0], 0x3020100
mov dword [ebp - 0xdc], 0x3020100
mov dword [ebp - 0xd8], 0x3020100
mov dword [ebp - 0xd4], 0x3020100
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0x4040404
mov dword [ebp - 0xf8], 0x8080808
mov dword [ebp - 0xf4], 0xc0c0c0c
mov dword [ebp - 0x110], 0x3020100
mov dword [ebp - 0x10c], 0x3020100
mov dword [ebp - 0x108], 0x3020100
mov dword [ebp - 0x104], 0x3020100
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0x4040404
mov dword [ebp - 0xe8], 0x8080808
mov dword [ebp - 0xe4], 0xc0c0c0c
mov dword [ebp - 0x120], 0x3020100
mov dword [ebp - 0x11c], 0x3020100
mov dword [ebp - 0x118], 0x3020100
mov dword [ebp - 0x114], 0x3020100
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0x4040404
mov dword [ebp - 0x128], 0x8080808
mov dword [ebp - 0x124], 0xc0c0c0c
mov dword [ebp - 0x80], 0x3020100
mov dword [ebp - 0x7c], 0x3020100
mov dword [ebp - 0x78], 0x3020100
mov dword [ebp - 0x74], 0x3020100
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0x4040404
mov dword [ebp - 0x88], 0x8080808
mov dword [ebp - 0x84], 0xc0c0c0c
mov dword [ebp - 0x60], 0x3020100
mov dword [ebp - 0x5c], 0x3020100
mov dword [ebp - 0x58], 0x3020100
mov dword [ebp - 0x54], 0x3020100
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0x4040404
mov dword [ebp - 0x68], 0x8080808
mov dword [ebp - 0x64], 0xc0c0c0c
mov dword [ebp - 0x40], 0x3020100
mov dword [ebp - 0x3c], 0x3020100
mov dword [ebp - 0x38], 0x3020100
mov dword [ebp - 0x34], 0x3020100
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0x4040404
mov dword [ebp - 0x48], 0x8080808
mov dword [ebp - 0x44], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x4040404
mov dword [ebp - 0x28], 0x8080808
mov dword [ebp - 0x24], 0xc0c0c0c
mov dword [ebp - 0xa0], 0x3020100
mov dword [ebp - 0x9c], 0x3020100
mov dword [ebp - 0x98], 0x3020100
mov dword [ebp - 0x94], 0x3020100
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0x4040404
mov dword [ebp - 0xa8], 0x8080808
mov dword [ebp - 0xa4], 0xc0c0c0c
nop dword [eax]
mov ecx, dword [ebp - 0x204]
mov esi, dword [ebp - 0x1b4]
push 0
push edi
mov eax, dword [ecx + 0x10]
imul eax, edx
add eax, dword [ecx + 0x14]
mov ecx, dword [esi + 4]
add ecx, edx
mov dword [ebp - 0x18c], eax
mov edx, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [ebp - 0x1ac], eax
mov eax, dword [esi]
imul ecx, dword [edx + 0x10]
lea esi, [ecx + eax*4]
mov eax, dword [ebp - 0x1f4]
add esi, dword [edx + 0x14]
lea ecx, [ebp - 0x218]
add eax, esi
mov dword [ebp - 0x168], esi
push eax
call fcn.10155890
mov ecx, dword [ebp - 0x264]
mov edi, eax
push 0
push dword [ebp - 0x180]
add ecx, esi
mov dword [ebp - 0x16c], edi
push ecx
lea ecx, [ebp - 0x218]
call fcn.10155890
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x180]
push 0
push eax
lea ecx, [esi + eax*4]
push ecx
lea ecx, [ebp - 0x218]
call fcn.10155890
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x180]
push 0
push eax
lea ecx, [esi + eax*8]
push ecx
lea ecx, [ebp - 0x218]
call fcn.10155890
mov ecx, dword [ebp - 0x1a4]
movups xmm3, xmmword [esi]
mov dword [ebp - 0x164], eax
movups xmm6, xmmword [edi]
movups xmm0, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmm4, xmmword [eax]
movaps xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [ecx + 0x30]
movaps xmmword [ebp - 0x260], xmm7
movaps xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [ecx + 0x40]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [ecx + 0x50]
mov ecx, dword [ebp - 0x158]
movaps xmmword [ebp - 0x230], xmm0
movups xmm2, xmmword [ecx]
lea edx, [ecx + 8]
mov ecx, dword [ebp - 0x15c]
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [ecx + 4]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x90
addps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
shufps xmm1, xmm1, 0x41
mulps xmm5, xmmword [ebp - 0x1d0]
addps xmm5, xmm0
movups xmm0, xmmword [ecx + 8]
addps xmm1, xmm0
cmp dword [ebp - 0x1ac], 0xa
mulps xmm1, xmmword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x158]
movups xmm0, xmmword [ecx + 4]
mov ecx, dword [ebp - 0x15c]
addps xmm5, xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
shufps xmm2, xmm2, 0x41
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm2, xmm0
movups xmm0, xmmword [esi + 4]
mulps xmm2, xmmword [ebp - 0x1e0]
addps xmm1, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
addps xmm5, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x90
addps xmm1, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm3
mulps xmm5, xmmword [ebp - 0x250]
mulps xmm1, xmmword [ebp - 0x1d0]
shufps xmm3, xmm3, 0x41
addps xmm1, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm3, xmm0
movups xmm0, xmmword [eax + 4]
addps xmm2, xmm0
movaps xmm0, xmm4
mulps xmm3, xmmword [ebp - 0x1e0]
mulps xmm0, xmm7
mulps xmm2, xmmword [ebp - 0x1d0]
addps xmm1, xmm3
shufps xmm4, xmm4, 0x41
addps xmm2, xmm0
movups xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0x18c]
mulps xmm1, xmmword [ebp - 0x240]
addps xmm4, xmm0
movups xmm0, xmmword [edi + 4]
addps xmm5, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x90
mulps xmm4, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm6
shufps xmm6, xmm6, 0x41
mulps xmm0, xmm7
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm2, xmm4
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm6, xmm0
mulps xmm6, xmmword [ebp - 0x1e0]
addps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x230]
addps xmm5, xmm2
movups xmmword [eax], xmm5
mov eax, 4
mov dword [ebp - 0x190], eax
jb 0x1011a897
mov eax, dword [ebp - 0x18c]
lea esi, [ecx + 0x18]
add eax, 0x10
mov edi, dword [ebp - 0x164]
mov dword [ebp - 0x160], eax
add edi, 0xc
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x164]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x1e4], eax
add ecx, 0x14
mov eax, dword [ebp - 0x164]
sub eax, dword [ebp - 0x158]
movaps xmm5, xmmword [ebp - 0x1d0]
movaps xmm6, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x164]
sub eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x164]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1b8], 8
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1e8], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x268]
movups xmm0, xmmword [esi - 0xc]
movups xmm4, xmmword [eax + ecx]
mov eax, dword [ebp - 0x26c]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x20c]
mulps xmm0, xmm7
mulps xmm4, xmm5
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x210]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
mov esi, dword [ebp - 0x1e8]
movups xmm3, xmmword [eax + ecx]
mov eax, dword [ebp - 0x208]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm6
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 - 0x250]
mulps xmm0, xmm7
mulps xmm2, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi]
mov eax, dword [ebp - 0x160]
addps xmm3, xmm0
mulps xmm1, xmm6
movups xmm0, xmmword [esi + eax]
mov eax, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1bc]
addps xmm2, xmm1
mulps xmm0, xmm7
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1c0]
mulps xmm3, xmm5
mulps xmm2, xmmword [ebp - 0x240]
addps xmm3, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x194]
addps xmm4, xmm2
addps xmm1, xmm0
movups xmm0, xmmword [edi]
movups xmm2, xmmword [eax + ecx]
mov eax, dword [ebp - 0x1a0]
mulps xmm1, xmm6
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
addps xmm3, xmm1
movups xmm1, xmmword [eax + edx]
mov eax, dword [ebp - 0x1a8]
mulps xmm2, xmm5
mulps xmm0, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [eax + esi]
mov eax, dword [ebp - 0x160]
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x230]
addps xmm4, xmm3
add dword [ebp - 0x190], 4
add esi, 0x10
movups xmmword [eax], xmm4
add ecx, 0x10
add eax, 0x10
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x160], eax
add edx, 0x10
mov eax, dword [ebp - 0x1b8]
add edi, 0x10
add eax, 4
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1b8], eax
xor eax, eax
add dword [ebp - 0x188], 2
adc eax, eax
test eax, eax
jb 0x1011a6e0
ja 0x1011a87f
mov eax, dword [ebp - 0x1ac]
cmp dword [ebp - 0x188], eax
jbe 0x1011a6e0
mov eax, dword [ebp - 0x190]
mov esi, dword [ebp - 0x168]
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x15c]
movups xmm5, xmmword [0x10207c34]
mov edx, dword [ebp - 0x158]
movups xmm1, xmmword [esi + eax*4]
movaps xmm3, xmmword [0x10207c30]
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0xd0]
movups xmm4, xmmword [edi + eax*4]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0xc0]
pshufb xmm1, xmm0
movaps xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0x150]
movaps xmmword [ebp - 0x380], xmm1
psllw xmm0, 2
movups xmm1, xmmword [esi + eax*4]
paddb xmm0, xmmword [ebp - 0x140]
pshufb xmm1, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x100]
movaps xmmword [ebp - 0x340], xmm1
movups xmm1, xmmword [edx + eax*4]
mov edx, dword [ebp - 0x164]
psllw xmm0, 2
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0xe0]
pshufb xmm2, xmm0
movaps xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0xf0]
movaps xmmword [ebp - 0x350], xmm2
psllw xmm0, 2
movups xmm2, xmmword [ecx + eax*4]
paddb xmm0, xmmword [ebp - 0x110]
pshufb xmm1, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x130]
movaps xmmword [ebp - 0x360], xmm1
movaps xmm1, xmm2
psllw xmm0, 2
movups xmm6, xmmword [edx + eax*4]
paddb xmm0, xmmword [ebp - 0x120]
pshufb xmm1, xmm0
movaps xmm0, xmm3
movaps xmm7, xmm6
pshufb xmm0, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x370], xmm1
movaps xmm3, xmm6
psllw xmm0, 2
movaps xmm1, xmm2
paddb xmm0, xmmword [ebp - 0x80]
pshufb xmm1, xmm0
movaps xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0x70]
movups xmm5, xmmword [edi + eax*4]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x60]
pshufb xmm4, xmm0
movaps xmmword [ebp - 0x390], xmm4
movaps xmm4, xmmword [0x10207c30]
movaps xmm0, xmm4
pshufb xmm0, xmmword [ebp - 0x50]
pshufb xmm4, xmmword [ebp - 0xb0]
psllw xmm0, 2
psllw xmm4, 2
paddb xmm0, xmmword [ebp - 0x40]
paddb xmm4, xmmword [ebp - 0xa0]
pshufb xmm5, xmm0
movups xmm0, xmmword [0x10207c34]
pshufb xmm3, xmm4
pshufb xmm0, xmmword [ebp - 0x30]
movups xmm4, xmmword [ecx + eax*4 - 4]
psllw xmm0, 2
addps xmm4, xmm1
paddb xmm0, xmmword [ebp - 0x20]
pshufb xmm7, xmm0
movaps xmm0, xmmword [ebp - 0x260]
mulps xmm4, xmmword [ebp - 0x1d0]
mulps xmm0, xmm2
addps xmm4, xmm0
movups xmm0, xmmword [ecx + eax*4 - 8]
addps xmm0, xmmword [ebp - 0x370]
mulps xmm0, xmmword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x158]
addps xmm4, xmm0
movaps xmm0, xmmword [ebp - 0x260]
movups xmm1, xmmword [ecx + eax*4 - 4]
movups xmm2, xmmword [ecx + eax*4]
addps xmm1, xmmword [ebp - 0x360]
mulps xmm0, xmm2
movups xmm2, xmmword [esi + eax*4]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + eax*4 - 8]
mov ecx, dword [ebp - 0x18c]
addps xmm0, xmmword [ebp - 0x350]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x260]
mulps xmm0, xmm2
movups xmm2, xmmword [edi + eax*4 - 4]
addps xmm4, xmm1
movups xmm1, xmmword [esi + eax*4 - 4]
addps xmm2, xmm5
movaps xmm5, xmmword [ebp - 0x260]
addps xmm1, xmmword [ebp - 0x340]
mulps xmm4, xmmword [ebp - 0x250]
mulps xmm2, xmmword [ebp - 0x1d0]
mulps xmm1, xmmword [ebp - 0x1d0]
addps xmm1, xmm0
movups xmm0, xmmword [esi + eax*4 - 8]
addps xmm0, xmmword [ebp - 0x380]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
movaps xmm0, xmm5
mulps xmm5, xmm6
mulps xmm1, xmmword [ebp - 0x240]
addps xmm4, xmm1
movups xmm1, xmmword [edi + eax*4]
mulps xmm0, xmm1
movups xmm1, xmmword [edx + eax*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [edi + eax*4 - 8]
mov edi, dword [ebp - 0x180]
addps xmm1, xmm3
addps xmm0, xmmword [ebp - 0x390]
mulps xmm1, xmmword [ebp - 0x1d0]
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [edx + eax*4 - 8]
mov edx, dword [ebp - 0x1b0]
add edx, 1
addps xmm0, xmm7
mov dword [ebp - 0x1b0], edx
mulps xmm0, xmmword [ebp - 0x1e0]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x230]
addps xmm4, xmm2
movups xmmword [ecx + eax*4], xmm4
mov eax, dword [ebp - 0x198]
adc eax, 0
mov dword [ebp - 0x198], eax
js 0x1011a360
jg 0x1011ab94
cmp edx, dword [ebp - 0x184]
jb 0x1011a360
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101e8c02
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.SameSize_rect__out_
push 0x30d
push str.C:Projectslibjxllib_jxl_convolve.cc
push str._s:_d:_JXL_CHECK:__s_n
call fcn.100def30
add esp, 0x10
call fcn.100def20
int3