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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
mov rbx, rcx
mov rcx, qword [rcx + 0x88]
test rcx, rcx
je 0x1400e0592
xor esi, esi
cmp si, word [rcx]
je 0x1400e0592
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400e0592
mov dl, 1
lea rcx, [rsp + 0x20]
call fcn.1400ded00
nop
mov rbx, qword [rbx + 0x88]
call fcn.140027b30
mov rcx, rax
test rax, rax
je 0x1400e05ab
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x6f], rax
lea rdi, [rsi - 1]
test rbx, rbx
je 0x1400e03b0
cmp rbx, 0x10000
jae 0x1400e03a1
movzx edx, bx
lea rcx, [rbp + 0x6f]
call fcn.140027370
jmp 0x1400e03c2
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400e03a4
jmp 0x1400e03b2
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x6f]
call fcn.1400283a0
nop
lea rdx, [rbp + 0x6f]
lea rcx, [rsp + 0x20]
call fcn.1400ef0f0
test al, al
sete bl
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400e03f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x1400e0520
mov dword [rbp + 0x67], esi
mov rbx, qword [str.LastLogIdx]
call fcn.140027b30
mov rcx, rax
test rax, rax
je 0x1400e05b6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
test rbx, rbx
je 0x1400e044e
cmp rbx, 0x10000
jae 0x1400e043f
movzx edx, bx
lea rcx, [rbp + 0x7f]
call fcn.140027370
jmp 0x1400e0460
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400e0442
jmp 0x1400e0450
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.1400283a0
nop
mov rbx, qword [str.Config]
call fcn.140027b30
mov rcx, rax
test rax, rax
je 0x1400e05a0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
test rbx, rbx
je 0x1400e04b1
cmp rbx, 0x10000
jae 0x1400e04a2
movzx edx, bx
lea rcx, [rbp + 0x77]
call fcn.140027370
jmp 0x1400e04c3
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400e04a5
jmp 0x1400e04b3
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x77]
call fcn.1400283a0
nop
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x77]
lea rcx, [rsp + 0x20]
call fcn.1400ed8c0
test al, al
sete bl
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400e04fc
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, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400e0519
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x1400e0520
mov esi, dword [rbp + 0x67]
lea rax, vtable.CoreTech::CObfuscatedIniReader.0
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x21]
call fcn.1400def80
lea rcx, [rbp - 0x69]
call fcn.1400def70
lea rax, vtable.CoreTech::CBaseIniReader.0
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp - 0x79]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400e0567
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400e0584
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, esi
add rsp, 0xe8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
add rsp, 0xe8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140028370
nop
mov ecx, 0x80004005
call fcn.140028370
int3
mov ecx, 0x80004005
call fcn.140028370
int3