Function at 0x18000afc0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1801eef68]
xor rax, rsp
mov qword [rsp + 0xc0], rax
lea eax, [rdx - 0x12]
mov qword [rsp + 0x38], r9
mov dword [rsp + 0x40], eax
mov rdi, r8
mov r13d, edx
mov r12, rcx
cmp edx, eax
jbe case.0x18000b054.167
mov r15, qword [rsp + 0x48]
lea r11, [0x180000000]
mov r14, qword [rsp + 0x58]
movabs rdx, 0x6e0065002f
mov ebx, dword [rsp + 0x40]
movzx ebp, byte [rsp + 0x30]
movzx esi, byte [rsp + 0x30]
nop
lea eax, [r13 - 0xa7]
cmp eax, 0x3e
ja case.0x18000b054.184
movzx eax, byte [r11 + rax + 0xb584]
mov ecx, dword [r11 + rax*4 + 0xb53c]
add rcx, r11
jmp rcx
lea rcx, [rsp + 0x90]
mov dword [rsp + 0x96], 0x64
sub rcx, 2
mov dword [rsp + 0x98], 0x74
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x18000b080
movsd xmm0, qword [str.51l_]
lea rdx, [0x1801e467c]
movzx eax, word [0x1801e4678]
mov r8d, 1
movsd qword [rcx], xmm0
mov word [rcx + 8], ax
lea rcx, [rsp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
lea r11, [0x180000000]
mov r9, qword [rsp + 0x38]
movabs rdx, 0x6e0065002f
dec r13d
cmp r13d, dword [rsp + 0x40]
ja 0x18000b030
jmp case.0x18000b054.167
test r12, r12
je 0x18000b0fb
mov qword [0x1801f3e38], r12
lea r12, [0x18002ec10]
jmp 0x18000b102
lea r12, [0x18002ec00]
mov rcx, qword [rdi]
mov r9, r12
mov r8d, 0x18
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov rax, qword [rdi]
mov dword [rax + 0x20], 1
jmp 0x18000b0bd
xor r9d, r9d
mov dword [rsp + 0xbc], 0x73
xor edx, edx
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x90]
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], 0x100
lea rcx, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rsp + 0x70], rax
jmp 0x18000b0bd
lea rcx, [rsp + 0x90]
sub rcx, 2
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x18000b180
mov eax, dword [0x1801de3e4]
mov dword [rcx], eax
lea rcx, [rsp + 0x90]
sub rcx, 2
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x18000b1a0
mov eax, dword [0x1801de08c]
mov dword [rcx], eax
mov dword [rsp + 0xa8], 0x6c
mov qword [rsp + 0xaa], rdx
mov dword [rsp + 0xb0], 0x5f
jmp case.0x18000b054.184
mov eax, dword [rdi]
mov r8d, 1
mov edx, eax
and eax, 7
movzx ecx, al
shr rdx, 3
add rdx, r12
shl r8d, cl
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x60], r8d
movzx eax, byte [rdx]
and eax, r8d
mov dword [rsp + 0x64], eax
jmp 0x18000b0c9
mov rcx, qword [r9]
mov rax, r14
sub rax, r12
mov qword [rsp + 0x48], r12
cmp rax, rcx
mov rdx, rcx
mov r15, r12
cmovbe rdx, rax
sub rcx, rdx
mov qword [rsp + 0x78], rdx
mov rax, rcx
shr rax, 3
and ecx, 7
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x58], rcx
jmp 0x18000b0c9
mov r8d, 2
lea rdx, [0x1801e4680]
lea rcx, [rsp + 0xb2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8d, 4
mov dword [rsp + 0xb4], PathYetAnotherMakeUniqueName
lea rdx, [0x1801e4688]
lea rcx, [rsp + 0xb6]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18000b0bd
mov dword [rsp + 0x90], 0x69
jmp case.0x18000b054.184
mov rax, qword [r12]
cmp rax, qword [rdi + 0x10]
jae 0x18000b2e9
mov r15, qword [rsp + 0x68]
cmp qword [rdi + 0x18], 0x10
mov rcx, rdi
jb 0x18000b2bd
mov rcx, qword [rdi]
movsx ecx, byte [rax + rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x18000b2df
mov rax, qword [r12]
inc r15
inc rax
mov qword [r12], rax
cmp rax, qword [rdi + 0x10]
jb 0x18000b2b0
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0x48]
movzx eax, byte [rsp + 0x30]
xor ecx, ecx
mov r8, qword [rsp + 0x70]
mov r13d, 0xa9
test r8, r8
cmovne ecx, eax
mov byte [rsp + 0x30], cl
cmp cl, 0
je 0x18000b0bd
mov dl, 0x20
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_TransmitCommChar]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18000b0bd
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x18000b368
mov r8, rdx
nop word [rax + rax]
movzx eax, byte [r15]
inc r15
xor al, byte [rdi]
mov ecx, dword [rdi]
movzx edx, al
shr ecx, 8
mov eax, dword [r11 + rdx*4 + 0xd9b90]
xor eax, ecx
mov dword [rdi], eax
sub r8, 1
jne 0x18000b340
mov qword [rsp + 0x48], r15
mov rax, qword [rsp + 0x80]
sub r14, 4
test rax, rax
je 0x18000b0c9
mov r10, rax
mov eax, 0xbb
cmp eax, 0xbb
je 0x18000b430
cmp eax, 0x164
je 0x18000b3ec
cmp eax, 0x20d
je 0x18000b3e5
cmp eax, 0x2b6
jne 0x18000b43d
mov ecx, ebx
mov r8d, ebx
shr ecx, 0x10
movzx edx, cl
shr r8, 0x18
movzx ecx, sil
mov r9d, dword [r11 + r8*4 + 0xd9b90]
xor r9d, dword [r11 + rdx*4 + 0xd9f90]
xor r9d, dword [r11 + rcx*4 + 0xda390]
movzx ecx, bpl
xor r9d, dword [r11 + rcx*4 + 0xda790]
xor dword [rdi], r9d
jmp 0x18000b43d
mov esi, ebx
shr esi, 8
jmp 0x18000b43a
mov ecx, ebx
mov edx, ebx
shr ecx, 8
shr ebx, 0x10
movzx esi, cl
movzx ecx, bl
shr rdx, 0x18
mov r8d, dword [r11 + rdx*4 + 0xdab90]
xor r8d, dword [r11 + rcx*4 + 0xdaf90]
xor r8d, dword [r11 + rsi*4 + 0xdb390]
movzx ecx, bpl
xor r8d, dword [r11 + rcx*4 + 0xdb790]
add r14, 4
mov dword [rdi], r8d
mov ebx, dword [r14]
jmp 0x18000b43d
mov ebx, dword [r14 + 4]
add r14, 4
xor ebx, dword [rdi]
movzx ebp, bl
add eax, 0xa9
cmp eax, 0x35f
jb 0x18000b385
sub r10, 1
jne 0x18000b380
jmp 0x18000b0c4
mov eax, dword [0x1801e4690]
mov dword [rsp + 0x92], eax
movzx eax, word [0x1801e4694]
mov word [rsp + 0x96], ax
jmp case.0x18000b054.184
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x58]
mov qword [rsp + 0x48], r15
jmp case.0x18000b054.184
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
jmp case.0x18000b054.184
add r14, 4
mov r15, r14
mov qword [rsp + 0x48], r14
jmp case.0x18000b054.184
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x60]
or byte [rax], cl
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x50], eax
jmp case.0x18000b054.184
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x18000b506
nop word [rax + rax]
movzx eax, byte [r15]
lea r15, [r15 + 1]
xor al, byte [rdi]
movzx ecx, al
mov eax, dword [rdi]
shr eax, 8
mov edx, dword [r11 + rcx*4 + 0xd9b90]
xor edx, eax
mov dword [rdi], edx
sub r8, 1
jne 0x18000b4e0
jmp 0x18000b508
mov edx, dword [rdi]
mov dword [rsp + 0x50], edx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1800d7250
mov rbx, qword [rsp + 0x118]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret