Function at 0x1400016a4
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 - 0x3a00]
mov rbx, qword [rsp + 0x78]
lea eax, [r14 + 0x383d]
mov edi, ecx
lea r12d, [rcx - 0x3eec]
add esi, 0x8d1
lea r15d, [r9 - 0xcae]
xor edi, 0x3eec
lea ebp, [r9 - 0x46ae]
mov r10d, ecx
cmp r12d, eax
jge 0x140001841
lea eax, [rdi + 0x3761]
cmp ebp, eax
jg 0x140001841
lea eax, [r14 + 0x43dc]
cmp esi, eax
jg 0x14000178b
xor r10d, 0xaf7
lea eax, [rdi + 0x420c]
lea ecx, [rbp + 0x3127]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r8d, [r15 + 0x4ec]
lea edx, [rsi - 0x614]
mov rcx, rbx
lea r9d, [r10 + 0xeb8]
call fcn.140001128
xor edi, 0x3552
lea r9d, [rbp + 0x43dc]
xor eax, 0x151a
lea r8d, [r15 - 0x4ae]
lea rcx, [0x140015010]
mov dword [rsp + 0x20], eax
lea edx, [rdi + 0x20f]
call fcn.14000144c
jmp 0x140001841
mov eax, dword [rbx + 0x7c]
or eax, dword [rbx + 0x48]
mov edi, dword [0x1400150a4]
cmp edi, eax
jae 0x140001841
mov ecx, dword [0x14001509c]
mov eax, dword [rbx + 0x7c]
mov r15d, esi
or eax, ecx
cmp esi, eax
jb 0x140001830
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, 0x420c
xor ecx, 0x43aa
imul eax, ecx
mov ecx, 0x565
mov dword [rbx + 0xc0], eax
lea eax, [r14 - 0x3a00]
add dword [rbx + 0x58], eax
call fcn.14000246c
movsxd rcx, eax
inc r15d
mov qword [0x140020520], 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, 4
or eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x1400017a5
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 0x14000184a
cmp dword [rbx + 0x104], 0xf597
jb 0x1400019d0
mov rax, qword [section..data]
mov ecx, dword [rax + 0xc0]
add ecx, 0x924b5
mov dword [rbx + 0x6c], ecx
jmp 0x1400019d7
xor dword [rbx + 0x3c], 0x1b388
mov rcx, qword [section..data]
mov eax, dword [0x140015058]
cmp dword [rcx + 0x7c], eax
je 0x1400019fd
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 + 0x341b]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop r15
pop r14
pop r12
ret