Function at 0x1801a1f2c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov qword [rbp + 0x27], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov r12d, edx
mov rdi, rcx
xor ebx, ebx
call fcn.1801a1c6c
test rax, rax
jne 0x1801a21c5
mov dword [rsp + 0x20], 0x1e
lea eax, [rbx + 0x45]
mov word [rsp + 0x24], ax
lea eax, [rbx + 0x3f]
mov word [rsp + 0x26], ax
lea eax, [rbx + 0x43]
mov word [rsp + 0x28], ax
lea r13d, [rbx + 0x3e]
mov word [rsp + 0x2a], r13w
lea eax, [rbx + 0x5d]
mov word [rsp + 0x2c], ax
lea r11d, [rbx + 0x71]
mov word [rsp + 0x2e], r11w
lea eax, [rbx + 0x6b]
mov word [rsp + 0x30], ax
lea esi, [rbx + 0x72]
mov word [rsp + 0x32], si
lea ecx, [rbx + 0x7a]
mov word [rsp + 0x34], cx
mov word [rsp + 0x36], r13w
lea r14d, [rbx + 0x70]
mov word [rsp + 0x38], r14w
mov word [rsp + 0x3a], r11w
lea r12d, [rbx + 0x6a]
mov word [rsp + 0x3c], r12w
mov word [rsp + 0x3e], r13w
lea eax, [rbx + 0x7d]
mov word [rsp + 0x40], ax
mov word [rsp + 0x42], r11w
mov word [rsp + 0x44], si
mov word [rsp + 0x46], si
lea r15d, [rbx + 0x7b]
mov word [rsp + 0x48], r15w
mov word [rbp - 0x7f], ax
mov word [rbp - 0x7d], r12w
mov word [rbp - 0x7b], r13w
lea eax, [rbx + 0x79]
mov word [rbp - 0x79], ax
mov word [rbp - 0x77], si
mov word [rbp - 0x75], r11w
lea r9d, [rbx + 0x7c]
mov word [rbp - 0x73], r9w
lea edx, [rbx + 0x7f]
mov word [rbp - 0x71], dx
mov word [rbp - 0x6f], si
mov word [rbp - 0x6d], r13w
mov word [rbp - 0x6b], si
lea r8d, [rbx + 0x77]
mov word [rbp - 0x69], r8w
lea r10d, [rbx + 0x6d]
mov word [rbp - 0x67], r10w
mov word [rbp - 0x65], r12w
mov word [rbp - 0x63], r13w
mov word [rbp - 0x61], r11w
lea eax, [rbx + 0x78]
mov word [rbp - 0x5f], ax
mov word [rbp - 0x5d], r13w
lea eax, [rbx + 0x69]
mov word [rbp - 0x5b], ax
mov word [rbp - 0x59], r8w
mov word [rbp - 0x57], r14w
mov word [rbp - 0x55], cx
mov word [rbp - 0x53], r11w
mov word [rbp - 0x51], ax
mov word [rbp - 0x4f], r13w
lea eax, [rbx + 0x6e]
mov word [rbp - 0x4d], ax
lea ecx, [rbx + 0x6c]
mov word [rbp - 0x4b], cx
mov word [rbp - 0x49], r11w
mov word [rbp - 0x47], ax
mov word [rbp - 0x45], r15w
mov word [rbp - 0x43], cx
mov word [rbp - 0x41], r12w
mov word [rbp - 0x3f], r8w
mov word [rbp - 0x3d], r15w
mov word [rbp - 0x3b], r10w
mov word [rbp - 0x39], r13w
mov word [rbp - 0x37], dx
lea eax, [rbx + 0x68]
mov word [rbp - 0x35], ax
mov word [rbp - 0x33], dx
mov word [rbp - 0x31], r8w
mov word [rbp - 0x2f], si
mov word [rbp - 0x2d], dx
mov word [rbp - 0x2b], r9w
mov word [rbp - 0x29], si
mov word [rbp - 0x27], r15w
mov word [rbp - 0x25], r13w
mov word [rbp - 0x23], r8w
mov word [rbp - 0x21], r14w
mov word [rbp - 0x1f], r13w
mov word [rbp - 0x1d], r12w
lea eax, [rbx + 0x76]
mov word [rbp - 0x1b], ax
mov word [rbp - 0x19], r15w
mov word [rbp - 0x17], r13w
mov word [rbp - 0x15], r10w
lea eax, [rbx + 0x67]
mov word [rbp - 0x13], ax
mov word [rbp - 0x11], r10w
mov word [rbp - 0xf], r12w
mov word [rbp - 0xd], r15w
lea eax, [rbx + 0x73]
mov word [rbp - 0xb], ax
lea eax, [rbx + 0x30]
mov word [rbp - 9], ax
mov word [rbp - 7], r13w
lea eax, [rbx + 0x58]
mov word [rbp - 5], ax
lea ecx, [rbx + 0x5f]
mov word [rbp - 3], cx
lea eax, [rbx + 0x4a]
mov word [rbp - 1], ax
mov word [rbp + 1], cx
lea eax, [rbx + 0x52]
mov word [rbp + 3], ax
xor eax, eax
mov word [rbp + 5], ax
movzx eax, word [rsp + 0x24]
mov edx, ebx
movzx eax, word [rsp + rdx*2 + 0x24]
mov ecx, dword [rsp + 0x20]
xor cx, ax
mov word [rsp + rdx*2 + 0x24], cx
inc rdx
cmp rdx, 0x55
jb 0x1801a217c
mov word [rbp + 5], bx
lea rcx, [rsp + 0x24]
call fcn.18009557c
nop
xor edx, edx
mov r8d, 0xac
lea rcx, [rsp + 0x24]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rbx
jmp 0x1801a223d
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rbx
mov r15, qword [0x1802b6180]
mov r14, qword [0x1802b6178]
mov rsi, qword [rbp + 0xf]
cmp r14, r15
je 0x1801a222e
mov r13d, 0x638
cmp dword [r14], r12d
jne 0x1801a2226
cmp rsi, rbx
je 0x1801a220f
mov rcx, rsi
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rsi, r13
mov qword [rbp + 0xf], rsi
jmp 0x1801a2226
mov r8, r14
mov rdx, rsi
lea rcx, [rbp + 7]
call fcn.1802035cc
mov rbx, qword [rbp + 0x17]
mov rsi, qword [rbp + 0xf]
add r14, r13
cmp r14, r15
jne 0x1801a21ee
mov rax, qword [rbp + 7]
mov qword [rdi], rax
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rbx
mov rax, rdi
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret