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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
lea r14d, [r8 + 0xfc1]
mov rbx, qword [rsp + 0x78]
lea eax, [r14 - 0xd04]
mov edi, ecx
lea r12d, [rcx - 0x320]
add esi, 0xfffff164
lea r15d, [r9 - 0x754]
xor edi, 0xdf
lea ebp, [r9 - 0xf8f]
mov r10d, ecx
cmp r12d, eax
jl 0x140001842
lea eax, [rdi - 0x8a3]
cmp ebp, eax
jg 0x140001842
lea eax, [r14 - 0x9dc]
cmp esi, eax
jg 0x140001787
xor r10d, 0x780c
lea eax, [rdi - 0xd81]
lea ecx, [rbp + 0x5e5]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r8d, [r15 - 0x419]
lea edx, [rsi + 0xcfe]
mov rcx, rbx
lea r9d, [r10 + 0xcae]
call fcn.140001124
xor edi, 0x76c8
lea r9d, [rbp + 0x1293]
xor eax, 0x7781
lea r8d, [r15 + 0x5b6]
lea rcx, [0x140015010]
mov dword [rsp + 0x20], eax
lea edx, [rdi + 0x2bd]
call fcn.14000144c
jmp 0x140001842
mov eax, dword [rbx + 0x7c]
or eax, dword [rbx + 0x48]
mov edi, dword [0x1400150a4]
cmp edi, eax
jae 0x140001842
mov ecx, dword [0x14001509c]
mov eax, dword [rbx + 0x7c]
mov r15d, esi
or eax, ecx
cmp esi, eax
jb 0x140001831
mov eax, dword [rbx + 0x98]
mov edx, 0x284f
or eax, r12d
mov qword [rsp + 0x20], 0x1380
imul eax, dword [rbx + 0x18]
mov r9d, 0x2494
mov r8d, 0x1d74
xor dword [0x140015078], eax
mov eax, dword [rbx + 0xc0]
mov ecx, dword [rbx + 0x110]
sub ecx, 0x341b
xor ecx, 0x383d
imul eax, ecx
mov ecx, 0x565
mov dword [rbx + 0xc0], eax
lea eax, [r14 - 0x43dc]
add dword [rbx + 0x58], eax
call fcn.140002484
movsxd rcx, eax
add r15d, 3
mov qword [0x140020570], rcx
mov eax, dword [rbx + 0x7c]
mov ecx, dword [0x14001509c]
or eax, ecx
cmp r15d, eax
jae 0x1400017b1
mov eax, dword [rbx + 0x7c]
add edi, 3
or eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x1400017a1
xor r9d, r9d
mov r10d, 0x2cdd8
mov rcx, qword [section..data]
mov rax, qword [rcx + 0xa0]
mov r8d, dword [rax + r9]
add r9, 4
imul r8d, dword [rcx + 0x6c]
mov eax, dword [rbx + 0xc8]
sub eax, dword [0x140015070]
add eax, 0x11bd51
or dword [rcx + 0x2c], eax
mov rax, qword [section..data]
mov edx, r8d
shr edx, 0x10
movsxd rcx, dword [rax + 0x70]
mov rax, qword [rbx + 0xa8]
mov byte [rcx + rax], dl
mov rax, qword [section..data]
inc dword [rax + 0x70]
mov eax, dword [rbx + 8]
xor eax, 0x11
sub dword [rbx + 0x2c], eax
mov edx, dword [0x1400150e4]
add edx, 0xffff75f6
add edx, dword [rbx + 0xd0]
xor dword [rbx + 0x2c], edx
mov edx, r8d
movsxd rcx, dword [rbx + 0x70]
mov rax, qword [0x1400150b8]
shr edx, 8
mov byte [rcx + rax], dl
inc dword [rbx + 0x70]
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x104]
add eax, dword [rcx + 0x9c]
xor eax, dword [rcx + 0x24]
xor eax, 0x1a64388
mov dword [rcx + 0x24], eax
mov eax, dword [0x140015098]
xor eax, 0x7d4c5
sub dword [0x1400150e0], eax
mov eax, dword [rbx + 0xc4]
xor eax, dword [rbx + 0xd4]
xor eax, 0xbffb7
mov dword [rbx + 0xd4], eax
mov rax, qword [section..data]
movsxd rdx, dword [rbx + 0x70]
mov rcx, qword [rax + 0xa8]
mov byte [rdx + rcx], r8b
inc dword [rbx + 0x70]
mov rax, qword [section..data]
mov ecx, dword [rax + 0x100]
mov eax, 0x12
sub ecx, 0x120180
add dword [rbx + 0xd0], ecx
sub eax, dword [0x1400150d0]
add dword [0x1400150d4], eax
mov eax, 0xbffa6
mov rdx, qword [section..data]
mov ecx, dword [rdx + 0xc4]
xor ecx, dword [rbx + 8]
sub eax, ecx
add dword [rdx + 0x14], eax
mov eax, dword [rbx + 0x9c]
mov rcx, qword [section..data]
sub eax, r10d
or dword [rcx + 0x3c], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0x9c]
xor ecx, r10d
sub dword [rbx + 0x104], ecx
cmp r9, 0x3c0
jl 0x14000184b
cmp dword [rbx + 0x104], 0xf597
jb 0x1400019d1
mov rax, qword [section..data]
mov ecx, dword [rax + 0xc0]
add ecx, 0x924b5
mov dword [rbx + 0x6c], ecx
jmp 0x1400019d8
xor dword [rbx + 0x3c], 0x1b388
mov rcx, qword [section..data]
mov eax, dword [0x140015058]
cmp dword [rcx + 0x7c], eax
je 0x1400019fe
mov eax, dword [rcx + 0x88]
xor eax, dword [0x14001508c]
sub eax, 0x810ae
xor dword [rbx + 0x6c], eax
mov ecx, dword [rbx + 0x60]
mov eax, dword [0x14001507c]
sub ecx, dword [0x1400150a4]
add eax, 0x3d116552
mov rsi, qword [rsp + 0x60]
add ecx, eax
mov rdi, qword [rsp + 0x68]
lea rax, [0x140015cc0]
mov dword [0x14001507c], ecx
mov qword [rbx + 0xa0], rax
lea eax, [rbp + 0xeb8]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop r15
pop r14
pop r12
ret