Function at 0x140077f20
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 0x1400781a2
xor esi, esi
cmp si, word [rcx]
je 0x1400781a2
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400781a2
mov dl, 1
lea rcx, [rsp + 0x20]
call fcn.1400768e0
nop
mov rbx, qword [rbx + 0x88]
call fcn.14003b7e0
mov rcx, rax
test rax, rax
je 0x1400781bb
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp + 0x6f], rax
lea rdi, [rsi - 1]
test rbx, rbx
je 0x140077fc0
cmp rbx, 0x10000
jae 0x140077fb1
movzx edx, bx
lea rcx, [rbp + 0x6f]
call fcn.140039b68
jmp 0x140077fd2
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140077fb4
jmp 0x140077fc2
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x6f]
call fcn.14003b514
nop
lea rdx, [rbp + 0x6f]
lea rcx, [rsp + 0x20]
call fcn.1400cc6d0
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 0x140078002
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x140078130
mov dword [rbp + 0x67], esi
mov rbx, qword [str.LastLogIdx]
call fcn.14003b7e0
mov rcx, rax
test rax, rax
je 0x1400781c6
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp + 0x7f], rax
test rbx, rbx
je 0x14007805e
cmp rbx, 0x10000
jae 0x14007804f
movzx edx, bx
lea rcx, [rbp + 0x7f]
call fcn.140039b68
jmp 0x140078070
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140078052
jmp 0x140078060
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.14003b514
nop
mov rbx, qword [str.Config]
call fcn.14003b7e0
mov rcx, rax
test rax, rax
je 0x1400781b0
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp + 0x77], rax
test rbx, rbx
je 0x1400780c1
cmp rbx, 0x10000
jae 0x1400780b2
movzx edx, bx
lea rcx, [rbp + 0x77]
call fcn.140039b68
jmp 0x1400780d3
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400780b5
jmp 0x1400780c3
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x77]
call fcn.14003b514
nop
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x77]
lea rcx, [rsp + 0x20]
call fcn.1400cb130
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 0x14007810c
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 0x140078129
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x140078130
mov esi, dword [rbp + 0x67]
lea rax, vtable.CoreTech::CObfuscatedIniReader.0
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x21]
call fcn.140076b60
lea rcx, [rbp - 0x69]
call fcn.140076b50
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 0x140078177
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 0x140078194
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.1400268b0
nop
mov ecx, 0x80004005
call fcn.1400268b0
int3
mov ecx, 0x80004005
call fcn.1400268b0
int3