Function at 0x1400014c0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
push r13
push r14
push r15
sub rsp, 0x70
mov qword [r11 + 8], rbx
mov qword [r11 - 0x20], rbp
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], rdi
xor edi, edi
mov rax, r8
xor r8d, r8d
mov qword [r11 - 0x38], r12
mov dword [rsp + 0x24], edi
mov ebp, edi
mov r13d, edi
mov r12d, edi
mov qword [r11 - 0x58], rdi
mov qword [r11 - 0x50], r8
mov qword [r11 - 0x48], r8
test rax, rax
je 0x1400016f6
test rcx, rcx
jne 0x14000151b
test edx, edx
jne 0x1400016f6
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x30]
call section..text
test eax, eax
jne 0x14000153d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
jmp 0x1400016fc
mov esi, dword [rsp + 0x38]
xor ecx, ecx
mov edx, esi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edx, esi
xor ecx, ecx
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, 0x11
cmp esi, ecx
mov edx, esi
mov r13, rax
cmovb edx, ecx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r12, rax
test rbp, rbp
je 0x1400016ee
test rax, rax
je 0x1400016ee
test r13, r13
je 0x1400016ee
movsd xmm0, qword [0x140024fb8]
pxor xmm1, xmm1
cvtsi2sd xmm1, rsi
divsd xmm0, xmm1
call fcn.14001de94
mov edx, 0x60
mov r14d, 1
cvttsd2si rcx, xmm0
mov qword [rsp + 0x28], rcx
lea eax, [rcx - 1]
imul eax, esi
sub edx, eax
mov dword [rsp + 0x20], edx
cmp ecx, r14d
jb 0x1400016e1
mov dword [rsp + 0xa8], edi
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rbp
call fcn.140011a90
mov ebx, edi
nop
test ebx, ebx
jne 0x140001642
mov rax, qword [str.0000000000000]
lea r8d, [rbx + 0x11]
mov qword [r12], rax
mov eax, dword [0x140021a80]
mov dword [r12 + 8], eax
movzx eax, byte [0x140021a84]
mov byte [r12 + 0xc], al
mov eax, r14d
mov byte [r12 + 0x10], r14b
shr eax, 0x18
mov byte [r12 + 0xd], al
mov eax, r14d
shr eax, 0x10
mov byte [r12 + 0xe], al
mov eax, r14d
shr eax, 8
mov byte [r12 + 0xf], al
jmp 0x140001653
mov r8, rsi
mov rdx, r13
mov rcx, r12
call fcn.14000f470
mov r8d, esi
lea rcx, [rsp + 0x30]
mov r9, r13
mov rdx, r12
call fcn.140001320
test eax, eax
je 0x14000152f
mov edx, esi
mov rcx, rbp
test esi, esi
je 0x14000168e
mov rdi, r13
sub rdi, rbp
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
xor byte [rcx - 1], al
dec edx
jne 0x140001680
inc ebx
cmp ebx, 0xc350
jb 0x1400015f0
mov edi, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x28]
mov rdx, rbp
mov ecx, edi
mov r8, rsi
add rcx, qword [rsp + 0xa0]
cmp r14d, ebx
jne 0x1400016c2
mov r8d, dword [rsp + 0x20]
call fcn.14000f470
add edi, esi
inc r14d
mov dword [rsp + 0xa8], edi
mov edi, 0
cmp r14d, ebx
jbe 0x1400015e0
mov r15d, dword [rsp + 0x24]
mov r14d, 1
jmp 0x1400016ff
mov r15d, 8
jmp 0x1400016fc
mov r15d, 0xa0
xor r14d, r14d
cmp dword [rsp + 0x30], 0x50524643
jne 0x140001751
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x140001751
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi]
mov rdi, qword [rsi + 0x10]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea rdi, [rsp + 0x30]
xor eax, eax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
rep stosb byte [rdi], al
jmp 0x14000175c
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
test rbp, rbp
je 0x14000177c
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbp, qword [rsp + 0x68]
test r12, r12
je 0x14000178f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r12, qword [rsp + 0x50]
test r13, r13
je 0x1400017a2
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, r14d
add rsp, 0x70
pop r15
pop r14
pop r13
ret