Function at 0x1400282e0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x240
mov qword [rsp + 0x100], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov r14, rcx
cmp qword [rcx + 0x60], 8
jb 0x14002832d
mov rcx, qword [rcx + 0x48]
jmp 0x140028331
add rcx, 0x48
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140028f65
cmp qword [r14 + 0x60], 8
jb 0x14002834c
mov rcx, qword [r14 + 0x48]
jmp 0x140028350
lea rcx, [r14 + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x140028f65
xor r15d, r15d
mov ebx, r15d
mov qword [rsp + 0x20], r15
lea rdx, [r14 + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140037320
test eax, eax
jne 0x1400283d6
nop dword [rax + rax]
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x14002839b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, r15
mov qword [rsp + 0x20], r15
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 5
jge 0x1400283c1
lea rdx, [r14 + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140037320
test eax, eax
je 0x140028380
jmp 0x1400283d6
test rdi, rdi
je 0x1400283cf
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x140028f67
mov ecx, 0xfffe
call fcn.140097a1c
mov r13, rax
xor edx, edx
mov r8d, 0xfffe
mov rcx, rax
call fcn.1400ad2f0
cmp qword [r14 + 0x60], 8
jb 0x140028400
mov r8, qword [r14 + 0x48]
jmp 0x140028404
lea r8, [r14 + 0x48]
mov edx, 0x104
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov r12, r13
cmp word [r13], 0
je 0x1400289ef
mov ecx, 8
call fcn.1400aee14
test rax, rax
je 0x14002843a
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14002843d
mov rax, r15
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.14002e580
mov qword [rsp + 0x80], rax
mov byte [rax + 0x69], 1
mov rax, qword [rsp + 0x80]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x80]
mov qword [rax], rax
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x88], r15
mov ecx, 0x2000
call fcn.140097a1c
mov rbp, rax
xor edx, edx
mov r8d, 0x2000
mov rcx, rax
call fcn.1400ad2f0
cmp qword [r14 + 0x60], 8
jb 0x1400284ad
mov r9, qword [r14 + 0x48]
jmp 0x1400284b1
lea r9, [r14 + 0x48]
mov r8d, 0x1000
mov rdx, rbp
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov rbx, rbp
cmp word [rbp], 0
je 0x1400287a3
mov qword [rsp + 0x1d8], 7
mov qword [rsp + 0x1d0], r15
mov word [rsp + 0x1c0], r15w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x1b8]
call fcn.140025a70
nop
mov r9d, 1
xor r8d, r8d
lea rdx, [0x1400fc648]
lea rcx, [rsp + 0x1b8]
call fcn.14002b050
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400286ff
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x1b8]
call fcn.140029e30
nop
lea r8, [rdi + 1]
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x1b8]
call fcn.140029e30
nop
cmp qword [rsp + 0x180], 0x20
je 0x140028610
cmp qword [rsp + 0x188], 8
jb 0x14002859d
mov rcx, qword [rsp + 0x170]
call fcn.1400ad0b8
mov qword [rsp + 0x188], 7
mov qword [rsp + 0x180], r15
mov word [rsp + 0x170], r15w
cmp qword [rsp + 0x1b0], 8
jb 0x1400285d2
mov rcx, qword [rsp + 0x198]
call fcn.1400ad0b8
mov qword [rsp + 0x1b0], 7
mov qword [rsp + 0x1a8], r15
mov word [rsp + 0x198], r15w
cmp qword [rsp + 0x1d8], 8
jb 0x140028717
mov rcx, qword [rsp + 0x1c0]
call fcn.1400ad0b8
jmp 0x140028717
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x120]
call fcn.140034030
mov rdi, rax
xor r8d, r8d
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x1e0]
call fcn.140034030
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14002a540
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.140003ab0
nop
cmp qword [rsp + 0x200], 0x10
jb 0x14002867c
mov rcx, qword [rsp + 0x1e8]
call fcn.1400ad0b8
mov qword [rsp + 0x200], 0xf
mov qword [rsp + 0x1f8], r15
mov byte [rsp + 0x1e8], 0
cmp qword [rsp + 0x140], 0x10
jb 0x1400286b1
mov rcx, qword [rsp + 0x128]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0x188], 8
jb 0x1400286c9
mov rcx, qword [rsp + 0x170]
call fcn.1400ad0b8
mov qword [rsp + 0x188], 7
mov qword [rsp + 0x180], r15
mov word [rsp + 0x170], r15w
cmp qword [rsp + 0x1b0], 8
jb 0x1400286ff
mov rcx, qword [rsp + 0x198]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0x1d8], 8
jb 0x140028717
mov rcx, qword [rsp + 0x1c0]
call fcn.1400ad0b8
mov qword [rsp + 0x188], 7
mov qword [rsp + 0x180], r15
mov word [rsp + 0x170], r15w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x168]
call fcn.140025a70
mov rdx, qword [rsp + 0x180]
lea rbx, [rbx + rdx*2 + 2]
cmp qword [rsp + 0x188], 8
jb 0x14002877c
mov rcx, qword [rsp + 0x170]
call fcn.1400ad0b8
mov qword [rsp + 0x188], 7
mov qword [rsp + 0x180], r15
mov word [rsp + 0x170], r15w
cmp word [rbx], 0
jne 0x1400284d1
mov qword [rsp + 0x1b0], 7
mov qword [rsp + 0x1a8], r15
mov word [rsp + 0x198], r15w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r12
lea rcx, [rsp + 0x190]
call fcn.140025a70
nop
xor r8d, r8d
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x1e0]
call fcn.140034030
nop
mov rdx, rax
mov rcx, r14
call fcn.140029ee0
mov rdi, rax
lea rax, [rsp + 0x50]
cmp rdi, rax
je 0x14002888f
mov rcx, qword [rdi + 0x30]
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rdi]
mov qword [rsp + 0xc0], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rdx
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x110], xmm0
movaps xmm1, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0xf0], xmm1
lea r9, [rsp + 0x110]
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x148]
mov rcx, rdi
call fcn.14002bd30
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.14002bfa0
nop
cmp qword [rsp + 0x200], 0x10
jb 0x1400288a7
mov rcx, qword [rsp + 0x1e8]
call fcn.1400ad0b8
mov qword [rsp + 0x200], 0xf
mov qword [rsp + 0x1f8], r15
mov byte [rsp + 0x1e8], 0
cmp qword [rsp + 0x1b0], 8
jb 0x1400288db
mov rcx, qword [rsp + 0x198]
call fcn.1400ad0b8
mov rcx, rbp
call fcn.1400afc58
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rcx
movaps xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xe0], xmm0
movaps xmm1, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xd0], xmm1
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x50]
call fcn.14002bd30
mov rcx, qword [rsp + 0x80]
call fcn.1400ad0b8
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], r15
mov rcx, qword [rsp + 0x50]
call fcn.1400ad0b8
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r12
lea rcx, [rsp + 0x28]
call fcn.140025a70
mov rdx, qword [rsp + 0x40]
lea r12, [r12 + rdx*2 + 2]
cmp qword [rsp + 0x48], 8
jb 0x1400289cf
mov rcx, qword [rsp + 0x30]
call fcn.1400ad0b8
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp word [r12], 0
jne 0x140028421
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x140028a0a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, r15
mov qword [rsp + 0x20], r15
mov rcx, r13
call fcn.1400afc58
mov qword [rsp + 0x228], 0xf
mov qword [rsp + 0x220], r15
mov byte [rsp + 0x210], 0
xor r8d, r8d
lea rdx, [0x1400fc5d9]
lea rcx, [rsp + 0x208]
call fcn.140004cb0
nop
mov rax, qword [r14 + 0x30]
mov rbp, qword [rax]
mov r13, qword [r14]
mov rbx, qword [r14 + 0x30]
test r13, r13
je 0x140028a5e
cmp r13, qword [r14]
je 0x140028a63
call fcn.1400aedac
cmp rbp, rbx
je 0x140028c6f
test r13, r13
jne 0x140028a7b
call fcn.1400aedac
mov r11, r15
jmp 0x140028a7f
mov r11, qword [r13]
cmp rbp, qword [r11 + 0x30]
jne 0x140028a8a
call fcn.1400aedac
mov rax, qword [rbp + 0x70]
mov rbx, qword [rax]
mov r12, qword [rbp + 0x40]
test r13, r13
jne 0x140028aa4
call fcn.1400aedac
mov r11, r15
jmp 0x140028aa8
mov r11, qword [r13]
cmp rbp, qword [r11 + 0x30]
jne 0x140028ab3
call fcn.1400aedac
mov rsi, qword [rbp + 0x70]
test r12, r12
je 0x140028ac2
cmp r12, qword [rbp + 0x40]
je 0x140028ac7
call fcn.1400aedac
cmp rbx, rsi
je 0x140028beb
test r12, r12
jne 0x140028adf
call fcn.1400aedac
mov r11, r15
jmp 0x140028ae3
mov r11, qword [r12]
cmp rbx, qword [r11 + 0x30]
jne 0x140028aee
call fcn.1400aedac
mov rsi, qword [rbx + 0x30]
cmp rsi, rsi
cmovb rsi, rsi
cmp qword [rbx + 0x38], 0x10
jb 0x140028b06
mov rcx, qword [rbx + 0x20]
jmp 0x140028b0a
lea rcx, [rbx + 0x20]
mov r8d, 8
cmp rsi, r8
cmovb r8, rsi
lea rdx, str.config15
call fcn.1400ae1a0
movsxd rcx, eax
test eax, eax
jne 0x140028b3c
cmp rsi, 8
jb 0x140028b40
mov eax, r15d
cmp rsi, 8
setne al
mov ecx, eax
test ecx, ecx
je 0x140028b76
test r12, r12
jne 0x140028b4f
call fcn.1400aedac
mov r11, r15
jmp 0x140028b53
mov r11, qword [r12]
cmp rbx, qword [r11 + 0x30]
jne 0x140028b5e
call fcn.1400aedac
lea rdx, [rbx + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x208]
call fcn.1400222f0
test r12, r12
jne 0x140028b80
call fcn.1400aedac
cmp byte [rbx + 0x69], 0
je 0x140028b90
call fcn.1400aedac
jmp 0x140028a95
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x69], 0
jne 0x140028bc1
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x140028a95
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x140028bb0
jmp 0x140028a95
mov rax, qword [rbx + 8]
cmp byte [rax + 0x69], 0
jne 0x140028be3
nop dword [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x140028be3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x140028bd0
mov rbx, rax
jmp 0x140028a95
test r13, r13
jne 0x140028bf5
call fcn.1400aedac
cmp byte [rbp + 0x81], 0
je 0x140028c08
call fcn.1400aedac
jmp 0x140028a50
mov rax, qword [rbp + 0x10]
cmp byte [rax + 0x81], 0
jne 0x140028c44
mov rbp, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
jne 0x140028a50
nop dword [rax + rax]
mov rbp, rax
mov rax, qword [rax]
cmp byte [rax + 0x81], 0
je 0x140028c30
jmp 0x140028a50
mov rax, qword [rbp + 8]
cmp byte [rax + 0x81], 0
jne 0x140028c67
cmp rbp, qword [rax + 0x10]
jne 0x140028c67
mov rbp, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x81], 0
je 0x140028c51
mov rbp, rax
jmp 0x140028a50
cmp qword [rsp + 0x220], 0
je 0x140028f1f
mov qword [rsp + 0x188], 0xf
mov qword [rsp + 0x180], r15
mov byte [rsp + 0x170], 0
mov r8d, 8
lea rdx, str.config15
lea rcx, [rsp + 0x168]
call fcn.140004cb0
nop
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x30], 0
mov r8d, 7
lea rdx, str.config4
lea rcx, [rsp + 0x28]
call fcn.140004cb0
nop
lea r9, [rsp + 0x168]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x1e0]
mov rcx, r14
call fcn.1400277d0
nop
cmp qword [rsp + 0x48], 0x10
jb 0x140028d10
mov rcx, qword [rsp + 0x30]
call fcn.1400ad0b8
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x30], 0
cmp qword [rsp + 0x188], 0x10
jb 0x140028d3b
mov rcx, qword [rsp + 0x170]
call fcn.1400ad0b8
mov qword [rsp + 0x188], 0xf
mov qword [rsp + 0x180], r15
mov byte [rsp + 0x170], 0
lea r8, [rsp + 0x208]
lea rdx, [rsp + 0x1b8]
mov rcx, r14
call fcn.140029900
nop
mov rbx, qword [rsp + 0x1f8]
test rbx, rbx
jne 0x140028e41
mov qword [rsp + 0x1b0], 0xf
mov qword [rsp + 0x1a8], r15
mov byte [rsp + 0x198], bl
lea r8d, [rbx + 8]
lea rdx, str.config15
lea rcx, [rsp + 0x190]
call fcn.140004cb0
nop
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x30], bl
lea r8d, [rbx + 7]
lea rdx, str.config4
lea rcx, [rsp + 0x28]
call fcn.140004cb0
nop
lea r9, [rsp + 0x1b8]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.140027ae0
nop
cmp qword [rsp + 0x48], 0x10
jb 0x140028e0d
mov rcx, qword [rsp + 0x30]
call fcn.1400ad0b8
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x30], 0
cmp qword [rsp + 0x1b0], 0x10
jb 0x140028ed2
mov rcx, qword [rsp + 0x198]
call fcn.1400ad0b8
jmp 0x140028ed2
lea rdx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], 0x10
cmovae rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x1e8]
cmp qword [rsp + 0x200], 0x10
cmovae rcx, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1d0]
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call fcn.1400ae1a0
movsxd rcx, eax
test eax, eax
jne 0x140028ea3
cmp rbx, rsi
jb 0x140028ea7
mov eax, r15d
cmp rbx, rsi
setne al
mov ecx, eax
test ecx, ecx
je 0x140028ed2
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 8]
mov rcx, r14
call fcn.14002b5d0
mov r11, qword [r14 + 0x30]
mov qword [r11 + 8], r11
mov qword [r14 + 0x38], r15
mov rax, qword [r14 + 0x30]
mov qword [rax], rax
mov rax, qword [r14 + 0x30]
mov qword [rax + 0x10], rax
cmp qword [rsp + 0x1d8], 0x10
jb 0x140028eea
mov rcx, qword [rsp + 0x1c0]
call fcn.1400ad0b8
mov qword [rsp + 0x1d8], 0xf
mov qword [rsp + 0x1d0], r15
mov byte [rsp + 0x1c0], 0
cmp qword [rsp + 0x200], 0x10
jb 0x140028f1f
mov rcx, qword [rsp + 0x1e8]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0x228], 0x10
jb 0x140028f37
mov rcx, qword [rsp + 0x210]
call fcn.1400ad0b8
mov qword [rsp + 0x228], 0xf
mov qword [rsp + 0x220], r15
mov byte [rsp + 0x210], 0
test rdi, rdi
je 0x140028f61
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x140028f67
xor al, al
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret