Function at 0x1400492f0
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 0x1400495b8
xor esi, esi
cmp si, word [rcx]
je 0x1400495b8
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400495b8
mov dl, 1
lea rcx, [rsp + 0x20]
call fcn.140047b50
nop
mov rbx, qword [rbx + 0x88]
call fcn.1400175d0
mov rcx, rax
test rax, rax
je 0x1400495d1
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005a798.0]
add rax, 0x18
mov qword [rbp + 0x6f], rax
lea rdi, [rsi - 1]
test rbx, rbx
je 0x14004939c
cmp rbx, 0x10000
jae 0x140049388
movzx edx, bx
lea rcx, [rbp + 0x6f]
call fcn.140044b90
jmp 0x1400493ae
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140049390
jmp 0x14004939e
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x6f]
call fcn.140044dd0
nop
lea rdx, [rbp + 0x6f]
lea rcx, [rsp + 0x20]
call fcn.140053720
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 0x1400493e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005a798.0]
test bl, bl
jne 0x140049539
mov dword [rbp + 0x67], esi
mov rbx, qword [str.LastLogIdx]
call fcn.1400175d0
mov rcx, rax
test rax, rax
je 0x1400495dc
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005a798.0]
add rax, 0x18
mov qword [rbp + 0x7f], rax
test rbx, rbx
je 0x14004944c
cmp rbx, 0x10000
jae 0x140049439
movzx edx, bx
lea rcx, [rbp + 0x7f]
call fcn.140044b90
jmp 0x14004945e
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140049440
jmp 0x14004944e
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.140044dd0
nop
mov rbx, qword [str.Config]
call fcn.1400175d0
mov rcx, rax
test rax, rax
je 0x1400495c6
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14005a798.0]
add rax, 0x18
mov qword [rbp + 0x77], rax
test rbx, rbx
je 0x1400494bc
cmp rbx, 0x10000
jae 0x1400494a7
movzx edx, bx
lea rcx, [rbp + 0x77]
call fcn.140044b90
jmp 0x1400494ce
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400494b0
jmp 0x1400494be
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x77]
call fcn.140044dd0
nop
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x77]
lea rcx, [rsp + 0x20]
call fcn.140051850
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 0x14004950e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005a798.0]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140049532
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005a798.0]
test bl, bl
jne 0x140049539
mov esi, dword [rbp + 0x67]
lea rax, vtable.CoreTech::CObfuscatedIniReader.0
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x21]
call fcn.140047de0
lea rcx, [rbp - 0x69]
call fcn.140047dd0
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 0x140049587
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14005a798.0]
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400495aa
mov rcx, qword [rdx]
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
call qword [case.0x14005a798.0]
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.14001f1c0
nop
mov ecx, 0x80004005
call fcn.14001f1c0
int3
mov ecx, 0x80004005
call fcn.14001f1c0
int3