Function at 0x1801222c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x18028f9a8]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rdi, rdx
mov r13, rcx
mov qword [rsp + 0x68], rcx
movsx r9, r8b
shr r9, 0x3f
movzx eax, r9b
neg al
and al, r8b
add al, al
sub r8b, al
xor r9b, 1
movzx eax, r9b
dec eax
shr eax, 0x1f
movzx ebp, al
neg ebp
mov dword [rsp + 0x38], ebp
movzx eax, r8b
xor al, 1
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx r12d, cl
neg r12d
movzx eax, r8b
xor al, 2
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx ebp, cl
neg ebp
movzx eax, r8b
xor al, 3
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx eax, cl
neg eax
mov dword [rsp + 0x2c], eax
movzx eax, r8b
xor al, 4
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx eax, cl
neg eax
mov dword [rsp + 0x30], eax
movzx eax, r8b
xor al, 5
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx eax, cl
neg eax
mov dword [rsp + 0x34], eax
movzx eax, r8b
xor al, 6
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx eax, cl
neg eax
mov dword [rsp + 0x28], eax
movzx eax, r8b
xor al, 7
movzx ecx, al
dec ecx
shr ecx, 0x1f
movzx eax, cl
neg eax
mov dword [rsp + 0x24], eax
xor r8b, 8
movzx eax, r8b
dec eax
shr eax, 0x1f
movzx eax, al
neg eax
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.18011ef60
lea rcx, [r13 + 0x28]
call fcn.18011ef60
lea rbx, [r13 + 0x50]
mov qword [rsp + 0x60], rbx
mov rcx, rbx
call fcn.18011eee0
lea r15, [rdi + 0xf0]
mov rax, r13
sub rax, rdi
lea rcx, [rax - 0xc8]
mov qword [rsp + 0x50], rcx
lea rdx, [rax - 0xa0]
mov qword [rsp + 0x58], rdx
lea r10, [rax - 0xf0]
mov qword [rsp + 0x48], r10
mov r14d, 0xa
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x40], r14
mov r14d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x34]
nop dword [rax]
nop word [rax + rax]
mov r11d, dword [r15 - 0xf0]
mov esi, dword [r15 - 0x78]
mov r9d, dword [r15]
mov r8d, dword [r15 + 0x78]
mov edx, dword [r15 + 0xf0]
mov ecx, dword [r15 + 0x168]
mov eax, dword [r15 + 0x1e0]
mov edi, dword [r15 + 0x258]
mov r10d, dword [r15 + r10]
xor edi, r10d
and edi, dword [rsp + 0x20]
xor eax, r10d
and eax, dword [rsp + 0x24]
xor edi, eax
xor ecx, r10d
and ecx, dword [rsp + 0x28]
xor edi, ecx
xor edx, r10d
and edx, ebx
xor edi, edx
xor r8d, r10d
and r8d, r13d
xor edi, r8d
xor r9d, r10d
and r9d, r14d
xor edi, r9d
xor r11d, r10d
and r11d, r12d
xor edi, r11d
xor esi, r10d
and esi, ebp
xor edi, esi
xor edi, r10d
mov rax, qword [rsp + 0x48]
mov dword [r15 + rax], edi
mov r11, qword [rsp + 0x50]
mov ecx, dword [r11 + r15]
mov edx, ecx
xor edx, dword [r15 + 0x280]
and edx, dword [rsp + 0x20]
mov eax, ecx
xor eax, dword [r15 + 0x208]
and eax, dword [rsp + 0x24]
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x190]
and eax, dword [rsp + 0x28]
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x118]
and eax, ebx
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0xa0]
and eax, r13d
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x28]
and eax, r14d
xor edx, eax
mov eax, ecx
xor eax, dword [r15 - 0x50]
and eax, ebp
xor edx, eax
mov eax, ecx
xor eax, dword [r15 - 0xc8]
and eax, r12d
xor edx, eax
xor edx, ecx
mov dword [r11 + r15], edx
mov r11, qword [rsp + 0x58]
mov ecx, dword [r11 + r15]
mov edx, ecx
xor edx, dword [r15 + 0x2a8]
and edx, dword [rsp + 0x20]
mov eax, ecx
xor eax, dword [r15 + 0x230]
and eax, dword [rsp + 0x24]
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x1b8]
and eax, dword [rsp + 0x28]
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x140]
and eax, ebx
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0xc8]
and eax, r13d
xor edx, eax
mov eax, ecx
xor eax, dword [r15 + 0x50]
and eax, r14d
xor edx, eax
mov eax, ecx
xor eax, dword [r15 - 0x28]
and eax, ebp
xor edx, eax
mov eax, ecx
xor eax, dword [r15 - 0xa0]
and eax, r12d
xor edx, eax
xor edx, ecx
mov dword [r11 + r15], edx
lea r15, [r15 + 4]
sub qword [rsp + 0x40], 1
mov r10, qword [rsp + 0x48]
jne 0x180122460
xor eax, eax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0x80], eax
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.180122270
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x90], xmm1
movsd xmm0, qword [rax + 0x20]
movsd qword [rsp + 0xa0], xmm0
mov edx, 0x28
lea rcx, [rsp + 0xa8]
call fcn.1800411d0
nop
lea r9, [rsp + 0x80]
sub r9, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x38]
mov r14, qword [rsp + 0x70]
nop dword [rax]
mov r8d, dword [rbx - 0x50]
xor r8d, dword [rbx - 0x28]
and r8d, ebp
xor dword [rbx - 0x50], r8d
xor dword [rbx - 0x28], r8d
mov ecx, dword [r9 + rbx - 0x50]
xor ecx, dword [rbx]
and ecx, ebp
xor dword [rbx], ecx
lea rbx, [rbx + 4]
sub r14, 1
jne 0x180122680
lea edx, [r14 + 0x28]
lea rcx, [rsp + 0x80]
call fcn.1800411d0
nop
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.180186840
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret