Function at 0x140047d7c
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 0x140047dd3
mov rcx, qword [rdx]
mov r9, qword [rdx + 0x10]
add r9, rcx
cmp qword [rdx + 0x18], 0xf
jbe 0x140047de4
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 0x140047e10
mov qword [rbp + 0x18], r13
mov eax, r15d
mov qword [rbp + 0x20], rax
mov word [rbp + 8], r13w
jmp 0x140047e20
sub r9, rdx
lea rcx, [rbp + 8]
call fcn.14001eec4
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 0x140047e45
lea rcx, [rsp + 0x48]
call fcn.1400063c4
nop
cmp qword [rsi + 0x18], r15
jbe 0x140047e63
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 0x140047e77
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.1400063c4
nop
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140047e9c
mov rcx, qword [rbx]
mov r9, qword [rbx + 0x10]
add r9, rcx
cmp qword [rbx + 0x18], 0xf
jbe 0x140047ead
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 0x140047ed3
mov qword [rbp - 8], r13
mov rax, r15
mov qword [rbp], rax
mov word [rbp - 0x18], r13w
jmp 0x140047ee6
sub r9, rbx
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.14001eec4
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 0x140047f04
lea rcx, [rbp - 0x38]
call fcn.1400063c4
nop
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140047f25
mov rcx, qword [rdi]
mov r9, qword [rdi + 0x10]
add r9, rcx
cmp qword [rdi + 0x18], 0xf
jbe 0x140047f36
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 0x140047f5c
mov qword [rbp - 0x48], r13
mov rax, r15
mov qword [rbp - 0x40], rax
mov word [rbp - 0x58], r13w
jmp 0x140047f6f
sub r9, rdi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14001eec4
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 0x140047f8d
lea rcx, [rbp - 0x78]
call fcn.1400063c4
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 0x14004840d
mov r12d, 0xa
cmp rbx, r15
ja 0x140047ff5
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], r15
movups xmm0, xmmword [rsi]
movdqu xmmword [r14], xmm0
jmp 0x140048072
mov rax, rbx
or rax, r15
cmp rax, rdi
jbe 0x140048010
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x14004803d
cmp rax, r12
cmovb rax, r12
mov rdi, rax
lea rcx, [rax + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140048413
add rcx, rcx
cmp rcx, 0x1000
jb 0x140048044
call fcn.14002024c
jmp 0x140048053
test rcx, rcx
je 0x140048050
call fcn.140088a14
jmp 0x140048053
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.1400ae5a0
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 0x140048195
mov edi, 0x400
mov r15d, 0x200
mov ecx, edi
call fcn.140089034
mov rbx, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1400aec40
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 0x140048176
mov rdx, rbx
mov rcx, r14
call fcn.14001a630
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 0x14004814b
mov r8, qword [r14]
cmp rdx, qword [rsp + 0x58]
jne 0x14004839f
test rdx, rdx
je 0x140048176
sub r8, rcx
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x14004839f
add rcx, 2
sub rdx, 1
jne 0x14004815e
mov rdx, rbx
mov rcx, r14
call fcn.14001a630
nop
test rbx, rbx
je 0x14004818f
mov rcx, rbx
call fcn.1400889e0
mov r15d, 7
mov rdx, qword [rbp - 0x60]
mov ebx, 0x1000
cmp rdx, r15
jbe 0x1400481d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, rbx
jb 0x1400481d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048419
call fcn.1400889e0
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov word [rbp - 0x78], r13w
mov rdx, qword [rbp - 0x40]
cmp rdx, r15
jbe 0x14004821e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, rbx
jb 0x140048218
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004841f
call fcn.1400889e0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, r15
jbe 0x140048259
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, rbx
jb 0x140048254
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048425
call fcn.1400889e0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r15
mov word [rbp - 0x38], r13w
mov rdx, qword [rbp]
cmp rdx, r15
jbe 0x1400482a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, rbx
jb 0x14004829c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004842b
call fcn.1400889e0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, r15
jbe 0x1400482de
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, rbx
jb 0x1400482d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048431
call fcn.1400889e0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r15
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, r15
jbe 0x14004832a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, rbx
jb 0x140048325
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048437
call fcn.1400889e0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r15
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp + 0x20]
cmp rdx, r15
jbe 0x140048375
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, rbx
jb 0x140048370
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048407
call fcn.1400889e0
mov rax, r14
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400889c0
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 0x140048176
mov ecx, r15d
mov eax, 2
mul rcx
mov rdi, rax
mov rax, 0xffffffffffffffff
cmovo rdi, rax
mov rcx, rdi
call fcn.140089034
mov rsi, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400aec40
or r12d, 4
mov dword [rsp + 0x30], r12d
mov rcx, rbx
mov rbx, rsi
mov qword [rsp + 0x38], rbx
test rcx, rcx
je 0x1400480c4
call fcn.1400889e0
jmp 0x1400480c4
call fcn.14008f8f4
nop
call fcn.140001ab4
int3
call fcn.140001a1c
nop
call fcn.14008f8f4
nop
call fcn.14008f8f4
nop
call fcn.14008f8f4
nop
call fcn.14008f8f4
nop
call fcn.14008f8f4
nop
call fcn.14008f8f4
int3