Function at 0x14000e87c
Capabilities:
Delete file
Move file

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [r11 - 0x48], 0xfffffffffffffffe
mov rax, r8
mov r14, rdx
mov rsi, rcx
mov ebx, 0x8007000e
xor edi, edi
mov qword [r11 - 0x58], rdi
mov qword [r11 - 0x50], rdi
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x14000e8d1
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rsi + 0x68], rdi
mov rax, qword [rsp + 0xb0]
test r14, r14
je 0x14000eb70
test rax, rax
je 0x14000eb70
mov r13d, 1
mov ecx, r13d
call fcn.140009bcc
mov r15, rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14000eb75
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcslen]
mov r12, rax
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcslen]
lea esi, [rax + 1]
add esi, r12d
lea eax, [r13 + 1]
mul rsi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140019114
mov r14, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000e9df
lea eax, [r12 + 1]
mov ecx, eax
mov ebx, edi
dec rax
mov r12d, 0x80070057
cmp rax, 0x7ffffffe
cmova ebx, r12d
mov dword [rsp + 0x34], ebx
test ebx, ebx
js 0x14000e984
mov r9, r15
mov edx, ecx
mov rcx, r14
call fcn.140009a9c
mov ebx, eax
mov dword [rsp + 0x34], eax
jmp 0x14000e98d
test rcx, rcx
je 0x14000e98d
mov word [r14], di
mov dword [rsp + 0x30], ebx
test ebx, ebx
js 0x14000e9e5
lea r8, [rsp + 0xb8]
mov rdx, rsi
mov rcx, r14
call fcn.140009a28
mov ebx, eax
test eax, eax
js 0x14000e9cf
mov rax, qword [rsp + 0xb8]
sub rsi, rax
lea rcx, [r14 + rax*2]
mov r9, qword [rsp + 0xa8]
mov rdx, rsi
call fcn.140009a9c
mov ebx, eax
mov dword [rsp + 0x30], ebx
test ebx, ebx
cmovns ebx, r13d
mov dword [rsp + 0x30], ebx
jmp 0x14000e9e5
mov r12d, 0x80070057
jmp 0x14000ea04
or rsi, 0xffffffffffffffff
test ebx, ebx
js 0x14000eb57
mov rcx, r15
call qword [sym.imp.msvcrt.dll_wcslen]
mov rbx, rax
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.msvcrt.dll_wcslen]
lea edx, [rax + 1]
add edx, ebx
mov qword [rsp + 0xa8], rdx
lea eax, [rsi + 3]
mul rdx
cmovo rax, rsi
mov rcx, rax
call fcn.140019114
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000eaea
lea eax, [rbx + 1]
mov ecx, eax
mov ebx, edi
dec rax
cmp rax, 0x7ffffffe
cmova ebx, r12d
mov dword [rsp + 0x38], ebx
test ebx, ebx
js 0x14000ea8b
mov r9, r15
mov edx, ecx
mov rcx, rsi
call fcn.140009a9c
mov ebx, eax
mov dword [rsp + 0x38], eax
jmp 0x14000ea93
test rcx, rcx
je 0x14000ea93
mov word [rsi], di
mov dword [rsp + 0x30], ebx
test ebx, ebx
js 0x14000eaf3
lea r8, [rsp + 0xb8]
mov r12, qword [rsp + 0xa8]
mov rdx, r12
mov rcx, rsi
call fcn.140009a28
mov ebx, eax
test eax, eax
js 0x14000eadd
mov rax, qword [rsp + 0xb8]
sub r12, rax
lea rcx, [rsi + rax*2]
mov r9, qword [rsp + 0xb0]
mov rdx, r12
call fcn.140009a9c
mov ebx, eax
mov dword [rsp + 0x30], ebx
test ebx, ebx
js 0x14000eaf3
mov ebx, r13d
jmp 0x14000eaef
mov ebx, 0x8007000e
mov dword [rsp + 0x30], ebx
jmp 0x14000eb11
test ebx, ebx
js 0x14000eb49
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
mov r8d, r13d
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.api_ms_win_core_file_l2_1_0.dll_MoveFileExW]
test eax, eax
jne 0x14000eb47
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14000eb49
mov ebx, edi
test rsi, rsi
je 0x14000eb57
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
test r14, r14
je 0x14000eb65
mov rcx, r14
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, r15
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
jmp 0x14000eb75
mov ebx, 0x80070057
mov eax, ebx
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret