Function at 0x180029580
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x180141030]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov eax, 0xb
xor ebx, ebx
mov dword [rbp - 0x19], eax
mov r8b, 0x52
mov dword [rbp - 0x15], 0x1011bff
mov r9b, 0xe0
mov dword [rbp - 0x11], 0x6001df4
mov edx, ebx
mov dword [rbp - 0xd], 0x32171c07
mov dword [rbp - 9], 0xe052
test eax, eax
je 0x180029609
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x180029609
movzx r9d, byte [rbp - 8]
movzx r8d, byte [rbp - 9]
jmp 0x1800295e0
mov rdi, qword [0x180142948]
mov byte [rbp + rax - 0x15], bl
lea rcx, [rdi + 0x4570]
call fcn.18008bbd0
mov ecx, eax
test eax, eax
je 0x180029644
lea rax, [rdi + 0x4560]
cmp ecx, 0xf
jle 0x18002963a
mov rcx, rax
call fcn.18008bbc0
mov rcx, rax
call fcn.18008bc00
jmp 0x18002964b
lea rax, str.null
lea rdx, [rbp - 0x15]
mov rcx, rax
call fcn.18008bad0
test al, al
je 0x180029ad8
mov edi, 0xc
mov dword [rbp + 3], 0x1011bff
mov eax, edi
mov r8b, 0x52
mov dword [rbp - 1], eax
mov r9b, 0xe0
mov dword [rbp + 7], 0x6001df4
mov edx, ebx
mov dword [rbp + 0xb], 0xe3171c07
mov dword [rbp + 0xf], 0xe05232
nop dword [rax]
mov eax, edx
lea rcx, [rbp + 3]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800296b9
movzx r9d, byte [rbp + 0x11]
movzx r8d, byte [rbp + 0x10]
jmp 0x180029690
movdqa xmm0, xmmword [0x18012d680]
mov r8b, 0x52
mov byte [rbp + rax + 3], bl
mov r9b, 0xe0
movdqu xmmword [rbp + 0x1b], xmm0
mov dword [rbp + 0x17], 0x11
mov edx, ebx
mov dword [rbp + 0x2b], 0xe052321b
mov eax, edx
lea rcx, [rbp + 0x1b]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x17]
cmp edx, eax
jae 0x180029709
movzx r9d, byte [rbp + 0x2e]
movzx r8d, byte [rbp + 0x2d]
jmp 0x1800296e0
mov rcx, qword [0x180142950]
lea r9, [rbp + 0x1b]
xor r8d, r8d
mov byte [rbp + rax + 0x1b], bl
lea rdx, [rbp + 3]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x15], 0x1011bff
mov r8b, 0x52
test eax, eax
mov dword [rbp - 0x11], 0x6001df4
mov eax, edi
mov r9b, 0xe0
setne byte [0x180142568]
mov dword [rbp - 0x19], eax
mov dword [rbp - 0xd], 0xe5171c07
mov edx, ebx
mov dword [rbp - 9], 0xe05232
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x180029789
movzx r9d, byte [rbp - 7]
movzx r8d, byte [rbp - 8]
jmp 0x180029760
movdqa xmm0, xmmword [0x18012d680]
mov r8b, 0x52
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xe0
movdqu xmmword [rbp + 0x33], xmm0
mov dword [rbp + 0x2f], 0x11
mov edx, ebx
mov dword [rbp + 0x43], 0xe052321b
mov eax, edx
lea rcx, [rbp + 0x33]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp edx, eax
jae 0x1800297d9
movzx r9d, byte [rbp + 0x46]
movzx r8d, byte [rbp + 0x45]
jmp 0x1800297b0
mov rcx, qword [0x180142950]
lea r9, [rbp + 0x33]
xor r8d, r8d
mov byte [rbp + rax + 0x33], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp + 3], 0x1011bff
mov r8b, 0x52
test eax, eax
mov dword [rbp + 7], 0x6001df4
mov eax, edi
mov r9b, 0xe0
setne byte [0x180142569]
mov dword [rbp - 1], eax
mov dword [rbp + 0xb], 0xf7171c07
mov edx, ebx
mov dword [rbp + 0xf], 0xe05232
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp + 3]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x180029859
movzx r9d, byte [rbp + 0x11]
movzx r8d, byte [rbp + 0x10]
jmp 0x180029830
movdqa xmm0, xmmword [0x18012d680]
mov r8b, 0x52
mov byte [rbp + rax + 3], bl
mov r9b, 0xe0
movdqu xmmword [rbp + 0x1b], xmm0
mov dword [rbp + 0x17], 0x11
mov edx, ebx
mov dword [rbp + 0x2b], 0xe052321b
mov eax, edx
lea rcx, [rbp + 0x1b]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x17]
cmp edx, eax
jae 0x1800298a9
movzx r9d, byte [rbp + 0x2e]
movzx r8d, byte [rbp + 0x2d]
jmp 0x180029880
mov rcx, qword [0x180142950]
lea r9, [rbp + 0x1b]
xor r8d, r8d
mov byte [rbp + rax + 0x1b], bl
lea rdx, [rbp + 3]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x19], edi
mov r8b, 0x52
test eax, eax
mov dword [rbp - 0x15], 0x1011bff
mov dword [rbp - 0x11], 0x6001df4
mov r9b, 0xe0
setne byte [0x18014256a]
mov dword [rbp - 0xd], 0xe0171c07
mov dword [rbp - 9], 0xe05232
mov edx, ebx
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov edi, dword [rbp - 0x19]
cmp edx, edi
jae 0x180029929
movzx r9d, byte [rbp - 7]
movzx r8d, byte [rbp - 8]
jmp 0x180029900
movdqa xmm0, xmmword [0x18012d680]
mov dl, 0x52
mov byte [rbp + rdi - 0x15], bl
mov r8b, 0xe0
movdqu xmmword [rbp + 0x33], xmm0
mov dword [rbp + 0x2f], 0x11
mov dword [rbp + 0x43], 0xe052321b
nop dword [rax]
mov eax, ebx
lea rcx, [rbp + 0x33]
add rcx, rax
inc ebx
movzx eax, byte [rcx]
sub al, r8b
xor al, dl
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp ebx, eax
jae 0x180029977
movzx r8d, byte [rbp + 0x46]
movzx edx, byte [rbp + 0x45]
jmp 0x180029950
mov rcx, qword [0x180142950]
lea r9, [rbp + 0x33]
xor r8d, r8d
mov byte [rbp + rax + 0x33], 0
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov rdx, qword [0x180142c78]
test eax, eax
lea rax, [0x180028f50]
setne byte [0x180142563]
mov qword [rbp + 0x47], rax
cmp rdx, qword [0x180142c80]
je 0x1800299c5
mov qword [rdx], rax
add qword [0x180142c78], 8
jmp 0x1800299d5
lea r8, [rbp + 0x47]
lea rcx, [0x180142c70]
call fcn.180002720
mov rdx, qword [0x180142e28]
lea rbx, [0x180028350]
cmp rdx, qword [0x180142e30]
mov qword [rbp + 0x47], rbx
je 0x1800299fd
mov qword [rdx], rbx
add qword [0x180142e28], 8
jmp 0x180029a0d
lea r8, [rbp + 0x47]
lea rcx, [0x180142e20]
call fcn.180002720
mov rdx, qword [0x180142e70]
cmp rdx, qword [0x180142e78]
mov qword [rbp + 0x47], rbx
je 0x180029a2e
mov qword [rdx], rbx
add qword [0x180142e70], 8
jmp 0x180029a3e
lea r8, [rbp + 0x47]
lea rcx, [0x180142e68]
call fcn.180002720
mov rdx, qword [0x180142e40]
cmp rdx, qword [0x180142e48]
mov qword [rbp + 0x47], rbx
je 0x180029a5f
mov qword [rdx], rbx
add qword [0x180142e40], 8
jmp 0x180029a6f
lea r8, [rbp + 0x47]
lea rcx, [0x180142e38]
call fcn.180002720
mov rdx, qword [0x180142de0]
cmp rdx, qword [0x180142de8]
mov qword [rbp + 0x47], rbx
je 0x180029a90
mov qword [rdx], rbx
add qword [0x180142de0], 8
jmp 0x180029aa0
lea r8, [rbp + 0x47]
lea rcx, [0x180142dd8]
call fcn.180002720
mov rdx, qword [0x180142dc8]
lea rax, [0x1800288f0]
cmp rdx, qword [0x180142dd0]
mov qword [rbp + 0x47], rax
je 0x180029ac8
mov qword [rdx], rax
add qword [0x180142dc8], 8
jmp 0x180029ad8
lea r8, [rbp + 0x47]
lea rcx, [0x180142dc0]
call fcn.180002720
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.18011e040
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret