Function at 0x140002c70
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r12, rdx
movsxd r13, ecx
xor r14d, r14d
mov qword [rbp - 0x59], r14
mov byte [rbp + 0x7f], r14b
mov byte [rbp + 0x77], r14b
lea rax, [0x140018050]
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], r14
mov qword [rbp - 0x39], r14
mov edi, r14d
mov qword [rbp - 0x31], r14
mov qword [rbp - 9], rax
mov qword [rbp - 1], r14
mov qword [rbp + 7], r14
mov esi, r14d
mov qword [rbp + 0xf], r14
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x19], r14
mov r15d, r14d
mov qword [rbp - 0x11], r14
xor r9d, r9d
xor r8d, r8d
lea edx, [r14 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
nop dword [rax + rax]
lea rdx, [0x14001a8d0]
mov ecx, 0x1840
call fcn.140016914
mov rbx, rax
mov qword [rbp - 0x51], rax
test rax, rax
je 0x140002d82
lea rax, [0x140018130]
mov qword [rbx], rax
lea rcx, [rbx + 8]
lea rax, [0x1400046c0]
mov qword [rsp + 0x20], rax
lea r9, [0x140004630]
lea edx, [r14 + 0x18]
mov r8d, 0x100
call fcn.140016ae8
mov dword [rbx + 0x1808], r14d
mov qword [rbx + 0x1810], r14
mov qword [rbx + 0x1818], r14
mov qword [rbx + 0x1820], r14
mov qword [rbx + 0x1828], r14
mov qword [rbx + 0x1830], r14
mov qword [rbx + 0x1838], r14
jmp 0x140002d85
mov rbx, r14
test rbx, rbx
jne 0x140002da8
lea r9, str.Out_of_memory
xor r8d, r8d
lea rdx, [0x14001a968]
lea ecx, [rbx + 4]
call fcn.140003930
jmp 0x140003453
lea r14, [0x14001a968]
mov rdx, r14
mov ecx, 2
call fcn.140003968
lea rax, str.bcdefglmqvxz
mov qword [rbx + 0x1820], rax
lea rax, str.acdeglmqvz
mov qword [rbx + 0x1828], rax
mov qword [rbx + 0x1838], r14
lea rax, str.cdemqz
mov qword [rbx + 0x1830], rax
mov rdx, r13
mov r8, r12
mov rcx, rbx
call fcn.140006cc0
xor r13d, r13d
test al, al
je 0x140003457
call fcn.14000485c
lea r8, [rbp - 0x69]
lea rdx, [0x14001b6c4]
mov rcx, rbx
call fcn.140007630
test rax, rax
je 0x140002e56
xor edx, edx
lea r8d, [r13 + 0xa]
mov rcx, qword [rax + 0x18]
call qword [sym.imp.msvcrt.dll_wcstoul]
nop dword [rax + rax]
mov dword [0x14002685c], eax
lea r12d, [r13 + 1]
cmp eax, r12d
jl 0x140002e63
mov eax, r13d
sete al
mov dword [0x140026164], eax
jmp 0x140002e6d
mov r12d, 1
mov dword [0x14002685c], r12d
mov dword [0x140026164], 2
lea r8, [rbp - 0x69]
lea rdx, [0x14001b6c8]
mov rcx, rbx
call fcn.140007630
lea r8, [rbp - 0x69]
mov rcx, rbx
test rax, rax
je 0x140002edc
mov rdi, qword [rax + 0x18]
lea rdx, [0x14001b6cc]
call fcn.140007630
test rax, rax
je 0x140002ec1
mov rdx, rdi
mov rcx, qword [rax + 0x18]
call fcn.140001c24
test al, al
je 0x140003457
lea rdx, [0x14001b6d0]
jmp 0x140002ff5
lea r9, str._e_switch_requires__c_switch._Run_muirct____for_help
xor r8d, r8d
mov rdx, r14
lea ecx, [r8 + 3]
call fcn.140003930
jmp 0x140003457
lea rdx, [0x14001b77c]
call fcn.140007630
test rax, rax
je 0x140002f09
mov rcx, qword [rax + 0x18]
call fcn.14000281c
test al, al
je 0x140003457
mov r12d, 1
jmp 0x1400033af
lea r8, [rbp - 0x69]
lea rdx, [0x14001b780]
mov rcx, rbx
call fcn.140007630
test rax, rax
je 0x140002f50
mov r8, qword [rax + 0x18]
mov edx, 0x18
lea rcx, [0x140026748]
call fcn.140001468
test eax, eax
jns 0x140002f50
lea r8, str.Custom_version_is_too_long__valid_length_must_be_fewer_than_24_characters.
xor edx, edx
mov rcx, r14
call fcn.1400038f0
jmp 0x140003457
lea r8, [rbp - 0x51]
lea rdx, [0x14001b828]
mov rcx, rbx
call fcn.140007630
test rax, rax
je 0x140002f84
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 0x18]
call qword [sym.imp.msvcrt.dll_wcstoul]
nop dword [rax + rax]
mov word [0x140026780], ax
lea r8, [rbp - 0x69]
lea rdx, [0x14001b82c]
mov rcx, rbx
call fcn.140007630
mov rcx, rbx
test rax, rax
je 0x140003030
mov r12, qword [rax + 0x18]
lea r8, [rbp - 0x69]
lea rdx, [0x14001b830]
call fcn.140007630
test rax, rax
je 0x140003027
mov rdi, qword [rax + 0x18]
lea r8, [rbp - 0x69]
lea rdx, [0x14001b6cc]
mov rcx, rbx
call fcn.140007630
test rax, rax
je 0x14000301e
xor r9d, r9d
mov r8, r12
mov rdx, rdi
mov rcx, qword [rax + 0x18]
call fcn.140002178
test al, al
je 0x140003008
lea rdx, str.Checksum_has_been_calculated_and_copied_to_target_file
mov r12d, 1
mov ecx, r12d
call fcn.140003968
jmp 0x1400033af
lea r8, str.Checksum_calculate_and_copy_failed.
xor edx, edx
mov rcx, r14
call fcn.1400038f0
jmp 0x140003457
lea r8, str.There_is_no_checksum_file__provide_a_checksum_file_using_the__c_switch
jmp 0x14000300f
lea r8, str.There_is_no_RC_Configuration_file__provide_an_RC_Config_file_using_the__q_switch
jmp 0x14000300f
lea rdx, str.source
call fcn.1400075cc
test rax, rax
je 0x14000340e
lea rdx, [rbp - 0x49]
mov rcx, rax
call fcn.140004118
test al, al
je 0x14000340a
lea rdx, str.muidll
mov rcx, rbx
call fcn.1400075cc
test rax, rax
je 0x14000340a
lea rdx, [rbp - 9]
mov rcx, rax
call fcn.140004118
test al, al
je 0x140003406
lea rdx, str.muires
mov rcx, rbx
call fcn.1400075cc
test rax, rax
je 0x140003406
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.140004118
mov rdi, qword [rbp - 0x31]
mov rsi, qword [rbp + 0xf]
test al, al
je 0x140003400
mov qword [0x140026778], rdi
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
mov r15, qword [rbp - 0x11]
test eax, eax
je 0x1400031a8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x14000311e
lea r9, str.New_language_neutral_file_already_exists_and_will_be_overwritten._n
xor r8d, r8d
mov rdx, rsi
lea ecx, [r8 + 3]
call fcn.140003930
mov edx, 0x20
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
jmp 0x140003122
mov byte [rbp + 0x7f], r12b
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
nop dword [rax + rax]
test eax, eax
jne 0x140003162
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9d, eax
xor r8d, r8d
mov rdx, rdi
lea ecx, [r8 + 4]
call fcn.140003a4c
mov r15, qword [rbp - 0x11]
jmp 0x140003428
mov edx, 0x20
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x1400031a2
lea r9, str.New_MUI_file_already_exists_and_will_be_overwritten__n
xor r8d, r8d
mov rdx, r15
lea ecx, [r8 + 3]
call fcn.140003930
jmp 0x1400031bc
mov byte [rbp + 0x77], r12b
jmp 0x1400031bc
mov edx, 0x20
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
mov word [rbp - 0x5d], r13w
lea rdx, [0x14001bb6c]
mov rcx, rbx
call fcn.1400075cc
test rax, rax
je 0x1400031ec
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcstoul]
nop dword [rax + rax]
mov dword [rbp - 0x5d], eax
mov word [rbp - 0x61], r13w
lea rdx, [0x14001bb70]
mov rcx, rbx
call fcn.1400075cc
test rax, rax
je 0x14000321c
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcstoul]
nop dword [rax + rax]
mov dword [rbp - 0x61], eax
lea rdx, [0x14001b6cc]
mov rcx, rbx
call fcn.1400075cc
mov qword [rbp - 0x51], rax
mov rcx, qword [0x140026778]
test rax, rax
cmovne rcx, rax
mov qword [0x140026778], rcx
mov r12b, r13b
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov r13, rax
test rax, rax
je 0x14000328d
xor r8d, r8d
lea rdx, [0x140002b70]
mov rcx, rax
call fcn.1400049c4
test eax, eax
setne r12b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
jmp 0x1400032ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9d, eax
xor r8d, r8d
mov rdx, rdi
lea ecx, [r8 + 4]
call fcn.140003a4c
xor r13d, r13d
test r12b, r12b
je 0x140003428
cmp word [0x140026784], r13w
jne 0x1400032d7
lea r8, str.Language_neutral_source_file_is_not_supported_for_MUI_generation._n
xor edx, edx
mov rcx, r14
call fcn.1400038f0
jmp 0x140003428
lea r8, [rbp - 0x69]
lea rdx, [0x14001bc08]
mov rcx, rbx
call fcn.140007630
movzx ecx, byte [0x140026724]
test rax, rax
mov eax, 1
cmovne ecx, eax
mov byte [0x140026724], cl
lea rdx, [0x14001b830]
mov rcx, rbx
call fcn.1400075cc
mov r12, rax
test rax, rax
je 0x140003423
mov ecx, 0x88
call fcn.140016530
mov qword [rbp - 0x59], rax
test rax, rax
je 0x140003361
mov ecx, dword [rbp - 0x61]
mov word [rsp + 0x38], cx
mov ecx, dword [rbp - 0x5d]
mov word [rsp + 0x30], cx
mov rcx, qword [rbp - 0x51]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, rax
call fcn.140007d68
jmp 0x140003364
mov rax, r13
mov qword [rbp - 0x59], rax
test rax, rax
je 0x140003428
mov rcx, rax
call fcn.140007fd0
test al, al
je 0x140003428
mov r8, rsi
lea rdx, str.Language_neutral_file_successfully_created_at___s_._n
mov r12d, 1
mov ecx, r12d
call fcn.140003968
test al, al
je 0x1400033af
mov r8, r15
lea rdx, str.MUI_file_successfully_created_at___s_._n
mov ecx, r12d
call fcn.140003968
mov dil, r13b
lea rdx, str._nresource_items_inside_LN_file:
xor ecx, ecx
call fcn.140003968
test al, al
je 0x140003474
mov rcx, rsi
call fcn.140005690
lea rdx, [0x14001b0a0]
xor ecx, ecx
call fcn.140003968
lea rdx, str.Resource_items_inside_MUI_file:
xor ecx, ecx
call fcn.140003968
mov rcx, r15
call fcn.140005690
mov rdx, r14
xor ecx, ecx
call fcn.140003968
jmp 0x140003474
mov r15, qword [rbp - 0x11]
jmp 0x14000340e
mov rsi, qword [rbp + 0xf]
mov rdi, qword [rbp - 0x31]
lea r8, str.Unable_to_get_file_names._n
xor edx, edx
mov rcx, r14
call fcn.1400038f0
test al, al
je 0x140003428
call fcn.14000683c
test rdi, rdi
je 0x140003453
cmp word [rdi], r13w
je 0x140003453
test rsi, rsi
je 0x140003453
cmp word [rsi], r13w
je 0x140003453
cmp byte [rbp + 0x7f], r13b
je 0x140003453
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
mov r13b, byte [rbp + 0x77]
test r13b, r13b
je 0x14000346b
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
mov r12d, 1
mov dil, r12b
test rbx, rbx
je 0x14000348b
mov rax, qword [rbx]
mov edx, r12d
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140006774.0]
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400034a3
mov rax, qword [rcx]
mov edx, r12d
mov rax, qword [rax]
call qword [case.0x140006774.0]
movzx ebx, dil
lea rcx, [rbp - 0x29]
call fcn.140003c50
nop
lea rcx, [rbp - 9]
call fcn.140003c50
nop
lea rcx, [rbp - 0x49]
call fcn.140003c50
mov eax, ebx
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret