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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x3b0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x3e0], rbx
mov rax, qword [0x140229498]
xor rax, rsp
mov qword [rsp + 0x3a0], rax
mov rsi, rdx
mov rdi, rcx
mov eax, dword [0x14023eb80]
test al, 1
jne 0x140184ea7
or eax, 1
mov dword [0x14023eb80], eax
xor r9d, r9d
lea r8, str.GetFileAttributesExA
lea rdx, str.kernel32
lea rcx, [0x14023eb70]
call fcn.140086de0
lea rcx, [0x14018d600]
call fcn.14011f460
nop
mov eax, dword [0x14023eb80]
test al, 2
jne 0x140184ede
or eax, 2
mov dword [0x14023eb80], eax
xor r9d, r9d
lea r8, str.GetFileAttributesExW
lea rdx, str.kernel32
lea rcx, [0x14023eb60]
call fcn.140086de0
lea rcx, [0x14018d5f0]
call fcn.14011f460
nop
xor ebp, ebp
cmp qword [0x14023eb60], rbp
je 0x140184f98
mov dword [rsp + 0x20], ebp
or r9d, 0xffffffff
mov r8d, 0xfde9
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14007bc10
nop
mov r8, rdi
xor edx, edx
mov rcx, qword [rsp + 0x40]
call qword [0x14023eb60]
mov ebx, eax
mov rcx, qword [rsp + 0x40]
call fcn.14011e950
test ebx, ebx
jne 0x1401851a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x78
je 0x140184f98
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov byte [rsp + 0x58], bpl
or r9d, 0xffffffff
lea r8, str.GetFileAttributesExW
mov edx, 0x100
lea rcx, [rsp + 0x58]
call fcn.14007b3b0
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.14007f910
lea rcx, [rsp + 0x15c]
lea rdx, [rsp + 0x58]
mov r8d, 0x104
call fcn.14011e9b0
lea rdx, [0x14020b6e8]
lea rcx, [rsp + 0x15c]
call fcn.14011f050
int3
mov dword [rsp + 0x20], ebp
or r9d, 0xffffffff
mov r8d, 0xfde9
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14007bc10
nop
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], ebp
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.14007ba40
nop
mov rcx, qword [rsp + 0x40]
call fcn.14011e950
nop
mov rax, qword [0x14023eb70]
test rax, rax
je 0x140185064
mov r8, rdi
xor edx, edx
mov rcx, qword [rsp + 0x48]
call rax
test eax, eax
jne 0x140185199
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov byte [rsp + 0x58], 0
or r9d, 0xffffffff
lea r8, str.GetFileAttributesExA
mov edx, 0x100
lea rcx, [rsp + 0x58]
call fcn.14007b3b0
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.14007f910
lea rcx, [rsp + 0x15c]
lea rdx, [rsp + 0x58]
mov r8d, 0x104
call fcn.14011e9b0
lea rdx, [0x14020b6e8]
lea rcx, [rsp + 0x15c]
call fcn.14011f050
int3
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1401850d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov byte [rsp + 0x58], 0
or r9d, 0xffffffff
lea r8, str.GetFileAttributes
mov edx, 0x100
lea rcx, [rsp + 0x58]
call fcn.14007b3b0
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.14007f910
lea rcx, [rsp + 0x15c]
lea rdx, [rsp + 0x58]
mov r8d, 0x104
call fcn.14011e9b0
lea rdx, [0x14020b6e8]
lea rcx, [rsp + 0x15c]
call fcn.14011f050
int3
lea rdx, [rsp + 0x260]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
jne 0x14018514d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov byte [rsp + 0x58], 0
or r9d, 0xffffffff
lea r8, str.GetFileAttributes_FindFirstFile_
mov edx, 0x100
lea rcx, [rsp + 0x58]
call fcn.14007b3b0
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.14007f910
lea rcx, [rsp + 0x15c]
lea rdx, [rsp + 0x58]
mov r8d, 0x104
call fcn.14011e9b0
lea rdx, [0x14020b6e8]
lea rcx, [rsp + 0x15c]
call fcn.14011f050
int3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov r11d, dword [rsp + 0x260]
mov dword [rdi], r11d
mov rax, qword [rsp + 0x264]
mov qword [rdi + 4], rax
mov rcx, qword [rsp + 0x26c]
mov qword [rdi + 0xc], rcx
mov rcx, qword [rsp + 0x274]
mov qword [rdi + 0x14], rcx
mov ecx, dword [rsp + 0x27c]
mov dword [rdi + 0x1c], ecx
mov ecx, dword [rsp + 0x280]
mov dword [rdi + 0x20], ecx
mov rcx, qword [rsp + 0x48]
call fcn.14011e950
mov rax, rdi
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
call fcn.14011f1c0
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x3b0
pop rdi
pop rsi
pop rbp
ret