Function at 0x140005ab0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x1a8]
sub rsp, 0x290
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x14002a008]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rbx, rdx
mov r14, rcx
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x70]
call fcn.14000b410
lea rax, [rbp + 0x78]
mov qword [rbp + 0x70], rax
lea rdx, [rbx + 0x30]
mov r8d, 3
lea rcx, [rbp + 0x70]
call fcn.140002120
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x40]
call fcn.14000b410
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
lea rdx, [rbx + 0xc]
mov r8d, 3
lea rcx, [rsp + 0x40]
call fcn.140002120
nop
mov rbx, qword [rbp + 0x70]
call fcn.140002ec0
mov rdx, rax
xor esi, esi
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x140005b70
mov ecx, 0x80004005
call fcn.140003000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x50], rax
or rdi, 0xffffffffffffffff
test rbx, rbx
je 0x140005bc2
test rbx, 0xffffffffffff0000
jne 0x140005bb3
movzx ebx, bx
mov ecx, ebx
call fcn.140002b10
test rax, rax
je 0x140005bd4
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.140002440
jmp 0x140005bd4
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140005bb6
jmp 0x140005bc4
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.140002590
nop
xor eax, eax
mov qword [rbp + 0x58], rax
lea rdx, [r14 + 2]
lea r8, [rbp + 0x50]
lea rcx, [rbp + 0x58]
call fcn.140005d60
nop
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140005cd8
call fcn.140002ec0
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x140005c1d
mov ecx, 0x80004005
call fcn.140003000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x60], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
lea rdx, [0x140024658]
lea rcx, [rsp + 0x20]
call fcn.140001dc0
mov rbx, rax
lea rdx, [r14 + 0x20a]
lea rcx, [rsp + 0x38]
call fcn.140001dc0
nop
lea r9, [rbp + 0x60]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rax
call fcn.140004710
mov rcx, qword [rbp + 0x60]
test eax, eax
je 0x140005cc3
mov eax, esi
mov r8, qword [rsp + 0x40]
test r8, r8
setne al
test eax, eax
jne 0x140005c95
mov ecx, 0x80004005
call fcn.140003000
int3
mov rax, rcx
sub r8, rcx
nop dword [rax + rax]
movzx edx, word [rax]
cmp dx, word [rax + r8]
jne 0x140005cb7
add rax, 2
test dx, dx
jne 0x140005ca0
mov eax, esi
jmp 0x140005cbc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140005cc3
lea esi, [rax + 1]
lea rdx, [rcx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140005cd8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140005cf1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140005d0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x140005d1f
call fcn.14000a0e0
nop
lea rax, [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
cmp rcx, rax
je 0x140005d31
call fcn.14000a0e0
mov eax, esi
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.140009a40
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret