Function at 0x406580
Capabilities:
Read .ini file

Disassembly:
mov r11, rsp
sub rsp, 0x1f8
mov rax, qword [0x00417b90]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov qword [r11 - 8], rsi
mov qword [r11 - 0x10], rdi
mov rsi, rcx
mov rdi, rdx
lea rcx, [0x00419300]
mov edx, 0x104
mov qword [r11 - 0x18], r12
call fcn.00407530
lea r12, [0x004195e8]
lea rdx, [0x00412d70]
xor ebx, ebx
mov rcx, r12
mov byte [0x0041913b], bl
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rsp + 0x40]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r8, [rsp + 0x30]
lea rdx, [0x00412d6c]
lea rcx, [rsp + 0x40]
call fcn.00409ba0
lea ebp, [rbx + 1]
test rax, rax
mov rdi, rax
je 0x4066c0
nop
nop
lea rdx, [0x00412d68]
mov r8d, 2
mov rcx, rdi
call fcn.0040a420
test eax, eax
jne 0x406648
lea rdx, [rdi + 2]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebx, ebp
lea rdx, str.NoLic
mov r8d, 5
mov rcx, rdi
call fcn.0040a420
movzx ecx, byte [0x0041913b]
lea rdx, [0x00412d5c]
test eax, eax
mov r8d, 2
cmove ecx, ebp
mov byte [0x0041913b], cl
mov rcx, rdi
call fcn.0040a420
test eax, eax
jne 0x406699
lea rdx, [rdi + 2]
lea rcx, [0x00419590]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r8, [rsp + 0x30]
lea rdx, [0x00412d6c]
xor ecx, ecx
call fcn.00409ba0
test rax, rax
mov rdi, rax
jne 0x406620
test ebx, ebx
jne 0x40674b
lea rdx, [0x00419300]
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r8, str.language.ini
lea rcx, [rsp + 0xc0]
mov edx, 0x104
call fcn.00407790
lea rdx, [rsp + 0xc0]
lea r9, [rsp + 0x80]
mov qword [rsp + 0x28], rdx
lea r8, [0x00412649]
lea rcx, str.Language
lea rdx, str.Lang00
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
xor eax, eax
lea rdi, [rsp + 0x80]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
cmp rcx, rbp
jne 0x406866
mov byte [0x004195e8], al
lea rdi, [0x00419440]
lea rdx, [0x00419300]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov r8, r12
mov edx, 0x104
mov rcx, rdi
call fcn.00407790
lea r8, str.message.ini
mov edx, 0x104
mov rcx, rdi
call fcn.00407790
lea rdx, [0x00419300]
lea rcx, [0x00419140]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [0x00419140]
mov r8, r12
mov edx, 0x104
call fcn.00407790
lea r8, str.license.txt
lea rcx, [0x00419140]
mov edx, 0x104
call fcn.00407790
lea r9, [0x00419260]
lea r8, [0x00412649]
lea rdx, [0x00412d30]
lea rcx, str.TITLE
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [0x00419690]
lea r8, [0x00412649]
lea rdx, str.COMPANY
lea rcx, str.TITLE
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, ebp
mov r12, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
mov rbp, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.00409d20
add rsp, 0x1f8
ret
mov rcx, qword [0x00419420]
lea r9, [0x004055a0]
mov r8, rsi
mov edx, 0x92
mov qword [rsp + 0x20], r12
call qword [sym.imp.USER32.dll_DialogBoxParamA]
test rax, rax
jne 0x40674b
jmp 0x406826