Function at 0x18006e850
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov edi, dword [rsp + 0x70]
lea r15d, [rcx - 0xa]
mov r10, qword [rsp + 0x28]
mov rbx, r9
lea r9, [0x180000000]
mov r14, r8
mov r12, rdx
mov r13d, ecx
cmp ecx, r15d
jbe 0x18006eb1c
mov rsi, qword [rsp + 0x28]
lea ebp, [rcx - 0x21]
mov qword [rsp + 0x28], r10
lea rdx, [0x180029850]
lea r11, [0x180022ad0]
lea r8, [0x1800295a0]
cmp ebp, 0x2e
ja case.0x18006e8d1.9
movzx eax, byte [r9 + rbp + 0x6ec90]
mov ecx, dword [r9 + rax*4 + 0x6ec68]
add rcx, r9
jmp rcx
test r12, r12
je case.0x18006e8d1.9
mov rcx, qword [r12]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r10, qword [rsp + 0x28]
lea rdx, [0x180029850]
jmp case.0x18006e8d1.9
mov rcx, qword [rsp + 0x20]
mov qword [rcx], r14
mov qword [r12 + 0x40], rdx
mov qword [r12 + 0x48], rcx
mov qword [r12 + 0x30], r8
jmp case.0x18006e8d1.9
xor r8d, r8d
mov edx, 0xc7
xor ecx, ecx
call fcn.180045130
test eax, eax
jne 0x18006ead2
mov edi, dword [r12]
lea rdx, [0x180029850]
mov r10, qword [rsp + 0x28]
mov rsi, rbx
jmp case.0x18006e8d1.9
lea rax, [0x180029870]
mov qword [r12 + 0x28], r14
mov ecx, 8
mov qword [r12 + 0x50], rax
call fcn.180085cb4
mov r10, qword [rsp + 0x28]
lea rdx, [0x180029850]
mov qword [rsp + 0x20], rax
jmp case.0x18006e8d1.9
mov qword [0x1800a75a0], r12
lea rax, [0x180029710]
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x10], r11
mov qword [r12 + 0x18], rbx
jmp case.0x18006e8d1.9
mov rdx, qword [r14]
cmp rdx, 4
jb 0x18006ea4d
nop dword [rax + rax]
mov ebx, ILFree
mov eax, ebx
sub eax, 0x97
je 0x18006ea0d
cmp eax, 1
jne 0x18006ea29
mov r8d, edi
add rsi, 4
mov eax, edi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, r8d
mov edi, dword [r9 + rdx*4 + 0x95520]
shr rax, 0x18
xor edi, dword [r9 + rcx*4 + 0x95920]
xor edi, dword [r9 + rax*4 + 0x95120]
movzx eax, r8b
xor edi, dword [r9 + rax*4 + 0x95d20]
add qword [r14], 0xfffffffffffffffc
jmp 0x18006ea29
mov r9d, 0x129
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.1800702b0
xor edi, eax
lea r9, [0x180000000]
inc ebx
cmp ebx, 0x99
jb 0x18006e9b5
mov rdx, qword [r14]
cmp rdx, 4
jae 0x18006e9b0
mov r10, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x88]
test rdx, rdx
je 0x18006ea87
nop dword [rax]
nop word [rax + rax]
dec qword [r14]
movzx ecx, byte [rsi]
inc rsi
mov rdx, qword [r14]
movzx eax, dil
xor rcx, rax
mov eax, edi
shr eax, 8
mov edi, dword [r9 + rcx*4 + 0x95120]
xor edi, eax
test rdx, rdx
jne 0x18006ea60
lea rax, [rdx - 1]
mov qword [r14], rax
lea rdx, [0x180029850]
jmp case.0x18006e8d1.9
mov r8, r10
xor edx, edx
mov ecx, 0x12f
call fcn.180020170
mov r10, qword [rsp + 0x28]
lea rdx, [0x180029850]
jmp case.0x18006e8d1.9
xor r10d, r10d
mov qword [rsp + 0x28], r10
dec ebp
lea r9, [0x180000000]
lea eax, [rbp + 0x21]
cmp eax, r15d
jbe 0x18006eb21
jmp 0x18006e8a6
mov rax, qword [r14]
lea rdx, [rsp + 0x28]
mov r9, r12
mov qword [rsp + 0x28], rax
mov r8d, 0x19
mov rcx, rbx
call fcn.180065320
movzx eax, byte [rsp + 0x70]
jmp 0x18006ec50
cmp qword [0x1800a75c8], 0
je 0x18006eb15
cmp qword [0x1800a75c0], 0
je 0x18006eb15
mov al, 1
jmp 0x18006ec50
xor al, al
jmp 0x18006ec50
mov qword [rsp + 0x28], r10
movzx ebx, byte [rsp + 0x70]
lea r15d, [r13 - 0xb]
cmp r13d, r15d
jbe case.0x18006eb5d.0
lea ebp, [r13 - 0x21]
mov r13, qword [rsp + 0x88]
nop
cmp ebp, 0x2e
ja case.0x18006eb5d.8
movzx eax, byte [r9 + rbp + 0x6ece4]
mov ecx, dword [r9 + rax*4 + 0x6ecc0]
add rcx, r9
jmp rcx
mov r8, r10
xor edx, edx
mov ecx, 0x12f
call fcn.180020170
jmp 0x18006ec32
mov r8, r10
xor edx, edx
mov ecx, 0x12f
call fcn.180020170
mov r8, qword [rsp + 0x28]
xor edx, edx
mov ecx, 0x12f
call fcn.180020170
jmp 0x18006ec32
mov qword [r12 + 0x38], r13
jmp case.0x18006eb5d.8
xor ecx, ecx
mov esi, 0xff
mov dword [rsp + 0x70], ecx
nop dword [rax]
mov eax, esi
sub eax, 2
je 0x18006ebcb
sub eax, 0x90
je 0x18006ec32
cmp eax, 0x6d
jne 0x18006ebf0
mov dword [0x1800a6c78], ecx
jmp 0x18006ebf0
mov eax, dword [pe_dos_header]
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], eax
mov edx, 0x34
xor ecx, ecx
call fcn.180030540
mov ecx, dword [rsp + 0x70]
add esi, 0x90
cmp esi, 0x2af
jb 0x18006ebb0
jmp 0x18006ec32
xor r9d, r9d
xor r8d, r8d
mov edx, 0xb7
mov rcx, r10
call fcn.18005ec10
jmp 0x18006ec32
mov dword [r12], edi
jmp case.0x18006eb5d.8
mov r8, qword [r14 + 0xb8]
mov rdx, r12
mov ecx, 0x123
call fcn.1800431c0
mov rbx, rax
mov r10, qword [rsp + 0x28]
dec ebp
lea eax, [rbp + 0x21]
cmp eax, r15d
jbe case.0x18006eb5d.0
lea r9, [0x180000000]
jmp 0x18006eb40
movzx eax, bl
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret