Function at 0x1400129e0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x360
mov rax, qword [0x140025100]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov dword [rsp + 0xc0], 1
mov rax, qword [rsp + 0x370]
mov r9, qword [rax + 0x40]
lea r8, [0x140003fa8]
mov edx, 0x105
lea rcx, [rsp + 0xd0]
call fcn.14001f670
mov dword [rsp + 0x330], eax
cmp dword [rsp + 0x330], 0
jne 0x140012a7d
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0xd0]
call fcn.14001fb20
test eax, eax
je 0x140012a7d
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
bts eax, 0xd
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x370]
mov r9, qword [rax + 0x40]
lea r8, [0x140003fb8]
mov edx, 0x105
lea rcx, [rsp + 0xd0]
call fcn.14001f670
mov dword [rsp + 0x330], eax
cmp dword [rsp + 0x330], 0
jne 0x140013331
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0xd0]
call fcn.14001fb20
test eax, eax
je 0x14001332f
mov eax, dword [rsp + 0x1e0]
and eax, 0x10
test eax, eax
jne 0x140013307
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x80
lea r9, [rsp + 0x40]
lea r8, [0x140003fd0]
lea rdx, [0x140003fd8]
lea rcx, [0x140003fe8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, eax
cmp rax, 0x7e
jae 0x140012bbf
lea rdx, [0x140002e2c]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012b72
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
and eax, 0x10
test eax, eax
je 0x140012b72
lea r8, [0x140001768]
lea rdx, [0x140003ff8]
mov ecx, 1
call fcn.1400058d0
mov dword [rsp + 0xc0], 0
lea rdx, [0x140002e30]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012bbd
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
and eax, 0x10
test eax, eax
jne 0x140012bbd
lea r8, [0x140001774]
lea rdx, [0x140003ff8]
mov ecx, 1
call fcn.1400058d0
mov dword [rsp + 0xc0], 0
jmp 0x140012bf7
cmp dword [rsp + 0xc0], 0
je 0x140012bec
cmp dword [0x140025a38], 0
je 0x140012bec
lea r8, [0x140004028]
lea rdx, [0x140003fd8]
lea rcx, [0x140004038]
call fcn.140005ae0
mov dword [rsp + 0xc0], 0
cmp dword [rsp + 0xc0], 0
je 0x140012d22
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x80
lea r9, [rsp + 0x40]
lea r8, [0x140003fd0]
lea rdx, [0x140004058]
lea rcx, [0x140003fe8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, eax
cmp rax, 0x7e
jae 0x140012d22
lea rdx, [0x140002a18]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012cb3
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
bts eax, 0xa
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
btr eax, 0xb
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
cmp dword [0x140025a38], 0
je 0x140012cb3
lea r8, [0x140004060]
lea rdx, [0x140004068]
lea rcx, [0x140004078]
call fcn.140005ae0
lea rdx, [0x140002a1c]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012d20
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
bts eax, 0xb
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
btr eax, 0xa
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
cmp dword [0x140025a38], 0
je 0x140012d20
lea r8, [0x1400040a4]
lea rdx, [0x140004068]
lea rcx, [0x140004078]
call fcn.140005ae0
jmp 0x140012d5a
cmp dword [rsp + 0xc0], 0
je 0x140012d4f
cmp dword [0x140025a38], 0
je 0x140012d4f
lea r8, [0x140004028]
lea rdx, [0x140004058]
lea rcx, [0x140004038]
call fcn.140005ae0
mov dword [rsp + 0xc0], 0
cmp dword [rsp + 0xc0], 0
je 0x140012e36
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x80
lea r9, [rsp + 0x40]
lea r8, [0x140003fd0]
lea rdx, [0x1400040b0]
lea rcx, [0x140003fe8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, eax
cmp rax, 0x7e
jae 0x140012e36
lea rdx, [0x140003fd0]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x140012e34
mov rax, qword [rsp + 0x370]
add rax, 0x38
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140020820
test eax, eax
je 0x140012e0e
cmp dword [0x140025a38], 0
je 0x140012e0c
mov rax, qword [rsp + 0x370]
cmp qword [rax + 0x38], 0
je 0x140012e0c
lea r8, [rsp + 0x40]
lea rdx, [0x140004068]
lea rcx, [0x1400040c0]
call fcn.140005ae0
jmp 0x140012e34
mov dword [rsp + 0xc0], 0
lea rdx, [0x1400040f8]
xor ecx, ecx
call fcn.1400058d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140005800
jmp 0x140012e6e
cmp dword [rsp + 0xc0], 0
je 0x140012e63
cmp dword [0x140025a38], 0
je 0x140012e63
lea r8, [0x140004028]
lea rdx, [0x1400040b0]
lea rcx, [0x140004038]
call fcn.140005ae0
mov dword [rsp + 0xc0], 0
cmp dword [rsp + 0xc0], 0
je 0x140012f99
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x80
lea r9, [rsp + 0x40]
lea r8, [0x140003fd0]
lea rdx, [0x140004120]
lea rcx, [0x140003fe8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, eax
cmp rax, 0x7e
jae 0x140012f99
lea rdx, [0x140002a18]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012f2a
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
bts eax, 8
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
btr eax, 9
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
cmp dword [0x140025a38], 0
je 0x140012f2a
lea r8, [0x140004060]
lea rdx, [0x140004068]
lea rcx, [0x140004130]
call fcn.140005ae0
lea rdx, [0x140002a1c]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x140012f97
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
bts eax, 9
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x370]
mov eax, dword [rax + 8]
btr eax, 8
mov rcx, qword [rsp + 0x370]
mov dword [rcx + 8], eax
cmp dword [0x140025a38], 0
je 0x140012f97
lea r8, [0x1400040a4]
lea rdx, [0x140004068]
lea rcx, [0x140004130]
call fcn.140005ae0
jmp 0x140012fd1
cmp dword [rsp + 0xc0], 0
je 0x140012fc6
cmp dword [0x140025a38], 0
je 0x140012fc6
lea r8, [0x140004028]
lea rdx, [0x140004120]
lea rcx, [0x140004038]
call fcn.140005ae0
mov dword [rsp + 0xc0], 0
cmp qword [rsp + 0x380], 0
je 0x1400132e4
cmp qword [rsp + 0x378], 0
je 0x1400132e4
mov ecx, 0x400
call qword [sym.imp.msvcrt.dll_malloc]
mov qword [rsp + 0x328], rax
cmp qword [rsp + 0x328], 0
je 0x1400132e2
lea r9, [rsp + 0xd0]
mov r8d, 0x400
mov rdx, qword [rsp + 0x328]
lea rcx, [0x140004158]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
mov dword [rsp + 0x340], eax
mov qword [rsp + 0x348], 0
mov qword [rsp + 0x338], 0
cmp dword [rsp + 0x340], 0x3fe
je 0x1400132d4
mov rax, qword [rsp + 0x328]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x338], rax
cmp dword [rsp + 0x340], 0
jbe 0x1400132d4
mov rax, qword [rsp + 0x338]
movsx eax, byte [rax]
cmp eax, 0x3d
je 0x1400130d1
cmp dword [rsp + 0x340], 0
jbe 0x1400130d1
mov rax, qword [rsp + 0x338]
inc rax
mov qword [rsp + 0x338], rax
mov eax, dword [rsp + 0x340]
dec eax
mov dword [rsp + 0x340], eax
jmp 0x140013092
mov rax, qword [rsp + 0x338]
mov byte [rax], 0
mov rax, qword [rsp + 0x338]
inc rax
mov qword [rsp + 0x338], rax
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x348]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rax, rcx
test rax, rax
jbe 0x14001325e
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x338]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rax, rcx
test rax, rax
jbe 0x14001325e
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
imul rax, rax, 0x218
mov rcx, qword [rsp + 0x380]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x348]
mov edx, 0x104
mov rcx, rax
call fcn.1400053e0
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
imul rax, rax, 0x218
mov rcx, qword [rsp + 0x380]
lea rax, [rcx + rax + 0x104]
mov r8, qword [rsp + 0x338]
mov edx, 0x104
mov rcx, rax
call fcn.1400053e0
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
imul rax, rax, 0x218
mov rcx, qword [rsp + 0x380]
mov qword [rcx + rax + 0x208], 0
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
imul rax, rax, 0x218
mov rcx, qword [rsp + 0x380]
mov qword [rcx + rax + 0x210], 0
cmp dword [0x140025a38], 0
je 0x140013248
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
imul rax, rax, 0x218
mov rcx, qword [rsp + 0x380]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x378]
mov ecx, dword [rcx]
imul rcx, rcx, 0x218
mov rdx, qword [rsp + 0x380]
lea rcx, [rdx + rcx + 0x104]
mov r8, rax
mov rdx, rcx
lea rcx, [0x140004168]
call fcn.140005ae0
mov rax, qword [rsp + 0x378]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x378]
mov dword [rcx], eax
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x348]
movsx eax, byte [rax]
test eax, eax
je 0x1400132ac
cmp dword [rsp + 0x340], 0
jbe 0x1400132ac
mov rax, qword [rsp + 0x348]
inc rax
mov qword [rsp + 0x348], rax
mov eax, dword [rsp + 0x340]
dec eax
mov dword [rsp + 0x340], eax
jmp 0x14001326e
mov rax, qword [rsp + 0x348]
inc rax
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x338], rax
jmp 0x140013084
mov rcx, qword [rsp + 0x328]
call qword [sym.imp.msvcrt.dll_free]
jmp 0x140013305
cmp dword [0x140025a38], 0
je 0x140013305
mov rax, qword [rsp + 0x370]
mov rdx, qword [rax + 0x40]
lea rcx, [0x140004198]
call fcn.140005ae0
jmp 0x14001332f
cmp dword [0x140025a38], 0
je 0x14001332f
mov rax, qword [rsp + 0x370]
mov r8, qword [rax + 0x40]
lea rdx, [0x140004068]
lea rcx, [0x1400041b0]
call fcn.140005ae0
jmp 0x14001337c
mov dword [rsp + 0xc0], 0
cmp dword [0x140025a38], 0
je 0x14001337c
mov eax, dword [rsp + 0x330]
and eax, 0xffff
mov dword [rsp + 0x320], eax
lea r8, [0x140004028]
lea rdx, [0x1400041d0]
mov ecx, 1
call fcn.1400058d0
mov ecx, dword [rsp + 0x320]
call fcn.140005800
mov eax, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.140021740
add rsp, 0x360
pop rdi
ret