Function at 0x401980
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa44
mov eax, dword [0x410084]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0xa34]
mov edi, ecx
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
push str.Verdana
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0x12c
push 0
push 0
push 0
push 0xd
call dword [sym.imp.GDI32.dll_CreateFontW]
mov ecx, dword [0x423c5c]
push 0
mov ebx, dword [sym.imp.USER32.dll_CreateWindowExW]
push ecx
push 0x70
push edi
push 0x88
push 0x124
push 0xa
push 0xa
push 0x5080020e
push 0
push str.STATIC
push 0x20000
mov dword [ebp - 0xa38], eax
call ebx
mov esi, eax
mov eax, dword [0x423c60]
test eax, eax
je 0x401a70
push 0
push 0
lea edx, [ebp - 0xa40]
push edx
mov dword [ebp - 0xa3c], eax
push 0
add eax, 0xe
push eax
push 0
mov dword [ebp - 0xa40], 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebp - 0xa44], eax
test eax, eax
je 0x401a70
mov eax, dword [ebp - 0xa3c]
mov eax, dword [eax + 0x22]
mov edx, dword [ebp - 0xa40]
push eax
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [eax + 0xa]
add ecx, eax
push ecx
push edx
call fcn.004096b0
mov eax, dword [ebp - 0xa44]
add esp, 0xc
push eax
push 0
push 0x172
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
mov eax, dword [0x423c5c]
push 0
push eax
push 0xffffffffffffffff
push edi
push 0x14
push 0x64
push 0xa0
push 0x14
push 0x50000000
push 0
push str.STATIC
push 0
call ebx
mov ecx, dword [ebp - 0xa38]
push 0
push ecx
mov ebx, eax
push 0x30
push ebx
call esi
push str.Language:
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, dword [0x423c5c]
push 0
push edx
push 0x6e
push edi
push 0x64
push 0xbe
push 0x9e
push 0x64
push 0x50200d03
push 0
push str.COMBOBOX
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0xa38]
push 0
push ecx
push 0x30
push eax
mov dword [0x423c54], eax
call esi
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0xa06]
push eax
mov word [ebp - 0xa08], dx
call fcn.00408f50
add esp, 0xc
push 0x400
lea ecx, [ebp - 0xa08]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0xa08]
push 0x5c
push edx
call fcn.00405969
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0xa24]
call section..text
xor edx, edx
push 0x1fc
push edx
lea eax, [ebp - 0x206]
push eax
mov word [ebp - 0x208], dx
call fcn.00408f50
add esp, 0x14
cmp dword [ebp - 0xa10], 8
mov eax, dword [ebp - 0xa24]
jae 0x401b87
lea eax, [ebp - 0xa24]
push eax
push 0xff
lea ecx, [ebp - 0x208]
push ecx
push 0x40e1fc
push 0x40e20c
push str.Game
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebx, dword [0x423c70]
cmp ebx, dword [0x423c74]
je 0x401bdf
cmp dword [ebx + 0x14], 8
jb 0x401bc1
mov eax, dword [ebx]
jmp 0x401bc3
mov eax, ebx
mov edx, dword [0x423c54]
push eax
push 0
push 0x143
push edx
call esi
add ebx, 0x38
cmp ebx, dword [0x423c74]
jne 0x401bb7
mov ecx, dword [0x423c54]
lea eax, [ebp - 0x208]
push eax
push 0
push 0x14d
push ecx
call esi
mov edx, dword [0x423c5c]
mov ecx, dword [ebp - 0xa2c]
sub ecx, dword [ebp - 0xa34]
push 0
push edx
push 0x6f
push edi
push 0x16
lea eax, [ecx - 0x14]
push eax
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
cdq
sub eax, edx
push 0xbe
sar eax, 1
sar edi, 1
sub eax, edi
push eax
push 0x50018300
push str.Save_and_Launch
push str.BUTTON
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0xa38]
push 0
push ecx
push 0x30
push eax
call esi
cmp dword [ebp - 0xa10], 8
jb 0x401c67
mov edx, dword [ebp - 0xa24]
push edx
call fcn.00405225
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004050dc
mov esp, ebp
pop ebp
ret