Function at 0x101059e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x34
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [str.5___L]
movups xmm0, xmmword [0x101f77b8]
push ebx
mov dword [esp + 0x28], eax
xor ebx, ebx
mov ax, word [0x101f77cc]
push esi
mov esi, dword [0x1022e690]
mov word [esp + 0x30], ax
mov al, byte [0x101f77ce]
mov byte [esp + 0x32], al
push edi
mov edi, dword [0x1022ccc8]
movups xmmword [esp + 0x20], xmm0
cmp esi, 2
jl 0x10105b60
movaps xmm0, xmmword [0x10201550]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], 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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x10105a60
jmp 0x10105b88
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, 0x36
xor byte [esp + ebx + 0x20], al
inc ebx
cmp ebx, 0x17
jl 0x10105b60
lea edx, [edi + 0xf9d]
lea ecx, [esp + 0x20]
call fcn.101748d0
mov eax, dword [str.QQ_8B]
xor ebx, ebx
mov edi, dword [0x1022ccc8]
movq xmm0, qword [str.sY_TSO]
add edi, 0xf9e
mov dword [esp + 0x18], eax
mov al, byte [0x101f7df8]
mov byte [esp + 0x1c], al
movq qword [esp + 0x10], xmm0
cmp esi, 2
jl 0x10105cd2
movaps xmm2, xmmword [0x10201400]
mov ebx, 8
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.sY_TSO]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x14]
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
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, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xd
jl 0x10105cd2
mov edx, edi
lea ecx, [esp + 0x10]
call fcn.101748d0
mov ax, word [0x101f6fec]
xor ebx, ebx
movq xmm0, qword [str.p_YJRY_SYL_]
mov edi, dword [0x1022ccc8]
mov word [esp + 0x18], ax
mov al, byte [0x101f6fee]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x1a], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xb
jl 0x10105d34
lea edx, [edi + 0xf9f]
lea ecx, [esp + 0x10]
call fcn.101748d0
mov ax, word [0x101f7e70]
xor ebx, ebx
movq xmm0, qword [0x101f7e68]
mov edi, dword [0x1022ccc8]
mov word [esp + 0x18], ax
mov al, byte [0x101f7e72]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x1a], al
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xb
jl 0x10105da0
lea edx, [edi + 0xfa0]
lea ecx, [esp + 0x10]
call fcn.101748d0
mov eax, dword [0x101f6990]
movq xmm0, qword [str.eZWR_e_O_Q__C]
mov edi, dword [0x1022ccc8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f6994]
movq qword [esp + 0x10], xmm0
mov word [esp + 0x1c], ax
test ah, ah
je 0x10105f42
xor ebx, ebx
cmp esi, 2
jl 0x10105f15
movaps xmm2, xmmword [0x10201400]
mov ebx, 8
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.eZWR_e_O_Q__C]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x14]
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
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, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xe
jl 0x10105f15
lea edx, [edi + 0xfa1]
lea ecx, [esp + 0x10]
call fcn.101748d0
movups xmm0, xmmword [0x101f63fc]
mov ax, word [0x101f6414]
xor ebx, ebx
mov edi, dword [0x1022ccc8]
mov word [esp + 0x38], ax
mov al, byte [0x101f6416]
mov byte [esp + 0x3a], al
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x101f640c]
movq qword [esp + 0x30], xmm0
cmp esi, 2
jl 0x101060c2
movaps xmm0, xmmword [0x10201550]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], 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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x10105fc0
cmp ebx, 0x1b
jge 0x101060ef
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, 0x36
xor byte [esp + ebx + 0x20], al
inc ebx
cmp ebx, 0x1b
jl 0x101060c2
lea edx, [edi + 0xfa2]
lea ecx, [esp + 0x20]
call fcn.101748d0
mov eax, dword [str.rR_VC_]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x10], eax
mov ax, word [0x101f6d08]
mov word [esp + 0x14], ax
test ah, ah
je 0x1010614c
xor ebx, ebx
nop
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 6
jl 0x10106120
lea edx, [esi + 0xfa3]
lea ecx, [esp + 0x10]
call fcn.101748d0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret