Function at 0x1400f0820
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x90
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0xc8], rbx
mov rax, qword [0x14028e6b0]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rsi, r8
mov qword [rsp + 0x48], r8
mov rbp, rcx
mov qword [rsp + 0x40], rcx
mov rcx, rdx
call fcn.140118290
mov rdi, rax
test rax, rax
je 0x1400f0aa5
lea rbx, [rdi + 0x30]
cmp qword [rbx + 0x18], 8
jb 0x1400f0880
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [0x140215db8]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400f08f5
test rdi, rdi
je 0x1400f08a4
cmp dword [rdi + 0x18], 1
jne 0x1400f08a4
mov rcx, rdi
jmp 0x1400f08a6
xor ecx, ecx
lea rdx, [0x1401d3868]
call fcn.140114f30
mov rdx, rax
lea rcx, [rbp + 0x90]
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 4]
mov r8, rsi
call fcn.1401216b0
cmp qword [rdi + 0x20], 0
je 0x1400f0a95
mov r8, rax
mov rdx, rdi
mov rcx, rbp
call fcn.1400f0820
test al, al
je 0x1400f0aa1
jmp 0x1400f0a95
mov rdx, rbx
lea rcx, [0x1402034a0]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400f0a95
test rdi, rdi
je 0x1400f091d
cmp dword [rdi + 0x18], 1
jne 0x1400f091d
mov rcx, rdi
jmp 0x1400f0921
xor eax, eax
mov ecx, eax
lea rdx, [0x1401d3868]
call fcn.140114f30
mov rbx, rax
mov r8, rax
lea rdx, [rsp + 0x68]
mov rcx, rbp
call fcn.1400f0bf0
nop
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
neg eax
sbb eax, eax
add eax, 6
mov dword [rsp + 0x30], eax
mov ecx, 0x20
call fcn.140167f20
mov rsi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400f09b2
mov qword [rax + 0x18], 7
xor eax, eax
mov qword [rsi + 0x10], rax
mov word [rsi], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.140006dd0
jmp 0x1400f09b5
mov rsi, rax
mov qword [rsp + 0x38], rsi
lea rbx, [rbp + 0x178]
mov rax, qword [rbx + 8]
lea rcx, [rsp + 0x38]
cmp rcx, rax
jae 0x1400f0a15
mov rcx, qword [rbx]
lea rdx, [rsp + 0x38]
cmp rcx, rdx
ja 0x1400f0a15
lea rbp, [rsp + 0x38]
sub rbp, rcx
sar rbp, 3
cmp rax, qword [rbx + 0x10]
jne 0x1400f09fb
mov edx, 1
mov rcx, rbx
call fcn.14005dad0
mov rcx, qword [rbx + 8]
mov rax, qword [rbx]
test rcx, rcx
je 0x1400f0a0e
mov rax, qword [rax + rbp*8]
mov qword [rcx], rax
mov rbp, qword [rsp + 0x40]
jmp 0x1400f0a34
cmp rax, qword [rbx + 0x10]
jne 0x1400f0a28
mov edx, 1
mov rcx, rbx
call fcn.14005dad0
mov rax, qword [rbx + 8]
test rax, rax
je 0x1400f0a34
mov qword [rax], rsi
add qword [rbx + 8], 8
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r8, rsi
mov rdx, qword [rsp + 0x50]
call fcn.1401216b0
nop
mov r8, qword [rsp + 0x80]
cmp r8, 8
jb 0x1400f0a7d
inc r8
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x68]
call fcn.140007680
mov qword [rsp + 0x80], 7
xor eax, eax
mov qword [rsp + 0x78], rax
mov word [rsp + 0x68], ax
mov rdi, qword [rdi + 0x58]
test rdi, rdi
jmp 0x1400f086c
xor al, al
jmp 0x1400f0aa7
mov al, 1
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140168660
mov rbx, qword [rsp + 0xc8]
add rsp, 0x90
pop rdi
pop rsi
pop rbp
ret