Function at 0x405770
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x2024
call fcn.0044c0a0
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00405750
test eax, eax
jne 0x405792
pop edi
pop esi
pop ebx
add esp, 0x2024
ret
mov ecx, 0x800
xor eax, eax
lea edi, [esp + 0x30]
push eax
rep stosd dword es:[edi], eax
mov ecx, dword [ebx]
lea eax, [esp + 0x34]
push 0x1000
push eax
push 0x4889f0
push ecx
lea ecx, [esp + 0x20]
call fcn.00405b20
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4057df
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4057df
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4057df
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x80
jg 0x4057eb
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x2024
ret
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push esi
push ecx
push eax
mov eax, dword [esp + 0x24]
push eax
push str.Logo
push edx
call ebp
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je 0x405877
test eax, eax
mov esi, eax
je 0x405877
lea ecx, [esp + 0x28]
call fcn.0041e790
push esi
lea ecx, [esp + 0x2c]
call fcn.0041e7b0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x40586a
mov ecx, dword [ebx + 4]
push eax
lea edx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x34]
push eax
push ecx
mov ecx, dword [ebx + 0x20]
lea edx, [esp + 0x38]
push 0
push edx
add ecx, 0x28
call fcn.00404e80
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40586a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x28]
call fcn.00403680
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x20]
push edx
push str.Title
push eax
call ebp
mov ecx, dword [esp + 0x1c]
mov ax, word [ecx]
neg ax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx + 0x20]
push eax
add ecx, 0x5c
call fcn.0041dcc0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push str.TitleBkColor
push edx
call ebp
mov eax, dword [esp + 0x1c]
mov si, word [eax]
neg si
sbb esi, esi
and esi, eax
mov eax, dword [0x4881a0]
test esi, esi
mov dword [esp + 0x24], eax
je 0x405939
mov ecx, esi
shr ecx, 0x10
jne 0x405901
and esi, 0xffff
lea ecx, [esp + 0x24]
push esi
call fcn.004032e0
jmp 0x405939
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
test edi, edi
je 0x405939
push edi
lea ecx, [esp + 0x28]
call fcn.004036b0
test eax, eax
je 0x405939
lea ecx, [edi + edi]
lea edx, [edi + edi + 2]
cmp edx, ecx
jb 0x405939
mov edi, dword [esp + 0x24]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 8]
test eax, eax
je 0x40595c
lea edx, [esp + 0x24]
push 0xffffff
push edx
call fcn.0041d290
mov ecx, dword [ebx + 0x20]
add esp, 8
mov dword [ecx + 0x6c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push 0x3e8
push str.GermTime
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [ebx + 0x20]
mov dword [ecx + 0x128], eax
mov eax, dword [ebx + 0x20]
add eax, 0x128
mov ecx, dword [eax]
cmp ecx, 0x2710
jle 0x405999
mov dword [eax], 0x2710
jmp 0x4059a4
cmp ecx, 1
jge 0x4059a4
mov dword [eax], 1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push str.Margin
push eax
call ebp
mov ecx, dword [esp + 0x1c]
mov ax, word [ecx]
neg ax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx + 0x20]
push eax
add ecx, 0x70
call fcn.0041e1e0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push str.MainWindowSize
push edx
call ebp
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je 0x405a6b
test eax, eax
je 0x405a6b
mov ecx, dword [ebx + 0x20]
push eax
add ecx, 0x12c
call fcn.0041e4f0
mov eax, dword [ebx + 0x20]
add eax, 0x12c
mov ecx, dword [eax]
cmp ecx, 0x400
jle 0x405a35
mov dword [eax], 0x400
jmp 0x405a43
cmp ecx, 0x190
jge 0x405a43
mov dword [eax], 0x190
mov eax, dword [ebx + 0x20]
add eax, 0x130
mov ecx, dword [eax]
cmp ecx, 0x300
jle 0x405a5d
mov dword [eax], 0x300
jmp 0x405a6b
cmp ecx, 0x12c
jge 0x405a6b
mov dword [eax], 0x12c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push str.GameList
push ecx
call ebp
mov ecx, dword [esp + 0x1c]
mov ax, word [ecx]
neg ax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx + 0x20]
push eax
add ecx, 0x134
call fcn.0040af80
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push str.WizardPage
push eax
call ebp
mov eax, dword [esp + 0x1c]
pop ebp
cmp word [eax], 0
je 0x405b03
test eax, eax
je 0x405b03
push eax
call fcn.0041cf10
mov cx, word [0x4918b0]
lea edx, [esp + 0x34]
push ecx
push 0x2c
push edx
mov esi, eax
call fcn.0041ce00
add esp, 0x10
lea eax, [esp + 0x30]
mov ecx, ebx
push esi
push eax
call fcn.00405c20
lea ecx, [esp + 0x20]
call fcn.00403680
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x2024
ret