Function at 0x40184e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
push 0x41
xor eax, eax
mov byte [ebp - 0x11c], bl
pop ecx
lea edi, [ebp - 0x11b]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
cmp dword [eax + 0x14], ebx
je 0x401afe
push ebx
lea eax, [ebp - 0x11c]
push 0x410354
push eax
call fcn.00406e01
add esp, 0xc
test eax, eax
je 0x401afe
push 0x41
pop ecx
xor eax, eax
mov byte [ebp - 0x354], bl
lea edi, [ebp - 0x353]
rep stosd dword es:[edi], eax
push 0x104
lea eax, [ebp - 0x354]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [esi + 4]
push dword [eax + 0x14]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0x4139b8
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call fcn.004088ac
lea eax, [ebp - 0x24c]
call fcn.004053f2
push ebx
mov edi, 0x10000000
push edi
push 3
push 3
push 0x80000000
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00405492
test eax, eax
je 0x401931
mov eax, dword [esi + 4]
push ebx
push dword [ebp - 8]
lea ecx, [ebp - 0x24c]
push dword [ebp - 0xc]
push ebx
push dword [eax + 0x10]
call fcn.004056fa
lea ecx, [ebp - 0x24c]
call fcn.00405657
push ebx
push edi
push 2
push 3
push 0x40000000
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00405492
test eax, eax
je 0x401971
push ebx
push dword [ebp - 8]
lea ecx, [ebp - 0x24c]
push dword [ebp - 0xc]
push ebx
push ebx
call fcn.004056b6
lea ecx, [ebp - 0x24c]
call fcn.00405657
lea eax, [ebp - 0x11c]
push eax
push ebx
push str.NATIONDEFAUT
mov esi, str.GENERAL
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edi, dword [ebp + 8]
add edi, 0x430
push eax
lea ebx, [ebp - 0x11c]
mov eax, edi
call fcn.00408b29
push 0x13e
call fcn.00408b8f
push 0x13f
call fcn.00408b8f
push 0x140
call fcn.00408b8f
push 0x141
call fcn.00408b8f
push 0x142
call fcn.00408b8f
mov eax, ebx
push eax
push 0
push str.MODEPATCH
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x220], eax
lea eax, [ecx + 0x224]
mov ecx, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ecx
push 0x104
push eax
push 0x4102ca
push str.APPPATCH
push esi
mov dword [ebp - 0x14], eax
call ebx
lea eax, [ebp - 0x11c]
push eax
mov eax, dword [ebp + 8]
push 0x104
add eax, 0x329
push eax
push 0x4102ca
push str.FICLICENCE
push esi
call ebx
and dword [ebp - 4], 0
push 0x13e
mov eax, edi
call fcn.00408b56
mov ebx, eax
lea eax, [ebp - 4]
call fcn.00408e8d
push 0
mov ebx, 0x410314
push ebx
lea esi, [ebp - 4]
call fcn.00409026
test eax, eax
jle 0x401a6e
push dword [ebp - 0x14]
mov eax, esi
push ebx
push eax
call fcn.00409052
mov eax, dword [ebp - 4]
test eax, eax
jne 0x401a7a
mov eax, 0x4102ca
mov ebx, dword [ebp + 8]
push eax
push dword [ebx + 0xc]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x13f
mov eax, edi
call fcn.00408b56
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
push eax
push 0x3e8
push dword [ebx + 0xc]
call esi
push 0x140
mov eax, edi
call fcn.00408b56
push eax
push 0x3eb
push dword [ebx + 0xc]
call esi
push 0x141
mov eax, edi
call fcn.00408b56
push eax
push 1
push dword [ebx + 0xc]
call esi
push 0x142
mov eax, edi
call fcn.00408b56
push eax
push 2
push dword [ebx + 0xc]
call esi
lea eax, [ebp - 4]
call fcn.00408e4e
lea ecx, [ebp - 0x24c]
call fcn.0040544c
lea ecx, [ebp - 0x10]
call fcn.00408896
pop edi
pop esi
pop ebx
leave
ret 4