Function at 0x4737f0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473e9e
push eax
mov dword fs:[0], esp
sub esp, 0x3a4
push ebx
push esi
push edi
mov esi, ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
call fcn.00519aa0
add esp, 4
mov ecx, dword [esi + 0x90]
push str.Screen_Size
push 1
call fcn.00468b20
cmp eax, 0x320
jg 0x473846
je 0x473872
cmp eax, 0x280
je 0x473856
jmp 0x4738c4
cmp eax, 0x400
je 0x47388e
cmp eax, 0x500
je 0x4738aa
jmp 0x4738c4
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x280
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x1e0
jmp 0x4738c4
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x320
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x258
jmp 0x4738c4
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x400
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x300
jmp 0x4738c4
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x500
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x400
push str.Rollover_Text
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
mov dword [esi + 0x8d0], 0
cmp eax, 2
je 0x4738ef
mov dword [esi + 0x8d0], 1
push str.Mouse_Style
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
cmp eax, 2
jne 0x473914
mov eax, dword [esi + 0xc]
mov word [eax + 0x8dc], 2
jmp 0x473925
cmp eax, 1
jne 0x473925
mov eax, dword [esi + 0xc]
mov word [eax + 0x8dc], 1
push str.Game_Speed
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
cmp eax, 0xffffffff
je 0x47394e
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul dword [0x534ddc]
fstp dword [esi + 0x8d4]
push str.Music_Volume
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
cmp eax, 0xffffffff
je 0x47396d
neg eax
mov dword [esi + 0x8d8], eax
push str.Sound_Volume
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
cmp eax, 0xffffffff
je 0x47398c
neg eax
mov dword [esi + 0x8dc], eax
push str.Difficulty
mov ecx, dword [esi + 0x90]
push 1
call fcn.00468b20
cmp eax, 0xffffffff
je 0x4739a9
mov dword [esi + 0x8e0], eax
mov ebx, dword [esi]
mov ecx, esi
call dword [ebx + 0x58]
test eax, eax
jne 0x4739ce
mov dword [esi + 0x40], 2
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi + 0x1c5]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6e340c], eax
test eax, eax
jne 0x4739ed
mov dword [esi + 0x40], 1
jmp 0x4739bb
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x87c]
test ecx, ecx
je 0x473a0e
mov ecx, esi
call fcn.004771d0
test eax, eax
jmp 0x473a0e
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x88c]
test ecx, ecx
je 0x473a2f
mov ecx, esi
call fcn.00477240
test eax, eax
jne 0x473a2f
mov dword [esi + 0x40], 4
jmp 0x4739bb
push 0
lea eax, [esi + 0x38]
push eax
mov edi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0
push 0x10
call edi
mov eax, dword [esi + 0x38]
test eax, eax
je 0x473a52
push 2
push 0
push 0
push 0x11
call edi
push 0
lea eax, [esi + 0x3c]
push eax
push 0
push 0x53
call edi
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x473a6f
push 2
push 0
push 0
push 0x55
call edi
push 0
mov ecx, esi
call fcn.004770b0
mov ecx, esi
mov dword [esi + 0x880], eax
call dword [ebx + 0x5c]
test eax, eax
jne 0x473a93
mov dword [esi + 0x40], 5
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x60]
test eax, eax
jne 0x473aa8
mov dword [esi + 0x40], 6
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x68]
test eax, eax
jne 0x473abd
mov dword [esi + 0x40], 0x11
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x64]
test eax, eax
jne 0x473add
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x4739bb
mov dword [esi + 0x40], 7
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x8c]
test eax, eax
jne 0x473af5
mov dword [esi + 0x40], 7
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x6c]
test eax, eax
jne 0x473b0a
mov dword [esi + 0x40], 8
jmp 0x4739bb
mov ecx, esi
call dword [ebx + pe_nt_image_headers32]
test eax, eax
jne 0x473b22
mov dword [esi + 0x40], 0xa
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x78]
test eax, eax
jne 0x473b37
mov dword [esi + 0x40], 0x10
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x7c]
test eax, eax
jne 0x473b4c
mov dword [esi + 0x40], 9
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x84]
test eax, eax
jne 0x473b64
mov dword [esi + 0x40], 0xb
jmp 0x4739bb
mov ecx, esi
call dword [ebx + 0x88]
test eax, eax
jne 0x473b7c
mov dword [esi + 0x40], 0xc
jmp 0x4739bb
push 0x274
call fcn.00513eb0
mov dword [ebp - 0x10], eax
add esp, 4
mov dword [ebp - 4], 0
mov edi, eax
mov eax, 0
test edi, edi
je 0x473ba5
mov ecx, edi
call fcn.004868a0
mov dword [ebp - 4], 0xffffffff
mov dword [0x6e33ec], eax
test eax, eax
je 0x4739bb
mov ecx, esi
call dword [ebx + 0x90]
test eax, eax
jne 0x473bd1
mov dword [esi + 0x40], 0xd
jmp 0x4739bb
push 0
mov ecx, esi
call dword [ebx + 0xc]
mov ecx, esi
call dword [ebx + 0x94]
push 0
mov eax, dword [esi + 0x10]
push 0
mov ecx, esi
push 0
push eax
call dword [ebx + 0xd0]
mov ebx, 1
push 5
mov eax, dword [esi + 0x10]
mov dword [esi + 0x14], ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x10]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [esi + 0xa4]
call fcn.00413ef0
push 0
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x888]
push edx
push ebx
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push str.Game_File_Number
mov ecx, dword [esi + 0x90]
push 0
mov dword [esi + 0x44], eax
call fcn.00468b20
test eax, eax
jl 0x473d0a
push str.Game_File_Number
mov ecx, dword [esi + 0x90]
push 0
call fcn.00468b20
push eax
push str.game_d.nfo
lea eax, [ebp - 0x198]
push eax
call fcn.00519a30
add esp, 0xc
push 0x118
call fcn.00513eb0
mov dword [ebp - 0x10], eax
add esp, 4
mov edi, eax
mov dword [ebp - 4], ebx
mov eax, 0
test edi, edi
je 0x473ca2
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00506d70
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x198]
add eax, 0xc07
push eax
push str._sscenario.inf
push ecx
call fcn.00519a30
add esp, 0xc
push 0x10c
call fcn.00513eb0
mov dword [ebp - 0x10], eax
add esp, 4
mov dword [ebp - 4], 3
mov edi, eax
test edi, edi
je 0x473d96
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00464010
jmp 0x473d98
xor edi, edi
push edi
lea eax, [ebp - 0x198]
push str.game_d.nfo
push eax
call fcn.00519a30
add esp, 0xc
lea eax, [ebp - 0x3b0]
lea ecx, [ebp - 0x198]
nop
push eax
push ecx
call fcn.0051ad90
add esp, 8
cmp eax, 0xffffffff
je 0x473d4b
inc edi
cmp edi, 0x270f
jl 0x473d0c
jmp 0x473cac
push edi
mov ecx, dword [esi + 0x90]
push str.Game_File_Number
push 0
call fcn.00468a40
push 0x118
call fcn.00513eb0
mov dword [ebp - 0x10], eax
add esp, 4
mov dword [ebp - 4], 2
mov edi, eax
mov eax, 0
test edi, edi
je 0x473ca2
jmp 0x473c94
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 8], eax
mov eax, dword [0x6e3404]
test eax, eax
je 0x473e59
mov al, byte [0x6c3cf8]
test al, al
jne 0x473e42
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_OpenFile]
push edi
lea eax, [ebp - 0x298]
push str.drawlog_d.txt
push eax
call fcn.00519a30
add esp, 0xc
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x298]
nop
push 0x4000
push eax
push ecx
call esi
cmp eax, 0xffffffff
je 0x473dff
inc edi
cmp edi, 0x3e8
jl 0x473dc4
jmp 0x473e59
push 0x5473b8
lea eax, [ebp - 0x298]
push eax
lea edi, [ebp - 0x298]
call fcn.00519a10
add esp, 8
mov ecx, 0xffffffff
mov dword [0x6e33f0], eax
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, 0x6c3cf8
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x473e59
push 0x5473b8
push 0x6c3cf8
call fcn.00519a10
add esp, 8
mov dword [0x6e33f0], eax
mov eax, dword [0x547368]
test eax, eax
je 0x473e87
push 0x5473b8
push str.c:_fps.txt
call fcn.00519a10
add esp, 8
mov dword [0x54736c], eax
test eax, eax
jne 0x473e87
mov dword [0x547368], 0
mov eax, 1
jmp 0x4739bd