Function at 0x42ecaa
Capabilities:
Read .ini file

Disassembly:
push 0
push str.runonce2022
call fcn.0042ec59
and al, 1
mov byte [0x49ffe3], al
push 0
push str.runonce2023
call fcn.0042ec59
and al, 1
mov byte [0x49ffe4], al
push 0
push str.runonce2024
call fcn.0042ec59
and al, 1
mov byte [0x49ffe5], al
push 0x64
push str.MainWin_X
call fcn.0042ec59
mov dword [0x4a0b60], eax
push 0x64
push str.MainWin_Y
call fcn.0042ec59
mov dword [0x4a0b64], eax
push 0x140
push str.MainWin_W
call fcn.0042ec59
mov dword [0x4a0b68], eax
push 0xf0
push str.MainWin_H
call fcn.0042ec59
mov dword [0x4a0b6c], eax
cmp dword [0x4a0b68], 0x140
jae 0x42ed43
mov dword [0x4a0b68], 0x140
cmp dword [0x4a0b6c], 0xf0
jae 0x42ed59
mov dword [0x4a0b6c], 0xf0
push 0
push 0x5b7660
push 0
push 0x30
call sub.user32.dll_SystemParametersInfoA
mov eax, dword [0x4a0b60]
cmp eax, dword [0x5b7668]
jb 0x42ed80
mov dword [0x4a0b60], 0x64
mov eax, dword [0x4a0b64]
cmp eax, dword [0x5b766c]
jb 0x42ed97
mov dword [0x4a0b64], 0x64
push 0
push str.Associate_SZX
call fcn.0042ec59
and al, 1
mov byte [0x4c725b], al
push 0
push str.Associate_SNA
call fcn.0042ec59
and al, 1
mov byte [0x4c725c], al
push 0
push str.Associate_Z80
call fcn.0042ec59
and al, 1
mov byte [0x4c725d], al
push 0
push str.Associate_SP
call fcn.0042ec59
and al, 1
mov byte [0x4c725e], al
push 0
push str.Associate_SNX
call fcn.0042ec59
and al, 1
mov byte [0x4c725f], al
push 0
push str.Associate_SEM
call fcn.0042ec59
and al, 1
mov byte [0x4c7260], al
push 0
push str.Associate_TAP
call fcn.0042ec59
and al, 1
mov byte [0x4c7261], al
push 0
push str.Associate_TZX
call fcn.0042ec59
and al, 1
mov byte [0x4c7262], al
push 0
push str.Associate_CSW
call fcn.0042ec59
and al, 1
mov byte [0x4c7263], al
push 0
push str.Associate_PZX
call fcn.0042ec59
and al, 1
mov byte [0x4c7264], al
push 0
push str.Associate_DSK
call fcn.0042ec59
and al, 1
mov byte [0x4c7265], al
push 0
push str.Associate_TRD
call fcn.0042ec59
and al, 1
mov byte [0x4c7266], al
push 0
push str.Associate_SCL
call fcn.0042ec59
and al, 1
mov byte [0x4c7267], al
push 0
push str.Associate_RZX
call fcn.0042ec59
and al, 1
mov byte [0x4c7268], al
push 1
push str.PauseOnRollback
call fcn.0042ec59
and al, 1
mov byte [0x4c726a], al
push 1
push str.DlgOnEndRZXPlayback
call fcn.0042ec59
and al, 1
mov byte [0x4c726b], al
push 0
push str.PauseOnLostFocus
call fcn.0042ec59
and al, 1
mov byte [0x4c726c], al
push 1
push str.ConfirmExit
call fcn.0042ec59
and al, 1
mov byte [0x4c7269], al
push 0
push str.KeyShiftMode
call fcn.0042ec59
and al, 1
mov byte [0x4c7259], al
push 1
push str.Issue3Keyboard
call fcn.0042ec59
and al, 1
mov byte [0x4c725a], al
push 0
push str.Controller1Type
call fcn.0042ec59
and eax, 0xff
cmp al, 6
jb 0x42ef2a
mov al, 0
mov byte [0x49f844], al
push 0
push str.Controller2Type
call fcn.0042ec59
and eax, 0xff
cmp al, 6
jb 0x42ef46
mov al, 0
mov byte [0x49fa28], al
push 0
push str.Controller3Type
call fcn.0042ec59
and eax, 0xff
cmp al, 6
jb 0x42ef62
mov al, 0
mov byte [0x49fc0c], al
push 0
push str.Controller4Type
call fcn.0042ec59
and eax, 0xff
cmp al, 6
jb 0x42ef7e
mov al, 0
mov byte [0x49fdf0], al
push 0
push str.LateTimings
call fcn.0042ec59
and al, 1
mov byte [0x4c723b], al
push 1
push str.FlashloadROMBlocks
call fcn.0042ec59
and al, 1
mov byte [0x4c724a], al
push 1
push str.FastTapeLoading
call fcn.0042ec59
mov byte [0x4c724b], al
push 0
push str.AutoloadTapes
call fcn.0042ec59
mov byte [0x4c724c], al
push 1
push str.AutoPlayTapes
call fcn.0042ec59
mov byte [0x4c724d], al
push 1
push str.SpectrumModel
call fcn.0042ec59
mov byte [0x4c7230], al
push 0
push 0x47a5e2
call fcn.0042ec59
mov dword [0x49ff60], eax
push 1
push str.DirectDraw_Acceleration
call fcn.0042ec59
and al, 1
mov byte [0x4c723e], al
push 0
push str.Scanlines
call fcn.0042ec59
mov byte [0x4c723f], al
push 1
push str.ULA_Snow_Effect
call fcn.0042ec59
mov byte [0x4c7245], al
push 0
push str.ULA_Colour_Ramping
call fcn.0042ec59
mov byte [0x4c7246], al
push 0
push str.Rounded_Corners
call fcn.0042ec59
mov byte [0x4c7247], al
push 0
push str.ULAplus_Enabled
call fcn.0042ec59
mov byte [0x4c723a], al
push 0
push str.VSync
call fcn.0042ec59
mov byte [0x4c7241], al
push 0
push str.Dodgy_TV
call fcn.0042ec59
mov byte [0x4c7242], al
push 0
push str.Extremely_Dodgy_TV
call fcn.0042ec59
mov byte [0x4c7243], al
push 0
push str.Display_Border_Icons
call fcn.0042ec59
mov byte [0x4c7244], al
push 0
push 0x47a494
call fcn.0042ec59
mov byte [0x4c7248], al
push 1
push str.Video_Update
call fcn.0042ec59
movzx eax, al
cmp eax, 4
je 0x42f0d9
cmp eax, 2
je 0x42f0d9
cmp eax, 1
jne 0x42f0db
jmp 0x42f0dd
mov al, 4
mov byte [0x4c723d], al
push 0
push str.StartFullscreen
call fcn.0042ec59
mov byte [0x4c7249], al
push 0
push str.StereoMode
call fcn.0042ec59
mov byte [0x4c7250], al
push 0
push str.HighQualityAY
call fcn.0042ec59
mov byte [0x4c7251], al
push 0
push str.SoundEffect
call fcn.0042ec59
mov byte [0x4acf88], al
push 0
push str.AY_In_48_Mode
call fcn.0042ec59
mov byte [0x4c7252], al
push 0
push 0x47a4db
call fcn.0042ec59
mov byte [0x4c7239], al
push 0
push str.Plus3FastDiskLoading
call fcn.0042ec59
mov byte [0x4c7253], al
push 0
push str.AutoloadPlus3DSK
call fcn.0042ec59
mov byte [0x4c7256], al
push 1
push str.GenerateRandomData
call fcn.0042ec59
mov byte [0x4c7258], al
push 0
push str.AutoloadTrdosDSK
call fcn.0042ec59
mov byte [0x4c7257], al
push 0
push str.PentagonFastDiskLoading
call fcn.0042ec59
mov byte [0x4c7254], al
push 0
push str.AddOnFastDiskLoading
call fcn.0042ec59
mov byte [0x4c7255], al
push 0
push str.SoftROMEnabled
call fcn.0042ec59
mov byte [0x4c7232], al
push 0
push str.DivIDEEnabled
call fcn.0042ec59
mov byte [0x4c7233], al
push 0
push str.PLUSDEnabled
call fcn.0042ec59
mov byte [0x4c7235], al
push 0
push str.Preload_D_Image
call fcn.0042ec59
mov byte [0x4c723c], al
push 0
push str.CBIEnabled
call fcn.0042ec59
mov byte [0x4c7236], al
push 0
push str.MicroSourceEnabled
call fcn.0042ec59
mov byte [0x4c7234], al
push 0
push str.uSpeechEnabled
call fcn.0042ec59
mov byte [0x4c7237], al
push 0
push str.SpecDrumEnabled
call fcn.0042ec59
mov byte [0x4c7238], al
push 0
push str.sna128
call fcn.0042ec59
mov byte [0x4c7222], al
push 0x502899
push 0x104
push 0x643050
push 0x47a868
push str.OpenFilePath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643154
push 0x47a868
push str.SnapshotPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643258
push 0x47a868
push str.TapePath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x64335c
push 0x47a868
push str.Plus3DiskPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643460
push 0x47a868
push str.TrdosDiskPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643564
push 0x47a868
push str.PlusDDiskPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643668
push 0x47a868
push str.CBIDiskPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643974
push 0x47a868
push str.LoadBinaryPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643a78
push 0x47a868
push str.SaveBinaryPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x644090
push 0x47a868
push str.IF2ROMPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x644194
push 0x47a868
push str.RZXPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643d84
push 0x47a868
push str.IDE_Unit_0
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643e88
push 0x47a868
push str.IDE_Unit_1
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x643f8c
push 0x47a868
push str.DivIDEFirmware
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x502899
push 0x104
push 0x642c40
push 0x47a868
push str.AssemblerPath
push str.Settings
call sub.kernel32.dll_GetPrivateProfileStringA
cmp byte [0x643f8c], 0
jne 0x42f47c
push 0x643f8c
call fcn.0043df90
push 0x643f8c
call fcn.0043f8e0
push eax
push str.FATware_0_12.bin
call fcn.0043f840
ret