Function at 0x18000f200
Capabilities:
Move file
Timestomp file

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x100
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov rax, qword [0x180222e50]
xor rax, rsp
mov qword [rsp + 0xf8], rax
xor r9d, r9d
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x60]
call fcn.18000f020
nop
xor r9d, r9d
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x50]
call fcn.18000f110
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd8], rax
mov r8d, 3
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
je 0x18000f4d0
mov dword [rsp + 0x70], 0
lea rax, [rsp + 0x74]
mov rdi, rax
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
lea r8, [rsp + 0x70]
xor edx, edx
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x18000f46f
xor eax, eax
mov word [rsp + 0xa8], ax
lea rax, [rsp + 0xaa]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_ntohl
rep stosb byte [rdi], al
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
mov dword [rsp + 0x98], 0
lea rax, [rsp + 0x9c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x40000000
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0xffffffffffffffff
je 0x18000f46f
lea r9, [rsp + 0x84]
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [rsp + 0xb8], eax
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x18023d830]
call fcn.1800d5710
test eax, eax
je 0x18000f46f
lea rcx, [rsp + 0xbc]
call fcn.1800e7690
nop
movzx eax, word [rsp + 0xae]
movzx ecx, word [rsp + 0xaa]
movzx edx, word [rsp + 0xa8]
mov edi, dword [rsp + 0xb8]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, str.CConfigMgr::BackupRegBackupFile___s____lu___lu___lu__SetFileTime__lu_
lea r8, str.InitReg
mov edx, 8
lea rcx, [0x18023d838]
call fcn.1800dbb80
nop
lea rcx, [rsp + 0xbc]
call fcn.1800e76c0
lea rcx, [0x18023d830]
call fcn.1800d5710
test eax, eax
je 0x18000f4ce
lea rcx, [rsp + 0xc0]
call fcn.1800e7690
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, str.CConfigMgr::BackupRegBackupFile___s_______s__backup_reg_file
lea r8, str.InitReg
mov edx, 8
lea rcx, [0x18023d838]
call fcn.1800dbb80
nop
lea rcx, [rsp + 0xc0]
call fcn.1800e76c0
jmp 0x18000f547
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xc4], eax
lea rcx, [0x18023d830]
call fcn.1800d5710
test eax, eax
je 0x18000f547
lea rcx, [rsp + 0xc8]
call fcn.1800e7690
nop
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, str.CConfigMgr::BackupRegBackupFile___s_______s__MoveFileExW_fail_err__lu_
lea r8, str.InitReg
mov edx, 8
lea rcx, [0x18023d838]
call fcn.1800dbb80
nop
lea rcx, [rsp + 0xc8]
call fcn.1800e76c0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x50]
call fcn.1800e8250
nop
lea rcx, [rsp + 0x60]
call fcn.1800e8250
mov eax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1800fbf40
add rsp, 0x100
pop rdi
ret