Function at 0x140078970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc0
movdqa xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov rax, qword [0x140105c88]
xor rax, rsp
mov qword [rsp + 0x88], rax
xor edi, edi
cmp r9, 0x30
ja 0x140078cad
mov rsi, rcx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
test r9, r9
je 0x140078a81
cmp r9, 8
jae 0x1400789ee
xor eax, eax
jmp 0x140078a70
cmp r9, 0x10
jae 0x1400789f8
xor eax, eax
jmp 0x140078a42
mov rax, r9
and rax, 0xfffffffffffffff0
movups xmm0, xmmword [r8]
xorps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
cmp rax, 0x10
je 0x140078a37
movups xmm0, xmmword [r8 + 0x10]
xorps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
cmp rax, 0x20
je 0x140078a37
movups xmm0, xmmword [r8 + 0x20]
xorps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
cmp rax, r9
je 0x140078a81
test r9b, 8
je 0x140078a70
mov rcx, rax
mov rax, r9
and rax, 0xfffffffffffffff8
nop dword [rax]
mov rdx, qword [r8 + rcx]
xor qword [rsp + rcx + 0x20], rdx
add rcx, 8
cmp rax, rcx
jne 0x140078a50
cmp rax, r9
je 0x140078a81
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp r9, rax
jne 0x140078a70
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmm1, xmmword [rsp + 0x30]
movdqa xmm2, xmmword [rsp + 0x40]
xorps xmm0, xmmword [0x1400e62d0]
pxor xmm1, xmmword [str._M_kn_aN]
movaps xmmword [rsp + 0x20], xmm0
movdqa xmmword [rsp + 0x30], xmm1
pxor xmm2, xmmword [0x1400e62f0]
movdqa xmmword [rsp + 0x40], xmm2
lea r15, [rsi + 0xf8]
mov eax, dword [0x14010b764]
test eax, 0x2000000
jne 0x140078c26
test eax, 0x200
jne 0x140078c4d
mov dword [rsi + 0xf0], 0xe
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movups xmmword [rsi], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movups xmmword [rsi + 0x10], xmm0
movdqa xmm8, xmmword [rsp + 0x70]
mov r12d, 0x30
lea r13, [0x1400e6340]
movdqa xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [section..rdata]
lea rdi, [rsp + 0x50]
lea rbx, [rsp + 0x60]
lea r14, [rsp + 0x70]
nop word cs:[rax + rax]
movaps xmmword [rsp + 0x50], xmm7
mov rcx, rdi
mov rdx, rbx
call fcn.140079570
movzx eax, byte [r13]
movd xmm0, eax
pxor xmm0, xmm8
movdqa xmm1, xmmword [rsp + 0x50]
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm1, xmm0
movdqa xmm0, xmm1
pslldq xmm0, 4
movdqa xmm2, xmm1
pslldq xmm2, 8
pxor xmm2, xmm0
movdqa xmm8, xmm1
pslldq xmm8, 0xc
pxor xmm8, xmm2
pxor xmm8, xmm1
movdqa xmmword [rsp + 0x70], xmm8
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + r12 - 0x10], xmm0
cmp r12, 0xf0
je 0x140078c74
mov rcx, rdi
mov rdx, r14
call fcn.140079570
movdqa xmm0, xmmword [rsp + 0x50]
psrldq xmm0, 0xc
pxor xmm6, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 4
movdqa xmm1, xmm6
pslldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 0xc
pxor xmm0, xmm1
pxor xmm6, xmm0
movdqa xmmword [rsp + 0x60], xmm6
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + r12], xmm0
add r12, 0x20
inc r13
jmp 0x140078b40
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
call fcn.14008a4e0
lea rax, [0x140088fe0]
test r15, r15
je 0x140078c8a
lea rcx, [0x140088280]
jmp 0x140078c87
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
call fcn.14008b5d0
lea rax, [0x14008baa0]
test r15, r15
je 0x140078c8a
lea rcx, [0x14008b7a0]
jmp 0x140078c87
lea rax, [0x140077970]
test r15, r15
je 0x140078c8a
lea rcx, [0x140076810]
mov qword [r15], rcx
mov qword [rsi + 0x100], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x108], xmm0
mov qword [rsi + 0x118], 1
mov edi, 1
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400a5060
mov eax, edi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret