Function at 0x401812
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 0x401ac2
push ebx
lea eax, [ebp - 0x11c]
push 0x40f344
push eax
call fcn.00406b0d
add esp, 0xc
test eax, eax
je 0x401ac2
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], 0x412880
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call fcn.00407af8
lea eax, [ebp - 0x24c]
call fcn.0040534c
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.004053ec
test eax, eax
je 0x4018f5
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.00405652
lea ecx, [ebp - 0x24c]
call fcn.004055af
push ebx
push edi
push 2
push 3
push 0x40000000
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.004053ec
test eax, eax
je 0x401935
push ebx
push dword [ebp - 8]
lea ecx, [ebp - 0x24c]
push dword [ebp - 0xc]
push ebx
push ebx
call fcn.0040560e
lea ecx, [ebp - 0x24c]
call fcn.004055af
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.00407d75
push 0x13e
call fcn.00407ddb
push 0x13f
call fcn.00407ddb
push 0x140
call fcn.00407ddb
push 0x141
call fcn.00407ddb
push 0x142
call fcn.00407ddb
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 0x40f2ba
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 0x40f2ba
push str.FICLICENCE
push esi
call ebx
and dword [ebp - 4], 0
push 0x13e
mov eax, edi
call fcn.00407da2
mov ebx, eax
lea eax, [ebp - 4]
call fcn.004080d0
push 0
mov ebx, 0x40f304
push ebx
lea esi, [ebp - 4]
call fcn.00408269
test eax, eax
jle 0x401a32
push dword [ebp - 0x14]
mov eax, esi
push ebx
push eax
call fcn.00408295
mov eax, dword [ebp - 4]
test eax, eax
jne 0x401a3e
mov eax, 0x40f2ba
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.00407da2
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.00407da2
push eax
push 0x3eb
push dword [ebx + 0xc]
call esi
push 0x141
mov eax, edi
call fcn.00407da2
push eax
push 1
push dword [ebx + 0xc]
call esi
push 0x142
mov eax, edi
call fcn.00407da2
push eax
push 2
push dword [ebx + 0xc]
call esi
lea eax, [ebp - 4]
call fcn.00408091
lea ecx, [ebp - 0x24c]
call fcn.004053a6
lea ecx, [ebp - 0x10]
call fcn.00407ae2
pop edi
pop esi
pop ebx
leave
ret 4