Function at 0x404170
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x43b576
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40c
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push edi
mov eax, dword [esi + 0xa4]
xor ebx, ebx
push eax
mov eax, dword [esi + 0x1bc]
push ebx
push 0x143
push eax
call ebp
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0x1bc]
push eax
push ebx
push 0x143
push ecx
call ebp
mov eax, dword [esi + 0xac]
mov edx, dword [esi + 0x1bc]
push eax
push ebx
push 0x143
push edx
call ebp
lea eax, [esi + 0x94]
push str._access_config.ini
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x28], bl
call fcn.00431c7c
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edx
lea eax, [esp + 0x20]
push 0x400
push eax
push 0x452ac0
push str.SHOW_WELCOME
push str.Other
mov dword [esp + 0x43c], ebx
mov dword [esi + 0x1e8], ebx
call edi
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00431a55
mov edx, dword [esp + 0x14]
push str.true
push edx
mov byte [esp + 0x42c], 1
call fcn.0041c499
add esp, 8
test eax, eax
jne 0x40425e
mov dword [esi + 0x1e8], 1
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
push 0x400
push ecx
push 0x452ac0
push str.SHOW_SPLASH
push str.Other
mov byte [esp + 0x34], bl
mov dword [esi + 0x1fc], ebx
call edi
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
push edx
call fcn.00431b70
mov eax, dword [esp + 0x14]
push str.true
push eax
call fcn.0041c499
add esp, 8
test eax, eax
jne 0x4042b6
mov dword [esi + 0x1fc], 1
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push 0x400
push edx
push 0x452ac0
push str.PLAY_SOUND
push str.Other
mov byte [esp + 0x34], bl
mov dword [esi + 0x204], ebx
call edi
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
call fcn.00431b70
mov ecx, dword [esp + 0x14]
push str.true
push ecx
call fcn.0041c499
add esp, 8
test eax, eax
jne 0x40430e
mov dword [esi + 0x204], 1
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push edx
push 0x400
push eax
push 0x452ac0
push str.SHOW_SYSTRAY
push str.Other
mov byte [esp + 0x34], bl
mov dword [esi + 0x1f0], 1
call edi
cmp eax, ebx
jle 0x404373
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00431a55
mov edx, dword [esp + 0x18]
push str.false
push edx
call fcn.0041c499
add esp, 8
test eax, eax
jne 0x40436a
mov dword [esi + 0x1f0], ebx
lea ecx, [esp + 0x18]
call fcn.004319e7
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
push 0x400
push ecx
push 0x452ac0
push str.RESOLUTION
push str.Other
mov byte [esp + 0x34], bl
call edi
lea edx, [esp + 0x1c]
push edx
call fcn.0041c6ed
add esp, 4
mov dword [esi + 0x9c], eax
push ebx
push eax
mov eax, dword [esi + 0x1bc]
push 0x14e
push eax
call ebp
mov eax, dword [esi + 0x210]
lea ecx, [esi + 0x164]
push eax
call fcn.004314b0
cmp byte [esi + 0x90], bl
jne 0x4043ec
push ebx
lea ecx, [esi + 0x128]
call fcn.004315b1
push ebx
lea ecx, [esi + 0xec]
call fcn.004315b1
mov ecx, esi
mov dword [esi + 0x208], ebx
call fcn.00404a00
test eax, eax
je 0x404407
mov dword [esi + 0x208], 1
mov eax, dword [esi + 0x8c]
lea ecx, [esi + 0xb0]
push eax
call fcn.004314b0
push ebx
mov ecx, esi
call fcn.00430a58
lea ecx, [esp + 0x14]
mov byte [esp + 0x424], bl
call fcn.004319e7
lea ecx, [esp + 0x10]
mov dword [esp + 0x424], 0xffffffff
call fcn.004319e7
mov ecx, dword [esp + 0x41c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x418
ret