Function at 0x140048a80
Capabilities:
Delete file
Move file

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0xe0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x1400bdbf0]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r12, r8
mov rbp, rcx
cmp word [rcx + 0x18], 0
jne 0x140048ac8
xor edx, edx
call fcn.1400484e0
lea rax, vtable.CLogMutex.0
mov qword [rsp + 0x70], rax
mov rsi, qword [rbp + 8]
mov qword [rsp + 0x78], rsi
test rsi, rsi
je 0x140048af1
mov edx, 0x1388
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
lea rax, vtable.CAhnI2s_File.0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0xffffffff
mov r8d, 1
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.14004c590
test eax, eax
jne 0x140048b3f
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140048dc0
lea rcx, [rsp + 0x50]
call fcn.14004c640
test eax, eax
jns 0x140048b6f
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140048dc0
cmp eax, dword [rbp + reloc.mfc90u.dll_AfxCriticalNewHandler]
jl 0x140048c15
lea rcx, [rsp + 0x50]
call fcn.14004c610
lea rcx, [rbp + 0x220]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x18]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
mov r8d, 1
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x50]
call fcn.14004c590
test eax, eax
jne 0x140048bdd
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140048dc0
lea rcx, [rsp + 0x50]
call fcn.14004c640
test eax, eax
js 0x140048bf3
cmp eax, dword [rbp + reloc.mfc90u.dll_AfxCriticalNewHandler]
jl 0x140048c15
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140048dc0
xor edx, edx
lea r8d, [rdx + 2]
lea rcx, [rsp + 0x50]
call fcn.14004c770
test eax, eax
jns 0x140048c4b
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140048dc0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx r11d, word [rsp + 0x6e]
movzx ecx, word [rsp + 0x6c]
movzx r8d, word [rsp + 0x6a]
movzx r10d, word [rsp + 0x68]
movzx r9d, word [rsp + 0x66]
movzx ebx, word [rsp + 0x62]
movzx edi, word [rsp + 0x60]
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub edi, eax
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], ebx
mov r9d, edi
lea r8, str._d_x_02d._02d_02d_02d_03d.
mov edx, 0x40
lea rcx, [rsp + 0x90]
call fcn.1400305f0
mov edx, 0x40
lea rcx, [rsp + 0x90]
call fcn.140047d40
mov r8, rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.14004c740
mov r8d, dword [0x1400d1520]
lea rdx, [0x1400d1510]
lea rcx, [rsp + 0x50]
call fcn.14004c740
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
lea r8, str._x:
mov edx, 0x40
lea rcx, [rsp + 0x90]
call fcn.1400305f0
mov edx, 0x40
lea rcx, [rsp + 0x90]
call fcn.140047d40
mov r8, rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.14004c740
mov edx, 0x7fffffff
mov rcx, r12
call fcn.140047d40
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.14004c740
mov r8d, 2
lea rdx, [0x14008d6fc]
lea rcx, [rsp + 0x50]
call fcn.14004c740
lea rcx, [rsp + 0x50]
call fcn.14004c780
test byte [rbp + 0x434], 1
je 0x140048da7
lea rcx, [rsp + 0x50]
call fcn.14004c7a0
nop
lea rcx, [rsp + 0x50]
call fcn.14004c7b0
nop
test rsi, rsi
je 0x140048dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.14004d770
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret