Function at 0x432fd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x534
mov eax, dword [0x468d2c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push 0x430c10
call fcn.004378da
push str.loading_configs_n
call fcn.00431bf0
add esp, 8
push 0x400
push 0x469688
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, 0x469688
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433020
sub ecx, edx
add ecx, 0xffffffff
js 0x43304b
nop
mov al, byte [ecx + 0x469688]
cmp al, 0x5c
je 0x433167
cmp al, 0x2f
je 0x433167
sub ecx, 1
jns 0x433030
push 0x469688
push str.working_directory:__s_n
call fcn.00431bf0
add esp, 8
mov ecx, 0x468048
call fcn.00431430
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x4330d5
push str._turbo
push dword [edi + esi*4]
call fcn.004465db
add esp, 8
test eax, eax
jne 0x43309b
push str.Turbo_mode_enabled_n
mov byte [0x468c55], 1
call fcn.00434d30
add esp, 4
push 5
push str._game
push dword [edi + esi*4]
call fcn.00446878
add esp, 0xc
test eax, eax
jne 0x4330d0
mov eax, dword [edi + esi*4]
add eax, 5
push eax
call fcn.00445f44
push eax
push str.Sub_game__i_selected_n
mov dword [0x468c58], eax
call fcn.00434d30
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x433073
push 0xffffffffffffffff
mov ecx, 0x469c80
call fcn.00430f10
mov ecx, 0x469c80
mov dword [0x469c80], 3
mov dword [0x469c84], 0x1010000
mov byte [0x469c88], 1
call fcn.004315a0
push str.sdl_init_n
call fcn.00431bf0
push 0x45c180
push str.SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS
call sub.SDL2.dll_SDL_SetHint
push 0x45c180
push str.SDL_TIMER_RESOLUTION
call sub.SDL2.dll_SDL_SetHint
push 0x45c180
push str.SDL_RENDER_VSYNC
call sub.SDL2.dll_SDL_SetHint
push 0xf231
call sub.SDL2.dll_SDL_Init
push str.gamestate_init_n
call fcn.00431bf0
add esp, 0x24
mov ecx, 0x468c60
call fcn.00431110
test al, al
jne 0x433180
jmp 0x434ccf
inc ecx
cmp ecx, 0x400
jae 0x434cd6
mov byte [ecx + 0x469688], 0
jmp 0x43304b
push str.xgui_init_n
call fcn.00431bf0
push dword [0x468c68]
push 0x469688
call fcn.00434fd0
add esp, 0xc
test al, al
je 0x434cdb
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
call fcn.00434e90
movzx eax, byte [0x468c54]
push eax
call fcn.00434f50
push 0
push str.Play
push 0xfa
push 0x1a9
push 0
push 2
call fcn.00434dd0
push 0
push str.Reset
push 0x12c
push 0x1a9
push 0
push 3
mov dword [0x469a88], eax
call fcn.00434dd0
push 0
push str.Quit
push 0x15e
push 0x1a9
push 0
push 3
mov dword [0x469a8c], eax
call fcn.00434dd0
add esp, 0x54
mov dword [0x469a90], eax
push 0
push str.Fullscreen
push 0x1f4
push 0x1a9
push 0
push 4
call fcn.00434dd0
push 0
push str.Window_2x
push 0x226
push 0x1a9
push 0
push 4
mov dword [0x469a94], eax
call fcn.00434dd0
push 0
push str.Window_3x
push 0x258
push 0x1a9
push 0
push 4
mov dword [0x469a98], eax
call fcn.00434dd0
add esp, 0x48
mov dword [0x469a9c], eax
push 0
push str.Window_4x
push 0x28a
push 0x1a9
push 0
push 4
call fcn.00434dd0
cmp byte [0x468d18], 0
mov ecx, str.CRT_mask
mov dword [0x469aa0], eax
mov eax, str.Smooth
push 0
cmovne eax, ecx
push eax
push 0x226
push 0x352
push 0
push 4
call fcn.00434dd0
mov dword [0x469aa4], eax
push 0
push str.Stretch
push 0x258
push 0x352
push 0
push 4
call fcn.00434dd0
add esp, 0x48
mov dword [0x469aa8], eax
push 0
push str.Artwork
push 0x28a
push 0x352
push 0
push 4
call fcn.00434dd0
push 2
push str.Set_input
push 0x28a
push 0x5d7
push 0
push 2
mov dword [0x469aac], eax
call fcn.00434dd0
add esp, 0x30
mov dword [0x469ab0], eax
mov edi, 0x2d0
xor esi, esi
nop
push 0
push 0x4553bc
push 0x384
lea eax, [edi - 0x8c]
push eax
push 0
push 5
call fcn.00434dd0
push 1
push str.Load
mov dword [esi + 0x469ab4], eax
lea eax, [edi - 0x118]
push 0x30c
push eax
push 0
push 2
call fcn.00434dd0
push 2
push str.Save
push 0x3d4
push edi
push 0
push 2
mov dword [esi + 0x469ac0], eax
call fcn.00434dd0
mov dword [esi + 0x469acc], eax
add esp, 0x48
add esi, 4
add edi, 0x17c
cmp esi, 0xc
jl 0x433350
mov dword [0x469ad8], 0
xor ebx, ebx
mov dword [0x469adc], 0
xor edi, edi
mov dword [0x468040], 0xffffffff
mov dword [0x469c70], 0
call sub.ew_core.dll_ew_button_get_count
test eax, eax
jle 0x43345a
mov esi, 0x468454
nop dword [eax + eax]
push 0x80
push edi
call sub.ew_core.dll_ew_button_get_name
add esp, 4
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0043b910
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433423
sub ecx, edx
je 0x433443
push 0x80
lea eax, [ebp - 0x84]
push esi
push eax
call fcn.0043b910
add esp, 0xc
cmp byte [ebp - 0x84], 0x2d
je 0x43344d
inc ebx
inc edi
add esi, 0x40
call sub.ew_core.dll_ew_button_get_count
cmp edi, eax
jl 0x433400
lea eax, [ebx + ebx*2]
mov ebx, 0x30c
shl eax, 4
sub ebx, eax
mov eax, 0x32
push 0
cmp ebx, eax
push str.Player_1
cmovl ebx, eax
push ebx
push 0x1a9
push 1
push 4
mov dword [ebp - 0x520], ebx
call fcn.00434dd0
push 1
push eax
mov dword [0x469ad8], eax
call fcn.00436840
add esp, 0x20
cmp dword [0x468048], 1
jle 0x4334c4
push 0
push str.Player_2
push ebx
push 0x2ee
push 1
push 4
call fcn.00434dd0
add esp, 0x18
mov dword [0x469adc], eax
xor esi, esi
add ebx, 0x4b
mov dword [ebp - 0x528], esi
call sub.ew_core.dll_ew_button_get_count
test eax, eax
jle 0x433604
mov edi, 0x469b68
mov dword [ebp - 0x51c], 0x468454
nop dword [eax + eax]
push 0x80
push esi
call sub.ew_core.dll_ew_button_get_name
add esp, 4
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0043b910
mov edx, dword [ebp - 0x51c]
add esp, 0xc
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x530], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433520
sub ecx, dword [ebp - 0x530]
je 0x433544
push 0x80
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.0043b910
add esp, 0xc
cmp byte [ebp - 0x84], 0x2d
lea eax, [ebp - 0x84]
push 0x80
push 0x45cba4
push eax
setne byte [ebp - 0x524]
call fcn.004466c0
push 0
lea eax, [ebp - 0x84]
push eax
push ebx
push 0x1a9
push 1
push 1
call fcn.00434dd0
push dword [ebp - 0x524]
mov dword [esi*4 + 0x469ae8], eax
push eax
call fcn.00436c30
add esp, 0x2c
mov esi, 0x325
nop dword [eax + eax]
push 0
push 0x4553bc
push ebx
push esi
push 1
push 2
call fcn.00434dd0
push dword [ebp - 0x524]
mov dword [edi], eax
push eax
call fcn.00436c30
add esi, 0x12c
add esp, 0x20
add edi, 4
cmp esi, 0x57d
jl 0x4335a0
mov esi, dword [ebp - 0x528]
lea eax, [ebx + 0x30]
add dword [ebp - 0x51c], 0x40
inc esi
cmp byte [ebp - 0x524], 0
mov dword [ebp - 0x528], esi
cmove eax, ebx
mov ebx, eax
call sub.ew_core.dll_ew_button_get_count
cmp esi, eax
jl 0x4334f0
call fcn.00432920
push 2
push str._Back
push dword [ebp - 0x520]
push 0x5d7
push 1
push 2
call fcn.00434dd0
push 2
push str.Preset
push 0x384
push 0x5d7
push 1
push 3
mov dword [0x469ae0], eax
call fcn.00434dd0
push 2
push str._Clear
push 0x3b6
push 0x5d7
push 1
push 3
mov dword [0x469ae4], eax
call fcn.00434dd0
add esp, 0x48
mov dword [0x469c68], eax
push 2
push str.Guide
push 0x3e8
push 0x5d7
push 1
push 4
call fcn.00434dd0
push str.loading_game_n
mov dword [0x469c6c], eax
call fcn.00431bf0
add esp, 0x1c
mov ecx, 0x468c60
call fcn.00431960
test al, al
je 0x434ce2
push str.sound_init_n
call fcn.00431bf0
push 0x30
lea eax, [ebp - 0x4b4]
push 0
push eax
call fcn.00437ef0
xorps xmm0, xmm0
mov dword [ebp - 0x4b8], 0
movups xmmword [ebp - 0x4c8], xmm0
mov eax, 0x8010
mov dword [ebp - 0x4cc], 0xac44
mov word [ebp - 0x4c8], ax
lea eax, [ebp - 0x4a8]
push 0
push eax
lea eax, [ebp - 0x4cc]
mov byte [ebp - 0x4c6], 2
push eax
push 0
push 0
call sub.SDL2.dll_SDL_OpenAudioDevice
mov ecx, dword [0x468ce4]
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4a8]
push ecx
push str.sound_stream_set_to__i_FPS_n
mov dword [ebp - 0x4b4], 0
lea eax, [eax + eax*4]
mov dword [ebp - 0x490], 0
shl eax, 2
cdq
idiv ecx
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x4b0], eax
call fcn.00431bf0
movzx eax, byte [ebp - 0x4a2]
imul eax, dword [ebp - 0x4b0]
add eax, eax
push eax
call sub.SDL2.dll_SDL_malloc
mov dword [ebp - 0x4b4], eax
call fcn.00431a70
call sub.SDL2.dll_SDL_GetTicks
push str.entering_loop_n
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x456c00]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x51c], xmm0
call fcn.00431bf0
lea eax, [ebp - 0x518]
push eax
push 0
call sub.SDL2.dll_SDL_GetCurrentDisplayMode
add esp, 0x3c
cmp byte [0x468ce0], 0
jne 0x434c9b
mov edi, dword [sym.imp.USER32.dll_ShowCursor]
nop dword [eax]
nop dword [eax + eax]
movd xmm0, dword [0x468ce4]
lea eax, [ebp - 0x504]
movss xmm1, dword [0x45cc0c]
cvtdq2ps xmm0, xmm0
push eax
divss xmm1, xmm0
addss xmm1, dword [ebp - 0x51c]
movss dword [ebp - 0x51c], xmm1
call sub.SDL2.dll_SDL_PollEvent
add esp, 4
test eax, eax
je 0x433c75
nop
mov eax, dword [ebp - 0x504]
cmp eax, 0x401
ja 0x433bbf
je 0x433b43
cmp eax, 0x100
je 0x433b37
cmp eax, 0x300
je 0x43390e
cmp eax, 0x400
jne 0x433c5e
cmp byte [0x469c86], 0
mov eax, 0xf2b9d649
jne 0x4338ba
imul ecx, dword [0x468c9c], 0x780
imul ecx
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
sub eax, dword [0x468c98]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x4f0]
imul eax, eax, 0x780
cdq
idiv ecx
mov dword [0x468c8c], eax
imul eax, dword [ebp - 0x4ec], 0x438
cdq
idiv dword [0x468c9c]
mov dword [0x468c90], eax
jmp 0x433c5e
imul ecx, dword [ebp - 0x510], 0x780
imul ecx
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
sub eax, dword [ebp - 0x514]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x4f0]
imul eax, eax, 0x780
cdq
idiv ecx
mov dword [0x468c8c], eax
imul eax, dword [ebp - 0x4ec], 0x438
cdq
idiv dword [ebp - 0x510]
mov dword [0x468c90], eax
jmp 0x433c5e
mov eax, dword [ebp - 0x4f4]
add eax, 0xffffffd8
cmp eax, 0x20
ja case.0x433927.42
movzx eax, byte [eax + 0x434d0c]
jmp dword [eax*4 + 0x434cf8]
cmp byte [0x468ce1], 0
sete byte [0x468ce1]
jmp case.0x433927.42
mov eax, dword [ebp - 0x4f0]
add eax, 0xbfffffc6
cmp eax, 3
jge case.0x433927.42
test byte [ebp - 0x4ec], 3
je 0x433970
push eax
push 0
mov ecx, 0x468c60
call fcn.004325b0
jmp case.0x433927.42
mov ecx, dword [0x468c58]
test ecx, ecx
jg 0x4339ad
push eax
push 0x469688
push str._sres_uS
lea eax, [ebp - 0x484]
push 0x400
push eax
call fcn.00434d60
add esp, 0x14
lea eax, [ebp - 0x484]
push eax
call sub.ew_core.dll_ew_state_load
add esp, 4
jmp case.0x433927.42
push ecx
push eax
push 0x469688
push str._sres_uS_u
lea eax, [ebp - 0x484]
push 0x400
push eax
call fcn.00434d60
add esp, 0x18
lea eax, [ebp - 0x484]
push eax
call sub.ew_core.dll_ew_state_load
add esp, 4
jmp case.0x433927.42
test dword [ebp - 0x4ec], 0x300
je case.0x433927.42
cmp byte [0x469c86], 0
mov ecx, 0x469c80
sete byte [0x469c86]
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x433a34
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
jmp case.0x433927.42
cmp dword [0x468040], 0
jl case.0x433927.42
cmp dword [ebp - 0x4f4], 0x29
jne case.0x433927.42
mov dword [ebp - 0x4f4], 0
mov dword [0x468040], 0xffffffff
call fcn.00432920
test dword [ebp - 0x4ec], 0x3c3
jne 0x433c5e
cmp dword [0x468040], 0
jge 0x433c5e
push dword [ebp - 0x4f4]
call fcn.00432f20
jmp 0x433c5b
mov byte [0x468ce0], 1
jmp 0x433c5e
mov eax, dword [ebp - 0x4f4]
cmp al, 1
jne 0x433b5c
mov dword [0x468c94], 1
jmp 0x433c5e
cmp al, 3
jne 0x433c5e
call fcn.00435320
test al, al
je 0x433b7d
push 0
call fcn.00434f10
mov byte [0x468ce1], 0
jmp 0x433b8b
push 1
call fcn.00434f10
mov byte [0x468ce1], 1
add esp, 4
cmp byte [0x469c86], 0
sete bl
call fcn.00435320
test al, al
jne 0x433bb2
test bl, bl
jne 0x433bb2
push 0
call edi
test eax, eax
jns 0x433ba5
jmp 0x433c5e
push 1
call edi
test eax, eax
js 0x433bb2
jmp 0x433c5e
sub eax, 0x605
je 0x433c2f
sub eax, 1
je 0x433c06
sub eax, 0x4d
jne 0x433c5e
mov esi, dword [ebp - 0x4fc]
cmp esi, 4
jge 0x433c5e
mov eax, dword [esi*4 + 0x468cf8]
test eax, eax
je 0x433bf7
push eax
call sub.SDL2.dll_SDL_GameControllerClose
add esp, 4
push esi
call sub.SDL2.dll_SDL_GameControllerOpen
mov dword [esi*4 + 0x468cf8], eax
jmp 0x433c5b
mov esi, dword [ebp - 0x4fc]
cmp esi, 4
jge 0x433c5e
mov eax, dword [esi*4 + 0x468ce8]
test eax, eax
je 0x433c5e
push eax
call sub.SDL2.dll_SDL_JoystickClose
mov dword [esi*4 + 0x468ce8], 0
jmp 0x433c5b
mov esi, dword [ebp - 0x4fc]
cmp esi, 4
jge 0x433c5e
mov eax, dword [esi*4 + 0x468ce8]
test eax, eax
je 0x433c4e
push eax
call sub.SDL2.dll_SDL_JoystickClose
add esp, 4
push esi
call sub.SDL2.dll_SDL_JoystickOpen
mov dword [esi*4 + 0x468ce8], eax
add esp, 4
lea eax, [ebp - 0x504]
push eax
call sub.SDL2.dll_SDL_PollEvent
add esp, 4
test eax, eax
jne 0x433820
cmp dword [0x468040], 0
jge 0x433d4a
call fcn.00432d30
mov esi, eax
call fcn.00432da0
mov cl, byte [0x46aa90]
test cl, cl
jne 0x433d2a
test eax, eax
jne 0x433ca8
test esi, esi
je 0x433d3d
mov byte [0x46aa90], 1
test eax, eax
je 0x433cbc
push eax
call fcn.004357e0
add esp, 4
cmp esi, 1
jne 0x433ccb
call fcn.00434f60
jmp 0x433d3d
cmp esi, 2
jne 0x433d3d
call fcn.00435320
test al, al
je 0x433ce9
push 0
call fcn.00434f10
mov byte [0x468ce1], 0
jmp 0x433cf7
push 1
call fcn.00434f10
mov byte [0x468ce1], 1
add esp, 4
cmp byte [0x469c86], 0
sete bl
call fcn.00435320
test al, al
jne 0x433d20
test bl, bl
jne 0x433d20
push 0
call edi
test eax, eax
jns 0x433d11
jmp 0x433d3d
push 1
call edi
test eax, eax
js 0x433d20
jmp 0x433d3d
test eax, eax
jne 0x433d3d
movzx eax, cl
xor ecx, ecx
test esi, esi
cmove eax, ecx
mov byte [0x46aa90], al
cmp dword [0x468040], 0
jl 0x433e27
push 1
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x4b8], 0
xorps xmm0, xmm0
mov ecx, 0x468c60
push eax
movups xmmword [ebp - 0x4c8], xmm0
call fcn.00430970
mov ecx, dword [0x469c78]
sub ecx, 0
je 0x433e10
sub ecx, 1
je 0x433daa
sub ecx, 1
jne 0x433eed
test al, al
jne 0x433eed
mov dword [0x468040], 0xffffffff
call fcn.00432920
jmp 0x433eed
test al, al
je 0x433eed
push dword [0x469adc]
call fcn.004352d0
mov ecx, dword [0x469c74]
add esp, 4
movups xmm0, xmmword [ebp - 0x4c8]
neg eax
sbb eax, eax
neg eax
shl eax, 5
add eax, dword [0x468040]
lea eax, [ecx + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x4b8]
movups xmmword [ecx*4 + 0x469c8c], xmm0
mov dword [ecx*4 + 0x469c9c], eax
mov ecx, 0x469c80
call fcn.00431c50
mov dword [0x469c78], 2
jmp 0x433eed
test al, al
jne 0x433eed
mov dword [0x469c78], 1
jmp 0x433eed
xor ebx, ebx
mov dword [ebp - 0x524], ebx
cmp dword [0x468048], ebx
jle 0x433eed
mov esi, 0x469c8c
mov dword [ebp - 0x520], esi
nop word [eax + eax]
mov dword [ebp - 0x528], 0
call sub.ew_core.dll_ew_button_get_count
test eax, eax
jle 0x433ece
xor bl, bl
mov edi, 2
nop word [eax + eax]
push 0
push esi
mov ecx, 0x468c60
call fcn.00430970
test al, al
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
add esi, 0x14
mov byte [ebp - 0x534], bl
sub edi, eax
jne 0x433e70
push dword [ebp - 0x534]
mov ebx, dword [ebp - 0x528]
push ebx
push dword [ebp - 0x524]
call sub.ew_core.dll_ew_button_set_state
add esp, 0xc
inc ebx
mov dword [ebp - 0x528], ebx
call sub.ew_core.dll_ew_button_get_count
cmp ebx, eax
jl 0x433e63
mov ebx, dword [ebp - 0x524]
mov esi, dword [ebp - 0x520]
inc ebx
add esi, 0x500
mov dword [ebp - 0x524], ebx
mov dword [ebp - 0x520], esi
cmp ebx, dword [0x468048]
jl 0x433e50
cmp byte [0x468ce1], 0
jne 0x433f27
mov eax, dword [0x468c78]
cmp eax, 0x12c
jne 0x433f16
mov esi, 4
call sub.ew_core.dll_ew_core_emulate
sub esi, 1
jne 0x433f07
mov eax, dword [0x468c78]
test eax, eax
jne 0x433f21
call sub.ew_core.dll_ew_core_emulate
jmp 0x433f27
dec eax
mov dword [0x468c78], eax
push dword [0x468c94]
push dword [0x468c90]
push dword [0x468c8c]
push dword [0x468c9c]
push dword [0x468c98]
call fcn.00436950
add esp, 0x14
mov dword [0x468c94], 0
call fcn.00435320
test al, al
je 0x434adc
push dword [0x469a94]
call fcn.004352f0
add esp, 4
test al, al
je 0x43405f
mov ecx, 0x469c80
mov byte [0x469c86], 1
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x433fb6
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469a98]
call fcn.004352f0
add esp, 4
test al, al
je 0x43416e
mov ecx, 0x469c80
mov dword [0x469c80], 2
call fcn.00431c50
mov ecx, 0x469c80
mov byte [0x469c86], 0
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4340c5
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469a9c]
call fcn.004352f0
add esp, 4
test al, al
je 0x43427d
mov ecx, 0x469c80
mov dword [0x469c80], 3
call fcn.00431c50
mov ecx, 0x469c80
mov byte [0x469c86], 0
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4341d4
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469aa0]
call fcn.004352f0
add esp, 4
test al, al
je 0x43438c
mov ecx, 0x469c80
mov dword [0x469c80], 4
call fcn.00431c50
mov ecx, 0x469c80
mov byte [0x469c86], 0
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4342e3
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469aa4]
call fcn.004352f0
add esp, 4
test al, al
je 0x43448e
cmp byte [0x469c84], 0
mov ecx, 0x469c80
sete byte [0x469c84]
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4343e5
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469aa8]
call fcn.004352f0
add esp, 4
test al, al
je 0x434590
cmp byte [0x469c85], 0
mov ecx, 0x469c80
sete byte [0x469c85]
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4344e7
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469aac]
call fcn.004352f0
add esp, 4
test al, al
je 0x434692
cmp byte [0x469c88], 0
mov ecx, 0x469c80
sete byte [0x469c88]
call fcn.00431c50
cmp byte [0x468d18], 0
jne 0x4345e9
cmp byte [0x469c84], 0
mov ecx, 0x45c1a4
mov eax, 0x45c180
cmove eax, ecx
push eax
push str.SDL_RENDER_SCALE_QUALITY
call sub.SDL2.dll_SDL_SetHint
add esp, 8
mov ecx, 0x468c60
call fcn.00432860
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
call sub.ew_core.dll_ew_video_get_screen_width
imul eax, dword [0x469c80]
mov dword [0x468c98], eax
call sub.ew_core.dll_ew_video_get_screen_height
imul eax, dword [0x469c80]
push eax
push dword [0x468c98]
mov dword [0x468c9c], eax
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowSize
push 0x2fff0000
push 0x2fff0000
push dword [0x468c64]
call sub.SDL2.dll_SDL_SetWindowPosition
add esp, 0x30
mov ecx, 0x468c60
call fcn.00432720
push dword [0x469a88]
call fcn.004352f0
add esp, 4
test al, al
je 0x4346b5
push 0
call fcn.00434f10
add esp, 4
mov byte [0x468ce1], 0
push dword [0x469a8c]
call fcn.004352f0
add esp, 4
test al, al
je 0x4346dd
call sub.ew_core.dll_ew_core_reset
push 0
call fcn.00434f10
add esp, 4
mov byte [0x468ce1], 0
push dword [0x469a90]
call fcn.004352f0
movzx ecx, byte [0x468ce0]
add esp, 4
test al, al
mov eax, 1
cmovne ecx, eax
xor esi, esi
mov byte [0x468ce0], cl
push dword [esi*4 + 0x469acc]
call fcn.004352f0
add esp, 4
test al, al
je 0x434729
push esi
push 0
mov ecx, 0x468c60
call fcn.004325b0
call fcn.00431a70
push dword [esi*4 + 0x469ac0]
call fcn.004352f0
add esp, 4
test al, al
je 0x4347a3
mov eax, dword [0x468c58]
test eax, eax
jg 0x434766
push esi
push 0x469688
push str._sres_uS
lea eax, [ebp - 0x484]
push 0x400
push eax
call fcn.00434d60
add esp, 0x14
jmp 0x434786
push eax
push esi
push 0x469688
push str._sres_uS_u
lea eax, [ebp - 0x484]
push 0x400
push eax
call fcn.00434d60
add esp, 0x18
lea eax, [ebp - 0x484]
push eax
call sub.ew_core.dll_ew_state_load
push 0
call fcn.00434f10
add esp, 8
mov byte [0x468ce1], 0
inc esi
cmp esi, 3
jl 0x434704
cmp dword [0x468048], 1
jle 0x434836
push dword [0x469ad8]
call fcn.004352f0
add esp, 4
test al, al
je 0x4347f8
push 1
push dword [0x469ad8]
mov dword [0x469c70], 0
call fcn.00436840
push 0
push dword [0x469adc]
call fcn.00436840
add esp, 0x10
call fcn.00432920
push dword [0x469adc]
call fcn.004352f0
add esp, 4
test al, al
je 0x434836
push 0
push dword [0x469ad8]
mov dword [0x469c70], 1
call fcn.00436840
push 1
push dword [0x469adc]
call fcn.00436840
add esp, 0x10
call fcn.00432920
push dword [0x469ab0]
call fcn.004352f0
add esp, 4
test al, al
je 0x434867
push dword [0x469ae0]
push 1
call fcn.004367b0
add esp, 8
mov dword [0x468040], 0xffffffff
call fcn.00432920
push dword [0x469ae0]
call fcn.004352f0
add esp, 4
test al, al
je 0x434898
push dword [0x469ab0]
push 0
call fcn.004367b0
add esp, 8
mov dword [0x468040], 0xffffffff
call fcn.00432920
push dword [0x469ae4]
call fcn.004352f0
add esp, 4
test al, al
je 0x4348d8
push dword [0x469adc]
call fcn.004352d0
add esp, 4
mov ecx, 0x469c80
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00430f10
mov ecx, 0x469c80
call fcn.00431c50
call fcn.00432920
push dword [0x469c68]
call fcn.004352f0
add esp, 4
test al, al
je 0x434918
push dword [0x469adc]
call fcn.004352d0
add esp, 4
mov ecx, 0x469c80
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00430c30
mov ecx, 0x469c80
call fcn.00431c50
call fcn.00432920
push dword [0x469c6c]
call fcn.004352f0
add esp, 4
test al, al
je 0x43493b
xor byte [0x469c87], 1
mov ecx, 0x469c80
call fcn.00431c50
xor ebx, ebx
call sub.ew_core.dll_ew_button_get_count
test eax, eax
jle 0x4349a0
mov edi, 0x469b68
mov dword [ebp - 0x520], edi
xor esi, esi
push dword [edi]
call fcn.004352f0
add esp, 4
test al, al
jne 0x43496c
inc esi
add edi, 4
cmp esi, 2
jl 0x434953
jmp 0x434987
mov dword [0x468040], ebx
mov dword [0x469c74], esi
mov dword [0x469c78], 0
call fcn.00432920
mov edi, dword [ebp - 0x520]
inc ebx
add edi, 8
mov dword [ebp - 0x520], edi
call sub.ew_core.dll_ew_button_get_count
cmp ebx, eax
jl 0x434951
cmp byte [0x469c86], 0
je 0x4349d4
push 1
push dword [0x469a94]
call fcn.00436840
push 0
push dword [0x469a98]
call fcn.00436840
push 0
push dword [0x469a9c]
call fcn.00436840
push 0
jmp 0x434a21
push 0
push dword [0x469a94]
call fcn.00436840
cmp dword [0x469c80], 2
sete al
movzx eax, al
push eax
push dword [0x469a98]
call fcn.00436840
cmp dword [0x469c80], 3
sete al
movzx eax, al
push eax
push dword [0x469a9c]
call fcn.00436840
cmp dword [0x469c80], 4
sete al
movzx eax, al
push eax
push dword [0x469aa0]
call fcn.00436840
movzx eax, byte [0x469c84]
add esp, 0x20
push eax
push dword [0x469aa4]
call fcn.00436840
movzx eax, byte [0x469c85]
push eax
push dword [0x469aa8]
call fcn.00436840
movzx eax, byte [0x469c88]
push eax
push dword [0x469aac]
call fcn.00436840
movzx eax, byte [0x469c87]
push eax
push dword [0x469c6c]
call fcn.00436840
add esp, 0x20
call fcn.00435840
test al, al
je 0x434aad
mov eax, dword [0x468cbc]
test eax, eax
je 0x434aad
mov dword [ebp - 0x490], eax
mov eax, dword [0x468cb8]
shr eax, 1
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x48c], eax
call fcn.00435850
test al, al
je 0x434adc
mov eax, dword [0x468cdc]
test eax, eax
je 0x434adc
mov dword [ebp - 0x490], eax
mov eax, dword [0x468cd8]
shr eax, 1
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x48c], eax
cmp byte [0x468ce1], 0
jne 0x434af5
cmp dword [0x468c78], 0
mov byte [ebp - 0x530], 0
je 0x434afc
mov byte [ebp - 0x530], 1
call sub.ew_core.dll_ew_video_get_raster_width
mov esi, eax
call sub.ew_core.dll_ew_video_get_raster_height
test esi, esi
je 0x434b35
test eax, eax
je 0x434b35
cmp dword [0x468c84], esi
jne 0x434b20
cmp dword [0x468c88], eax
je 0x434b35
mov ecx, 0x468c60
mov dword [0x468c84], esi
mov dword [0x468c88], eax
call fcn.00432860
push dword [0x468d08]
call sub.ew_core.dll_ew_video_render
mov eax, dword [0x468c84]
shl eax, 2
push eax
push dword [0x468d08]
push 0
push dword [0x468c6c]
call sub.SDL2.dll_SDL_UpdateTexture
add esp, 0x14
mov ecx, 0x468c60
cmp byte [0x468d18], 0
jne 0x434b74
call fcn.00430810
jmp 0x434b79
call fcn.00430390
push dword [ebp - 0x530]
lea ecx, [ebp - 0x4b4]
call fcn.00430290
call sub.SDL2.dll_SDL_GetTicks
movss xmm2, dword [ebp - 0x51c]
movaps xmm1, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x456c00]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp - 0x520], xmm1
jbe 0x434bd4
subss xmm2, xmm1
movss dword [ebp - 0x51c], xmm2
jmp 0x434c39
movaps xmm0, xmm1
call fcn.00437240
push eax
call sub.SDL2.dll_SDL_Delay
movss xmm0, dword [ebp - 0x520]
cvtps2pd xmm0, xmm0
push ecx
movsd qword [ebp - 0x52c], xmm0
fld qword [ebp - 0x52c]
fstp qword [esp]
call fcn.00443900
movss xmm1, dword [ebp - 0x520]
add esp, 8
fstp qword [ebp - 0x52c]
movsd xmm0, qword [ebp - 0x52c]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x51c]
addss xmm0, xmm1
movss dword [ebp - 0x51c], xmm0
push dword [ebp - 0x4ac]
call sub.SDL2.dll_SDL_GetQueuedAudioSize
movzx ecx, byte [ebp - 0x4a2]
xor edx, edx
shr eax, 1
add esp, 4
div ecx
mov esi, dword [ebp - 0x4b0]
mov edi, eax
mov eax, 0x55555556
imul esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
cmp edi, esi
jge 0x434c88
movss xmm0, dword [ebp - 0x51c]
subss xmm0, dword [0x45cc08]
movss dword [ebp - 0x51c], xmm0
cmp byte [0x468ce0], 0
mov edi, dword [sym.imp.USER32.dll_ShowCursor]
je 0x4337e0
push dword [ebp - 0x4ac]
call sub.SDL2.dll_SDL_CloseAudioDevice
mov eax, dword [ebp - 0x4b4]
add esp, 4
pop edi
pop esi
pop ebx
test eax, eax
je 0x434cbf
push eax
call sub.SDL2.dll_SDL_free
add esp, 4
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.00436e88
mov esp, ebp
pop ebp
ret
push 1
call fcn.0043bc86
call fcn.00437158
push 1
call fcn.0043bc86
push str.couldnt_load_game_n
call fcn.00431bf0
add esp, 4
push 1
call fcn.0043bc86
nop
loope 0x434d33
inc ebx
add bh, bl
cmp al, byte [ebx]
inc ecx
cmp dword [ebx], eax
cmp dword cs:[ebx], eax
or bh, byte [ebx]
inc ebx
add byte [eax], al
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [esp + eax]
add al, 4
add al, 3
int3