Function at 0x4233b0
Capabilities:
Log keystrokes via polling

Disassembly:
mov edx, dword [0x4405a4]
mov eax, dword [0x49e940]
mov ecx, dword [eax]
neg edx
sbb edx, edx
push esi
and edx, 9
push edi
add edx, 8
push edx
mov edx, dword [0x48e924]
push edx
push eax
mov eax, dword [ecx + 0x50]
call eax
mov esi, eax
test esi, esi
jne 0x4236bf
cmp dword [0x4405a4], eax
je 0x423453
push 1
mov edi, str.SwitchResolutions
call fcn.00424e70
add esp, 4
test eax, eax
je 0x423453
xor ecx, ecx
cmp dword [0x4f2864], 0xc8
mov edi, str.FixAspectRatio
setg cl
push ecx
call fcn.00424e70
add esp, 4
test eax, eax
jne 0x42343a
mov eax, dword [0x49e940]
mov edx, dword [eax]
push 8
push 0x1e0
push 0x280
push eax
mov eax, dword [edx + 0x54]
call eax
test eax, eax
je 0x423453
mov eax, dword [0x49e940]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x54]
push 0x10
push 0x1e0
push 0x280
push eax
call edx
mov eax, dword [0x49e940]
mov edi, 0x6c
mov dword [0x440ba8], edi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push 0x440ba8
push eax
call edx
mov esi, eax
test esi, esi
je 0x423481
push esi
push str.IDirectDraw_GetDisplayMode_____08X
jmp 0x4236c5
cmp dword [0x4405a4], 0
jne 0x4234ce
mov eax, dword [0x440bb4]
cmp eax, 0x320
mov ecx, dword [0x440bfc]
mov edx, dword [0x440bb0]
jb 0x4234af
cmp edx, 0x258
jb 0x4234af
cmp ecx, 0x10
jae 0x4234ce
push ecx
push edx
push eax
push str.Cant_use_DirectDraw_in_a_window_in_less_than_800x600x16__current_mode___dx_dx_d_
push 0x80004005
mov eax, 0x15b5
call fcn.00424f70
add esp, 0x14
jmp 0x4236d3
push edi
push 0
push 0x48e690
call sub.msvcr80.dll_memset
mov eax, dword [0x49e940]
add esp, 0xc
push 0
push 0x443650
mov dword [0x48e690], edi
mov dword [0x48e694], 1
mov dword [0x48e6f8], 0x200
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push 0x48e690
push eax
call edx
mov esi, eax
test esi, esi
je 0x423522
push esi
push str.IDirectDraw_CreateSurface_____08X
jmp 0x4236c5
mov eax, dword [0x443650]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push 0x48e690
push eax
call edx
mov esi, eax
test esi, esi
je 0x423545
push esi
push str.IDirectDrawSurface_GetSurfaceDesc_____08X
jmp 0x4236c5
cmp dword [0x48e69c], 0x280
je 0x4235df
mov eax, dword [0x49e940]
push 0
mov ecx, 0x1b
mov esi, 0x48e690
mov edi, 0x48e8b0
rep movsd dword es:[edi], dword [esi]
push 0x443538
mov dword [0x48e8b4], 0x1007
mov dword [0x48e8bc], 0x280
mov dword [0x48e8b8], 0x1e0
mov dword [0x48e918], 0x4000
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push 0x48e8b0
push eax
call edx
test eax, eax
je 0x4235df
mov eax, dword [0x49e940]
push 0
push 0x443538
mov dword [0x48e918], 0x800
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push 0x48e8b0
push eax
call edx
mov esi, eax
test esi, esi
je 0x4235df
push esi
push str.IDirectDraw_CreateSurface_____08X
jmp 0x4236c5
cmp dword [0x4405a4], 0
je 0x42364b
cmp dword [0x48e6e4], 8
jne 0x423642
mov eax, dword [0x49e940]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push 0
push 0x48e8ac
push 0x443128
push 0x44
push eax
call edx
mov esi, eax
test esi, esi
je 0x42361d
push esi
push str.IDirectDraw_CreatePalette_____08X
jmp 0x4236c5
mov eax, dword [0x443650]
mov edx, dword [0x48e8ac]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x7c]
call eax
mov esi, eax
test esi, esi
je 0x423642
push esi
push str.IDirectDrawSurface_SetPalette_____08X
jmp 0x4236c5
cmp dword [0x4405a4], 0
jne 0x4236b5
mov eax, dword [0x49e940]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 0
push 0x48e710
push 0
push eax
call edx
mov esi, eax
test esi, esi
je 0x42366f
push esi
push str.IDirectDraw_CreateClipper_____08X
jmp 0x4236c5
mov edx, dword [0x48e924]
mov eax, dword [0x48e710]
mov ecx, dword [eax]
push edx
push 0
push eax
mov eax, dword [ecx + 0x20]
call eax
mov esi, eax
test esi, esi
je 0x423693
push esi
push str.IDirectDrawClipper_SetHWnd_____08X
jmp 0x4236c5
mov eax, dword [0x443650]
mov edx, dword [0x48e710]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x70]
call eax
mov esi, eax
test esi, esi
je 0x4236b5
push esi
push str.IDirectDrawSurface_SetClipper_____08X
jmp 0x4236c5
call fcn.00423790
pop edi
xor eax, eax
pop esi
ret
push esi
push str.IDirectDraw_SetCooperativeLevel_____08X
push esi
mov eax, 0x15b5
call fcn.00424f70
add esp, 0xc
call fcn.004236f0
push 0x11
call dword [sym.imp.user32.dll_GetAsyncKeyState]
test ax, ax
jns 0x4236ea
call fcn.004231f0
pop edi
mov eax, esi
pop esi
ret