Function at 0x405456
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1024
call fcn.0040c440
mov eax, dword [0x418718]
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [eax], 0
mov esi, 0x104
push esi
lea eax, [ebp - 0x31c]
push eax
xor ebx, ebx
push ebx
call edi
mov dword [ebp - 0x1024], eax
push esi
lea eax, [ebp - 0x31c]
push eax
push ebx
call edi
test eax, eax
jne 0x4054ac
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4056c7
cmp dword [ebp - 0x1024], esi
jne 0x4054be
mov eax, 0xa1
jmp 0x4056c7
push ebx
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x1020]
push eax
lea eax, [ebp - 0x31c]
push eax
call fcn.0040c2eb
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x1020]
push eax
push 0x401434
lea eax, [ebp - 0x114]
push esi
push eax
call fcn.00404edb
lea eax, [ebp - 0x114]
push eax
call fcn.00404c42
add esp, 0x30
test eax, eax
jne 0x405573
mov esi, 0x400
push esi
lea eax, [ebp - 0x81c]
push eax
push 0x3ee
push dword [0x419674]
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x81c]
push eax
lea eax, [ebp - 0xc1c]
push esi
push eax
call fcn.00404edb
add esp, 0x10
push 0x30
push dword [0x419670]
lea eax, [ebp - 0xc1c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 2
jmp 0x40563a
mov esi, 0x4014e0
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x114]
push eax
mov esi, 0x400
push esi
push dword [ebp + 0xc]
mov ebx, 0x401430
push ebx
push 0x4014cc
lea eax, [ebp - 0x10]
push eax
call edi
test eax, eax
je 0x4056c5
mov eax, dword [ebp + 8]
mov byte [eax], 1
lea eax, [ebp - 0x114]
push eax
push esi
push dword [ebp + 0x10]
lea eax, [ebp - 0x10]
push ebx
push 0x4014c0
push eax
call edi
test eax, eax
je 0x4055ea
lea eax, [ebp - 0x114]
push eax
push esi
push dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push ebx
push 0x4014b8
push eax
call edi
test eax, eax
jne 0x405640
push esi
lea eax, [ebp - 0xc1c]
push eax
push 0x3ef
push dword [0x419674]
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xc1c]
push eax
lea eax, [ebp - 0x81c]
push esi
push eax
call fcn.00404edb
add esp, 0x10
push 0x30
push dword [0x419670]
lea eax, [ebp - 0x81c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xd
pop eax
jmp 0x4056c7
lea eax, [ebp - 0x114]
push eax
push esi
lea eax, [ebp - 0x101c]
push eax
push ebx
push 0x4014a4
lea eax, [ebp - 0x10]
push eax
call edi
test eax, eax
je 0x4056a2
push esi
lea eax, [ebp - 0x81c]
push eax
push 0x3f1
push dword [0x419674]
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [ebp + 0x14]
lea eax, [ebp - 0xc1c]
push esi
push eax
call fcn.004049b1
lea eax, [ebp - 0xc1c]
push eax
lea eax, [ebp - 0x81c]
push eax
push esi
push dword [ebp + 0x14]
call fcn.00404edb
add esp, 0x10
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x1020]
push eax
push 0x40149c
push 0x104
push dword [ebp + 0x18]
call fcn.00404edb
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0040b9d1
leave
ret