Function at 0x1800055c0
Capabilities:
Read .ini file

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x29a0]
mov eax, 0x2aa0
call fcn.18000e530
sub rsp, rax
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x2ad0], rbx
mov qword [rsp + 0x2ad8], rsi
mov qword [rsp + 0x2ae0], rdi
mov rax, qword [0x18001b020]
xor rax, rsp
mov qword [rbp + 0x2990], rax
lea r13, [0x18003c5b8]
mov r8, r13
cmp qword [0x18003c5d0], 8
cmovae r8, qword [0x18003c5b8]
mov edx, 0x1000
lea rcx, [rbp + 0x990]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
lea rbx, [rbp + 0x990]
cmp word [rbp + 0x990], 0
je 0x1800059a0
lea r14, [0x18001c350]
xor r15d, r15d
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], r15
mov word [rsp + 0x38], r15w
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1800067f0
nop
mov r8d, 4
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.180006220
mov rdx, rax
mov r8, qword [rax + 0x10]
cmp r8, r8
cmp qword [rax + 0x18], 8
jb 0x1800056bd
mov rdx, qword [rax]
mov edi, 4
cmp r8, rdi
cmovb rdi, r8
lea rcx, str.func
test rdi, rdi
je 0x1800056f9
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1800056ec
add rdx, 2
add rcx, 2
dec rdi
jne 0x1800056d5
jmp 0x1800056f9
mov edi, 1
cmp word [rdx], ax
cmovb edi, esi
jmp 0x1800056fc
mov edi, r15d
movsxd rax, edi
test edi, edi
jne 0x180005717
cmp r8, 4
jae 0x18000570d
mov eax, esi
jmp 0x180005717
mov eax, r15d
cmp r8, 4
setne al
test eax, eax
sete al
test al, al
sete dil
cmp qword [rsp + 0x78], 8
jb 0x180005734
mov rcx, qword [rsp + 0x60]
call fcn.180008200
test dil, dil
je 0x180005754
cmp qword [rsp + 0x50], 8
jb 0x180005971
mov rcx, qword [rsp + 0x38]
call fcn.180008200
jmp 0x180005971
mov r9, r13
cmp qword [0x18003c5d0], 8
cmovae r9, qword [0x18003c5b8]
xor r8d, r8d
lea rdx, str.separator
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x1800057d8
mov ecx, 0x98
call fcn.18000828c
mov rdi, rax
test rax, rax
je 0x1800057a2
xor edx, edx
mov r8d, 0x98
mov rcx, rax
call fcn.18000a4b0
jmp 0x1800057a5
mov rdi, r15
lea rdx, [0x180016bec]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov qword [rdi + 0x80], r15
mov byte [rdi + 0x8c], 0
mov qword [rdi + 0x90], r15
mov rcx, rdi
call fcn.180006260
nop
jmp 0x180005739
mov rax, r13
cmp qword [0x18003c5d0], 8
cmovae rax, qword [0x18003c5b8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rbp + 0x190]
lea r8, str.console.write_Please_type_exec_statement_
lea rdx, str.exec
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, r13
cmp qword [0x18003c5d0], 8
cmovae rdx, qword [0x18003c5b8]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x100
lea r9, [rbp - 0x70]
lea r8, str._No_name_
lea rdx, str.name
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov r9, r13
cmp qword [0x18003c5d0], 8
cmovae r9, qword [0x18003c5b8]
xor r8d, r8d
lea rdx, str.modifiers
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
mov r9, r13
cmp qword [0x18003c5d0], 8
cmovae r9, qword [0x18003c5b8]
xor r8d, r8d
lea rdx, [0x180016c88]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r12d, eax
mov r9, r13
cmp qword [0x18003c5d0], 8
cmovae r9, qword [0x18003c5b8]
xor r8d, r8d
lea rdx, str.checked
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
setne r13b
lea rax, [0x18001c550]
cmp r14, rax
jge 0x18000598e
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r15
mov word [rsp + 0x60], r15w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x190]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x190]
lea rcx, [rsp + 0x60]
call fcn.1800067f0
nop
lea rcx, [rsp + 0x60]
call fcn.180006310
nop
cmp qword [rsp + 0x78], 8
jb 0x180005938
mov rcx, qword [rsp + 0x60]
call fcn.180008200
mov byte [rsp + 0x20], r13b
mov r9d, esi
movzx r8d, r12b
mov rdx, qword [r14]
lea rcx, [rbp - 0x70]
call fcn.1800051b0
add r14, 8
cmp qword [rsp + 0x50], 8
jb 0x180005966
mov rcx, qword [rsp + 0x38]
call fcn.180008200
lea r13, [0x18003c5b8]
or rsi, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
lea rbx, [rbx + rax*2]
cmp word [rbx], 0
jne 0x180005660
jmp 0x1800059a0
cmp qword [rsp + 0x50], 8
jb 0x1800059a0
mov rcx, qword [rsp + 0x38]
call fcn.180008200
mov rcx, qword [rbp + 0x2990]
xor rcx, rsp
call fcn.180007800
lea r11, [rsp + 0x2aa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret