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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xf8
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rdi, rcx
mov rcx, qword [rcx + 0x80]
test rcx, rcx
je 0x1400082f0
xor esi, esi
cmp si, word [rcx]
je 0x1400082f0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400082f0
lea rcx, [rsp + 0x30]
call fcn.140006690
nop
mov rdi, qword [rdi + 0x80]
call fcn.140002650
mov rcx, rax
test rax, rax
jne 0x1400080a1
mov ecx, 0x80004005
call fcn.1400023c0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x6f], rax
or rbx, 0xffffffffffffffff
test rdi, rdi
je 0x1400080f2
test rdi, 0xffffffffffff0000
jne 0x1400080e3
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.140006070
test rax, rax
je 0x140008104
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x6f]
call fcn.1400061c0
jmp 0x140008104
mov rax, rbx
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400080e6
jmp 0x1400080f4
mov eax, esi
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp + 0x6f]
call fcn.140006460
nop
lea rdx, [rbp + 0x6f]
lea rcx, [rsp + 0x30]
call fcn.1400498d0
test al, al
sete dil
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140008135
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
jne 0x140008288
mov dword [rbp + 0x67], esi
call fcn.140002650
mov rcx, rax
test rax, rax
jne 0x140008159
mov ecx, 0x80004005
call fcn.1400023c0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rdx, str.LastLogIdx
test rdx, 0xffffffffffff0000
jne 0x140008199
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140006070
test rax, rax
je 0x1400081b7
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.1400061c0
jmp 0x1400081b7
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400081a0
mov r8d, eax
lea rcx, [rbp + 0x7f]
call fcn.140006460
nop
call fcn.140002650
mov rcx, rax
test rax, rax
jne 0x1400081cf
mov ecx, 0x80004005
call fcn.1400023c0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
lea rdx, str.Config
test rdx, 0xffffffffffff0000
jne 0x14000820f
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140006070
test rax, rax
je 0x140008229
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x77]
call fcn.1400061c0
jmp 0x140008229
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x140008212
mov r8d, eax
lea rcx, [rbp + 0x77]
call fcn.140006460
nop
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x77]
lea rcx, [rsp + 0x30]
call fcn.14004b5c0
test al, al
sete dil
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140008263
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140008280
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
jne 0x140008288
mov esi, dword [rbp + 0x67]
lea rax, vtable.CoreTech::CObfuscatedIniReader.0
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x21]
call fcn.140008fc0
lea rcx, [rbp - 0x69]
call fcn.140008fa0
lea rax, vtable.CoreTech::CBaseIniReader.0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x79]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400082cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x1400082ec
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, esi
jmp 0x1400082f2
xor eax, eax
add rsp, 0xf8
pop rdi
pop rsi
pop rbx
pop rbp
ret