Function at 0x18003820c
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
and qword [rbp - 0x10], 0
mov rdi, r8
and qword [rbp - 0x18], 0
mov r13d, edx
mov r14, rcx
mov eax, 1
test rcx, rcx
je 0x180038295
test r8, r8
je 0x180038295
mov sil, byte [rbp + 0x60]
lea ecx, [rax + 3]
cmp sil, cl
jbe 0x18003825f
cmp sil, 0xfe
jne 0x180038295
cmp r13d, 0x20
je 0x1800382b1
cmp r13d, 0x40
jne 0x180038295
cmp word [r8], 0x5c
lea r12, [0x18007d7f8]
mov dword [rbp - 0x20], eax
je 0x180038295
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
jne 0x1800382e1
mov eax, 3
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r9, [rbp - 8]
mov dword [rbp - 0x20], ecx
mov r8d, 0x20019
lea r12, [0x18007d758]
mov rdx, rdi
call fcn.18005cd24
test eax, eax
jne 0x180038290
mov rcx, qword [rbp - 8]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15, qword [rbp + 0x80]
test r15, r15
je 0x1800382f1
mov byte [r15], 0xfe
lea r9, [rbp - 0x10]
mov r8, r12
mov edx, 0x132
mov rcx, r14
call fcn.180043b58
mov ebx, eax
test eax, eax
jne 0x1800384e8
lea r9, [rbp - 0x18]
mov r8, r12
mov edx, 0x12f
mov rcx, r14
call fcn.180043b58
mov ebx, eax
test eax, eax
jne 0x1800384da
mov rcx, r14
call fcn.180050a34
mov ebx, eax
test eax, eax
jne 0x1800384cc
mov r12d, dword [rbp + 0x58]
lea r9d, [rax + 4]
mov rbx, qword [rbp - 0x10]
mov rdx, rdi
mov rcx, rbx
lea r8d, [r12 + r12]
call fcn.1800502c0
test eax, eax
jne 0x18003845d
mov rcx, rbx
cmp sil, 0xfe
je 0x1800383ca
mov eax, dword [rbp + 0x68]
mov r8, rdi
mov r12, qword [rbp + 0x70]
mov rdx, qword [rbp - 0x18]
mov qword [rsp + 0x48], r15
mov r15d, dword [rbp + 0x78]
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x20]
mov byte [rsp + 0x28], sil
mov dword [rsp + 0x20], eax
call fcn.1800351dc
test eax, eax
jne 0x1800384aa
mov r9d, dword [rbp + 0x68]
mov r8b, sil
mov dword [rsp + 0x28], r15d
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], r12
call fcn.1800350b8
jmp 0x1800384aa
lea rax, [rbp - 0x1c]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov dword [rsp + 0x38], 2
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rax
xor edx, edx
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
call fcn.18004ea9c
test eax, eax
je 0x180038409
cmp eax, 5
jne 0x1800384aa
mov eax, dword [rbp + 0x68]
mov r9d, r12d
mov rdx, qword [rbp - 0x18]
mov r8, rdi
mov qword [rsp + 0x50], r15
mov rcx, rbx
and dword [rsp + 0x48], 0
and dword [rsp + 0x40], 0
and qword [rsp + 0x38], 0
mov dword [rsp + 0x30], eax
mov al, byte [rbp + 0x40]
mov byte [rsp + 0x28], al
mov eax, dword [rbp - 0x20]
mov dword [rsp + 0x20], eax
call fcn.180033cc0
test eax, eax
jne 0x1800384aa
lea r9d, [rax + 1]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18004d934
jmp 0x1800384aa
cmp eax, 2
jne 0x1800384aa
cmp sil, 0xfe
je 0x1800384aa
mov eax, dword [rbp + 0x78]
mov r9d, r12d
mov rdx, qword [rbp - 0x18]
mov r8, rdi
mov qword [rsp + 0x50], r15
mov rcx, rbx
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x20]
mov byte [rsp + 0x28], sil
mov dword [rsp + 0x20], eax
call fcn.180033cc0
xor ebx, ebx
cmp eax, 2
cmovne ebx, eax
test ebx, ebx
jne 0x1800384c4
mov rcx, r14
call fcn.18004cd84
mov ebx, eax
test eax, eax
je 0x1800384cc
mov rcx, r14
call fcn.180050278
mov edx, 1
lea rcx, [rbp - 0x18]
call fcn.18004cd24
mov edx, 1
lea rcx, [rbp - 0x10]
call fcn.18004cd24
cmp r13d, 0x10
jne 0x180038504
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.180033608
mov eax, ebx
jmp 0x180038295