Function at 0x18019c71c
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, 0xc0
mov qword [rbp + 0x2f], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rbx, rdx
mov rdi, rcx
xor r13d, r13d
mov dword [rdx], r13d
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.IsWow64Process
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18019c985
mov rdx, rbx
mov rcx, rdi
call rax
test eax, eax
jne 0x18019c985
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov dword [rbp - 0x69], 0x64
lea eax, [r13 + 0x3f]
mov word [rbp - 0x65], ax
lea r14d, [r13 + 0x4a]
mov word [rbp - 0x63], r14w
lea eax, [r13 + 0x39]
mov word [rbp - 0x61], ax
lea r12d, [r13 + 0x44]
mov word [rbp - 0x5f], r12w
lea eax, [r13 + 0x27]
mov word [rbp - 0x5d], ax
lea r15d, [r13 + 0xb]
mov word [rbp - 0x5b], r15w
lea eax, [r13 + 0x11]
mov word [rbp - 0x59], ax
lea ecx, [rax - 9]
mov word [rbp - 0x57], cx
mov word [rbp - 0x55], r13w
lea esi, [rax - 7]
mov word [rbp - 0x53], si
lea eax, [rcx + 0x3b]
mov word [rbp - 0x51], ax
lea edi, [rcx + 8]
mov word [rbp - 0x4f], di
mov word [rbp - 0x4d], r12w
mov word [rbp - 0x4b], di
lea r8d, [r13 + 1]
mov word [rbp - 0x49], r8w
mov word [rbp - 0x47], cx
mov word [rbp - 0x45], cx
mov word [rbp - 0x43], r12w
lea r11d, [r13 + 0x13]
mov word [rbp - 0x41], r11w
lea eax, [rcx + 4]
mov word [rbp - 0x3f], ax
mov word [rbp - 0x3d], r8w
mov word [rbp - 0x3b], di
mov word [rbp - 0x39], ax
mov word [rbp - 0x37], r8w
lea ebx, [rcx + 0xe]
mov word [rbp - 0x35], bx
mov word [rbp - 0x33], r12w
mov word [rbp - 0x31], bx
mov word [rbp - 0x2f], r8w
lea eax, [rcx + 1]
mov word [rbp - 0x2d], ax
mov word [rbp - 0x2b], r15w
mov word [rbp - 0x29], di
mov word [rbp - 0x27], r8w
mov word [rbp - 0x25], r12w
lea edx, [rcx + 0xc]
mov word [rbp - 0x23], dx
mov word [rbp - 0x21], bx
mov word [rbp - 0x1f], r15w
lea ecx, [rsi - 3]
mov word [rbp - 0x1d], cx
mov word [rbp - 0x1b], r8w
lea r10d, [r13 + 0x17]
mov word [rbp - 0x19], r10w
mov word [rbp - 0x17], r10w
mov word [rbp - 0x15], r12w
lea eax, [rsi + 3]
mov word [rbp - 0x13], ax
mov word [rbp - 0x11], r10w
mov word [rbp - 0xf], r12w
lea eax, [rsi + 0x29]
mov word [rbp - 0xd], ax
mov word [rbp - 0xb], r15w
mov word [rbp - 9], r11w
lea eax, [rsi + 0x48]
mov word [rbp - 7], ax
lea eax, [rsi + 0x46]
mov word [rbp - 5], ax
mov word [rbp - 3], r12w
mov word [rbp - 1], dx
mov word [rbp + 1], bx
mov word [rbp + 3], r15w
mov word [rbp + 5], cx
mov word [rbp + 7], r8w
mov word [rbp + 9], r10w
mov word [rbp + 0xb], r10w
mov word [rbp + 0xd], r12w
mov word [rbp + 0xf], r15w
mov word [rbp + 0x11], bx
mov word [rbp + 0x13], r12w
mov word [rbp + 0x15], si
mov word [rbp + 0x17], r15w
mov word [rbp + 0x19], di
mov word [rbp + 0x1b], r14w
mov word [rbp + 0x1d], r12w
lea eax, [rsi + 0x17]
mov word [rbp + 0x1f], ax
mov word [rbp + 0x21], bx
mov word [rbp + 0x23], bx
mov word [rbp + 0x25], r15w
mov word [rbp + 0x27], bx
lea eax, [rsi + 0x54]
mov word [rbp + 0x29], ax
mov word [rbp + 0x2b], r12w
xor eax, eax
mov word [rbp + 0x2d], ax
movzx eax, word [rbp - 0x65]
mov edx, r13d
movzx eax, word [rbp + rdx*2 - 0x65]
mov ecx, dword [rbp - 0x69]
xor cx, ax
mov word [rbp + rdx*2 - 0x65], cx
add rdx, r8
cmp rdx, 0x49
jb 0x18019c944
mov word [rbp + 0x2d], r13w
mov edx, r9d
lea rcx, [rbp - 0x65]
call fcn.180135b6c
nop
xor edx, edx
mov r8d, 0x94
lea rcx, [rbp - 0x65]
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor al, al
jmp 0x18019c98a
mov eax, 1
lea r11, [rsp + 0xc0]
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