Function at 0x445000
Capabilities:
Delete file
Get file size
Move file

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0xd0
mov rbp, rsp
mov dword [rbp + 0x2c], r8d
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rdx
lea rcx, [rbp + 0xf0]
call fcn.0040bf00
lea rcx, [rbp + 0xf8]
call fcn.0040bf00
nop
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xf8]
mov r9d, dword [rbp + 0x2c]
call fcn.004449b0
test al, al
je 0x44537d
mov rcx, qword [rbp + 0xc8]
lea rdx, [rbp + 0xb8]
call sub.kernel32.dll_GetFileSizeEx
test eax, eax
jne 0x4450f7
mov rcx, qword [rbp + 0xc8]
call sub.kernel32.dll_CloseHandle
jmp 0x44537d
cmp qword [rbp + 0xb8], 0
jne 0x4451e2
mov rcx, qword [rbp + 0xc8]
call sub.kernel32.dll_CloseHandle
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0xf0]
call fcn.00442c90
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xf8]
call fcn.0040d230
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x88]
call fcn.0040d180
mov rbx, rax
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xb0]
call fcn.0040d230
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x70]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x78]
call fcn.0040d180
mov rcx, rbx
mov rdx, rax
call sub.kernel32.dll_MoveFileW
test eax, eax
je 0x44537d
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xb0]
call fcn.0040d230
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x68]
call fcn.0040d180
mov rcx, rax
call sub.kernel32.dll_DeleteFileW
test eax, eax
je 0x44537d
jmp 0x44537d
mov rcx, qword [rbp + 0xb8]
lea rdx, [rbp + 0xc7]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0xa0]
call fcn.00444f10
xor ebx, ebx
movzx rax, byte [rbp + 0xc7]
sub al, 1
cmp al, 0xff
je 0x445222
test al, al
je 0x445232
sub al, 1
test al, al
jne 0x44526c
jmp 0x445249
lea rcx, [rbp + 0xc8]
call fcn.00442b40
mov ebx, eax
jmp 0x44526c
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xb8]
call fcn.00442b70
mov ebx, eax
jmp 0x44526c
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xb8]
mov r8d, dword [rbp + 0x9c]
mov r9, qword [rbp + 0xa0]
call fcn.00442bf0
mov ebx, eax
mov rcx, qword [rbp + 0xc8]
call sub.kernel32.dll_CloseHandle
test bl, bl
jne 0x44528a
cmp qword [rbp + 0xb8], 0
jne 0x44537d
mov dword [rbp + 0xa8], 1
mov dword [rbp + 0xac], 0
mov rcx, qword [rbp + 0xc8]
lea rdx, [rbp + 0xa8]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa8]
call sub.kernel32.dll_SetFileTime
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0xf0]
call fcn.00442c90
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xf8]
call fcn.0040d230
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x50]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x58]
call fcn.0040d180
mov rsi, rax
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xb0]
call fcn.0040d230
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x48]
call fcn.0040d180
mov rcx, rsi
mov rdx, rax
call sub.kernel32.dll_MoveFileW
test eax, eax
je 0x44537d
cmp bl, 2
jne 0x44537c
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0xb0]
call fcn.0040d230
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
call fcn.0042f4c0
mov rcx, qword [rbp + 0x38]
call fcn.0040d180
mov rcx, rax
call sub.kernel32.dll_DeleteFileW
test eax, eax
je 0x44537d
nop
lea rcx, [rbp + 0x30]
mov edx, 0xc
call fcn.0040be70
lea rcx, [rbp + 0xb0]
call fcn.0040bd90
lea rcx, [rbp + 0xf0]
mov edx, 2
call fcn.0040be70
lea rsp, [rbp + 0xd0]
pop rbx
pop rsi
pop rbp
ret