Function at 0x4016ca
Capabilities:
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x254
mov eax, dword [0x42197c]
push ebx
xor eax, ebp
push esi
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x7c]
push edi
mov dword [ebp - 0x1e0], ecx
push eax
add ecx, 0x74
call fcn.004016b3
push 0x31
xor eax, eax
pop ecx
mov byte [ebp - 0x64], 0
lea edi, [ebp - 0x63]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x31
pop ecx
xor eax, eax
mov byte [ebp - 0x12c], 0
lea edi, [ebp - 0x12b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xa
stosb byte es:[edi], al
lea eax, [ebp + 0x64]
push 0
push eax
call fcn.004058a0
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
push str..display.ini
push 0xa
lea eax, [ebp + 0x64]
push eax
mov ebx, 0x41a74c
push ebx
push str.Width
mov edi, 0x41a710
push edi
call esi
lea eax, [ebp + 0x64]
push eax
call fcn.00405743
push 0xa
mov dword [ebp - 0x1cc], eax
lea eax, [ebp + 0x64]
push 0
push eax
call fcn.004058a0
add esp, 0x10
push str..display.ini
push 0xa
lea eax, [ebp + 0x64]
push eax
push ebx
push str.Height
push edi
call esi
lea eax, [ebp + 0x64]
push eax
call fcn.00405743
push 0xa
mov dword [ebp - 0x1d0], eax
lea eax, [ebp + 0x64]
push 0
push eax
call fcn.004058a0
add esp, 0x10
push str..display.ini
push 0xa
lea eax, [ebp + 0x64]
push eax
push ebx
push str.Color
push edi
call esi
lea eax, [ebp + 0x64]
push eax
call fcn.00405743
push 0xa
mov dword [ebp - 0x1d8], eax
lea eax, [ebp + 0x64]
push 0
push eax
call fcn.004058a0
add esp, 0x10
push str..display.ini
push 0xa
lea eax, [ebp + 0x64]
push eax
push ebx
push str.Frequency
push edi
call esi
lea eax, [ebp + 0x64]
push eax
call fcn.00405743
mov esi, dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
pop ecx
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1c8]
push eax
push 0xffffffffffffffff
xor edi, edi
push edi
call esi
cmp word [ebp - 0x1cc], di
je 0x401823
movzx eax, word [ebp - 0x1cc]
mov dword [ebp - 0x15c], eax
cmp word [ebp - 0x1d0], di
je 0x401839
movzx eax, word [ebp - 0x1d0]
mov dword [ebp - 0x158], eax
movzx eax, word [ebp - 0x1d4]
movzx ebx, word [ebp - 0x1d8]
push edi
push edi
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x150], eax
push edi
lea eax, [ebp - 0x1c8]
push eax
push edi
mov dword [ebp - 0x160], ebx
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsExA]
lea eax, [ebp - 0x1c8]
push eax
push 0xffffffffffffffff
push edi
call esi
cmp word [ebp - 0x1cc], di
je 0x4018a9
cmp word [ebp - 0x1d0], di
je 0x4018a9
movzx eax, word [ebp - 0x1d0]
push eax
movzx eax, word [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x64]
push str._dx_d
push eax
call fcn.004057d8
add esp, 0x10
cmp word [ebp - 0x1d8], di
je 0x4018cb
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x12c]
push str._sx_d
push eax
call fcn.004057d8
add esp, 0x10
cmp word [ebp - 0x1d4], di
je 0x4018f2
push dword [ebp - 0x1dc]
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x64]
push str._sx__dhz
push eax
call fcn.004057d8
add esp, 0x10
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x1e0]
push edi
push 0x180
push dword [eax + 0x90]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 0x70]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040526e
add ebp, 0x74
leave
ret 4