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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13, qword [rsp + 0xc8]
lea rax, [0x18007e880]
mov r11d, dword [rsp + 0xa0]
test r13, r13
mov rsi, qword [rsp + 0xc0]
mov r14, r9
mov qword [rsp + 0x98], r9
mov r12, r8
mov r9, rdx
mov rdx, rcx
lea rcx, [0x18007ec40]
mov rdi, r9
cmovne rax, rcx
shl rdi, 4
mov qword [rsp + 0x20], rax
and r11d, 1
mov rax, qword [rsp + 0xb8]
lea rbx, [rsi + rdi*8]
mov r15d, dword [rax + 0x20]
mov rcx, qword [rax + 8]
or r15d, 1
mov qword [rsp + 0x30], rcx
test r13, r13
jne 0x18007f93e
mov r13, rdi
shl r13, 4
add r13, rsi
mov qword [rsp + 0xc8], r13
test r14, r14
je 0x1800800b3
lea rcx, [r9 + r9]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0xc0], rcx
test rcx, rcx
je 0x18007fa65
mov r9, rbx
lea r10, [rsi + 0x10]
sub r9, rdx
mov r14, rdx
sub r9, 2
sub r14, rsi
add r14, 0xfffffffffffffff2
mov rbp, rcx
nop
lea rdx, [r14 + r10]
mov r8d, 0x10
nop word [rax + rax]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
lea rdx, [rdx + 4]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
add ecx, eax
mov dword [r9 + rdx - 4], ecx
sub r8, 1
jne 0x18007f990
mov eax, dword [rbx]
sub r9, 0x40
mov ecx, dword [rbx + 0x14]
shl rcx, 0x20
or rcx, rax
mov qword [r10 - 0x10], rcx
mov eax, dword [rbx + 0x28]
mov ecx, dword [rbx + 0x3c]
shl rcx, 0x20
or rcx, rax
mov qword [r10 - 8], rcx
mov eax, dword [rbx + 0x10]
mov ecx, dword [rbx + 0x24]
shl rcx, 0x20
or rcx, rax
mov qword [r10], rcx
mov eax, dword [rbx + 0x38]
mov ecx, dword [rbx + 0xc]
shl rcx, 0x20
or rcx, rax
mov qword [r10 + 8], rcx
mov eax, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x34]
shl rcx, 0x20
or rcx, rax
mov qword [r10 + 0x10], rcx
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 0x1c]
shl rcx, 0x20
or rcx, rax
mov qword [r10 + 0x18], rcx
mov eax, dword [rbx + 0x30]
mov ecx, dword [rbx + 4]
shl rcx, 0x20
or rcx, rax
mov qword [r10 + 0x20], rcx
mov ecx, dword [rbx + 0x2c]
mov eax, dword [rbx + 0x18]
shl rcx, 0x20
or rcx, rax
mov qword [r10 + 0x28], rcx
add r10, 0x40
sub rbp, 1
jne 0x18007f980
mov r9, qword [rsp + 0x88]
mov r14, qword [rsp + 0x98]
cmp qword [rsp + 0xb0], 0
mov r10d, r11d
mov qword [rsp + 0xb8], r10
je 0x18007fcc0
xor ebp, ebp
test r14, r14
je 0x18007fe70
mov r14, qword [rsp + 0xa8]
lea rdx, [rsi - 0x40]
mov rax, r9
lea rcx, [rbx - 0x40]
shl rax, 7
add rdx, rax
add rcx, rax
mov eax, r15d
dec r12
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0xc8], rcx
nop word [rax + rax]
mov r8, qword [rdx + 0x30]
mov r9, rdi
mov eax, dword [rdx]
mov rdx, rsi
shr r8, 0x20
shl r8, 0x20
add r8, rax
and r8, r12
imul r8, rdi
shl r8, 3
sub r8, rsi
add r8, r14
nop dword [rax + rax]
mov rax, qword [r8 + rdx]
xor qword [rdx], rax
mov rax, qword [r8 + rdx + 8]
xor qword [rdx + 8], rax
mov rax, qword [r8 + rdx + 0x10]
xor qword [rdx + 0x10], rax
mov rax, qword [r8 + rdx + 0x18]
xor qword [rdx + 0x18], rax
lea rdx, [rdx + 0x20]
sub r9, 4
jne 0x18007fb00
test r10, r10
je 0x18007fb6c
mov rdx, rdi
mov rcx, rsi
nop word [rax + rax]
mov rax, qword [rcx]
mov qword [r8 + rcx], rax
mov rax, qword [rcx + 8]
mov qword [r8 + rcx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r8 + rcx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r8 + rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub rdx, 4
jne 0x18007fb40
mov r9, r15
mov r8, r13
mov rdx, rbx
mov rcx, rsi
call qword [rsp + 0x20]
mov rcx, qword [rsp + 0xc8]
mov eax, dword [rcx]
mov rdx, qword [rcx + 0x30]
mov rcx, rbx
shr rdx, 0x20
shl rdx, 0x20
add rdx, rax
lea rax, [rbp + 1]
and rax, qword [rsp + 0x28]
cmp rax, 1
jne 0x18007fc01
mov rax, qword [rsp + 0xb0]
mov r8, rdi
dec rax
and rax, rdx
mov rdx, qword [rsp + 0x30]
imul rax, rdi
shl rax, 3
sub rax, rbx
add rdx, rax
nop dword [rax + rax]
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
xor qword [rcx + 0x10], rax
mov rax, qword [rdx + rcx + 0x18]
xor qword [rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub r8, 4
jne 0x18007fbd0
jmp 0x18007fc8c
and rdx, r12
mov r9, rdi
imul rdx, rdi
shl rdx, 3
sub rdx, rbx
lea r8, [rdx + r14]
nop word [rax + rax]
mov rax, qword [r8 + rcx]
xor qword [rcx], rax
mov rax, qword [r8 + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [r8 + rcx + 0x10]
xor qword [rcx + 0x10], rax
mov rax, qword [r8 + rcx + 0x18]
xor qword [rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub r9, 4
jne 0x18007fc20
cmp qword [rsp + 0xb8], r9
je 0x18007fc8c
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
mov rax, qword [rcx]
mov qword [r8 + rcx], rax
mov rax, qword [rcx + 8]
mov qword [r8 + rcx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r8 + rcx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r8 + rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub rdx, 4
jne 0x18007fc60
mov r9, r15
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call qword [rsp + 0x20]
mov r10, qword [rsp + 0xb8]
add rbp, 2
mov rdx, qword [rsp + 0x38]
cmp rbp, qword [rsp + 0x98]
jb 0x18007fad0
jmp 0x18007fe70
mov r15, qword [rsp + 0xa8]
mov rax, r9
shr r14, 1
shl rax, 7
mov qword [rsp + 0x98], r14
lea r14, [r12 - 1]
mov r12, qword [rsp + 0xc8]
lea rbp, [rax + rsi]
lea r13, [rax + rbx]
nop
mov eax, dword [rbp - 0x40]
mov rdx, rdi
mov r8, qword [rbp - 0x10]
shr r8, 0x20
shl r8, 0x20
add r8, rax
mov rax, rsi
and r8, r14
imul r8, rdi
shl r8, 3
sub r8, rsi
add r8, r15
nop dword [rax]
mov rcx, qword [r8 + rax]
xor qword [rax], rcx
mov rcx, qword [r8 + rax + 8]
xor qword [rax + 8], rcx
mov rcx, qword [r8 + rax + 0x10]
xor qword [rax + 0x10], rcx
mov rcx, qword [r8 + rax + 0x18]
xor qword [rax + 0x18], rcx
lea rax, [rax + 0x20]
sub rdx, 4
jne 0x18007fd20
test r10, r10
je 0x18007fd8c
mov rdx, rdi
mov rcx, rsi
nop word [rax + rax]
mov rax, qword [rcx]
mov qword [r8 + rcx], rax
mov rax, qword [rcx + 8]
mov qword [r8 + rcx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r8 + rcx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r8 + rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub rdx, 4
jne 0x18007fd60
mov r8, r12
mov rdx, rbx
mov rcx, rsi
call qword [rsp + 0x20]
mov r8, qword [r13 - 0x10]
mov r9, rdi
mov eax, dword [r13 - 0x40]
mov rdx, rbx
shr r8, 0x20
shl r8, 0x20
add r8, rax
and r8, r14
imul r8, rdi
shl r8, 3
sub r8, rbx
add r8, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8 + rdx]
xor qword [rdx], rax
mov rax, qword [r8 + rdx + 8]
xor qword [rdx + 8], rax
mov rax, qword [r8 + rdx + 0x10]
xor qword [rdx + 0x10], rax
mov rax, qword [r8 + rdx + 0x18]
xor qword [rdx + 0x18], rax
lea rdx, [rdx + 0x20]
sub r9, 4
jne 0x18007fdd0
cmp qword [rsp + 0xb8], r9
je 0x18007fe3c
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
mov rax, qword [rcx]
mov qword [r8 + rcx], rax
mov rax, qword [rcx + 8]
mov qword [r8 + rcx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r8 + rcx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r8 + rcx + 0x18], rax
lea rcx, [rcx + 0x20]
sub rdx, 4
jne 0x18007fe10
mov r9, qword [rsp + 0x88]
mov r8, r12
mov rdx, rsi
mov rcx, rbx
call qword [rsp + 0x20]
sub qword [rsp + 0x98], 1
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x88]
jne 0x18007fcf0
cmp qword [rsp + 0xc0], 0
jbe 0x1800800ab
mov r9, qword [rsp + 0x80]
mov r8, rsi
sub r8, rbx
mov rax, rbx
sub rax, rsi
add r8, 2
lea rcx, [r9 + 0x22]
add rcx, rax
lea rdx, [r9 + 0x26]
add rdx, rax
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rdx
lea r11, [rax + r9]
lea rdi, [rax + r9]
lea rsi, [rax + r9]
lea r14, [rax + r9]
lea r15, [rax + r9]
lea r12, [rax + r9]
lea rbp, [rax + r9]
lea r13, [rax + r9]
lea rcx, [r9 + 0x2a]
add rcx, rax
lea rdx, [r9 + 0x2e]
add rdx, rax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x38], rdx
lea rcx, [r9 + 0x32]
add rcx, rax
lea rdx, [r9 + 0x36]
add rdx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [r9 + 0x3a]
mov qword [rsp + 0x28], rdx
add rcx, rax
add rax, 0xfffffffffffffffe
add rax, r9
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x88], rax
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + 6]
mov r9d, 4
nop word [rax + rax]
mov ecx, dword [r8 + rdx - 8]
mov eax, ecx
mov byte [rdx - 6], cl
lea rdx, [rdx + 0x10]
shr eax, 8
mov byte [rdx - 0x15], al
mov eax, ecx
shr eax, 0x10
mov byte [rdx - 0x14], al
shr ecx, 0x18
mov byte [rdx - 0x13], cl
mov ecx, dword [r8 + rdx - 0x14]
mov eax, ecx
mov byte [rdx - 0x12], cl
shr eax, 8
mov byte [rdx - 0x11], al
mov eax, ecx
shr eax, 0x10
mov byte [rdx - 0x10], al
shr ecx, 0x18
mov byte [rdx - 0xf], cl
mov ecx, dword [r8 + rdx - 0x10]
mov eax, ecx
mov byte [rdx - 0xe], cl
shr eax, 8
mov byte [rdx - 0xd], al
mov eax, ecx
shr eax, 0x10
mov byte [rdx - 0xc], al
shr ecx, 0x18
mov byte [rdx - 0xb], cl
mov ecx, dword [r8 + rdx - 0xc]
mov eax, ecx
mov byte [rdx - 0xa], cl
shr eax, 8
mov byte [rdx - 9], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rdx - 8], al
mov byte [rdx - 7], cl
sub r9, 1
jne 0x18007ff40
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x88]
mov dword [r8 + rcx], eax
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xc8]
shr rax, 0x20
mov dword [r11 + r8 + 2], eax
mov eax, dword [rbx + 0x28]
mov dword [rdi + r8 + 6], eax
mov rax, qword [rbx + 0x18]
shr rax, 0x20
mov dword [rsi + r8 + 0xa], eax
mov eax, dword [rbx + 0x10]
mov dword [r14 + r8 + 0xe], eax
mov rax, qword [rbx]
shr rax, 0x20
mov dword [r15 + r8 + 0x12], eax
mov eax, dword [rbx + 0x38]
mov dword [r12 + r8 + 0x16], eax
mov rax, qword [rbx + 0x28]
shr rax, 0x20
mov dword [r8 + rbp + 0x1a], eax
mov eax, dword [rbx + 0x20]
mov dword [r8 + r13 + 0x1e], eax
mov rax, qword [rbx + 0x10]
shr rax, 0x20
mov dword [r8 + rcx], eax
mov eax, dword [rbx + 8]
mov rcx, qword [rsp + 0xb8]
mov dword [r8 + rcx], eax
mov rax, qword [rbx + 0x38]
mov rcx, qword [rsp + 0x98]
shr rax, 0x20
mov dword [r8 + rcx], eax
mov eax, dword [rbx + 0x30]
mov rcx, qword [rsp + 0x38]
mov dword [r8 + rcx], eax
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x30]
shr rax, 0x20
mov dword [r8 + rcx], eax
mov eax, dword [rbx + 0x18]
mov rcx, qword [rsp + 0x28]
mov dword [r8 + rcx], eax
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x20]
shr rax, 0x20
mov dword [r8 + rcx], eax
add r8, 0x40
sub qword [rsp + 0xc0], 1
jne 0x18007ff30
mov rbp, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret