Function at 0x180009e80
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x20
mov eax, r8d
mov esi, r8d
mov rbx, rdx
mov r14, rcx
sub eax, 0x80
je 0x180009ecb
sub eax, 0x40
je 0x180009ec4
cmp eax, 0x40
je 0x180009ebd
mov eax, 0xffffffe0
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov edi, 0xe
jmp 0x180009ed0
mov edi, 0xc
jmp 0x180009ed0
mov edi, 0xa
cmp dword [0x18002d208], 0
mov dword [rcx], edi
mov qword [rsp + 0x48], r15
jne 0x180009eef
call fcn.180009b80
mov dword [0x18002d208], 1
shr esi, 5
lea r15, [r14 + 0x10]
xor r9d, r9d
mov qword [r14 + 8], r15
test esi, esi
je 0x180009f62
mov r10, r15
nop dword [rax]
nop dword [rax + rax]
lea edx, [r9*4]
lea eax, [rdx + 3]
movzx r8d, byte [rax + rbx]
lea r10, [r10 + 4]
shl r8d, 8
lea eax, [rdx + 2]
movzx eax, byte [rax + rbx]
or r8d, eax
lea eax, [rdx + 1]
shl r8d, 8
movzx eax, byte [rax + rbx]
or r8d, eax
lea eax, [r9*4]
shl r8d, 8
inc r9d
movzx eax, byte [rax + rbx]
or r8d, eax
mov dword [r10 - 4], r8d
cmp r9d, esi
jb 0x180009f10
mov edi, dword [r14]
mov qword [rsp + 0x40], rbp
cmp edi, 0xa
je 0x18000a489
cmp edi, 0xc
je 0x18000a07d
cmp edi, 0xe
jne 0x18000a6ae
movzx eax, byte [r15 + 0x1e]
lea r9, [r15 + 0x1e]
mov r10d, dword [r15]
lea r11, [0x18002d810]
lea ebx, [rdi - 7]
lea r14, [0x18002d210]
nop
movzx ecx, byte [r9 + 1]
lea r11, [r11 + 4]
lea r9, [r9 + 0x20]
movzx r8d, byte [rcx + r14]
movzx ecx, byte [r9 - 0x22]
movzx edx, byte [rcx + r14]
movzx ecx, al
shl edx, 8
xor r8d, edx
shl r8d, 8
movzx eax, byte [rcx + r14]
xor r8d, eax
movzx eax, byte [r9 - 0x21]
shl r8d, 8
movzx ecx, byte [rax + r14]
xor r8d, ecx
xor r8d, dword [r11 - 4]
xor r8d, r10d
mov eax, r8d
mov dword [r9 - 0x1e], r8d
xor eax, dword [r9 - 0x3a]
mov r10d, r8d
mov dword [r9 - 0x1a], eax
xor eax, dword [r9 - 0x36]
mov dword [r9 - 0x16], eax
xor eax, dword [r9 - 0x32]
mov r8d, eax
shr rax, 0x18
mov ecx, r8d
shr ecx, 0x10
movzx edx, cl
mov dword [r9 - 0x12], r8d
movzx eax, byte [rax + r14]
shl eax, 8
movzx ecx, byte [rdx + r14]
xor eax, ecx
mov ecx, r8d
shl eax, 8
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + r14]
xor eax, ecx
movzx ecx, r8b
shl eax, 8
movzx edx, byte [rcx + r14]
xor eax, edx
xor eax, dword [r9 - 0x2e]
mov dword [r9 - 0xe], eax
xor eax, dword [r9 - 0x2a]
mov dword [r9 - 0xa], eax
xor eax, dword [r9 - 0x26]
mov dword [r9 - 6], eax
xor eax, dword [r9 - 0x22]
mov dword [r9 - 2], eax
shr eax, 0x10
sub rbx, 1
jne 0x180009fa0
jmp 0x18000a6ae
movzx eax, byte [r15 + 0x14]
lea r14, [0x18002d210]
movzx ebx, byte [rax + r14]
movzx eax, byte [r15 + 0x17]
shl ebx, 8
movzx ecx, byte [rax + r14]
movzx eax, byte [r15 + 0x16]
xor ebx, ecx
shl ebx, 8
movzx ecx, byte [rax + r14]
movzx eax, byte [r15 + 0x15]
xor ebx, ecx
shl ebx, 8
movzx ecx, byte [rax + r14]
xor ebx, ecx
xor ebx, dword [r15]
xor ebx, dword [0x18002d810]
mov r8d, ebx
mov dword [r15 + 0x18], ebx
xor r8d, dword [r15 + 4]
mov r9d, r8d
mov dword [r15 + 0x1c], r8d
xor r9d, dword [r15 + 8]
mov r10d, r9d
mov dword [r15 + 0x20], r9d
xor r10d, dword [r15 + 0xc]
mov r11d, r10d
mov dword [r15 + 0x24], r10d
xor r11d, dword [r15 + 0x10]
mov eax, r11d
mov dword [r15 + 0x28], r11d
xor eax, dword [r15 + 0x14]
mov edx, eax
shr rax, 0x18
mov dword [r15 + 0x2c], edx
movzx esi, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
xor esi, ebx
xor esi, dword [0x18002d814]
mov ebx, esi
mov dword [r15 + 0x30], esi
xor ebx, r8d
mov edi, ebx
mov dword [r15 + 0x34], ebx
xor edi, r9d
mov r9d, edi
mov dword [r15 + 0x38], edi
xor r9d, r10d
mov r10d, r9d
mov dword [r15 + 0x3c], r9d
xor r10d, r11d
xor edx, r10d
mov dword [r15 + 0x40], r10d
mov eax, edx
shr rax, 0x18
mov r8d, edx
mov dword [r15 + 0x44], r8d
movzx ebp, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shl ecx, 8
xor ebp, ecx
shl ebp, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebp, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r14]
xor ebp, eax
xor ebp, esi
xor ebp, dword [0x18002d818]
mov r11d, ebp
mov dword [r15 + 0x48], ebp
xor r11d, ebx
mov ebx, r11d
mov dword [r15 + 0x4c], r11d
xor ebx, edi
mov edi, ebx
mov dword [r15 + 0x50], ebx
xor edi, r9d
mov r9d, edi
mov dword [r15 + 0x54], edi
xor r9d, r10d
xor r8d, r9d
mov dword [r15 + 0x58], r9d
mov eax, r8d
shr rax, 0x18
mov edx, r8d
mov dword [r15 + 0x5c], edx
movzx esi, byte [rax + r14]
movzx eax, r8b
movzx ecx, byte [rax + r14]
mov eax, r8d
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
mov eax, r8d
shr eax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
xor esi, ebp
xor esi, dword [0x18002d81c]
mov r10d, esi
mov dword [r15 + 0x60], esi
xor r10d, r11d
mov r11d, r10d
mov dword [r15 + 0x64], r10d
xor r11d, ebx
mov ebx, r11d
mov dword [r15 + 0x68], r11d
xor ebx, edi
mov edi, ebx
mov dword [r15 + 0x6c], ebx
xor edi, r9d
xor edx, edi
mov dword [r15 + 0x70], edi
mov eax, edx
shr rax, 0x18
mov r8d, edx
mov dword [r15 + 0x74], r8d
movzx ebp, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor ebp, ecx
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r14]
xor ebp, eax
mov eax, edx
shl ebp, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebp, eax
xor ebp, esi
xor ebp, dword [0x18002d820]
mov r9d, ebp
mov dword [r15 + 0x78], ebp
xor r9d, r10d
mov r10d, r9d
mov dword [r15 + 0x7c], r9d
xor r10d, r11d
mov r11d, r10d
mov dword [r15 + 0x80], r10d
xor r11d, ebx
mov ebx, r11d
mov dword [r15 + 0x84], r11d
xor ebx, edi
xor r8d, ebx
mov dword [r15 + 0x88], ebx
mov eax, r8d
shr rax, 0x18
mov edx, r8d
mov dword [r15 + 0x8c], edx
movzx esi, byte [rax + r14]
movzx eax, r8b
movzx ecx, byte [rax + r14]
mov eax, r8d
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
mov eax, r8d
shr eax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
xor esi, ebp
xor esi, dword [0x18002d824]
mov edi, esi
mov dword [r15 + 0x90], esi
xor edi, r9d
mov r9d, edi
mov dword [r15 + 0x94], edi
xor r9d, r10d
mov r10d, r9d
mov dword [r15 + 0x98], r9d
xor r10d, r11d
mov r11d, r10d
mov dword [r15 + 0x9c], r10d
xor r11d, ebx
xor edx, r11d
mov dword [r15 + 0xa0], r11d
mov eax, edx
shr rax, 0x18
mov r8d, edx
mov dword [r15 + 0xa4], r8d
movzx ebp, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor ebp, ecx
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r14]
xor ebp, eax
mov eax, edx
shl ebp, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebp, eax
xor ebp, esi
xor ebp, dword [0x18002d828]
mov ebx, ebp
mov dword [r15 + 0xa8], ebp
xor ebx, edi
mov dword [r15 + 0xac], ebx
mov edi, ebx
xor edi, r9d
mov esi, edi
mov dword [r15 + 0xb0], edi
xor esi, r10d
mov r10d, esi
mov dword [r15 + 0xb4], esi
xor r10d, r11d
xor r8d, r10d
mov dword [r15 + 0xb8], r10d
mov eax, r8d
shr rax, 0x18
mov r9d, r8d
mov dword [r15 + 0xbc], r9d
movzx edx, byte [rax + r14]
movzx eax, r8b
movzx ecx, byte [rax + r14]
mov eax, r8d
shr eax, 0x10
shl ecx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r14]
xor edx, eax
mov eax, r8d
shl edx, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor edx, eax
xor edx, ebp
xor edx, dword [0x18002d82c]
mov dword [r15 + 0xc0], edx
xor edx, ebx
mov dword [r15 + 0xc4], edx
xor edx, edi
mov dword [r15 + 0xc8], edx
xor edx, esi
mov dword [r15 + 0xcc], edx
xor edx, r10d
xor r9d, edx
mov dword [r15 + 0xd0], edx
mov dword [r15 + 0xd4], r9d
jmp 0x18000a6ae
mov edx, dword [r15]
lea rsi, [r15 + 0xe]
movzx ebx, byte [rsi]
lea rbp, [0x18002d818]
mov r15d, 2
lea r14, [0x18002d210]
nop word [rax + rax]
movzx eax, byte [rsi + 1]
movzx r10d, byte [rax + r14]
movzx eax, byte [rsi - 2]
movzx ecx, byte [rax + r14]
shl ecx, 8
xor r10d, ecx
movzx eax, bl
shl r10d, 8
movzx ecx, byte [rax + r14]
movzx eax, byte [rsi - 1]
xor r10d, ecx
shl r10d, 8
movzx ecx, byte [rax + r14]
xor r10d, ecx
xor r10d, dword [rbp - 8]
xor r10d, edx
mov r8d, r10d
mov dword [rsi + 2], r10d
xor r8d, dword [rsi - 0xa]
mov r9d, r8d
mov dword [rsi + 6], r8d
xor r9d, dword [rsi - 6]
mov eax, r9d
mov dword [rsi + 0xa], r9d
xor eax, dword [rsi - 2]
mov edx, eax
shr rax, 0x18
mov dword [rsi + 0xe], edx
movzx ebx, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor ebx, ecx
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r14]
xor ebx, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r14]
xor ebx, eax
xor ebx, dword [rbp - 4]
xor ebx, r10d
mov r10d, ebx
mov dword [rsi + 0x12], ebx
xor r10d, r8d
mov r11d, r10d
mov dword [rsi + 0x16], r10d
xor r11d, r9d
xor edx, r11d
mov dword [rsi + 0x1a], r11d
mov eax, edx
shr rax, 0x18
mov r8d, edx
mov dword [rsi + 0x1e], r8d
movzx edi, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor edi, ecx
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r14]
xor edi, eax
mov eax, edx
shl edi, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor edi, eax
xor edi, ebx
xor edi, dword [rbp]
mov r9d, edi
mov dword [rsi + 0x22], edi
xor r9d, r10d
mov r10d, r9d
mov dword [rsi + 0x26], r9d
xor r10d, r11d
lea rbp, [rbp + 0x14]
mov dword [rsi + 0x2a], r10d
lea rsi, [rsi + 0x50]
xor r8d, r10d
mov eax, r8d
shr rax, 0x18
mov edx, r8d
mov dword [rsi - 0x22], edx
movzx r11d, byte [rax + r14]
movzx eax, r8b
movzx ecx, byte [rax + r14]
mov eax, r8d
shr eax, 0x10
shl ecx, 8
xor r11d, ecx
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
mov eax, r8d
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
xor r11d, dword [rbp - 0x10]
xor r11d, edi
mov r8d, r11d
mov dword [rsi - 0x1e], r11d
xor r8d, r9d
mov r9d, r8d
mov dword [rsi - 0x1a], r8d
xor r9d, r10d
xor edx, r9d
mov dword [rsi - 0x16], r9d
mov ebx, edx
mov eax, edx
shr rax, 0x18
mov dword [rsi - 0x12], ebx
movzx edx, byte [rax + r14]
movzx eax, bl
movzx ecx, byte [rax + r14]
mov eax, ebx
shr eax, 0x10
shl ecx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r14]
xor edx, eax
mov eax, ebx
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r14]
xor edx, eax
xor edx, dword [rbp - 0xc]
xor edx, r11d
mov eax, edx
mov dword [rsi - 0xe], edx
xor eax, r8d
mov dword [rsi - 0xa], eax
xor eax, r9d
xor ebx, eax
mov dword [rsi - 6], eax
mov dword [rsi - 2], ebx
shr ebx, 0x10
sub r15, 1
jne 0x18000a4b0
mov r15, qword [rsp + 0x48]
xor eax, eax
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret