Function at 0x4015a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x244
push 0
push 0x46e740
call fcn.0042bfd0
mov ebx, dword [ebp + 8]
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xor eax, eax
cmp byte [0x46e740], al
mov byte [0x46e741], 1
push ebx
setne al
mov dword [0x46e754], 1
push eax
push str.ScanLine
push 0x448410
mov dword [0x46e760], 6
mov dword [0x46e764], 1
mov byte [0x46e768], 1
mov byte [0x46e97f], 1
mov byte [0x46e981], 1
mov byte [0x46e983], 1
call edi
test eax, eax
push ebx
setne byte [0x46e740]
xor eax, eax
cmp byte [0x46e741], al
setne al
push eax
push str.CompressState
push 0x448410
call edi
push ebx
push dword [0x46e74c]
test eax, eax
push str.WindowMode
push 0x448434
setne byte [0x46e741]
call edi
push ebx
push dword [0x46e750]
mov dword [0x46e74c], eax
push str.WindowStretchType
push 0x448434
call edi
push ebx
push dword [0x46e754]
mov dword [0x46e750], eax
push str.FullScreenStretchType
push 0x448434
call edi
push ebx
push dword [0x46e758]
mov dword [0x46e754], eax
push str.RotateType
push 0x448434
call edi
push ebx
push dword [0x46e75c]
mov dword [0x46e758], eax
push str.FilterType
push 0x448434
call edi
push ebx
push dword [0x46e760]
mov dword [0x46e75c], eax
push str.Frequency
push 0x44848c
call edi
push ebx
push dword [0x46e764]
mov dword [0x46e760], eax
push str.Latency
push 0x44848c
call edi
mov dword [0x46e764], eax
push ebx
xor eax, eax
cmp byte [0x46e768], al
setne al
push eax
push str.StrictRendering
push 0x44848c
call edi
push ebx
push dword [0x46e76c]
test eax, eax
push 1
push str.VolumeLeft_d
setne byte [0x46e768]
call fcn.004011d0
add esp, 8
push eax
push 0x44848c
call edi
push ebx
push dword [0x46e770]
mov esi, eax
push 1
push str.VolumeRight_d
call fcn.004011d0
add esp, 8
push eax
push 0x44848c
call edi
xor ecx, ecx
mov edx, 0xffffffd8
test esi, esi
push ebx
cmovg esi, ecx
cmp esi, edx
push 0x104
cmovl esi, edx
test eax, eax
push 0x46e878
cmovg eax, ecx
mov dword [0x46e76c], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp eax, edx
push str.mamefm.dll
push str.FMGenDll
cmovl eax, edx
push 0x44848c
mov dword [0x46e770], eax
call esi
push str.mame2151.dll
push 0x104
push 0x46e774
call fcn.0042abbe
add esp, 0xc
push ebx
push 0x104
push 0x46e774
push 0x46e774
push str.YM2151GenDll
push 0x44848c
call esi
push ebx
push 0x104
push 0x46e878
push 0x46e878
push str.YM2608GenDll
push 0x44848c
call esi
xor eax, eax
cmp byte [0x46e97f], al
push ebx
setne al
push eax
push str.UseDirect3D9
push str.Win32
call edi
test eax, eax
push ebx
setne byte [0x46e97f]
xor eax, eax
cmp byte [0x46e980], al
setne al
push eax
push str.WaitVSync
push str.Win32
call edi
test eax, eax
push ebx
setne byte [0x46e980]
xor eax, eax
cmp byte [0x46e981], al
setne al
push eax
push str.UseDirectInput
push str.Win32
call edi
test eax, eax
push ebx
setne byte [0x46e981]
xor eax, eax
cmp byte [0x46e982], al
setne al
push eax
push str.DisableDwm
push str.Win32
call edi
test eax, eax
push ebx
setne byte [0x46e982]
xor eax, eax
cmp byte [0x46e983], al
setne al
push eax
push str.ShowStatusBar
push str.Win32
call edi
pop edi
test eax, eax
pop esi
setne byte [0x46e983]
pop ebx
pop ebp
ret