Function at 0x140047da4
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 [0x1401120c0]
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 0x140047dfb
mov rcx, qword [rdx]
mov r9, qword [rdx + 0x10]
add r9, rcx
cmp qword [rdx + 0x18], 0xf
jbe 0x140047e0c
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 0x140047e38
mov qword [rbp + 0x18], r13
mov eax, r15d
mov qword [rbp + 0x20], rax
mov word [rbp + 8], r13w
jmp 0x140047e48
sub r9, rdx
lea rcx, [rbp + 8]
call fcn.14001efa8
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 0x140047e6d
lea rcx, [rsp + 0x48]
call fcn.1400060ec
nop
cmp qword [rsi + 0x18], r15
jbe 0x140047e8b
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 0x140047e9f
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400060ec
nop
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140047ec4
mov rcx, qword [rbx]
mov r9, qword [rbx + 0x10]
add r9, rcx
cmp qword [rbx + 0x18], 0xf
jbe 0x140047ed5
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 0x140047efb
mov qword [rbp - 8], r13
mov rax, r15
mov qword [rbp], rax
mov word [rbp - 0x18], r13w
jmp 0x140047f0e
sub r9, rbx
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.14001efa8
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 0x140047f2c
lea rcx, [rbp - 0x38]
call fcn.1400060ec
nop
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140047f4d
mov rcx, qword [rdi]
mov r9, qword [rdi + 0x10]
add r9, rcx
cmp qword [rdi + 0x18], 0xf
jbe 0x140047f5e
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 0x140047f84
mov qword [rbp - 0x48], r13
mov rax, r15
mov qword [rbp - 0x40], rax
mov word [rbp - 0x58], r13w
jmp 0x140047f97
sub r9, rdi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14001efa8
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 0x140047fb5
lea rcx, [rbp - 0x78]
call fcn.1400060ec
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 0x140048435
mov r12d, 0xa
cmp rbx, r15
ja 0x14004801d
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], r15
movups xmm0, xmmword [rsi]
movdqu xmmword [r14], xmm0
jmp 0x14004809a
mov rax, rbx
or rax, r15
cmp rax, rdi
jbe 0x140048038
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140048065
cmp rax, r12
cmovb rax, r12
mov rdi, rax
lea rcx, [rax + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14004843b
add rcx, rcx
cmp rcx, 0x1000
jb 0x14004806c
call fcn.140020330
jmp 0x14004807b
test rcx, rcx
je 0x140048078
call fcn.140087a74
jmp 0x14004807b
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.1400ad600
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 0x1400481bd
mov edi, 0x400
mov r15d, 0x200
mov ecx, edi
call fcn.140088094
mov rbx, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1400adca0
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 0x14004819e
mov rdx, rbx
mov rcx, r14
call fcn.14001a6a0
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 0x140048173
mov r8, qword [r14]
cmp rdx, qword [rsp + 0x58]
jne 0x1400483c7
test rdx, rdx
je 0x14004819e
sub r8, rcx
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x1400483c7
add rcx, 2
sub rdx, 1
jne 0x140048186
mov rdx, rbx
mov rcx, r14
call fcn.14001a6a0
nop
test rbx, rbx
je 0x1400481b7
mov rcx, rbx
call fcn.140087a40
mov r15d, 7
mov rdx, qword [rbp - 0x60]
mov ebx, 0x1000
cmp rdx, r15
jbe 0x1400481fd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, rbx
jb 0x1400481f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048441
call fcn.140087a40
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov word [rbp - 0x78], r13w
mov rdx, qword [rbp - 0x40]
cmp rdx, r15
jbe 0x140048246
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, rbx
jb 0x140048240
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048447
call fcn.140087a40
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, r15
jbe 0x140048281
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, rbx
jb 0x14004827c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004844d
call fcn.140087a40
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r15
mov word [rbp - 0x38], r13w
mov rdx, qword [rbp]
cmp rdx, r15
jbe 0x1400482ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, rbx
jb 0x1400482c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048453
call fcn.140087a40
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, r15
jbe 0x140048306
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, rbx
jb 0x140048301
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048459
call fcn.140087a40
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r15
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, r15
jbe 0x140048352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, rbx
jb 0x14004834d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004845f
call fcn.140087a40
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r15
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp + 0x20]
cmp rdx, r15
jbe 0x14004839d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, rbx
jb 0x140048398
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004842f
call fcn.140087a40
mov rax, r14
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140087a20
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 0x14004819e
mov ecx, r15d
mov eax, 2
mul rcx
mov rdi, rax
mov rax, 0xffffffffffffffff
cmovo rdi, rax
mov rcx, rdi
call fcn.140088094
mov rsi, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400adca0
or r12d, 4
mov dword [rsp + 0x30], r12d
mov rcx, rbx
mov rbx, rsi
mov qword [rsp + 0x38], rbx
test rcx, rcx
je 0x1400480ec
call fcn.140087a40
jmp 0x1400480ec
call fcn.14008e954
nop
call fcn.140001854
int3
call fcn.1400017bc
nop
call fcn.14008e954
nop
call fcn.14008e954
nop
call fcn.14008e954
nop
call fcn.14008e954
nop
call fcn.14008e954
nop
call fcn.14008e954
int3