Function at 0x100018b28
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x90
mov r12, rcx
mov rcx, qword [0x10001f120]
lea rax, [0x10001f120]
cmp rcx, rax
je 0x100018b71
bt dword [rcx + 0x1c], 0x1d
jae 0x100018b71
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000059e0]
mov edx, 0x13
call fcn.10000e61c
lea rdx, [0x100007208]
lea rcx, [rsp + 0x50]
mov r9d, 1
mov r8d, 0x15a
call fcn.100018130
and dword [rsp + 0xd0], 0
and dword [rsp + 0xc8], 0
and dword [rsp + 0xc0], 0
and qword [rsp + 0x38], 0
and qword [rsp + 0x48], 0
lea rax, [0x100005960]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x100018bd7
mov ebx, 0x80070057
mov eax, 0x165
jmp 0x100018dae
and dword [rsp + 0x50], 0
mov eax, 0x166
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0xd0]
mov rcx, r12
mov word [rsp + 0x54], ax
call fcn.1000186f8
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x16d
js 0x100018db2
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x100018c3e
xor ebx, ebx
mov eax, 0x172
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x54], ax
jmp 0x100018db7
mov ebp, dword [rsp + 0xc0]
mov edi, 4
neg ebp
mov esi, edi
cmp ebp, edi
jg 0x100018db7
lea r13d, [rdi + 1]
sub r13d, eax
cmp esi, r13d
lea r8, [0x100005a00]
lea rcx, [0x100007220]
mov qword [rsp + 0x20], r8
mov r8, r12
mov r9d, esi
jl 0x100018cd7
mov rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10001b3c4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x181
js 0x100018db2
mov rcx, qword [rsp + 0x30]
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100018d77
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100018d86
mov eax, 0x185
xor ebx, ebx
mov word [rsp + 0x54], ax
mov dword [rsp + 0x50], ebx
jmp 0x100018d7b
neg r9d
test esi, esi
lea rdx, [0x100007238]
cmovns r9d, esi
test esi, esi
cmovns rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10001b3c4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x191
js 0x100018db2
mov word [rsp + 0x54], ax
lea rax, [0x100005a00]
lea rdx, [0x100007220]
lea rcx, [rsp + 0x40]
mov r9d, edi
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.10001b3c4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x196
js 0x100018db2
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov r8d, 1
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x100018d75
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100018d9b
mov eax, 0x19b
jmp 0x100018cc7
dec edi
mov ebx, dword [rsp + 0x50]
dec esi
cmp esi, ebp
jl 0x100018db7
jmp 0x100018c5d
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, 0x185
jmp 0x100018dae
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, 0x19b
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x56], ax
lea rcx, [rsp + 0x40]
call fcn.10001ae4c
lea rcx, [rsp + 0x30]
call fcn.10001ae4c
lea rcx, [rsp + 0x50]
call fcn.100018248
mov eax, ebx
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret