Function at 0x140002178
Capabilities:
Copy file
Create directory
Delete file
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov qword [rax - 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r14, r8
mov r12, rdx
mov rbp, rcx
or r8, 0xffffffffffffffff
mov rax, r8
xor r15d, r15d
inc rax
cmp word [r14 + rax*2], r15w
jne 0x1400021ad
lea rdx, str.TMP_
mov rcx, r8
inc rcx
cmp word [rdx + rcx*2], r15w
jne 0x1400021c1
lea r13, [rcx + 0x1d]
add r13, rax
mov esi, 2
mov eax, esi
mul r13
mov rbx, rax
cmovo rbx, r8
lea rdx, [0x14001a8d0]
mov rcx, rbx
call fcn.140016adc
mov rdi, rax
test rax, rax
je 0x14000220d
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov word [rdi], r15w
jmp 0x140002210
mov rdi, r15
mov rax, rsi
mul r13
mov rsi, rax
mov rax, 0xffffffffffffffff
cmovo rsi, rax
lea rdx, [0x14001a8d0]
mov rcx, rsi
call fcn.140016adc
mov rbx, rax
test rax, rax
je 0x14000224f
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
xor esi, esi
mov word [rbx], si
jmp 0x140002253
xor esi, esi
mov ebx, esi
mov r15b, sil
test rbp, rbp
je 0x14000243a
test r12, r12
je 0x14000243a
test r14, r14
je 0x14000243a
test rdi, rdi
je 0x14000243a
test rbx, rbx
je 0x14000243a
mov r9b, 1
mov r8, r13
mov rdx, rdi
mov rcx, r14
call fcn.140001ff4
test al, al
je 0x1400023fd
xor r9d, r9d
mov r8, r13
mov rdx, rbx
mov rcx, r14
call fcn.140001ff4
test al, al
je 0x1400023fd
xor edx, edx
lea rcx, str.TMP_
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CopyFileW]
nop dword [rax + rax]
test eax, eax
jne 0x14000232f
mov qword [rsp + 0x20], rbx
mov r9, rbp
lea r8, str.Unable_to_copy___s__to___s_._n
xor edx, edx
lea rcx, [0x14001a968]
call fcn.1400038f0
test al, al
je 0x1400023fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9d, eax
xor r8d, r8d
lea rdx, [0x14001a968]
lea ecx, [r8 + 4]
call fcn.140003a4c
jmp 0x1400023fd
mov qword [0x140026778], rbp
mov edx, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
mov ecx, 0x88
call fcn.140016530
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140002389
mov word [rsp + 0x38], si
mov word [rsp + 0x30], si
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rbp
mov rdx, r12
mov rcx, rax
call fcn.140007d68
mov rsi, rax
test rsi, rsi
je 0x1400023ce
mov rcx, rsi
call fcn.140007fd0
test al, al
jne 0x1400023a3
lea r8, str.Failed_to_calculate_checksum_based_on_the_RC_Configuration_file__s._n
jmp 0x1400023d5
mov rdx, r14
mov rcx, rbx
call fcn.140001c24
mov r15b, al
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400023e2
mov rdx, rax
mov rcx, rbx
call fcn.140001c24
mov r15b, al
jmp 0x1400023e2
lea r8, str.Failed_to_create_MUI_manifest_from__S._n
mov r9, r12
xor edx, edx
mov rcx, rbp
call fcn.1400038f0
test rsi, rsi
je 0x1400023fb
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x140006774.0]
xor esi, esi
cmp word [rbx], si
je 0x140002411
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
cmp word [rdi], si
je 0x140002425
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, rbx
call sub.msvcrt.dll_free
mov al, r15b
jmp 0x14000244c
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, rbx
call sub.msvcrt.dll_free
xor al, al
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret