Function at 0x1010ac70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
mov eax, dword [0x101f80c0]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [0x10214cf4]
push ebx
push esi
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x1010bf1a
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1010bf1a
mov eax, dword [0x10213410]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1010bf1a
mov eax, dword [0x10213410]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1010bf1a
mov eax, dword [0x10214cf4]
mov ecx, 0xc84de670
mov esi, dword [eax]
call fcn.100c6820
cmp dword [eax + esi + 1], 8
je 0x1010bf10
mov ecx, 0xc84de670
call fcn.100c6820
cmp dword [eax + esi + 1], 9
je 0x1010bf10
mov ecx, 0xad2bbff4
call fcn.100c6820
mov ecx, 0x394634f0
movq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
movq qword [esp + 0x60], xmm0
mov dword [esp + 0x68], eax
call fcn.100c6820
mov edx, dword [0x103d78d4]
mov al, byte [eax + esi]
and al, 1
mov byte [esp + 0x6c], al
mov eax, dword [0x103d78dc]
inc eax
cmp edx, eax
ja 0x1010ad53
push ecx
call fcn.10137790
mov edx, dword [0x103d78d4]
lea ecx, [edx - 1]
mov edi, edx
and ecx, dword [0x103d78d8]
lea esi, [edx - 1]
mov dword [0x103d78d8], ecx
cmovne edi, ecx
mov ecx, dword [0x103d78d0]
dec edi
and esi, edi
cmp dword [ecx + esi*4], 0
jne 0x1010ad98
push 0x10
call fcn.1018ddb5
mov ecx, dword [0x103d78d0]
add esp, 4
mov dword [ecx + esi*4], eax
mov edx, dword [0x103d78d4]
mov ecx, dword [0x103d78d0]
movups xmm0, xmmword [esp + 0x60]
lea eax, [edx - 1]
and eax, edi
mov eax, dword [ecx + eax*4]
movups xmmword [eax], xmm0
mov ecx, dword [0x103d78dc]
mov dword [0x103d78d8], edi
lea eax, [ecx + 1]
mov dword [0x103d78dc], eax
cmp eax, 2
jbe 0x1010add1
mov dword [0x103d78dc], ecx
test ecx, ecx
jne 0x1010add1
mov dword [0x103d78d8], ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1021451c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x103db34c]
cmp eax, dword [ecx + 4]
jle 0x1010ae7c
push 0x103db34c
call fcn.1018e03f
add esp, 4
cmp dword [0x103db34c], 0xffffffff
jne 0x1010ae7c
mov eax, dword [0x10213410]
xor ebx, ebx
movq xmm0, qword [str.GCiPJXLRHD_]
mov esi, dword [eax + 8]
mov ax, word [0x101db6e4]
mov word [esp + 0x68], ax
mov al, byte [0x101db6e6]
movq qword [esp + 0x60], xmm0
mov byte [esp + 0x6a], al
mov eax, 0x3521cfb3
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x60], cl
inc ebx
cmp ebx, 0xb
jl 0x1010ae33
mov eax, dword [esi]
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x3c]
call eax
push 0x103db34c
mov dword [0x103db068], eax
call fcn.1018dfee
add esp, 4
mov ecx, dword [0x103db068]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], eax
call dword [esp + 0xc]
cmp dword [0x103d78dc], 2
mov eax, dword [0x10213404]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x101ea674]
mov esi, dword [eax + 0xc]
mulss xmm0, dword [esi + 0x20]
movss dword [esp + 0x10], xmm0
jne 0x1010bf1a
mov ebx, dword [0x103d78d4]
mulss xmm0, dword [0x101ea528]
dec ebx
mov edi, dword [0x103d78d0]
mov eax, ebx
and eax, dword [0x103d78d8]
push ecx
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
mov edi, dword [edi + eax*4]
fstp dword [esp]
call fcn.1019e556
movss xmm0, dword [edi + 8]
mulss xmm0, dword [0x101ea528]
fstp dword [esp + 0x18]
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.1019e556
movss xmm0, dword [esp + 0x18]
add esp, 4
fstp dword [esp + 0xc]
ucomiss xmm0, dword [esp + 0xc]
lahf
test ah, 0x44
jp 0x1010af58
mov eax, dword [0x103d78d8]
mov ecx, dword [0x103d78d0]
inc eax
movss xmm0, dword [esp + 0x10]
and eax, ebx
mov eax, dword [ecx + eax*4]
comiss xmm0, dword [eax + 8]
jbe 0x1010af58
cmp byte [eax + 0xc], 0
jne 0x1010af58
cmp byte [edi + 0xc], 0
je 0x1010af66
mov eax, dword [0x1021e724]
cmp eax, dword [esi + 0x1c]
jne 0x1010bf1a
mov ecx, 0x103d78cc
call fcn.101376f0
mov eax, dword [0x10213408]
mov esi, dword [0x10214510]
cmp byte [eax + 0x32a8], 0
je 0x1010b12f
cmp byte [0x101e2acf], 0
mov eax, dword [0x10213404]
movups xmm0, xmmword [str.oSYEU]
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x1c]
movups xmmword [esp + 0x18], xmm0
movq xmm0, qword [0x101e2ac8]
movq qword [esp + 0x28], xmm0
je 0x1010b118
xor ebx, ebx
cmp esi, 2
jl 0x1010b0f0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x18], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x1c], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x1010aff0
jmp 0x1010b118
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x18
jl 0x1010b0f0
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ecx
push 0
push edi
mov eax, dword [eax + 0x68]
call eax
mov eax, dword [0x10213408]
add esp, 0xc
cmp byte [eax + 0x32b0], 0
je 0x1010b16a
mov ecx, dword [0x10213404]
mov ecx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x10]
mov ecx, 0xad9a2fdd
addss xmm0, dword [eax + 0x32b4]
call fcn.100c6820
mov ecx, dword [0x10214cf4]
mov ecx, dword [ecx]
movss dword [eax + ecx], xmm0
mov eax, dword [0x10213408]
mov ecx, dword [eax + 0x32ac]
test ecx, ecx
je 0x1010bf1a
cmp ecx, 1
jne 0x1010b3b8
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmm0, xmmword [0x101e21fc]
mov edi, dword [eax + 0x10]
mov ax, word [0x101e221c]
mov word [esp + 0x50], ax
mov al, byte [0x101e221e]
mov byte [esp + 0x52], al
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e220c]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x1010b2f0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
nop word [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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x1010b1f0
cmp ebx, 0x23
jge 0x1010b318
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x23
jl 0x1010b2f0
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010b337
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf2c
push ecx
push edx
call fcn.1018dda2
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
cmp ecx, 2
jne 0x1010b5e5
movups xmm0, xmmword [0x101e21a4]
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmmword [esp + 0x30], xmm0
mov edi, dword [eax + 0x10]
mov eax, dword [0x101e21cc]
mov dword [esp + 0x58], eax
mov ax, word [0x101e21d0]
mov word [esp + 0x5c], ax
movups xmm0, xmmword [0x101e21b4]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x101e21c4]
movq qword [esp + 0x50], xmm0
cmp esi, ecx
jl 0x1010b530
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x1010b432
cmp ebx, 0x2e
jge 0x1010b558
nop
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x2e
jl 0x1010b530
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010b577
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf31
jmp 0x1010b39c
cmp ecx, 3
jne 0x1010b805
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmm0, xmmword [0x101e2390]
mov edi, dword [eax + 0x10]
mov ax, word [0x101e23b0]
mov word [esp + 0x50], ax
mov al, byte [0x101e23b2]
mov byte [esp + 0x52], al
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e23a0]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x1010b750
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x1010b652
cmp ebx, 0x23
jge 0x1010b778
nop
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x23
jl 0x1010b750
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010b797
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf36
jmp 0x1010b39c
cmp ecx, 4
jne 0x1010ba25
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmm0, xmmword [0x101e2914]
mov edi, dword [eax + 0x10]
mov al, byte [0x101e292c]
mov byte [esp + 0x48], al
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101e2924]
movq qword [esp + 0x40], xmm0
cmp esi, 2
jl 0x1010b970
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x1010b870
cmp ebx, 0x19
jge 0x1010b998
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x19
jl 0x1010b970
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010b9b7
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf3b
jmp 0x1010b39c
cmp ecx, 5
jne 0x1010bc45
movups xmm0, xmmword [0x101e2160]
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmmword [esp + 0x30], xmm0
mov edi, dword [eax + 0x10]
movups xmm0, xmmword [0x101e2170]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x101e2180]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x1010bb90
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop
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
psrad xmm1, 4
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 [0x101ea930]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101ea930]
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, 0x28
jl 0x1010ba90
jmp 0x1010bbb8
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x28
jl 0x1010bb90
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010bbd7
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf40
jmp 0x1010b39c
cmp ecx, 6
jne 0x1010be75
mov eax, dword [0x10213410]
xor ebx, ebx
movups xmm0, xmmword [str.DYWN]
mov edi, dword [eax + 0x10]
mov eax, dword [0x101e2840]
mov dword [esp + 0x48], eax
mov ax, word [0x101e2844]
mov word [esp + 0x4c], ax
mov al, byte [0x101e2846]
mov byte [esp + 0x4e], al
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101e2838]
movq qword [esp + 0x40], xmm0
cmp esi, 2
jl 0x1010bdc0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], xmm1
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
psrad xmm1, 4
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x1010bcc0
cmp ebx, 0x1f
jge 0x1010bde8
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x1f
jl 0x1010bdc0
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], 0
movups xmmword [esp + 0x18], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010be07
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10026920
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf45
jmp 0x1010b39c
cmp ecx, 7
jne 0x1010bf1a
mov ecx, dword [0x10213410]
mov edx, dword [eax + 0x3624]
mov esi, dword [ecx + 0x10]
lea ecx, [eax + 0x3614]
mov eax, 0x7fffffff
sub eax, edx
cmp eax, 5
jb 0x1010bf4a
cmp dword [ecx + 0x14], 0xf
jbe 0x1010beab
mov ecx, dword [ecx]
push edx
push ecx
push 5
push str.play
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0x30]
call fcn.10028b00
cmp dword [esp + 0x2c], 0xf
lea edx, [esp + 0x18]
mov eax, dword [esi]
mov ecx, esi
cmova edx, dword [esp + 0x18]
push 0
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1010bf1a
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b39c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010bf4f
jmp 0x1010b39c
mov ecx, 0x103d78cc
call fcn.101376f0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
call fcn.100032a0
call fcn.10192ed6
int3