Function at 0x14004fee0
Capabilities:
Encode data using xor
Get common file path
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xae8]
sub rsp, 0xba8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
mov qword [rsp + 0x60], rcx
lea rax, [rcx + 0x108]
je 0x140054fc6
test rax, rax
je 0x140054fc6
mov edi, 0x2df5
xor ebx, ebx
nop
mov ecx, 0xea60
call fcn.140094090
mov ecx, ebx
mov rdx, rax
nop
cmp ecx, 0x34
je 0x14004ff99
mov dword [rdx], 0x217d
inc ecx
add rdx, 4
cmp ecx, 0x31f5
jb 0x14004ff80
mov rcx, rax
call fcn.140094098
sub rdi, 1
jne 0x14004ff70
lea rdx, [rbp + 0x800]
mov ecx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor ecx, ecx
call fcn.1400aa0ec
mov rcx, rax
call fcn.1400a57fc
xor edx, edx
lea rcx, [rbp + 0x210]
mov r8d, 0x104
call fcn.140097150
mov byte [rbp - 0x6f], bl
call fcn.1400a57d0
movsxd rcx, eax
movabs rax, 0x8888888888888889
mul rcx
shr rdx, 3
imul rax, rdx, 0xf
sub rcx, rax
movsxd rax, ecx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x468000]
lea rcx, [rbp + 0x210]
dec rcx
mov byte [rbp - 0x70], al
nop
cmp byte [rcx + 1], bl
lea rcx, [rcx + 1]
jne 0x140050020
lea rdi, [rbp - 0x70]
xor edx, edx
nop
movzx eax, byte [rdi + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140050030
mov edi, 0x2d75
mov ecx, 0xea60
call fcn.140094090
mov ecx, ebx
mov rdx, rax
cmp ecx, 0xe
je 0x14005006c
mov dword [rdx], 0x1eec
inc ecx
add rdx, 4
cmp ecx, 0x2dab
jb 0x140050053
mov rcx, rax
call fcn.140094098
sub rdi, 1
jne 0x140050044
mov rcx, rbx
nop dword [rax]
movzx eax, word [rbp + rcx + 0x800]
mov word [rbp + rcx + 0x320], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140050080
lea rcx, [rbp + 0x320]
sub rcx, 2
cmp word [rcx + 2], bx
lea rcx, [rcx + 2]
jne 0x1400500a4
lea rdi, [rbp + 0x210]
xor edx, edx
nop word [rax + rax]
movzx eax, word [rdi + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1400500c0
lea r8, [0x1403f4930]
mov word [rbp + 0x526], bx
lea rdx, [rbp + 0x320]
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x30]
call fcn.1400a9434
mov r14d, dword [0x14046baac]
mov r15, qword gs:[0x58]
mov edx, 0x20
mov r8d, 0x18
mov rax, qword [r15 + r14*8]
mov ecx, dword [rdx + rax]
test cl, 1
jne 0x140050164
or ecx, 1
lea rdi, [rbp + 0x150]
mov dword [rdx + rax], ecx
mov edx, ebx
mov ecx, r8d
add rcx, rax
mov rax, qword [0x1403f4760]
mov qword [rbp + 0x150], rax
sub rdi, rcx
mov byte [rcx + 4], bl
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdi + rcx]
inc edx
mov dword [rcx], eax
lea rcx, [rcx + 4]
cmp edx, 1
jb 0x140050150
mov rax, qword [r15 + r14*8]
movsd xmm10, qword [0x1403f6838]
xorps xmm9, xmm9
movsd xmm11, qword [0x1403f6830]
movsd xmm12, qword [0x1403f6828]
mov r12d, r8d
add r12, rax
mov qword [rbp + 0xb08], r12
cmp byte [r12 + 4], bl
jne 0x1400508c9
mov dword [rsp + 0x74], ebx
call fcn.14004ee00
movsx r14d, al
call fcn.14004ee20
movsx r13d, al
imul r13d, r14d
call fcn.14004ee70
movsx r15d, al
mov dword [rbp + 0xaf8], r15d
lea eax, [r15 + r13*4]
add eax, r13d
mov dword [rbp + 0xb00], eax
call fcn.14004ee30
movsx edi, al
call fcn.14004ee90
movsx ebx, al
call fcn.14004ee60
movsd xmm8, qword [0x1403f6840]
movsx esi, al
nop dword [rax]
nop word [rax + rax]