Function at 0x140120530
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x20], xmm15
movaps xmmword [rbp + 0x10], xmm14
movaps xmmword [rbp], xmm13
movaps xmmword [rbp - 0x10], xmm12
movaps xmmword [rbp - 0x20], xmm11
movdqa xmmword [rbp - 0x30], xmm10
movdqa xmmword [rbp - 0x40], xmm9
movaps xmmword [rbp - 0x50], xmm8
movdqa xmmword [rbp - 0x60], xmm7
movdqa xmmword [rbp - 0x70], xmm6
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov eax, dword [0x1406f1568]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406f156c], 0xa
setl cl
or cl, al
nop
mov eax, 0x130
call fcn.1401fc5d0
sub rsp, rax
mov rsi, rsp
test cl, cl
je 0x1401205a0
lea r14, [0x1402645d6]
movdqa xmm11, xmmword [0x1402656d0]
movdqa xmm8, xmmword [str.::::]
movdqa xmm12, xmmword [0x1402656f0]
movdqa xmm13, xmmword [0x140259850]
movdqa xmm15, xmmword [0x140265710]
movdqa xmm14, xmmword [0x140259870]
lea rbx, [0x1406eea90]
lea rdi, [0x1401212b0]
nop
sub rsp, 0x20
mov r8d, 0x121
mov rcx, rsi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov eax, dword [0x1406f1570]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406f1574], 0xa
setl al
or al, cl
xor ecx, ecx
movdqa xmm9, xmmword [0x140259820]
movdqa xmm1, xmmword [0x140259810]
movdqa xmm2, xmmword [str._b_t_n_v]
movdqa xmm10, xmmword [0x1402597f0]
nop dword [rax + rax]
movdqa xmm3, xmm1
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
pshufd xmm4, xmm1, 0xf5
pmuludq xmm4, xmm11
pshufd xmm4, xmm4, 0xed
punpckldq xmm3, xmm4
psrld xmm3, 5
pshufd xmm4, xmm3, 0xf5
pmuludq xmm3, xmm8
pshufd xmm3, xmm3, 0xe8
pmuludq xmm4, xmm8
pshufd xmm4, xmm4, 0xe8
punpckldq xmm3, xmm4
movdqa xmm4, xmm1
psubd xmm4, xmm3
movdqa xmm3, xmm9
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
pshufd xmm5, xmm9, 0xf5
pmuludq xmm5, xmm11
pshufd xmm5, xmm5, 0xed
punpckldq xmm3, xmm5
psrld xmm3, 5
pshufd xmm5, xmm3, 0xf5
pmuludq xmm3, xmm8
pshufd xmm3, xmm3, 0xe8
pmuludq xmm5, xmm8
pshufd xmm5, xmm5, 0xe8
punpckldq xmm3, xmm5
movdqa xmm5, xmm9
psubd xmm5, xmm3
movdqa xmm3, xmm10
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
pshufd xmm6, xmm10, 0xf5
pmuludq xmm6, xmm11
pshufd xmm6, xmm6, 0xed
punpckldq xmm3, xmm6
psrld xmm3, 5
pshufd xmm6, xmm3, 0xf5
pmuludq xmm3, xmm8
pshufd xmm7, xmm3, 0xe8
pmuludq xmm6, xmm8
pshufd xmm3, xmm6, 0xe8
punpckldq xmm7, xmm3
movdqa xmm3, xmm10
psubd xmm3, xmm7
movdqa xmm6, xmm2
pmuludq xmm6, xmm11
pshufd xmm6, xmm6, 0xed
pshufd xmm7, xmm2, 0xf5
pmuludq xmm7, xmm11
pshufd xmm7, xmm7, 0xed
punpckldq xmm6, xmm7
psrld xmm6, 5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm6, xmm8
pshufd xmm0, xmm6, 0xe8
pmuludq xmm7, xmm8
pshufd xmm6, xmm7, 0xe8
movdqa xmm7, xmmword [str.TTTT]
punpckldq xmm0, xmm6
movdqa xmm6, xmm2
psubd xmm6, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm4
pand xmm0, xmm7
paddd xmm4, xmm13
pand xmm4, xmm15
por xmm4, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm5
pand xmm0, xmm7
paddd xmm5, xmm13
pand xmm5, xmm15
por xmm5, xmm0
packuswb xmm5, xmm4
movdqa xmm0, xmm12
psubd xmm0, xmm3
pand xmm0, xmm7
paddd xmm3, xmm13
pand xmm3, xmm15
por xmm3, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm6
pand xmm0, xmm7
paddd xmm6, xmm13
pand xmm6, xmm15
por xmm6, xmm0
packuswb xmm6, xmm3
packuswb xmm5, xmm6
movdqu xmm0, xmmword [rsi + rcx]
pxor xmm5, xmm0
pxor xmm5, xmmword [0x140265720]
movdqu xmmword [rsi + rcx], xmm5
add rcx, 0x10
paddd xmm9, xmm14
paddd xmm1, xmm14
paddd xmm2, xmm14
paddd xmm10, xmm14
cmp rcx, 0x120
jne 0x140120660
movdqa xmm15, xmm13
movdqa xmm13, xmmword [0x140265720]
xor byte [rsi + 0x120], 0x68
test al, al
jne 0x140120af0
xor ecx, ecx
movdqa xmm10, xmmword [0x140259820]
movdqa xmm9, xmmword [0x140259810]
movdqa xmm14, xmm7
movdqa xmm12, xmmword [str._b_t_n_v]
movdqa xmm6, xmmword [0x1402597f0]
nop word cs:[rax + rax]
nop
movdqa xmm2, xmm9
pmuludq xmm2, xmm11
pshufd xmm2, xmm2, 0xed
pshufd xmm3, xmm9, 0xf5
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
punpckldq xmm2, xmm3
psrld xmm2, 5
pshufd xmm3, xmm2, 0xf5
pmuludq xmm2, xmm8
pshufd xmm2, xmm2, 0xe8
pmuludq xmm3, xmm8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm2, xmm3
movdqa xmm4, xmm9
psubd xmm4, xmm2
movdqa xmm2, xmm10
pmuludq xmm2, xmm11
pshufd xmm2, xmm2, 0xed
pshufd xmm3, xmm10, 0xf5
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
punpckldq xmm2, xmm3
psrld xmm2, 5
pshufd xmm3, xmm2, 0xf5
pmuludq xmm2, xmm8
pshufd xmm2, xmm2, 0xe8
pmuludq xmm3, xmm8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm2, xmm3
movdqa xmm5, xmm10
psubd xmm5, xmm2
movdqa xmm2, xmm6
pmuludq xmm2, xmm11
pshufd xmm2, xmm2, 0xed
pshufd xmm3, xmm6, 0xf5
pmuludq xmm3, xmm11
pshufd xmm3, xmm3, 0xed
punpckldq xmm2, xmm3
psrld xmm2, 5
pshufd xmm3, xmm2, 0xf5
pmuludq xmm2, xmm8
pshufd xmm2, xmm2, 0xe8
pmuludq xmm3, xmm8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm2, xmm3
movdqa xmm3, xmm6
psubd xmm3, xmm2
movdqa xmm2, xmm12
pmuludq xmm2, xmm11
pshufd xmm2, xmm2, 0xed
pshufd xmm0, xmm12, 0xf5
pmuludq xmm0, xmm11
pshufd xmm0, xmm0, 0xed
punpckldq xmm2, xmm0
psrld xmm2, 5
pshufd xmm0, xmm2, 0xf5
pmuludq xmm2, xmm8
pshufd xmm13, xmm2, 0xe8
pmuludq xmm0, xmm8
pshufd xmm0, xmm0, 0xe8
punpckldq xmm13, xmm0
movdqa xmm2, xmm12
psubd xmm2, xmm13
movdqa xmm1, xmmword [0x1402656f0]
movdqa xmm0, xmm1
psubd xmm0, xmm4
pand xmm0, xmm14
paddd xmm4, xmm15
movdqa xmm7, xmmword [0x140265710]
pand xmm4, xmm7
por xmm4, xmm0
movdqa xmm0, xmm1
psubd xmm0, xmm5
pand xmm0, xmm14
paddd xmm5, xmm15
pand xmm5, xmm7
por xmm5, xmm0
packuswb xmm5, xmm4
movdqa xmm0, xmm1
psubd xmm0, xmm3
pand xmm0, xmm14
paddd xmm3, xmm15
pand xmm3, xmm7
por xmm3, xmm0
movdqa xmm0, xmm1
psubd xmm0, xmm2
pand xmm0, xmm14
paddd xmm2, xmm15
pand xmm2, xmm7
por xmm2, xmm0
packuswb xmm2, xmm3
packuswb xmm5, xmm2
movdqu xmm0, xmmword [rsi + rcx]
pxor xmm5, xmm0
pxor xmm5, xmmword [0x140265720]
movdqu xmmword [rsi + rcx], xmm5
add rcx, 0x10
movdqa xmm0, xmmword [0x140259870]
paddd xmm10, xmm0
paddd xmm9, xmm0
paddd xmm12, xmm0
paddd xmm6, xmm0
cmp rcx, 0x120
jne 0x1401208a0
xor byte [rsi + 0x120], 0x68
xor ecx, ecx
movdqa xmm9, xmmword [0x140259820]
movdqa xmm1, xmmword [0x140259810]
movdqa xmm2, xmmword [str._b_t_n_v]
movdqa xmm10, xmmword [0x1402597f0]
movdqa xmm13, xmm15
movdqa xmm15, xmmword [0x140265710]
movdqa xmm14, xmmword [0x140259870]
movdqa xmm12, xmmword [0x1402656f0]
jmp 0x140120660
sub rsp, 0x20
mov rcx, rbx
call fcn.1400abec0
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rsp, 0x20
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
mov r8, rax
call fcn.14008d7b0
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call fcn.1401fc650
add rsp, 0x20
cmp dword [0x1406f156c], 0xa
jl 0x1401210ae
mov eax, dword [0x1406f1568]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1401210ae
sub rsp, 0x20
mov r8d, 0x121
mov rcx, rsi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov eax, dword [0x1406f1570]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406f1574], 0xa
setl al
or al, cl
xor ecx, ecx
movdqa xmm10, xmmword [0x140259820]
movdqa xmm14, xmmword [0x140259810]
movdqa xmm15, xmmword [str._b_t_n_v]
movdqa xmm9, xmmword [0x1402597f0]
nop dword [rax]
movdqa xmm4, xmm14
pmuludq xmm4, xmm11
pshufd xmm4, xmm4, 0xed
pshufd xmm5, xmm14, 0xf5
pmuludq xmm5, xmm11
pshufd xmm5, xmm5, 0xed
punpckldq xmm4, xmm5
psrld xmm4, 5
pshufd xmm5, xmm4, 0xf5
pmuludq xmm4, xmm8
pshufd xmm6, xmm4, 0xe8
pmuludq xmm5, xmm8
pshufd xmm4, xmm5, 0xe8
punpckldq xmm6, xmm4
movdqa xmm4, xmm14
psubd xmm4, xmm6
movdqa xmm5, xmm10
pmuludq xmm5, xmm11
pshufd xmm5, xmm5, 0xed
pshufd xmm6, xmm10, 0xf5
pmuludq xmm6, xmm11
pshufd xmm6, xmm6, 0xed
punpckldq xmm5, xmm6
psrld xmm5, 5
pshufd xmm6, xmm5, 0xf5
pmuludq xmm5, xmm8
pshufd xmm7, xmm5, 0xe8
pmuludq xmm6, xmm8
pshufd xmm5, xmm6, 0xe8
punpckldq xmm7, xmm5
movdqa xmm5, xmm10
psubd xmm5, xmm7
movdqa xmm6, xmm9
pmuludq xmm6, xmm11
pshufd xmm6, xmm6, 0xed
pshufd xmm7, xmm9, 0xf5
pmuludq xmm7, xmm11
pshufd xmm7, xmm7, 0xed
punpckldq xmm6, xmm7
psrld xmm6, 5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm6, xmm8
pshufd xmm0, xmm6, 0xe8
pmuludq xmm7, xmm8
pshufd xmm6, xmm7, 0xe8
punpckldq xmm0, xmm6
movdqa xmm6, xmm9
psubd xmm6, xmm0
movdqa xmm0, xmm15
pmuludq xmm0, xmm11
pshufd xmm0, xmm0, 0xed
pshufd xmm7, xmm15, 0xf5
pmuludq xmm7, xmm11
pshufd xmm7, xmm7, 0xed
punpckldq xmm0, xmm7
psrld xmm0, 5
pshufd xmm7, xmm0, 0xf5
pmuludq xmm0, xmm8
pshufd xmm0, xmm0, 0xe8
pmuludq xmm7, xmm8
pshufd xmm7, xmm7, 0xe8
punpckldq xmm0, xmm7
movdqa xmm7, xmm15
psubd xmm7, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm4
movdqa xmm1, xmmword [str.TTTT]
pand xmm0, xmm1
movdqa xmm2, xmmword [0x140259850]
paddd xmm4, xmm2
movdqa xmm3, xmmword [0x140265710]
pand xmm4, xmm3
por xmm4, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm5
pand xmm0, xmm1
paddd xmm5, xmm2
pand xmm5, xmm3
por xmm5, xmm0
packuswb xmm5, xmm4
movdqa xmm0, xmm12
psubd xmm0, xmm6
pand xmm0, xmm1
paddd xmm6, xmm2
pand xmm6, xmm3
por xmm6, xmm0
movdqa xmm0, xmm12
psubd xmm0, xmm7
pand xmm0, xmm1
paddd xmm7, xmm2
pand xmm7, xmm3
por xmm7, xmm0
packuswb xmm7, xmm6
packuswb xmm5, xmm7
movdqu xmm0, xmmword [rsi + rcx]
pxor xmm5, xmm0
pxor xmm5, xmm13
movdqu xmmword [rsi + rcx], xmm5
add rcx, 0x10
movdqa xmm0, xmmword [0x140259870]
paddd xmm10, xmm0
paddd xmm14, xmm0
paddd xmm15, xmm0
paddd xmm9, xmm0
cmp rcx, 0x120
jne 0x140120bb0
xor byte [rsi + 0x120], 0x68
test al, al
jne 0x140121050
xor ecx, ecx
movdqa xmm10, xmmword [0x140259820]
movdqa xmm1, xmmword [0x140259810]
movdqa xmm2, xmmword [str._b_t_n_v]
movdqa xmm3, xmmword [0x1402597f0]
movdqa xmm14, xmmword [str.TTTT]
movdqa xmm15, xmmword [0x140259850]
movdqa xmm9, xmmword [0x140265710]
movdqa xmm13, xmm8
movdqa xmm8, xmm11
movdqa xmm11, xmm12
movdqa xmm12, xmmword [0x140259870]
nop word cs:[rax + rax]
nop
movdqa xmm4, xmm1
pmuludq xmm4, xmm8
pshufd xmm4, xmm4, 0xed
pshufd xmm5, xmm1, 0xf5
pmuludq xmm5, xmm8
pshufd xmm5, xmm5, 0xed
punpckldq xmm4, xmm5
psrld xmm4, 5
pshufd xmm5, xmm4, 0xf5
pmuludq xmm4, xmm13
pshufd xmm6, xmm4, 0xe8
pmuludq xmm5, xmm13
pshufd xmm4, xmm5, 0xe8
punpckldq xmm6, xmm4
movdqa xmm4, xmm1
psubd xmm4, xmm6
movdqa xmm5, xmm10
pmuludq xmm5, xmm8
pshufd xmm5, xmm5, 0xed
pshufd xmm6, xmm10, 0xf5
pmuludq xmm6, xmm8
pshufd xmm6, xmm6, 0xed
punpckldq xmm5, xmm6
psrld xmm5, 5
pshufd xmm6, xmm5, 0xf5
pmuludq xmm5, xmm13
pshufd xmm7, xmm5, 0xe8
pmuludq xmm6, xmm13
pshufd xmm5, xmm6, 0xe8
punpckldq xmm7, xmm5
movdqa xmm5, xmm10
psubd xmm5, xmm7
movdqa xmm6, xmm3
pmuludq xmm6, xmm8
pshufd xmm6, xmm6, 0xed
pshufd xmm7, xmm3, 0xf5
pmuludq xmm7, xmm8
pshufd xmm7, xmm7, 0xed
punpckldq xmm6, xmm7
psrld xmm6, 5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm6, xmm13
pshufd xmm0, xmm6, 0xe8
pmuludq xmm7, xmm13
pshufd xmm6, xmm7, 0xe8
punpckldq xmm0, xmm6
movdqa xmm6, xmm3
psubd xmm6, xmm0
movdqa xmm0, xmm2
pmuludq xmm0, xmm8
pshufd xmm0, xmm0, 0xed
pshufd xmm7, xmm2, 0xf5
pmuludq xmm7, xmm8
pshufd xmm7, xmm7, 0xed
punpckldq xmm0, xmm7
psrld xmm0, 5
pshufd xmm7, xmm0, 0xf5
pmuludq xmm0, xmm13
pshufd xmm0, xmm0, 0xe8
pmuludq xmm7, xmm13
pshufd xmm7, xmm7, 0xe8
punpckldq xmm0, xmm7
movdqa xmm7, xmm2
psubd xmm7, xmm0
movdqa xmm0, xmm11
psubd xmm0, xmm4
pand xmm0, xmm14
paddd xmm4, xmm15
pand xmm4, xmm9
por xmm4, xmm0
movdqa xmm0, xmm11
psubd xmm0, xmm5
pand xmm0, xmm14
paddd xmm5, xmm15
pand xmm5, xmm9
por xmm5, xmm0
packuswb xmm5, xmm4
movdqa xmm0, xmm11
psubd xmm0, xmm6
pand xmm0, xmm14
paddd xmm6, xmm15
pand xmm6, xmm9
por xmm6, xmm0
movdqa xmm0, xmm11
psubd xmm0, xmm7
pand xmm0, xmm14
paddd xmm7, xmm15
pand xmm7, xmm9
por xmm7, xmm0
packuswb xmm7, xmm6
packuswb xmm5, xmm7
movdqu xmm0, xmmword [rsi + rcx]
pxor xmm5, xmm0
pxor xmm5, xmmword [0x140265720]
movdqu xmmword [rsi + rcx], xmm5
add rcx, 0x10
paddd xmm10, xmm12
paddd xmm1, xmm12
paddd xmm2, xmm12
paddd xmm3, xmm12
cmp rcx, 0x120
jne 0x140120e20
xor byte [rsi + 0x120], 0x68
xor ecx, ecx
movdqa xmm10, xmmword [0x140259820]
movdqa xmm14, xmmword [0x140259810]
movdqa xmm15, xmmword [str._b_t_n_v]
movdqa xmm9, xmmword [0x1402597f0]
movdqa xmm12, xmm11
movdqa xmm11, xmm8
movdqa xmm8, xmm13
movdqa xmm13, xmmword [0x140265720]
jmp 0x140120bb0
sub rsp, 0x20
mov rcx, rbx
call fcn.1400abec0
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rsp, 0x20
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
mov r8, rax
call fcn.14008d7b0
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call fcn.1401fc650
add rsp, 0x20
movdqa xmm13, xmmword [0x140259850]
movdqa xmm15, xmmword [0x140265710]
movdqa xmm14, xmmword [0x140259870]
jmp 0x140120600
movaps xmm6, xmmword [rbp - 0x70]
movaps xmm7, xmmword [rbp - 0x60]
movaps xmm8, xmmword [rbp - 0x50]
movaps xmm9, xmmword [rbp - 0x40]
movaps xmm10, xmmword [rbp - 0x30]
movaps xmm11, xmmword [rbp - 0x20]
movaps xmm12, xmmword [rbp - 0x10]
movaps xmm13, xmmword [rbp]
movaps xmm14, xmmword [rbp + 0x10]
movaps xmm15, xmmword [rbp + 0x20]
lea rsp, [rbp + 0x30]
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret