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

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x120
mov rbp, rsp
mov dword [rbp + 0x7c], r8d
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x140], rcx
mov qword [rbp + 0x148], rdx
lea rcx, [rbp + 0x140]
call fcn.00410d40
lea rcx, [rbp + 0x148]
call fcn.00410d40
nop
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
mov r9d, dword [rbp + 0x7c]
call fcn.0054ab70
test al, al
je 0x54b260
mov rcx, qword [rbp + 0x118]
lea rdx, [rbp + 0x108]
call sub.kernel32.dll_GetFileSizeEx
test eax, eax
jne 0x54af35
mov rcx, qword [rbp + 0x118]
call sub.kernel32.dll_CloseHandle
jmp 0x54b260
cmp qword [rbp + 0x108], 0
jne 0x54b046
mov rcx, qword [rbp + 0x118]
call sub.kernel32.dll_CloseHandle
lea rcx, [rbp + 0x100]
mov rdx, qword [rbp + 0x140]
mov r8d, 1
mov r9b, 0xff
mov byte [rsp + 0x20], 0
call fcn.00448350
lea rcx, [rbp + 0xd0]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
call fcn.00412270
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0xd0]
call fcn.00448b50
mov rcx, qword [rbp + 0xd8]
call fcn.004121c0
mov rbx, rax
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x100]
call fcn.00412270
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xc0]
call fcn.00448b50
mov rcx, qword [rbp + 0xc8]
call fcn.004121c0
mov rcx, rbx
mov rdx, rax
call sub.kernel32.dll_MoveFileW
test eax, eax
je 0x54b260
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x100]
call fcn.00412270
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
call fcn.00448b50
mov rcx, qword [rbp + 0xb8]
call fcn.004121c0
mov rcx, rax
call sub.kernel32.dll_DeleteFileW
test eax, eax
je 0x54b260
jmp 0x54b260
mov rcx, qword [rbp + 0x108]
xor edx, edx
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x117]
mov qword [rsp + 0x20], rax
mov rax, qword [0x00588558]
mov qword [rsp + 0x28], rax
mov rax, qword [0x00587f90]
mov qword [rsp + 0x30], rax
mov rax, qword [0x00587f90]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
lea rax, [rbp + 0xec]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x60], 2
call fcn.005491b0
xor ebx, ebx
movzx rax, byte [rbp + 0x117]
sub al, 1
cmp al, 0xff
je 0x54b0d3
test al, al
je 0x54b0e3
sub al, 1
test al, al
jne 0x54b11d
jmp 0x54b0fa
lea rcx, [rbp + 0x118]
call fcn.00549040
mov ebx, eax
jmp 0x54b11d
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x108]
call fcn.00549070
mov ebx, eax
jmp 0x54b11d
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x108]
mov r8d, dword [rbp + 0xec]
mov r9, qword [rbp + 0xf0]
call fcn.005490f0
mov ebx, eax
mov rcx, qword [rbp + 0x118]
call sub.kernel32.dll_CloseHandle
test bl, bl
jne 0x54b13b
cmp qword [rbp + 0x108], 0
jne 0x54b260
mov dword [rbp + 0xf8], 1
mov dword [rbp + 0xfc], 0
mov rcx, qword [rbp + 0x118]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xf8]
call sub.kernel32.dll_SetFileTime
lea rcx, [rbp + 0x100]
mov rdx, qword [rbp + 0x140]
mov r8d, 1
mov r9b, 0xff
mov byte [rsp + 0x20], 0
call fcn.00448350
lea rcx, [rbp + 0xa0]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
call fcn.00412270
lea rcx, [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
call fcn.00448b50
mov rcx, qword [rbp + 0xa8]
call fcn.004121c0
mov rsi, rax
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x100]
call fcn.00412270
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x90]
call fcn.00448b50
mov rcx, qword [rbp + 0x98]
call fcn.004121c0
mov rcx, rsi
mov rdx, rax
call sub.kernel32.dll_MoveFileW
test eax, eax
je 0x54b260
cmp bl, 2
jne 0x54b25f
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x100]
call fcn.00412270
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
call fcn.00448b50
mov rcx, qword [rbp + 0x88]
call fcn.004121c0
mov rcx, rax
call sub.kernel32.dll_DeleteFileW
test eax, eax
je 0x54b260
nop
lea rcx, [rbp + 0x80]
mov edx, 0xc
call fcn.00410cb0
lea rcx, [rbp + 0x100]
call fcn.00410bd0
lea rcx, [rbp + 0x140]
mov edx, 2
call fcn.00410cb0
lea rsp, [rbp + 0x120]
pop rbx
pop rsi
pop rbp
ret