Function at 0x140003040
Capabilities:
Delete file
Move file

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1400bff68]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
test rbx, rbx
je 0x1400189c4
cmp dword [rbx], 0x6060
jne 0x1400189c4
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x30], rdi
test rax, rax
jne 0x1400188bc
lea rcx, [0x1400bff68]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x60]
xor esi, esi
test rcx, rcx
jne 0x1400188d6
mov rax, qword [rbx + 8]
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbx + 0x10]
mov rax, qword [rax + 0x118]
call qword [case.0x140007f48.0]
test eax, eax
je 0x140003193
lea rcx, [0x1400bff68]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
mov rax, qword [rbx + 0x20]
test rax, rax
jne 0x140018916
mov rax, qword [0x1400bfdf0]
mov dword [rbx + 0x30], esi
mov dword [rbx + 0x50], esi
cmp rax, rbx
je 0x140018928
test rax, rax
jne 0x140018938
cmp qword [rbx + 0x18], rsi
jne 0x14001895b
lea rcx, [0x1400bff68]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x38]
cmp rcx, 0xffffffffffffffff
jne 0x14001896a
mov rcx, qword [rbx + 0x40]
test rcx, rcx
jne 0x14001897c
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x140003165
mov rcx, qword [0x1400c02b8]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
mov rcx, qword [0x1400c02b8]
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
mov eax, 1
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
mov eax, esi
jmp 0x140003182
test byte [rax + 0xc], 2
je 0x140003087
xor edx, edx
mov rcx, rbx
call fcn.140008828
nop
jmp 0x140003087
mov rax, qword [0x1400be2f8]
lea rdx, [0x1400be2f8]
cmp rax, rdx
je 0x140018908
test byte [rax + 0x44], 4
je 0x140018908
mov rcx, qword [rax + 0x38]
lea r8, [0x1400a4150]
mov edx, 0x16
call fcn.14002c20c
mov rcx, qword [rbx + 0x60]
call fcn.14000a390
mov qword [rbx + 0x60], rsi
jmp 0x1400030a9
mov qword [rax + 8], rsi
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140018916
jmp 0x1400030f0
mov rax, qword [rbx + 0x28]
mov qword [0x1400bfdf0], rax
jmp 0x14000310f
lea rcx, [rax + 0x28]
mov rax, qword [rax + 0x28]
cmp rax, rbx
je 0x14001894f
test rax, rax
jne 0x140018938
jmp 0x14000310f
mov rax, qword [rbx + 0x28]
mov qword [rcx], rax
jmp 0x14000310f
lea rcx, [rbx + 0x18]
call fcn.140008970
nop
jmp 0x140003119
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
nop
jmp 0x14000313a
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x1400189a2
mov rcx, qword [rbx + 0x40]
lea r8d, [rax + 4]
xor edx, edx
call qword [sym.imp.api_ms_win_core_file_l2_1_0.dll_MoveFileExW]
nop dword [rax + rax]
mov r8, qword [rbx + 0x40]
xor edx, edx
mov rcx, qword [0x1400c02b8]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x40], rsi
jmp 0x140003147
lea rcx, [0x1400bff68]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov ecx, 6
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
xor esi, esi
mov eax, esi
jmp 0x140003187