Function at 0x140065a80
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
mov eax, 0x28
call fcn.1400035e0
sub rsp, rax
mov rdx, rcx
mov rcx, qword [0x1401fc258]
add rsp, 0x28
jmp 0x140065a80
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xb70]
mov eax, 0xc70
call fcn.1400035e0
sub rsp, rax
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xca8], rbx
mov r15, rdx
mov rdi, rcx
mov byte [rsp + 0x70], 0
xor edx, edx
mov r8d, Ordinal_1026
lea rcx, [rsp + 0x71]
call sub.MSVCR110.dll_memset
lea rcx, [rdi + 0x38]
call fcn.140063530
test eax, eax
jne 0x140065aef
lea rcx, [rdi + 0x38]
call fcn.140063110
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x140065b84
lea rdx, [rsp + 0x70]
mov ecx, Ordinal_1026
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x140065b5c
lea rcx, [rsp + 0x70]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140065b10
mov rax, qword [str._cpm.log]
mov qword [rcx], rax
movzx eax, byte [0x14019b730]
mov byte [rcx + 8], al
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xba0]
call fcn.140062e90
nop
lea rdx, [rbp + 0xba0]
lea rcx, [rdi + 0x38]
call fcn.140063060
nop
lea rcx, [rbp + 0xba0]
call fcn.140063030
lea rcx, [rdi + 0x38]
call fcn.140063530
test eax, eax
jne 0x140065b84
lea rcx, [rdi + 0x38]
call fcn.140063110
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rcx, [rdi + 0x38]
call fcn.140063370
mov rcx, rdi
call fcn.140064ac0
mov rcx, rdi
call fcn.140066400
test eax, eax
jne 0x140065f5c
mov rcx, rdi
call fcn.140066820
cmp eax, 0xffffffff
je 0x140065f5c
mov dword [rdi + 0x20], 3
mov rdx, r15
lea rcx, [rbp + 0xba0]
call fcn.140062e90
nop
lea rdx, [rbp + 0xba0]
lea rcx, [rdi + 8]
call fcn.140063060
nop
lea rcx, [rbp + 0xba0]
call fcn.140063030
mov rcx, rdi
call fcn.140066560
cmp eax, 0xffffffff
je 0x140065f5c
lea rcx, [rsp + 0x28]
call fcn.140062ed0
nop
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1400657e0
test eax, eax
jne 0x140065c62
mov dword [rdi + 0x20], 2
mov rcx, rdi
call fcn.140066980
mov ebx, eax
mov dword [rdi + 0x20], 3
mov rdx, r15
lea rcx, [rbp + 0xba0]
call fcn.140062e90
nop
lea rdx, [rbp + 0xba0]
lea rcx, [rdi + 8]
call fcn.140063060
nop
lea rcx, [rbp + 0xba0]
call fcn.140063030
test ebx, ebx
jne 0x140065c62
lea edx, [rbx + 3]
mov rcx, rdi
call fcn.140066ce0
mov rcx, rdi
call fcn.140066b80
test eax, eax
je 0x140065c76
or ebx, 0xffffffff
jmp 0x140065f4e
lea rdx, str.Global
mov rcx, rdi
call fcn.140064c90
test eax, eax
jne 0x140065f4c
lea rdx, [0x140186262]
lea rcx, [rbp + 0xbb0]
call fcn.140062e90
nop
lea rdx, [0x140186262]
lea rcx, [rbp + 0xbb8]
call fcn.140062e90
nop
lea rdx, [0x140186262]
lea rcx, [rbp + 0xba0]
call fcn.140062e90
nop
lea rdx, [rbp + 0xbb8]
mov rcx, rdi
call fcn.1400654e0
lea r8, [rbp + 0xbb0]
lea rdx, str.temp_dir
mov rcx, rdi
call fcn.140064e00
test eax, eax
jne 0x140065f26
lea rdx, [rbp + 0xbb8]
lea rcx, [rbp + 0xba0]
call fcn.140063060
lea rdx, [0x1401861f4]
lea rcx, [rsp + 0x20]
call fcn.140062e90
nop
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xba0]
call fcn.140063130
nop
lea rcx, [rsp + 0x20]
call fcn.140063030
lea rdx, [rbp + 0xbb0]
lea rcx, [rbp + 0xba0]
call fcn.140063130
lea rcx, [rbp + 0xba0]
call fcn.140063110
mov rcx, rax
lea rdx, [rsp + 0x38]
call qword [sym.imp.MSVCR110.dll__stat64i32]
test eax, eax
jne 0x140065d98
lea rdx, str._cpm.log
lea rcx, [rsp + 0x20]
call fcn.140062e90
nop
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xba0]
call fcn.140063130
nop
lea rcx, [rsp + 0x20]
call fcn.140063030
jmp 0x140065dfe
lea rcx, [rbp + 0xbb0]
call fcn.140063110
mov rcx, rax
lea rdx, [rsp + 0x38]
call qword [sym.imp.MSVCR110.dll__stat64i32]
lea rcx, [rbp + 0xba0]
test eax, eax
jne 0x140065df9
lea rdx, [rbp + 0xbb0]
call fcn.140063060
lea rdx, str._cpm.log
lea rcx, [rsp + 0x20]
call fcn.140062e90
nop
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xba0]
call fcn.140063130
nop
lea rcx, [rsp + 0x20]
call fcn.140063030
jmp 0x140065dfe
call fcn.140063370
lea rcx, [rbp + 0xba0]
call fcn.140063530
test eax, eax
jne 0x140065f26
lea rcx, [rdi + 0x38]
call fcn.140063530
test eax, eax
jne 0x140065f15
mov byte [rbp + 0x370], al
xor edx, edx
mov r8d, Ordinal_1026
lea rcx, [rbp + 0x371]
call sub.MSVCR110.dll_memset
mov byte [rbp + 0x770], 0
xor edx, edx
mov r8d, Ordinal_1026
lea rcx, [rbp + 0x771]
call sub.MSVCR110.dll_memset
lea rcx, [rdi + 0x38]
call fcn.140063110
mov rdx, rax
mov r8d, Ordinal_1026
lea rcx, [rbp + 0x370]
call qword [sym.imp.MSVCR110.dll__fullpath]
test rax, rax
je 0x140065f15
lea rcx, [rbp + 0xba0]
call fcn.140063110
mov rdx, rax
mov r8d, Ordinal_1026
lea rcx, [rbp + 0x770]
call qword [sym.imp.MSVCR110.dll__fullpath]
test rax, rax
je 0x140065f15
lea rax, [rbp + 0x370]
lea r8, [rbp + 0x770]
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140065ed3
inc rax
test ecx, ecx
jne 0x140065ec0
test edx, edx
je 0x140065f15
lea rcx, [rbp + 0xba0]
call fcn.140063110
mov rbx, rax
lea rcx, [rdi + 0x38]
call fcn.140063110
mov rcx, rax
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileA]
cmp eax, 1
jne 0x140065f15
lea rcx, [rdi + 0x38]
call fcn.140063110
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rdx, [rbp + 0xba0]
lea rcx, [rdi + 0x38]
call fcn.140063060
nop
lea rcx, [rbp + 0xba0]
call fcn.140063030
nop
lea rcx, [rbp + 0xbb8]
call fcn.140063030
nop
lea rcx, [rbp + 0xbb0]
call fcn.140063030
xor ebx, ebx
lea rcx, [rsp + 0x28]
call fcn.140063030
mov eax, ebx
jmp 0x140065f5f
or eax, 0xffffffff
mov rbx, qword [rsp + 0xca8]
add rsp, 0xc70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret