Function at 0x100a16a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x40e4
call fcn.10160990
mov eax, dword [0x102187c8]
push ebx
push esi
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x100a349f
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a349f
cmp dword [0x10323e14], 0
je 0x100a34a9
mov ecx, dword [0x10323e0c]
mov eax, dword [0x10323e08]
dec ecx
and ecx, dword [0x10323e10]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3f00]
ucomiss xmm0, dword [0x101ececc]
lahf
test ah, 0x44
jnp 0x100a34a9
push ecx
lea ecx, [esp + 0x1e4]
call fcn.100a34d0
mov ecx, dword [0x10323e0c]
mov eax, dword [0x10323e08]
dec ecx
and ecx, dword [0x10323e10]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.1003a950
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.1015fe24
add esp, 8
add dword [0x10323e14], 0xffffffff
jne 0x100a1760
mov dword [0x10323e10], 0
jmp 0x100a1766
inc dword [0x10323e10]
mov eax, dword [0x102187c8]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a17a4
mov ecx, 0x8d4eb58d
call fcn.100c3de0
mov ecx, dword [0x102187c8]
mov ecx, dword [ecx]
movd xmm0, dword [eax + ecx]
mov eax, dword [0x10216630]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0xc]
mulss xmm0, dword [eax + 0x20]
jmp 0x100a17b1
mov eax, dword [0x10216630]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [esp + 0x40e0]
andps xmm0, xmmword [0x101ed3d0]
comiss xmm0, dword [0x101ecba0]
jbe 0x100a1c6c
cmp byte [esp + 0x40dc], 0
je 0x100a1a01
cmp byte [0x101ae3c7], 0
movups xmm0, xmmword [0x101ae3b0]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101ae3c0]
movq qword [esp + 0x40], xmm0
je 0x100a196e
xor ebx, ebx
cmp dword [0x10217ca4], 2
jl 0x100a1941
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x34], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a1840
jmp 0x100a196e
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x30], al
inc ebx
cmp ebx, 0x18
jl 0x100a1941
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a1990
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x58]
call fcn.100291a0
cmp dword [esp + 0x64], 0xf
lea edx, [esp + 0x50]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x50]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a19d4
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.100291a0
call fcn.100c1b40
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe 0x100a1c5d
mov edx, dword [esp + 0x50]
jmp 0x100a1c34
movups xmm0, xmmword [str.YED__]
mov eax, dword [0x101ae394]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xd0], eax
movups xmm0, xmmword [0x101ae384]
movups xmmword [esp + 0xc0], xmm0
jl 0x100a1b70
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x50]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0xb0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb4]
xorps xmm1, xmm0
movd dword [esp + ebx + 0xb4], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x100a1a60
cmp ebx, 0x24
jge 0x100a1ba0
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0xb0], al
inc ebx
cmp ebx, 0x24
jl 0x100a1b70
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0xb0]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a1bc2
sub ecx, edx
lea eax, [esp + 0xb0]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.100291a0
cmp dword [esp + 0x44], 0xf
lea edx, [esp + 0x30]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x30]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a1c10
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.100291a0
call fcn.100c1b40
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100a1c5d
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a1c53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, 0x10323e04
call fcn.100a3f80
jmp 0x100a346f
cmp byte [esp + 0x4094], 0
je 0x100a346f
mov eax, dword [0x1021663c]
push dword [esp + 0x40e4]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov dword [esp + 0x10c], edi
test edi, edi
je 0x100a346f
mov edx, dword [esp + 0x40c0]
test edx, edx
je 0x100a346f
mov ecx, dword [0x1021663c]
push edx
mov ecx, dword [ecx + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
je 0x100a346f
cmp dword [eax + 0xac], 0
jle 0x100a346f
mov ecx, dword [eax + 0xb0]
add ecx, eax
je 0x100a346f
movss xmm0, dword [esp + 0x40d0]
lea eax, [esp + 0x50]
subss xmm0, dword [esp + 0x40c4]
push eax
lea ecx, [esp + 0x14]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x40d8]
subss xmm0, dword [esp + 0x40cc]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x40dc]
subss xmm0, dword [esp + 0x40d0]
movss dword [esp + 0x1c], xmm0
call fcn.10036aa0
xorps xmm1, xmm1
lea ecx, [esp + 0x10]
movss xmm0, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x10], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esp + 0x18], xmm0
call fcn.10036b90
mov eax, dword [esp + 0x40e8]
cmp eax, 0xffffffff
jle 0x100a1d8e
cmp dword [esp + 0x1f0], eax
jbe 0x100a34b0
movups xmm0, xmmword [0x101ae360]
mov al, byte [0x101ae370]
xor ebx, ebx
mov esi, dword [0x10217ca4]
mov byte [esp + 0x20], al
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x100a1ee4
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x50]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x10]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x10], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x14]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x14], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100a1de0
cmp ebx, 0x11
jge 0x100a1f11
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x11
jl 0x100a1ee4
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x10]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a1f40
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x98]
call fcn.100291a0
lea eax, [esp + 0x160]
mov ecx, edi
push eax
call fcn.10154610
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x160]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a1f92
sub ecx, edx
lea eax, [esp + 0x160]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
movups xmm0, xmmword [0x101ae350]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a212e
xor ebx, ebx
cmp esi, 2
jl 0x100a2101
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x10]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x10], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x14]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x14], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2000
jmp 0x100a212e
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x10
jl 0x100a2101
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x10]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2150
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.100291a0
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x11c]
call fcn.1002b100
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x114]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x154]
call fcn.1002b100
mov ecx, dword [esp + 0x124]
cmp ecx, 0xf
jbe 0x100a21de
mov edx, dword [esp + 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a21d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100a2214
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a220a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100a224d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2243
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100a2289
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a227f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov edx, dword [esp + 0x40e8]
lea ecx, [esp + 0x130]
call fcn.10004450
movups xmm0, xmmword [0x101ae32c]
mov cl, byte [0x101ae34c]
xor ebx, ebx
mov byte [esp + 0xd0], cl
mov edi, eax
movups xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [0x101ae33c]
movups xmmword [esp + 0xc0], xmm0
cmp esi, 2
jl 0x100a2410
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x50]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0xb0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb4]
xorps xmm1, xmm0
movd dword [esp + ebx + 0xb4], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x100a2300
cmp ebx, 0x21
jge 0x100a2440
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0xb0], al
inc ebx
cmp ebx, 0x21
jl 0x100a2410
xorps xmm0, xmm0
mov dword [esp + 0xf0], 0
lea ecx, [esp + 0xb0]
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xf4], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2470
sub ecx, edx
lea eax, [esp + 0xb0]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.100291a0
mov ecx, dword [esp + 0x10c]
lea eax, [esp + 0x160]
push eax
call fcn.10154610
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x160]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a24d0
sub ecx, edx
lea eax, [esp + 0x160]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
movups xmm0, xmmword [0x101ae350]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a266e
xor ebx, ebx
cmp esi, 2
jl 0x100a2641
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x10]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x10], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x14]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x14], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2540
jmp 0x100a266e
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x10
jl 0x100a2641
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x10]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2696
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x98]
call fcn.100291a0
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x1c]
call fcn.1002b100
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x5c]
call fcn.1002b100
push edi
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x3c]
call fcn.1002b100
mov edx, dword [esp + 0x44]
mov eax, edx
mov ecx, dword [esp + 0x40]
sub eax, ecx
cmp eax, 1
jb 0x100a2728
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x40], eax
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
mov word [eax + ecx], 0x5d
lea eax, [esp + 0x30]
jmp 0x100a273e
push 1
push 0x1019f48c
push dword [esp + 0x14]
lea ecx, [esp + 0x3c]
push 1
call fcn.10029d90
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x110], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x120], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100a279e
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2794
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
cmp ecx, 0xf
jbe 0x100a27e9
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a27df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x24]
cmp ecx, 0xf
jbe 0x100a281f
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2815
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100a285b
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2851
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100a2894
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a288a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xf4]
cmp ecx, 0xf
jbe 0x100a28d0
mov edx, dword [esp + 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a28c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x144]
cmp ecx, 0xf
jbe 0x100a290c
mov edx, dword [esp + 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2902
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34b5
push ecx
push edx
call fcn.1015fe24
add esp, 8
movups xmm0, xmmword [0x101ae3c8]
mov al, byte [0x101ae3e0]
xor ebx, ebx
mov byte [esp + 0xc8], al
movups xmmword [esp + 0xb0], xmm0
movq xmm0, qword [0x101ae3d8]
movq qword [esp + 0xc0], xmm0
cmp esi, 2
jl 0x100a2a80
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x50]
nop dword [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0xb0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0xb4]
xorps xmm1, xmm0
movd dword [esp + ebx + 0xb4], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x100a2970
cmp ebx, 0x19
jge 0x100a2ab0
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0xb0], al
inc ebx
cmp ebx, 0x19
jl 0x100a2a80
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0xb0]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2ad8
sub ecx, edx
lea eax, [esp + 0xb0]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
mov edi, dword [esp + 0x10c]
lea eax, [esp + 0x160]
push eax
mov ecx, edi
call fcn.10154610
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x160]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2b34
sub ecx, edx
lea eax, [esp + 0x160]
push ecx
push eax
lea ecx, [esp + 0x98]
call fcn.100291a0
movups xmm0, xmmword [0x101ae350]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a2ccf
xor ebx, ebx
cmp esi, 2
jl 0x100a2ca2
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x10]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x10], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x14]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x14], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2ba1
jmp 0x100a2ccf
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x10
jl 0x100a2ca2
xorps xmm0, xmm0
mov dword [esp + 0xf0], 0
lea ecx, [esp + 0x10]
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xf4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2cf7
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.100291a0
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x3c]
call fcn.1002b100
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0xbc]
call fcn.1002b100
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100a2d7f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2d75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xf4]
cmp ecx, 0xf
jbe 0x100a2dbb
mov edx, dword [esp + 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2db1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100a2df7
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2ded
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100a2e30
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2e26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp byte [0x101ae3af], 0
movups xmm0, xmmword [0x101ae398]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101ae3a8]
movq qword [esp + 0x40], xmm0
je 0x100a2fbe
xor ebx, ebx
cmp esi, 2
jl 0x100a2f91
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x34], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a2e90
jmp 0x100a2fbe
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x30], al
inc ebx
cmp ebx, 0x18
jl 0x100a2f91
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2fe3
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
lea eax, [esp + 0x160]
mov ecx, edi
push eax
call fcn.10154610
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x160]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3035
sub ecx, edx
lea eax, [esp + 0x160]
push ecx
push eax
lea ecx, [esp + 0x98]
call fcn.100291a0
movups xmm0, xmmword [0x101ae350]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a31d0
xor ebx, ebx
cmp esi, 2
jl 0x100a31a3
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed430]
movaps xmm5, xmmword [0x101ed0a0]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x10]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x10], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x14]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x14], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a30a2
jmp 0x100a31d0
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x34
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x10
jl 0x100a31a3
xorps xmm0, xmm0
mov dword [esp + 0xf0], 0
lea ecx, [esp + 0x10]
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xf4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a31f8
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.100291a0
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x3c]
call fcn.1002b100
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x13c]
call fcn.1002b100
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100a3280
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3276
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xf4]
cmp ecx, 0xf
jbe 0x100a32bc
mov edx, dword [esp + 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100a32f8
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100a3331
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3327
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x40e8], 1
jle 0x100a3350
mov eax, dword [0x10216634]
cmp byte [eax + 0xef0], 0
lea eax, [esp + 0x110]
jne 0x100a3357
lea eax, [esp + 0x148]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10021800
call fcn.100c1b40
mov eax, dword [esp + 0x40e4]
cmp eax, 0x41
jae 0x100a34ba
mov ecx, dword [esp + 0x144]
imul eax, eax, 0x3ee0
inc dword [eax + 0x10226788]
cmp ecx, 0xf
jbe 0x100a33bf
mov edx, dword [esp + 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a33b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0xc4]
cmp ecx, 0xf
jbe 0x100a33fb
mov edx, dword [esp + 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a33f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x124]
cmp ecx, 0xf
jbe 0x100a3437
mov edx, dword [esp + 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a342d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x15c]
cmp ecx, 0xf
jbe 0x100a346f
mov edx, dword [esp + 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3465
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a34bf
push ecx
push edx
call fcn.1015fe24
add esp, 8
lea ecx, [esp + 0x1e0]
call fcn.1003a950
mov eax, dword [esp + 0x1e0]
push 8
push eax
mov dword [esp + 0x1e8], 0
call fcn.1015fe24
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x10323e04
call fcn.100a3f80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1003aa30
call fcn.10164f66
call fcn.10090640
call fcn.10164f66
int3