Function at 0x140004c40
Capabilities:
Delete file
Move file

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1400afd38]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
test rbx, rbx
je 0x140014954
cmp dword [rbx], 0x6060
jne 0x140014954
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x30], rdi
test rax, rax
jne 0x14001484c
lea rcx, [0x1400afd38]
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 0x140014866
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rax + 0x118]
call qword [0x1400907d0]
test eax, eax
je 0x140004d89
lea rcx, [0x1400afd38]
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 0x1400148a6
mov rax, qword [0x1400afb30]
mov dword [rbx + 0x30], esi
mov dword [rbx + 0x50], esi
cmp rax, rbx
je 0x1400148b8
test rax, rax
jne 0x1400148c8
cmp qword [rbx + 0x18], rsi
jne 0x1400148eb
lea rcx, [0x1400afd38]
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 0x1400148fa
mov rcx, qword [rbx + 0x40]
test rcx, rcx
jne 0x14001490c
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x140004d5b
mov rcx, qword [0x1400affe8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rcx, qword [0x1400affe8]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.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 0x140004d78
test byte [rax + 0xc], 2
je 0x140004c87
xor edx, edx
mov rcx, rbx
call fcn.140006d88
nop
jmp 0x140004c87
mov rax, qword [0x1400ae2f8]
lea rdx, [0x1400ae2f8]
cmp rax, rdx
je 0x140014898
test byte [rax + 0x44], 4
je 0x140014898
mov rcx, qword [rax + 0x38]
lea r8, [0x140094050]
mov edx, 0x12
call fcn.14002790c
mov rcx, qword [rbx + 0x60]
call fcn.1400026c0
mov qword [rbx + 0x60], rsi
jmp 0x140004ca9
mov qword [rax + 8], rsi
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400148a6
jmp 0x140004ce6
mov rax, qword [rbx + 0x28]
mov qword [0x1400afb30], rax
jmp 0x140004d05
lea rcx, [rax + 0x28]
mov rax, qword [rax + 0x28]
cmp rax, rbx
je 0x1400148df
test rax, rax
jne 0x1400148c8
jmp 0x140004d05
mov rax, qword [rbx + 0x28]
mov qword [rcx], rax
jmp 0x140004d05
lea rcx, [rbx + 0x18]
call fcn.140006e94
nop
jmp 0x140004d0f
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
nop
jmp 0x140004d30
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x140014932
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 [0x1400affe8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x40], rsi
jmp 0x140004d3d
lea rcx, [0x1400afd38]
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 0x140004d7d