Function at 0x100018b08
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 0x100018b51
bt dword [rcx + 0x1c], 0x1d
jae 0x100018b51
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000059c0]
mov edx, 0x13
call fcn.10000e5fc
lea rdx, [0x1000071e8]
lea rcx, [rsp + 0x50]
mov r9d, 1
mov r8d, 0x15a
call fcn.100018110
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, [0x100005940]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x100018bb7
mov ebx, 0x80070057
mov eax, 0x165
jmp 0x100018d8e
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.1000186d8
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x16d
js 0x100018d92
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x100018c1e
xor ebx, ebx
mov eax, 0x172
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x54], ax
jmp 0x100018d97
mov ebp, dword [rsp + 0xc0]
mov edi, 4
neg ebp
mov esi, edi
cmp ebp, edi
jg 0x100018d97
lea r13d, [rdi + 1]
sub r13d, eax
cmp esi, r13d
lea r8, [0x1000059e0]
lea rcx, [0x100007200]
mov qword [rsp + 0x20], r8
mov r8, r12
mov r9d, esi
jl 0x100018cb7
mov rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10001b3a4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x181
js 0x100018d92
mov rcx, qword [rsp + 0x30]
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100018d57
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100018d66
mov eax, 0x185
xor ebx, ebx
mov word [rsp + 0x54], ax
mov dword [rsp + 0x50], ebx
jmp 0x100018d5b
neg r9d
test esi, esi
lea rdx, [0x100007218]
cmovns r9d, esi
test esi, esi
cmovns rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10001b3a4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x191
js 0x100018d92
mov word [rsp + 0x54], ax
lea rax, [0x1000059e0]
lea rdx, [0x100007200]
lea rcx, [rsp + 0x40]
mov r9d, edi
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.10001b3a4
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x196
js 0x100018d92
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 0x100018d55
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100018d7b
mov eax, 0x19b
jmp 0x100018ca7
dec edi
mov ebx, dword [rsp + 0x50]
dec esi
cmp esi, ebp
jl 0x100018d97
jmp 0x100018c3d
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, 0x185
jmp 0x100018d8e
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.10001ae2c
lea rcx, [rsp + 0x30]
call fcn.10001ae2c
lea rcx, [rsp + 0x50]
call fcn.100018228
mov eax, ebx
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret