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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov dword [rax + 0x10], edx
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rax - 0x4b8]
sub rsp, 0x590
mov rax, qword [0x1400c1010]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov rax, qword [0x1400c6040]
xor r15d, r15d
mov qword [rsp + 0x60], rcx
mov rdx, rsp
mov byte [rsp + 0x40], r15b
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov qword [0x1400c6040], rax
call sub.VCRUNTIME140.dll___intrinsic_setjmp
test eax, eax
jne 0x140060c6f
lea r12d, [r15 + 1]
mov rsi, qword [rsp + 0x60]
cmp dword [rbp + 0x4c8], r15d
jne 0x1400609e9
call fcn.14005eda4
test eax, eax
jne 0x140060986
lea r9d, [r15 + 0x30]
xor r8d, r8d
xor edx, edx
mov ecx, 0x90016
call fcn.14000e620
mov edi, r12d
mov dword [rsp + 0x44], r12d
jmp 0x14006098a
mov edi, dword [rsp + 0x44]
mov rax, qword [0x1400c7ae0]
mov rcx, qword [rax + 0x82ad]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x1400609b4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400609b4
test al, 0x10
je 0x1400609ed
mov r9d, SQLSetConnectOption
xor r8d, r8d
xor edx, edx
mov ecx, 0x9001a
call fcn.14000e620
mov rax, qword [0x1400c7ae0]
mov edi, r12d
mov dword [rsp + 0x44], r12d
or qword [rax + 0x82ad], 0xffffffffffffffff
mov byte [rax + 0xbd], r12b
jmp 0x1400609ed
mov edi, dword [rsp + 0x44]
test edi, edi
jne 0x140060c51
mov qword [rsp + 0x30], r15
mov r13d, 0xc0000000
mov edx, r13d
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov dword [rsp + 0x20], 2
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140060a5c
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], r15d
xor r8d, r8d
mov edx, r13d
mov dword [rsp + 0x20], 3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140060c51
mov rsi, qword [0x1400c7ae0]
mov rcx, qword [rsi]
call fcn.14006be94
mov r13d, 0x400
test rax, rax
je 0x140060ab3
mov rax, qword [rax + 0x20]
lea r8, [rbp + 0x80]
mov r9b, 0x55
mov rcx, qword [rax]
mov edx, dword [rcx]
add rcx, 4
cmp edx, r13d
cmovg edx, r13d
jmp 0x140060aaa
mov al, byte [rcx]
sub edx, r12d
xor al, r9b
add rcx, r12
mov byte [r8], al
mov r9b, al
add r8, r12
test edx, edx
jg 0x140060a96
mov byte [r8], r15b
jmp 0x140060aba
mov byte [rbp + 0x80], r15b
cmp dword [rsi + 0x82b9], r15d
jne 0x140060acf
mov ecx, r12d
call fcn.14006fa8c
test eax, eax
je 0x140060ae4
mov r8d, 0x1500a7
lea rcx, [rbp + 0x80]
mov edx, r13d
call fcn.14006cc1c
mov rax, qword [0x1400c7ae0]
mov rcx, qword [rax + 0x82e9]
test rcx, rcx
je 0x140060afe
mov qword [rsp + 0x50], rcx
jmp 0x140060b22
call fcn.14002add0
xor r9d, r9d
mov dword [rsp + 0x28], r12d
xor r8d, r8d
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x50]
call fcn.14006e3d4
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140060b32
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rsi, rax
jmp 0x140060b37
lea rsi, [rsp + 0x40]
mov al, byte [rsi]
mov rcx, rsi
jmp 0x140060b4e
cmp al, 0xd
je 0x140060b46
cmp al, 0xa
jne 0x140060b49
mov byte [rcx], 0x20
add rcx, r12
mov al, byte [rcx]
test al, al
jne 0x140060b3e
mov ecx, 0x1500e7
call fcn.14006fb54
mov rdx, rax
mov rcx, rbx
call fcn.140027144
test eax, eax
je 0x140060c1d
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, [rbp + 0x70]
mov ecx, r12d
call fcn.140072150
mov rdx, rax
mov rcx, rbx
call fcn.140027144
test eax, eax
je 0x140060c1d
lea rdx, [rbp + 0x80]
mov rcx, rbx
call fcn.140027144
test eax, eax
je 0x140060c1d
mov rdx, rsi
mov rcx, rbx
call fcn.140027144
test eax, eax
je 0x140060c1d
mov rcx, rbx
call fcn.1400605d8
test eax, eax
je 0x140060c1d
mov rcx, rbx
call fcn.140060790
test eax, eax
je 0x140060c1d
mov rax, qword [0x1400c7ae0]
cmp dword [rbp + 0x4c8], r15d
je 0x140060bf8
mov rcx, qword [rax + 0x82ad]
cmp rcx, 0xffffffffffffffff
je 0x140060bf8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x1400c7ae0]
mov qword [rax + 0x82ad], rbx
mov dword [rax + 0x82b5], r12d
test byte [rax + 0x8319], r12b
jne 0x140060c16
mov dword [rax + 0x82f5], r12d
mov dword [rsp + 0x48], r12d
jmp 0x140060c26
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140060c51
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rax, qword [0x1400c7ae0]
mov rcx, qword [rsp + 0x50]
cmp rcx, qword [rax + 0x82e9]
je 0x140060c51
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [rsp + 0x48], r15d
jne 0x140060c6f
test edi, edi
jne 0x140060c6f
lea r9d, [rdi + 0x30]
xor r8d, r8d
xor edx, edx
mov ecx, 0x90018
call fcn.14000e620
mov rax, qword [rsp + 0x58]
mov qword [0x1400c6040], rax
mov eax, dword [rsp + 0x48]
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.1400af450
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret