Function at 0x401133
Capabilities:
Read .ini file

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x50
mov esi, dword [esp + 0x64]
mov dword [0x40b048], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], str.WinLinezWindowClass
mov dword [esp + 4], 0x402da2
mov dword [esp], 3
push 0xbb8
push esi
call dword cs:[sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0x14], eax
push 0x7f00
push 0
call dword cs:[sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0x44c
xor ebp, ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
push 4
call dword cs:[sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x1c], eax
mov eax, esp
push eax
call dword cs:[sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x4011b7
xor eax, eax
jmp 0x4014e7
mov eax, esi
call fcn.00405253
test eax, eax
je 0x4014e7
call fcn.004052b5
test eax, eax
je 0x4014e7
mov dword [0x40b3ec], ebp
push str.WinLinez.INI
push ebp
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
lea edx, [eax - 0x26c]
mov eax, edx
sar edx, 0x1f
sub eax, edx
sar eax, 1
push eax
push str.WindowX
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebp, eax
mov edi, eax
push str.WinLinez.INI
push 1
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
lea edx, [eax - 0x1ae]
mov eax, edx
sar edx, 0x1f
sub eax, edx
sar eax, 1
push eax
push str.WindowY
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, eax
push str.WinLinez.INI
push 0x26c
push str.WindowWidth
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x4c], eax
push str.WinLinez.INI
push 0x1ae
push str.WindowHeight
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x48], eax
push 0
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp + 0x44], eax
push 1
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
test ebp, ebp
jge 0x401296
xor edi, ebp
mov ecx, dword [esp + 0x44]
cmp edi, ecx
jl 0x4012a1
lea edi, [ecx - 0x40]
test ebx, ebx
jge 0x4012a7
xor ebx, ebx
cmp ebx, eax
jl 0x4012ae
lea ebx, [eax - 0x40]
push str.WinLinez.INI
push 0
push str.WindowMaximized
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebp, eax
push str.WinLinez.INI
push 1
push str.ShowNext
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x40b080], al
push str.WinLinez.INI
push 0
push str.ShowStatistics
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x40b2bc], al
push str.WinLinez.INI
push 0
push str.UseFigures
push str.WinLinez_Main_Window
call dword cs:[sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x40b3ec], eax
mov edx, dword [esp + 0x4c]
sub edx, 0x148
mov eax, edx
sar edx, 0x1f
sub eax, edx
sar eax, 1
mov dword [0x40b060], eax
mov edx, dword [esp + 0x48]
sub edx, 0x178
mov eax, edx
sar edx, 0x1f
sub eax, edx
sar eax, 1
add eax, 0x2e
mov dword [0x40b064], eax
push 0x40a0c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push 0xfffffffffffffff8
call dword cs:[sym.imp.GDI32.dll_CreateFontA]
mov dword [0x40b3f4], eax
push 0
push esi
push 0
push 0
mov eax, dword [esp + 0x58]
push eax
mov edx, dword [esp + 0x60]
push edx
push ebx
push edi
push 0xcf0000
push str.WinLinez_v1.30
push str.WinLinezWindowClass
push 0
call dword cs:[sym.imp.USER32.dll_CreateWindowExA]
mov ebx, eax
mov dword [0x40b2c0], eax
push 0x44c
push esi
call dword cs:[sym.imp.USER32.dll_LoadAcceleratorsA]
mov dword [0x40b054], eax
cmp byte [0x40b080], 0
je 0x4013d4
mov eax, 8
jmp 0x4013d6
xor eax, eax
push eax
push 0x200
push ebx
call dword cs:[sym.imp.USER32.dll_GetMenu]
push eax
call dword cs:[sym.imp.USER32.dll_CheckMenuItem]
cmp byte [0x40b2bc], 0
je 0x4013fc
mov eax, 8
jmp 0x4013fe
xor eax, eax
push eax
push 0x201
push ebx
call dword cs:[sym.imp.USER32.dll_GetMenu]
push eax
call dword cs:[sym.imp.USER32.dll_CheckMenuItem]
cmp byte [0x40b2bc], 0
je 0x401437
push 0
push 0x404120
push ebx
push 0x3ec
push esi
call dword cs:[sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x40b2b8], eax
cmp dword [0x40b3ec], 0
je 0x401447
mov eax, 8
jmp 0x401449
xor eax, eax
push eax
push 0x202
push ebx
call dword cs:[sym.imp.USER32.dll_GetMenu]
push eax
call dword cs:[sym.imp.USER32.dll_CheckMenuItem]
test ebp, ebp
jne 0x40146a
mov eax, 1
jmp 0x40146f
mov eax, 3
push eax
push ebx
call dword cs:[sym.imp.USER32.dll_ShowWindow]
push ebx
call dword cs:[sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0
lea eax, [esp + 0x34]
push eax
call dword cs:[sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x4014e3
mov esi, dword [0x40b2b8]
test esi, esi
je 0x4014b1
lea eax, [esp + 0x28]
push eax
push esi
call dword cs:[sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x401480
lea eax, [esp + 0x28]
push eax
mov ebp, dword [0x40b054]
push ebp
push ebx
call dword cs:[sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x401480
lea eax, [esp + 0x28]
push eax
call dword cs:[sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x28]
push eax
call dword cs:[sym.imp.USER32.dll_DispatchMessageA]
jmp 0x401480
mov eax, dword [esp + 0x30]
add esp, 0x50
pop ebp
pop edi
pop esi
pop ebx
ret 0x10