Function at 0x402249
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x418370
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x50], 0
call fcn.00412007
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 1
call fcn.004027f1
mov eax, dword [0x41e2d0]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xc0]
lea ecx, [esp + 8]
push eax
push 0x64
push 0x64
mov byte [esp + 0x5c], 3
call fcn.00411ae8
push eax
push 0x41e138
push str.ExeName
push str.GENERAL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
lea ecx, [esp + 0xc]
call fcn.00411ac0
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4023a8
push 0
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004114de
push ecx
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x60], 4
call fcn.004114de
lea ecx, [esp + 0x1c]
mov byte [esp + 0x5c], 3
push ecx
mov ecx, esi
call fcn.00402540
mov ecx, eax
mov byte [esp + 0x54], 5
call fcn.004027c0
push eax
lea ecx, [esp + 0x34]
call fcn.004028b4
test eax, eax
je 0x40237e
push 0
push 0x12
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004114de
push ecx
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x64], 6
call fcn.004114de
lea ecx, [esp + 0x1c]
mov byte [esp + 0x60], 5
push ecx
mov ecx, esi
call fcn.00402540
mov ecx, eax
mov byte [esp + 0x58], 7
call fcn.004027c0
push eax
lea ecx, [esp + 0x28]
call fcn.00412119
test eax, eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x50], 5
sete bl
call fcn.00411769
test bl, bl
je 0x40237e
mov bl, 1
jmp 0x402380
xor bl, bl
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 3
call fcn.00411769
test bl, bl
lea ecx, [esp + 0x2c]
jne 0x402481
call fcn.0040286a
lea ecx, [esp + 0x1c]
call fcn.00412334
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.Setup.ex_
call fcn.004117d7
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x60], 8
call fcn.004114de
lea eax, [esp + 0x18]
mov ecx, esi
push eax
mov byte [esp + 0x60], 3
call fcn.00402540
mov ecx, eax
mov byte [esp + 0x54], 9
call fcn.004027c0
push eax
lea ecx, [esp + 0x34]
call fcn.004028b4
test eax, eax
je 0x402469
push 0
push 0x12
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Setup.ex_
call fcn.004117d7
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x64], 0xa
call fcn.004114de
lea eax, [esp + 0x20]
mov ecx, esi
push eax
mov byte [esp + 0x64], 9
call fcn.00402540
mov ecx, eax
mov byte [esp + 0x58], 0xb
call fcn.004027c0
push eax
lea ecx, [esp + 0x28]
call fcn.00412119
test eax, eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 9
sete bl
call fcn.00411769
test bl, bl
je 0x402469
mov bl, 1
jmp 0x40246b
xor bl, bl
lea ecx, [esp + 0xc]
mov byte [esp + 0x50], 3
call fcn.00411769
test bl, bl
lea ecx, [esp + 0x2c]
je 0x4024d9
call fcn.0040286a
lea ecx, [esp + 8]
mov byte [esp + 0x50], 2
call fcn.00411769
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 1
call fcn.0040282e
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 0
call fcn.0041205c
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], 0xffffffff
call fcn.00411769
mov eax, 1
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop esi
pop ebx
add esp, 0x4c
ret 4
call fcn.0040286a
lea ecx, [esp + 0x1c]
call fcn.00412334
lea ecx, [esp + 8]
mov byte [esp + 0x50], 2
call fcn.00411769
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 1
call fcn.0040282e
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 0
call fcn.0041205c
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], 0xffffffff
call fcn.00411769
mov ecx, dword [esp + 0x48]
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x4c
ret 4