Function at 0x110198a0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x1109e600
push eax
mov dword fs:[0], esp
sub esp, 0x240
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
call fcn.1101fd30
call fcn.1100a210
add eax, 4
push eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019910
lea ecx, [ebp - 0x10]
push ecx
push str.HiResMode
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019910
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019907
mov ecx, dword [ecx]
call fcn.11011f90
mov esi, eax
jmp 0x11019915
mov esi, 1
cmp dword [0x110c6744], 0
jne 0x11019926
test esi, esi
je 0x1101aa00
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019966
lea ecx, [ebp - 0x10]
push ecx
push str.SCR_WIDTH
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019966
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101995f
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019968
xor eax, eax
push 0x110b3d24
mov dword [0x110c0ac0], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x110199ad
lea ecx, [ebp - 0x10]
push ecx
push str.SCR_HEIGHT
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x110199ad
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x110199a6
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x110199af
xor eax, eax
mov ecx, dword [0x110c0ac0]
mov dword [0x110c0abc], eax
test ecx, ecx
je 0x110199c6
test eax, eax
jne 0x11019a63
call fcn.1100a210
add eax, 4
push eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019a0a
lea ecx, [ebp - 0x10]
push ecx
push str.GraphicsWidth
push str.Graphics
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019a0a
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019a03
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019a0f
mov eax, 0x280
mov dword [0x110c0ac0], eax
call fcn.1100a210
add eax, 4
push eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019a58
lea ecx, [ebp - 0x10]
push ecx
push str.GraphicsHeight
push str.Graphics
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019a58
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019a51
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019a5d
mov eax, 0x1e0
mov ecx, dword [0x110c0ac0]
mov edx, 0x280
cmp ecx, edx
push 9
cmovl ecx, edx
mov dword [0x110c0ac0], ecx
mov ecx, 0x1e0
cmp eax, ecx
push 0
cmovl eax, ecx
mov ecx, ebx
push str.__restart
mov dword [0x110c0abc], eax
call fcn.1100f880
cmp eax, 0xffffffff
je 0x11019ab6
push 1
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.110195b0
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x11019ab6
mov ecx, dword [ebp - 0x4c]
inc edx
push 1
call fcn.11004ac0
test esi, esi
je 0x1101aa00
cmp dword [0x110c6744], 0
je 0x11019b97
cmp byte [0x110e44d3], 0
mov ecx, 0x110e43e8
mov eax, 0x110e4429
mov edx, str.HiResInfo
cmove eax, ecx
mov ecx, 0x110b3aa0
push eax
push 0x200
lea eax, [ebp - 0x24c]
push eax
push str.This_version_of_sfall_has_its_own_integrated_High_Resolution_Patch_mode__which_is_compatible_with_the_settings_of_the_High_Resolution_Patch_by_Mash._n_nIf_you_want_to_continue_using_the_Hi_Res_Patch_by_Mash_without_seeing_this_message__disable_the_HiResMode_option_in_ddraw.ini._nOr_you_can_disable_the_external_Hi_Res_Patch_to_get_new_graphics_improvements_from_sfall._n_nDo_you_want_to_disable_the_High_Resolution_Patch_by_Mash_
call fcn.1100a410
xor eax, eax
mov cl, byte [ebp + eax - 0x24c]
cmp cl, 0xa
je 0x11019b3a
test cl, cl
je 0x11019b3a
cmp cl, 0x5c
jne 0x11019b32
cmp byte [ebp + eax - 0x24b], 0x6e
jne 0x11019b32
mov byte [ebp + eax - 0x24c], 0x20
inc eax
mov byte [ebp + eax - 0x24c], 0xa
inc eax
cmp eax, 0x200
jb 0x11019b02
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [ebp - 0x24c]
push 0x2034
push str.sfall:_Conflict_of_High_Resolution_patches
push eax
push 0
call esi
cmp eax, 6
jne 0x1101aa00
mov edx, ebx
mov ecx, edi
call fcn.110196e0
test al, al
jne 0x11019b8f
push 0x2010
push 0x110b3aa0
push str.An_error_occurred_while_trying_to_deactivate_the_High_Resolution_Patch.
push 0
call esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
xor edx, edx
mov byte [0x110e58bf], 1
mov ecx, str.Applying_built_in_High_Resolution_Patch.
call fcn.11011060
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019bec
lea ecx, [ebp - 0x10]
push ecx
push str.WINDOWED
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019bec
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019be5
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019bee
xor eax, eax
xor ebx, ebx
test eax, eax
setne bl
test eax, eax
je 0x11019c30
push 0x110b3d24
push 0
mov edx, str.WINDOWED_FULLSCREEN
mov ecx, str.Main
call fcn.1100a900
test eax, eax
je 0x11019c30
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, 2
push 0
call esi
push 1
mov dword [0x110c0ac0], eax
call esi
mov dword [0x110c0abc], eax
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019c92
lea ecx, [ebp - 0x10]
push ecx
push str.GRAPHICS_MODE
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019c92
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019c69
mov ecx, dword [ecx]
call fcn.11011f90
mov ecx, eax
test ecx, ecx
js 0x11019c92
cmp ecx, 2
jg 0x11019c92
cmp ecx, 1
jg 0x11019c88
lea eax, [ebx + 1]
mov dword [0x110d6528], eax
jmp 0x11019c8d
mov eax, dword [0x110d6528]
cmp ecx, 2
jne 0x11019c9a
lea eax, [ebx + 4]
mov dword [0x110d6528], eax
cmp eax, 1
jne 0x11019cd4
push 0x110b3d24
push 0x20
mov edx, str.COLOUR_BITS
mov ecx, str.Main
call fcn.1100a900
mov dword [0x110c0ab8], eax
cmp eax, 0x20
je 0x11019cd4
cmp eax, 0x18
je 0x11019cd4
cmp eax, 0x10
mov ecx, 0x20
cmovne eax, ecx
mov dword [0x110c0ab8], eax
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019d63
lea ecx, [ebp - 0x10]
push ecx
push str.SCALE_2X
push str.Main
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019d63
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019d0d
mov ecx, dword [ecx]
call fcn.11011f90
test eax, eax
je 0x11019d63
mov ecx, dword [0x110c0abc]
mov eax, dword [0x110c0ac0]
cmp ecx, 0x3c0
jge 0x11019d46
cmp eax, 0x500
jge 0x11019d46
mov dword [0x110c0ac0], 0x280
mov dword [0x110c0abc], 0x1e0
jmp 0x11019d5c
cdq
sub eax, edx
sar eax, 1
mov dword [0x110c0ac0], eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [0x110c0abc], eax
mov byte [0x110e6cac], 1
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019da3
lea ecx, [ebp - 0x10]
push ecx
push str.SCALE_BUTTONS_AND_TEXT_MENU
push str.MAINMENU
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019da3
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019d9c
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019da5
xor eax, eax
test eax, eax
push 0x110b3d24
setne byte [0x110c676d]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019dee
lea ecx, [ebp - 0x10]
push ecx
push str.USE_HIRES_IMAGES
push str.MAINMENU
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019dee
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019de7
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019df3
mov eax, 1
test eax, eax
push 0x110b3d24
setne byte [0x110c676c]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019e3c
lea ecx, [ebp - 0x10]
push ecx
push str.MENU_BG_OFFSET_X
push str.MAINMENU
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019e3c
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019e35
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019e41
mov eax, 0xfffffff2
add dword [0x110c0ad4], eax
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019e87
lea ecx, [ebp - 0x10]
push ecx
push str.MENU_BG_OFFSET_Y
push str.MAINMENU
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019e87
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019e80
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019e8c
mov eax, 0xfffffffc
add dword [0x110c0ad0], eax
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019ed2
lea ecx, [ebp - 0x10]
push ecx
push str.MAIN_MENU_SIZE
push str.MAINMENU
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019ed2
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019ecb
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019ed7
mov eax, 1
push 0x110b3d24
mov dword [0x110c6768], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019f1c
lea ecx, [ebp - 0x10]
push ecx
push str.SPLASH_SCRN_SIZE
push str.STATIC_SCREENS
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019f1c
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019f15
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019f21
mov eax, 1
push 0x110b3d24
mov dword [0x110c677c], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019f66
lea ecx, [ebp - 0x10]
push ecx
push str.HELP_SCRN_SIZE
push str.STATIC_SCREENS
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019f66
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019f5f
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019f6b
mov eax, 1
push 0x110b3d24
mov dword [0x110c6740], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019fb0
lea ecx, [ebp - 0x10]
push ecx
push str.DEATH_SCRN_SIZE
push str.STATIC_SCREENS
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019fb0
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019fa9
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019fb5
mov eax, 1
push 0x110b3d24
mov dword [0x110c673c], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x11019ffa
lea ecx, [ebp - 0x10]
push ecx
push str.END_SLIDE_SIZE
push str.STATIC_SCREENS
mov ecx, eax
call fcn.11003200
test al, al
je 0x11019ffa
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x11019ff3
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x11019fff
mov eax, 1
push 0x110b3d24
mov dword [0x110c6774], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a044
lea ecx, [ebp - 0x10]
push ecx
push str.MOVIE_SIZE
push str.MOVIES
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a044
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a03d
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a049
mov eax, 1
push 0x110b3d24
mov dword [0x110c6770], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a090
lea ecx, [ebp - 0x10]
push ecx
push str.SCROLL_DIST_X
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a090
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a087
mov ecx, dword [ecx]
call fcn.11011f90
mov esi, eax
jmp 0x1101a092
xor esi, esi
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a0d4
lea ecx, [ebp - 0x10]
push ecx
push str.SCROLL_DIST_Y
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a0d4
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a0cb
mov ecx, dword [ecx]
call fcn.11011f90
mov ecx, eax
jmp 0x1101a0d6
xor ecx, ecx
test esi, esi
jg 0x1101a0ee
mov eax, dword [0x110c0ac0]
cdq
sub eax, edx
sar eax, 1
add eax, 0x20
mov dword [0x110c679c], eax
jmp 0x1101a0f4
mov dword [0x110c679c], esi
test ecx, ecx
jg 0x1101a10c
mov eax, dword [0x110c0abc]
cdq
sub eax, edx
sar eax, 1
add eax, 0x18
mov dword [0x110c6798], eax
jmp 0x1101a112
mov dword [0x110c6798], ecx
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a152
lea ecx, [ebp - 0x10]
push ecx
push str.IGNORE_PLAYER_SCROLL_LIMITS
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a152
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a14b
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a154
xor eax, eax
test eax, eax
push 0x110b3d24
setne byte [0x110c6794]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a19d
lea ecx, [ebp - 0x10]
push ecx
push str.IGNORE_MAP_EDGES
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a19d
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a196
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a19f
xor eax, eax
test eax, eax
push 0x110b3d24
setne byte [0x110c676f]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a1e8
lea ecx, [ebp - 0x10]
push ecx
push str.EDGE_CLIPPING_ON
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a1e8
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a1e1
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a1ed
mov eax, 1
test eax, eax
push 0x110b3d24
setne byte [0x110c676e]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a236
lea ecx, [ebp - 0x10]
push ecx
push str.IFACE_BAR_MODE
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a236
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a22f
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a238
xor eax, eax
push 0x110b3d24
mov dword [0x110c675c], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a27d
lea ecx, [ebp - 0x10]
push ecx
push str.IFACE_BAR_SIDE_ART
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a27d
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a276
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a282
mov eax, 1
cmp byte [0x110c6682], 0
mov dword [0x110c6758], eax
jne 0x1101a2a1
cmp dword [0x110c0ac0], 0x320
mov esi, 0x320
jge 0x1101a2a6
mov esi, 0x280
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a2e6
lea ecx, [ebp - 0x10]
push ecx
push str.IFACE_BAR_WIDTH
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a2e6
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a2df
mov ecx, dword [ecx]
call fcn.11011f90
mov esi, eax
push 0x110b3d24
mov dword [0x110c6754], esi
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a32c
lea ecx, [ebp - 0x10]
push ecx
push str.IFACE_BAR_SIDES_ORI
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a32c
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a325
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a32e
xor eax, eax
test eax, eax
push 0x110b3d24
setne byte [0x110c674e]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a377
lea ecx, [ebp - 0x10]
push ecx
push str.ALTERNATE_AMMO_METRE
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a377
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a370
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a379
xor eax, eax
push 0x110b3d24
mov dword [0x110c6750], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a3be
lea ecx, [ebp - 0x10]
push ecx
push str.ALTERNATE_AMMO_LIGHT
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a3be
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a3b7
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a3c3
mov eax, 0xc4
push 0x110b3d24
mov byte [0x110c674d], al
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a408
lea ecx, [ebp - 0x10]
push ecx
push str.ALTERNATE_AMMO_DARK
push str.IFACE
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a408
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a401
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a40d
mov eax, 0x4b
push 0x110b3d24
mov byte [0x110c674c], al
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a452
lea ecx, [ebp - 0x10]
push ecx
push str.DIALOG_SCRN_ART_FIX
push str.OTHER_SETTINGS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a452
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a44b
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a457
mov eax, 1
test eax, eax
push 0x110b3d24
setne byte [0x110c09b2]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a4a0
lea ecx, [ebp - 0x10]
push ecx
push str.DIALOG_SCRN_BACKGROUND
push str.OTHER_SETTINGS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a4a0
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a499
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a4a2
xor eax, eax
test eax, eax
push 0x110b3d24
setne byte [0x110c673a]
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a500
lea ecx, [ebp - 0x10]
push ecx
push str.FADE_TIME_RECALCULATE_ON_FADE
push str.OTHER_SETTINGS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a500
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a4e4
mov ecx, dword [ecx]
call fcn.11011f90
movzx ecx, byte [0x110e42e6]
test eax, eax
mov edx, 1
cmovne ecx, edx
mov byte [0x110e42e6], cl
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a540
lea ecx, [ebp - 0x10]
push ecx
push str.SPLASH_SCRN_TIME
push str.OTHER_SETTINGS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a540
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a539
mov ecx, dword [ecx]
call fcn.11011f90
jmp 0x1101a542
xor eax, eax
mov ecx, 0xa
cmp eax, ecx
push 0x110b3d24
cmovg eax, ecx
mov dword [0x110c6778], eax
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a5ab
lea ecx, [ebp - 0x10]
push ecx
push str.NumPathNodes
push str.MAPS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a5ab
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a58a
mov ecx, dword [ecx]
call fcn.11011f90
cmp eax, 1
jle 0x1101a5ab
cmp eax, 0x14
jge 0x1101a5a1
imul ecx, eax, 0x7d0
jmp 0x1101a5a6
mov ecx, 0x9c40
call fcn.11016ca0
push 0x110b3d24
push 0x110aeab8
push str.f2_res_patches
mov edx, str.Main
lea ecx, [ebp - 0x2c]
call fcn.1100a950
mov esi, eax
push 0x110b3d24
push str.f2_res.dat
push str.f2_res_dat
mov edx, str.Main
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.1100a950
mov byte [ebp - 4], 1
cmp dword [eax + 0x10], 0
je 0x1101a601
push eax
mov ecx, 0x110e4624
call fcn.1102d200
cmp dword [esi + 0x10], 0
je 0x1101a612
push esi
mov ecx, 0x110e4624
call fcn.1102d200
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x1101a625
mov ecx, dword [ebp - 0x4c]
inc edx
push 1
call fcn.11004ac0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
cmp edx, 0x10
jb 0x1101a651
mov ecx, dword [ebp - 0x2c]
inc edx
push 1
call fcn.11004ac0
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a6ff
lea ecx, [ebp - 0x10]
push ecx
push str.EXTRA_WIN_MSG_CHECKS
push str.INPUT
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a6ff
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a68e
mov ecx, dword [ecx]
call fcn.11011f90
test eax, eax
je 0x1101a6ff
mov edx, 0x11019870
mov ecx, 0x4c73b1
call fcn.1100fcb0
mov edx, 0x11019880
mov ecx, 0x4227e5
call fcn.1100fcb0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x34], 0x460eb0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x30], 0x460efe
push eax
push ecx
mov ecx, 0x11019890
mov dword [ebp - 0x2c], 0x460f54
mov dword [ebp - 0x28], 0x460fad
mov dword [ebp - 0x24], 0x46101d
mov dword [ebp - 0x20], 0x4610f9
mov dword [ebp - 0x1c], 0x45fa4d
mov dword [ebp - 0x18], 0x45fba6
call fcn.1100fcf0
push 0x110b3d24
call fcn.1100a210
mov ecx, eax
call fcn.1100a300
test eax, eax
je 0x1101a741
lea ecx, [ebp - 0x10]
push ecx
push str.CPU_USAGE_FIX
push str.OTHER_SETTINGS
mov ecx, eax
call fcn.11003200
test al, al
je 0x1101a741
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x1101a738
mov ecx, dword [ecx]
call fcn.11011f90
test eax, eax
je 0x1101a74b
mov dword [0x110c0b20], 1
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x482e30
call edi
lea eax, [ebp - 0x14]
mov dword [0x482e30], 0x51955c
push eax
push dword [ebp - 0x14]
push 4
push 0x482e30
call edi
mov esi, dword [0x110c0ac0]
cmp esi, 0x280
jne 0x1101a798
cmp dword [0x110c0abc], 0x1e0
je 0x1101a992
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4cad6b
call edi
lea eax, [ebp - 0x14]
mov dword [0x4cad6b], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x4cad6b
call edi
mov esi, dword [0x110c0abc]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4cad66
call edi
lea eax, [ebp - 0x14]
mov dword [0x4cad66], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x4cad66
call edi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4b9245
call edi
lea eax, [ebp - 0x14]
mov dword [0x4b9245], 0x110c0ac0
push eax
push dword [ebp - 0x14]
push 4
push 0x4b9245
call edi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4b923f
call edi
lea eax, [ebp - 0x14]
mov dword [0x4b923f], 0x110c0abc
push eax
push dword [ebp - 0x14]
push 4
push 0x4b923f
call edi
mov esi, dword [0x110c0abc]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x480d6c
call edi
lea eax, [ebp - 0x14]
mov dword [0x480d6c], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x480d6c
call edi
mov esi, dword [0x110c0ac0]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x480d84
call edi
lea eax, [ebp - 0x14]
mov dword [0x480d84], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x480d84
call edi
mov esi, dword [0x110c0abc]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x480afa
call edi
lea eax, [ebp - 0x14]
mov dword [0x480afa], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x480afa
call edi
mov esi, dword [0x110c0ac0]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x480b04
call edi
lea eax, [ebp - 0x14]
mov dword [0x480b04], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x480b04
call edi
mov esi, dword [0x110c0abc]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x47c6e0
call edi
lea eax, [ebp - 0x14]
mov dword [0x47c6e0], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x47c6e0
call edi
mov esi, dword [0x110c0ac0]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x47c6e5
call edi
lea eax, [ebp - 0x14]
mov dword [0x47c6e5], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x47c6e5
call edi
mov esi, dword [0x110c0ac0]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x47c703
call edi
lea eax, [ebp - 0x14]
mov dword [0x47c703], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x47c703
call edi
mov esi, dword [0x110c0abc]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x47c70d
call edi
lea eax, [ebp - 0x14]
mov dword [0x47c70d], esi
push eax
push dword [ebp - 0x14]
push 4
push 0x47c70d
call edi
cmp byte [0x110c6683], 0
je 0x1101a9a7
push 8
push 0x480af6
call fcn.1100fb90
call fcn.1101de80
call fcn.1101c700
call fcn.1101f9f0
call fcn.1101dfe0
call fcn.1101b370
call fcn.11018750
call fcn.1101bce0
call fcn.11017aa0
call fcn.1101bee0
call fcn.1101ca10
call fcn.110190e0
call fcn.110181d0
call fcn.1101d7f0
call fcn.11017bc0
call fcn.1101d030
push 1
xor edx, edx
mov ecx, str._Done
call fcn.11011060
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret