Function at 0x1801982f6
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm6
mov eax, 0xfffffffb
test rcx, rcx
je 0x180198781
test rdx, rdx
je 0x180198781
mov bl, byte [rcx + 0x14]
cmp bl, 3
je 0x18019833a
cmp byte [rdx], 0
je 0x180198781
xor eax, eax
test r8, r8
je 0x180198781
test r9d, r9d
jle 0x180198781
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x60], rax
mov r14d, r9d
shr r14d, 7
cmp bl, 3
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x38], rdx
je 0x180198488
cmp bl, 2
je 0x1801983dc
mov eax, 0xfffffffb
cmp bl, 1
jne 0x180198781
mov dword [rsp + 0x2c], r9d
test r14d, r14d
je 0x18019877a
mov rax, qword [rsp + 0x38]
lea rbx, [rax + 0x54]
mov rax, qword [rsp + 0x38]
mov r9d, dword [rax + 0x4c]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov rdi, qword [rsp + 0x60]
mov rdx, rdi
mov r8, rbx
call fcn.18027135e
add rsi, 0x10
mov qword [rsp + 0x58], rsi
add rdi, 0x10
mov qword [rsp + 0x60], rdi
dec r14d
jg 0x18019839f
jmp 0x18019877a
mov dword [rsp + 0x2c], r9d
test r14d, r14d
je 0x18019877a
movdqu xmm6, xmmword [rcx]
mov rax, qword [rsp + 0x38]
lea rbx, [rax + 0x54]
lea rdi, [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov r9d, dword [rax + 0x4c]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.18027135e
pxor xmm6, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm6
movd xmm0, dword [rsi]
mov rcx, qword [rsp + 0x60]
movd dword [rcx], xmm6
pshufd xmm1, xmm6, 0xe5
movd xmm2, dword [rsi + 4]
punpckldq xmm0, xmm2
movd dword [rcx + 4], xmm1
mov eax, dword [rsp + 0x48]
movd xmm1, dword [rsi + 8]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x4c]
movd xmm2, dword [rsi + 0xc]
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
mov dword [rcx + 0xc], eax
add rsi, 0x10
mov qword [rsp + 0x58], rsi
add rcx, 0x10
mov qword [rsp + 0x60], rcx
movdqa xmm6, xmm0
dec r14d
jg 0x1801983fc
jmp 0x18019877a
mov dword [rsp + 0x2c], r9d
test r14d, r14d
je 0x18019877a
mov r10d, dword [rcx]
mov edx, dword [rcx + 4]
mov eax, dword [rcx + 8]
mov ebp, dword [rcx + 0xc]
mov ecx, eax
shr ecx, 0x18
mov dword [rsp + 0x68], ecx
mov esi, eax
shr esi, 0x10
mov edi, eax
shr eax, 8
mov dword [rsp + 0x28], eax
mov r8d, edx
shr r8d, 0x18
mov r15d, edx
shr r15d, 0x10
mov r9d, edx
mov r13d, edx
shr r13d, 8
mov ebx, r10d
shr ebx, 0x18
mov r11d, r10d
shr r11d, 0x10
mov r12d, r10d
shr r10d, 8
mov edx, r10d
mov rax, qword [rsp + 0x38]
lea r10, [rax + 0x54]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x98], r10
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x70], r14d
xor r14d, r14d
mov edi, edx
mov edx, ebx
mov dword [rsp + 0x7c], r14d
mov ebx, ebp
mov dword [rsp + 0x84], ebp
movzx edx, dl
mov dword [rsp + 0x80], edx
shl edx, 0x18
movzx eax, r11b
mov dword [rsp + 0x78], eax
shl eax, 0x10
or eax, edx
movzx edx, dil
mov dword [rsp + 0x30], edx
shl edx, 8
or edx, eax
movzx eax, r12b
or edx, eax
mov r12d, eax
mov dword [rsp + 0x40], edx
movzx eax, r8b
mov dword [rsp + 0x94], eax
shl eax, 0x18
movzx edx, r15b
mov dword [rsp + 0x90], edx
shl edx, 0x10
or edx, eax
movzx eax, r13b
mov dword [rsp + 0x8c], eax
shl eax, 8
or eax, edx
movzx r13d, r9b
or eax, r13d
mov dword [rsp + 0x44], eax
movzx eax, byte [rsp + 0x68]
mov qword [rsp + 0x68], rax
shl eax, 0x18
movzx edx, sil
mov dword [rsp + 0x88], edx
shl edx, 0x10
or edx, eax
movzx eax, byte [rsp + 0x28]
mov dword [rsp + 0x28], eax
shl eax, 8
or eax, edx
movzx ebp, byte [rsp + 0x34]
or eax, ebp
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ebx
mov rax, qword [rsp + 0x38]
mov r9d, dword [rax + 0x4c]
mov rdx, rcx
mov r8, r10
call fcn.180270fe1
mov edx, r14d
shr rdx, 3
mov eax, r14d
and al, 7
mov ecx, eax
xor cl, 7
mov rbx, qword [rsp + 0x58]
movzx ebx, byte [rbx + rdx]
shr ebx, cl
mov dword [rsp + 0x74], ebx
movzx ebx, byte [rsp + 0x40]
and ebx, 0xffffff80
mov ecx, eax
shr ebx, cl
mov rax, qword [rsp + 0x120]
xor byte [rax + rdx], bl
mov ecx, r12d
add cl, cl
mov eax, dword [rsp + 0x30]
mov r12d, eax
shr r12b, 7
or r12b, cl
add al, al
mov ecx, dword [rsp + 0x78]
mov edi, ecx
shr dil, 7
or dil, al
add cl, cl
mov eax, dword [rsp + 0x80]
mov r11d, eax
shr r11b, 7
or r11b, cl
add al, al
mov edx, r13d
shr dl, 7
or dl, al
add r13b, r13b
mov ebx, dword [rsp + 0x8c]
mov r9d, ebx
shr r9b, 7
or r9b, r13b
add bl, bl
mov ecx, dword [rsp + 0x90]
mov eax, ecx
shr al, 7
or al, bl
mov dword [rsp + 0x30], eax
add cl, cl
mov eax, dword [rsp + 0x94]
mov r15d, eax
shr r15b, 7
or r15b, cl
add al, al
mov r8d, ebp
shr r8b, 7
or r8b, al
add bpl, bpl
mov ecx, dword [rsp + 0x28]
mov eax, ecx
shr al, 7
or al, bpl
mov dword [rsp + 0x34], eax
add cl, cl
mov ebx, dword [rsp + 0x88]
mov eax, ebx
shr al, 7
or al, cl
mov dword [rsp + 0x28], eax
add bl, bl
mov rbp, qword [rsp + 0x68]
mov esi, ebp
shr sil, 7
or sil, bl
mov ebx, dword [rsp + 0x84]
movzx eax, bl
mov ecx, eax
shr ecx, 7
lea ecx, [rcx + rbp*2]
mov dword [rsp + 0x68], ecx
mov ecx, ebx
shr ecx, 7
and ecx, 0xfe
mov ebp, ebx
shr ebp, 0x17
mov r13d, ebp
and r13d, 1
or r13d, ecx
mov r14d, ebx
shr r14d, 0xf
mov r10d, r14d
and r10d, 1
and eax, 0x7f
lea eax, [r10 + rax*2]
lea rcx, [rsp + 0x40]
mov r10, qword [rsp + 0x98]
shl r13d, 8
or eax, r13d
mov r13d, dword [rsp + 0x30]
and r14d, 0xfe
shr ebx, 0x1f
or ebx, r14d
mov r14d, dword [rsp + 0x7c]
shl ebx, 0x10
or ebx, eax
mov eax, dword [rsp + 0x74]
and eax, 1
and ebp, 0xfe
or ebp, eax
shl ebp, 0x18
or ebp, ebx
inc r14d
cmp r14d, 0x80
jne 0x18019850e
mov ebx, edx
mov edx, edi
mov edi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x70]
dec r14d
jg 0x1801984fe
mov eax, dword [rsp + 0x2c]
and eax, 0xffffff80
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret