Function at 0x140044344
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x40], rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov rdx, qword [rbp + 0x90]
mov rcx, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x14004439b
mov rcx, qword [rdx]
mov r9, qword [rdx + 0x10]
add r9, rcx
cmp qword [rdx + 0x18], 0xf
jbe 0x1400443ac
mov rdx, qword [rdx]
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], r13
mov r15d, 7
cmp rdx, r9
jne 0x1400443d8
mov qword [rbp + 0x18], r13
mov eax, r15d
mov qword [rbp + 0x20], rax
mov word [rbp + 8], r13w
jmp 0x1400443e8
sub r9, rdx
lea rcx, [rbp + 8]
call fcn.14001b334
mov rax, qword [rbp + 0x20]
lea rdx, [rbp + 8]
cmp rax, r15
cmova rdx, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
or r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp word [rdx + r8*2], r13w
jne 0x14004440d
lea rcx, [rsp + 0x48]
call fcn.140003d9c
nop
cmp qword [rsi + 0x18], r15
jbe 0x14004442b
mov rsi, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
mov r8, r12
inc r8
cmp word [rsi + r8*2], r13w
jne 0x14004443f
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.140003d9c
nop
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140044464
mov rcx, qword [rbx]
mov r9, qword [rbx + 0x10]
add r9, rcx
cmp qword [rbx + 0x18], 0xf
jbe 0x140044475
mov rbx, qword [rbx]
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r13
mov qword [rbp], r13
cmp rbx, r9
jne 0x14004449b
mov qword [rbp - 8], r13
mov rax, r15
mov qword [rbp], rax
mov word [rbp - 0x18], r13w
jmp 0x1400444ae
sub r9, rbx
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.14001b334
mov rax, qword [rbp]
lea rdx, [rbp - 0x18]
cmp rax, r15
cmova rdx, qword [rbp - 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
mov r8, r12
inc r8
cmp word [rdx + r8*2], r13w
jne 0x1400444cc
lea rcx, [rbp - 0x38]
call fcn.140003d9c
nop
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400444ed
mov rcx, qword [rdi]
mov r9, qword [rdi + 0x10]
add r9, rcx
cmp qword [rdi + 0x18], 0xf
jbe 0x1400444fe
mov rdi, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
cmp rdi, r9
jne 0x140044524
mov qword [rbp - 0x48], r13
mov rax, r15
mov qword [rbp - 0x40], rax
mov word [rbp - 0x58], r13w
jmp 0x140044537
sub r9, rdi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14001b334
mov rax, qword [rbp - 0x40]
lea rdx, [rbp - 0x58]
cmp rax, r15
cmova rdx, qword [rbp - 0x58]
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r13
mov r8, r12
inc r8
cmp word [rdx + r8*2], r13w
jne 0x140044555
lea rcx, [rbp - 0x78]
call fcn.140003d9c
nop
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], r13
mov rbx, qword [rsp + 0x58]
lea rsi, [rsp + 0x48]
cmp qword [rsp + 0x60], r15
cmova rsi, qword [rsp + 0x48]
movabs rdi, 0x7ffffffffffffffe
cmp rbx, rdi
ja 0x1400449d5
mov r12d, 0xa
cmp rbx, r15
ja 0x1400445bd
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], r15
movups xmm0, xmmword [rsi]
movdqu xmmword [r14], xmm0
jmp 0x14004463a
mov rax, rbx
or rax, r15
cmp rax, rdi
jbe 0x1400445d8
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140044605
cmp rax, r12
cmovb rax, r12
mov rdi, rax
lea rcx, [rax + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400449db
add rcx, rcx
cmp rcx, 0x1000
jb 0x14004460c
call fcn.14001c0cc
jmp 0x14004461b
test rcx, rcx
je 0x140044618
call fcn.140082b94
jmp 0x14004461b
mov rax, r13
mov qword [r14], rax
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], rdi
lea r8, [rbx*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1400ab940
nop
mov dword [rsp + 0x30], 2
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], r15
cmova rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004475d
mov edi, 0x400
mov r15d, 0x200
mov ecx, edi
call fcn.1400831b4
mov rbx, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1400abfe0
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r12d
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rax, qword [rsp + 0x68]
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova r8, qword [rsp + 0x48]
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 7
cmova rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 7
cmova rcx, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, eax
lea eax, [r15 - 1]
cmp ecx, eax
jb 0x14004473e
mov rdx, rbx
mov rcx, r14
call fcn.140017c48
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova rcx, qword [rsp + 0x48]
mov rdx, qword [r14 + 0x10]
mov r8, r14
cmp qword [r14 + 0x18], 7
jbe 0x140044713
mov r8, qword [r14]
cmp rdx, qword [rsp + 0x58]
jne 0x140044967
test rdx, rdx
je 0x14004473e
sub r8, rcx
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x140044967
add rcx, 2
sub rdx, 1
jne 0x140044726
mov rdx, rbx
mov rcx, r14
call fcn.140017c48
nop
test rbx, rbx
je 0x140044757
mov rcx, rbx
call fcn.140082b60
mov r15d, 7
mov rdx, qword [rbp - 0x60]
mov ebx, 0x1000
cmp rdx, r15
jbe 0x14004479d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, rbx
jb 0x140044798
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449e1
call fcn.140082b60
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov word [rbp - 0x78], r13w
mov rdx, qword [rbp - 0x40]
cmp rdx, r15
jbe 0x1400447e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, rbx
jb 0x1400447e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449e7
call fcn.140082b60
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, r15
jbe 0x140044821
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, rbx
jb 0x14004481c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449ed
call fcn.140082b60
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r15
mov word [rbp - 0x38], r13w
mov rdx, qword [rbp]
cmp rdx, r15
jbe 0x14004486a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, rbx
jb 0x140044864
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449f3
call fcn.140082b60
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, r15
jbe 0x1400448a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, rbx
jb 0x1400448a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449f9
call fcn.140082b60
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r15
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, r15
jbe 0x1400448f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, rbx
jb 0x1400448ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449ff
call fcn.140082b60
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r15
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp + 0x20]
cmp rdx, r15
jbe 0x14004493d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, rbx
jb 0x140044938
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400449cf
call fcn.140082b60
mov rax, r14
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140082b40
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
add r15d, r15d
cmp r15d, 0x6400000
ja 0x14004473e
mov ecx, r15d
mov eax, 2
mul rcx
mov rdi, rax
mov rax, 0xffffffffffffffff
cmovo rdi, rax
mov rcx, rdi
call fcn.1400831b4
mov rsi, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400abfe0
or r12d, 4
mov dword [rsp + 0x30], r12d
mov rcx, rbx
mov rbx, rsi
mov qword [rsp + 0x38], rbx
test rcx, rcx
je 0x14004468c
call fcn.140082b60
jmp 0x14004468c
call fcn.140089c50
nop
call fcn.1400017e4
int3
call fcn.14000174c
nop
call fcn.140089c50
nop
call fcn.140089c50
nop
call fcn.140089c50
nop
call fcn.140089c50
nop
call fcn.140089c50
nop
call fcn.140089c50
int3