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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rbx, rcx
mov rcx, qword [rcx + 0x88]
xor r14d, r14d
test rcx, rcx
je 0x1400b85d9
cmp r14w, word [rcx]
je 0x1400b85d9
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400b8602
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x1400b8997
cmp r14w, word [rcx]
je 0x1400b8997
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400b8997
cmp qword [rbx + 0x80], r14
je 0x1400b89a7
cmp qword [rbx + 0x88], r14
je 0x1400b89a7
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.1400b5c40
nop
mov rsi, qword [rbx + 0x88]
call fcn.14003a680
mov rcx, rax
test rax, rax
je 0x1400b89c5
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400c6d28.0]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdi, 0xffffffffffffffff
test rsi, rsi
je 0x1400b868c
cmp rsi, 0x10000
jae 0x1400b867a
movzx edx, si
lea rcx, [rsp + 0x30]
call fcn.1400b26e0
jmp 0x1400b86a0
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400b8680
jmp 0x1400b868f
mov eax, r14d
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1400b29d0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.1400c40a0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400b86d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
mov dl, 1
lea rcx, [rsp + 0x50]
call fcn.1400b5c40
nop
mov rsi, qword [rbx + 0x80]
call fcn.14003a680
mov rcx, rax
test rax, rax
je 0x1400b89ba
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400c6d28.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
test rsi, rsi
je 0x1400b873c
cmp rsi, 0x10000
jae 0x1400b872c
movzx edx, si
lea rcx, [rsp + 0x38]
call fcn.1400b26e0
jmp 0x1400b8750
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400b8730
jmp 0x1400b873f
mov eax, r14d
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.1400b29d0
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.1400c40a0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400b8785
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
lea rax, [rbp + 0x100]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9, qword [str.Enable]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b6e90
test al, al
je 0x1400b87c7
cmp dword [rbp + 0x100], 0
setne r14b
mov dword [rbx + 0x90], r14d
lea rax, [rbp + 0x108]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40000
mov r9, qword [str.MaxSize]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b6e90
test al, al
je 0x1400b880d
mov rax, qword [rbx]
mov edx, dword [rbp + 0x108]
mov rcx, rbx
mov rax, qword [rax + 0x68]
call qword [case.0x1400c6d28.0]
lea rax, [rbp + 0x110]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
mov r9, qword [str.MaxEntries]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b6e90
test al, al
je 0x1400b8853
mov rax, qword [rbx]
mov edx, dword [rbp + 0x110]
mov rcx, rbx
mov rax, qword [rax + 0x58]
call qword [case.0x1400c6d28.0]
lea rax, [rbp + 0x118]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
mov r9, qword [str.Severity]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b6e90
test al, al
je 0x1400b888c
mov eax, dword [rbp + 0x118]
mov dword [rbx + 0x78], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x10
mov r9, qword [str.Options]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b6e90
test al, al
je 0x1400b88c1
mov eax, dword [rsp + 0x40]
mov dword [rbx + 0x7c], eax
lea rbx, vtable.CoreTech::CObfuscatedIniReader.0
mov qword [rsp + 0x50], rbx
lea rcx, [rbp - 0x48]
call fcn.1400b5ed0
lea rcx, [rsp + 0x70]
call fcn.1400b5ec0
lea rsi, vtable.CoreTech::CBaseIniReader.0
mov qword [rsp + 0x50], rsi
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400b8911
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400b8937
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
nop
mov qword [rbp + 0x10], rbx
lea rcx, [rbp + 0x78]
call fcn.1400b5ed0
lea rcx, [rbp + 0x30]
call fcn.1400b5ec0
mov qword [rbp + 0x10], rsi
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400b8975
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400b8997
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
xor eax, eax
add rsp, 0x1d0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, 0x57
add rsp, 0x1d0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140043070
nop
mov ecx, 0x80004005
call fcn.140043070
int3