Function at 0x64661500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x11c
mov ebp, eax
mov eax, dword [eax + 0x128]
mov byte [eax + 0x34], 0
mov edx, dword [ebp + 0x188]
mov dword [esp + 0x4c], edx
call sym.allegro_5.0.10_monolith_mt.dll_al_get_system_driver
mov eax, dword [eax + 0x14]
test eax, eax
je 0x64661553
mov dword [esp + 8], str.config_selection
mov dword [esp + 4], 0x647f85fb
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_get_config_value
mov ebx, eax
test eax, eax
je 0x64661553
cmp byte [eax], 0
jne 0x646619b4
call sym.allegro_5.0.10_monolith_mt.dll__al_get_new_display_settings
mov dword [esp + 0x50], eax
call sym.allegro_5.0.10_monolith_mt.dll__al_win_create_hidden_window
mov ebx, eax
test eax, eax
je 0x64662637
call sub.OPENGL32.DLL_wglGetCurrentContext
mov dword [esp + 0x58], eax
call sub.OPENGL32.DLL_wglGetCurrentDC
mov dword [esp + 0x5c], eax
mov dword [esp], ebx
call fcn.64762880
push ecx
mov dword [esp + 0x48], eax
mov dword [esp], ebx
call fcn.64762880
push esi
mov esi, eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x3c], eax
mov ecx, 0x28
mov edi, eax
xor eax, eax
rep stosb byte es:[edi], al
mov word [esp + 0x7c], 0x28
mov dword [esp + 0x80], 0xc0000024
mov byte [esp + 0x85], 0x20
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.GDI32.dll_ChoosePixelFormat
sub esp, 8
mov edx, eax
test eax, eax
je 0x64661c58
mov ecx, 0x28
mov edi, dword [esp + 0x3c]
xor eax, eax
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.GDI32.dll_SetPixelFormat
sub esp, 0xc
test eax, eax
je 0x64661c58
mov dword [esp], esi
call sub.OPENGL32.DLL_wglCreateContext
push edx
mov dword [esp + 0x54], eax
test eax, eax
je 0x64661c58
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
test eax, eax
je 0x64661c4b
mov dword [esp], 0x1f03
call sub.OPENGL32.DLL_glGetString
push edx
test eax, eax
je 0x64661cbc
mov dword [esp], str.wglGetExtensionsStringARB
call sub.OPENGL32.DLL_wglGetProcAddress
push edi
test eax, eax
je 0x64661cbc
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
push esi
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_pixel_format
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_look_for_an_extension
test eax, eax
je 0x64661cbc
mov dword [esp], str.wglGetPixelFormatAttribivARB
call sub.OPENGL32.DLL_wglGetProcAddress
push edx
mov dword [0x648739f0], eax
mov dword [esp], str.wglGetPixelFormatAttribivEXT
call sub.OPENGL32.DLL_wglGetProcAddress
push ecx
mov dword [0x648739f4], eax
mov edx, dword [0x648739f0]
test edx, edx
je 0x6466266b
mov dword [esp + 0x78], 0x2000
lea eax, [esp + 0xa4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], eax
lea esi, [esp + 0x78]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call edx
sub esp, 0x18
test eax, eax
je 0x646626ac
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x64], edx
test edx, edx
jle 0x64661d00
mov dword [esp + 0x10], str.get_available_pixel_formats_ext
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 8], 0x2fc
mov dword [esp + 4], 4
mov dword [esp], edx
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov dword [esp + 0x40], eax
test eax, eax
je 0x64661d00
mov edx, 1
mov dword [esp + 0x44], 0
lea eax, [esp + 0x110]
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], ebx
mov ebx, edx
mov dword [esp + 0x6c], ebp
lea esi, [esi]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
lea ebp, [eax + edx*4]
mov edi, dword [esp + 0x38]
mov esi, 0x647dd180
mov ecx, 0x1b
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], str.read_pixel_format_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x20d
mov dword [esp], 0x6c
call sym.allegro_5.0.10_monolith_mt.dll_al_malloc_with_context
mov esi, eax
test eax, eax
je 0x6466270e
mov dword [esp], 0x1f03
call sub.OPENGL32.DLL_glGetString
push edx
test eax, eax
je 0x6466180b
mov dword [esp], str.wglGetExtensionsStringARB
call sub.OPENGL32.DLL_wglGetProcAddress
push edi
test eax, eax
je 0x6466180b
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
push ecx
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_multisample
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_look_for_an_extension
test eax, eax
je 0x6466180b
mov dword [esp + 0x104], 0x2041
mov dword [esp + 0x108], 0x2042
mov dword [esp], 0x1f03
call sub.OPENGL32.DLL_glGetString
push edx
test eax, eax
je 0x64661856
mov dword [esp], str.wglGetExtensionsStringARB
call sub.OPENGL32.DLL_wglGetProcAddress
push edi
test eax, eax
je 0x64661856
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
push ecx
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_depth_float
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_look_for_an_extension
test eax, eax
je 0x64661856
mov dword [esp + 0x10c], 0x2040
mov eax, dword [0x648739f0]
test eax, eax
je 0x646625b0
mov dword [esp + 0x60], ebx
mov dword [esp + 0x14], esi
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
sub esp, 0x18
test eax, eax
je 0x646625c1
mov dword [esp + 0x10], str.read_pixel_format_ext
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 8], 0x22e
mov dword [esp + 4], 0x90
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov edi, eax
mov dword [eax + 0x50], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x68], 1
lea ecx, [esp + 0xa4]
mov eax, esi
jmp 0x64661940
cmp edx, 0x2001
je 0x6466194a
cmp edx, 0x2013
jne 0x64662358
mov edx, dword [eax]
cmp edx, 0x202b
je 0x64661922
cmp edx, 0x21a0
jne 0x64661950
cmp dword [eax], 0x21a0
je 0x646624c0
nop
add ecx, 4
add eax, 4
cmp ecx, dword [esp + 0x34]
je 0x646624fc
mov edx, dword [ecx]
cmp edx, 0x2010
jne 0x646618fc
mov edx, dword [eax]
test edx, edx
jne 0x64661930
mov dword [esp + 0xc], str.read_pixel_format_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x230
mov dword [esp], edi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [esp + 0xc], str.read_pixel_format_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x234
mov dword [esp], esi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [ebp], 0
inc ebx
mov edx, dword [esp + 0x64]
cmp dword [esp + 0x60], edx
jl 0x6466176c
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
jmp 0x64661d10
mov dword [esp + 4], 0x647f8604
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll__al_stricmp
test eax, eax
jne 0x64662340
lea eax, [esp + 0x7c]
mov dword [esp + 0x3c], eax
call sym.allegro_5.0.10_monolith_mt.dll__al_get_new_display_settings
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x28
mov dword [esp + 4], 1
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
call sub.GDI32.dll_DescribePixelFormat
sub esp, 0x10
mov edi, eax
test eax, eax
jle 0x64661d8f
mov dword [esp + 0x10], str.get_available_pixel_formats_old
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 8], 0x33b
mov dword [esp + 4], 4
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov dword [esp + 0x40], eax
test eax, eax
je 0x64661d8f
xor ebx, ebx
mov dword [esp + 0x44], 0
xor esi, esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x4c]
jmp 0x64661bb8
cmp byte [esp + 0x84], 0
jne 0x64661c20
mov ecx, eax
and ecx, 0x1040
cmp ecx, 0x1040
je 0x646625e8
test ecx, ecx
sete cl
movzx ecx, cl
mov dword [edx + 0x54], ecx
movzx ecx, byte [esp + 0x86]
mov dword [edx + 8], ecx
movzx ecx, byte [esp + 0x88]
mov dword [edx + 0xc], ecx
movzx ecx, byte [esp + 0x8a]
mov dword [edx + 0x10], ecx
movzx ecx, byte [esp + 0x8c]
mov dword [edx + 0x14], ecx
movzx ecx, byte [esp + 0x8f]
mov dword [edx + 0x28], ecx
movzx ecx, byte [esp + 0x90]
mov dword [edx + 0x2c], ecx
movzx ecx, byte [esp + 0x91]
mov dword [edx + 0x30], ecx
movzx ecx, byte [esp + 0x92]
mov dword [edx + 0x34], ecx
mov ecx, eax
and ecx, 1
xor ecx, 1
mov dword [edx + 0x60], ecx
movzx ecx, byte [esp + 0x93]
mov dword [edx + 0x44], ecx
movzx ecx, byte [esp + 0x94]
mov dword [edx + 0x48], ecx
movzx ecx, byte [esp + 0x85]
mov dword [edx + 0x40], ecx
and eax, 2
mov dword [edx + 0x38], eax
movzx eax, byte [esp + 0x95]
mov dword [edx + 0x3c], eax
movzx eax, byte [esp + 0x87]
mov dword [edx + 0x18], eax
movzx eax, byte [esp + 0x89]
mov dword [edx + 0x1c], eax
movzx eax, byte [esp + 0x8b]
mov dword [edx + 0x20], eax
movzx eax, byte [esp + 0x8d]
mov dword [edx + 0x24], eax
mov dword [edx + 0x4c], 0
mov dword [edx + 0x50], 0
mov dword [edx + 0x64], 0
mov dword [edx + 0x58], 0
mov dword [edx + 0x5c], 0
mov dword [edx + 0x68], 1
mov dword [edi], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x30], edx
call sym.allegro_5.0.10_monolith_mt.dll__al_score_display_settings
mov edx, dword [esp + 0x30]
mov dword [edx + 0x8c], eax
mov eax, dword [edi]
cmp dword [eax + 0x8c], 0xffffffff
je 0x64662315
mov dword [eax + 0x88], ebx
inc esi
cmp ebx, dword [esp + 0x48]
je 0x64662308
mov eax, dword [esp + 0x40]
lea edi, [eax + esi*4]
inc ebx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x28
mov dword [esp + 4], ebx
mov dword [esp], ebp
call sub.GDI32.dll_DescribePixelFormat
sub esp, 0x10
test eax, eax
je 0x64661c40
mov dword [esp + 0x10], str.read_pixel_format_old
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 8], 0x1d6
mov dword [esp + 4], 0x90
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov edx, eax
mov eax, dword [esp + 0x80]
test al, 0x20
jne 0x64661a60
mov dword [esp + 0xc], str.read_pixel_format_old
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x1d8
mov dword [esp], edx
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [edi], 0
jmp 0x64661bae
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglDeleteContext
push eax
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov dword [0x648739f0], 0
mov dword [0x648739f4], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.64762868
sub esp, 8
mov dword [esp], ebx
call fcn.64762820
push ecx
jmp 0x646619d4
mov dword [esp], 0x1f03
call sub.OPENGL32.DLL_glGetString
push edi
test eax, eax
je 0x64661d00
mov dword [esp], str.wglGetExtensionsStringARB
call sub.OPENGL32.DLL_wglGetProcAddress
push esi
test eax, eax
je 0x64661d00
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
push ecx
mov dword [esp + 4], eax
mov dword [esp], str.WGL_EXT_pixel_format
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_look_for_an_extension
test eax, eax
jne 0x64661683
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglDeleteContext
push ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov dword [0x648739f0], 0
mov dword [0x648739f4], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.64762868
sub esp, 8
mov dword [esp], ebx
call fcn.64762820
push ebx
mov esi, dword [esp + 0x40]
test esi, esi
je 0x646619d4
mov ebx, dword [esp + 0x44]
test ebx, ebx
jne 0x64661da4
mov eax, ebp
call fcn.64660b94
xor eax, eax
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], sym.allegro_5.0.10_monolith_mt.dll__al_display_settings_sorter
mov dword [esp + 8], 4
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.647d43fc
mov esi, dword [esp + 0x40]
xor ebx, ebx
mov edi, dword [esp + 0x44]
nop
mov dword [esp + 8], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x88]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x188]
mov dword [esp], eax
call sub.GDI32.dll_SetPixelFormat
sub esp, 0xc
test eax, eax
jne 0x64661e68
inc ebx
add esi, 4
cmp ebx, edi
jl 0x64661dd4
mov esi, 0
jne 0x64661e61
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], str.select_pixel_format
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x38d
mov eax, dword [edi + esi*4]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
inc esi
cmp esi, ebx
jl 0x64661e10
mov dword [esp + 0xc], str.select_pixel_format
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x38e
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
jmp 0x64661d8f
mov eax, dword [esp + 0x40]
lea esi, [eax + ebx*4]
lea eax, [ebp + 0x98]
mov esi, dword [esi]
mov ecx, 0x24
mov edi, eax
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
nop
mov dword [esp + 0xc], str.select_pixel_format
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x395
mov eax, dword [edi + ebx*4]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
inc ebx
cmp ebx, esi
jl 0x64661e84
mov dword [esp + 0xc], str.select_pixel_format
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x397
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov edx, dword [ebp + 0x88]
mov dword [esp + 0x50], edx
and edx, 0x80
je 0x64662208
mov edx, dword [ebp + 0x188]
mov dword [esp + 0x48], edx
call sym.allegro_5.0.10_monolith_mt.dll__al_win_create_hidden_window
mov ebx, eax
test eax, eax
je 0x646626a4
call sub.OPENGL32.DLL_wglGetCurrentContext
mov dword [esp + 0x44], eax
call sub.OPENGL32.DLL_wglGetCurrentDC
mov dword [esp + 0x4c], eax
mov dword [esp], ebx
call fcn.64762880
push edx
mov dword [esp + 0x40], eax
mov dword [esp], ebx
call fcn.64762880
push ecx
mov esi, eax
mov ecx, 0x28
mov edi, dword [esp + 0x3c]
xor eax, eax
rep stosb byte es:[edi], al
mov word [esp + 0x7c], 0x28
mov dword [esp + 0x80], 0xc0000024
mov byte [esp + 0x85], 0x20
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.GDI32.dll_ChoosePixelFormat
sub esp, 8
mov edx, eax
test eax, eax
je 0x64662228
mov ecx, 0x28
mov edi, dword [esp + 0x3c]
xor eax, eax
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.GDI32.dll_SetPixelFormat
sub esp, 0xc
test eax, eax
je 0x64662228
mov dword [esp], esi
call sub.OPENGL32.DLL_wglCreateContext
push edi
mov edi, eax
test eax, eax
je 0x64662228
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
test eax, eax
je 0x6466221e
mov dword [esp], 0x1f03
call sub.OPENGL32.DLL_glGetString
push edx
test eax, eax
je 0x64662300
mov dword [esp], str.wglGetExtensionsStringARB
call sub.OPENGL32.DLL_wglGetProcAddress
push ecx
test eax, eax
je 0x64662300
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call eax
push edx
mov dword [esp + 4], eax
mov dword [esp], str.WGL_ARB_create_context
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_look_for_an_extension
test eax, eax
je 0x64662300
mov dword [esp + 0xa4], 0x2091
mov dword [esp + 0xa8], 3
mov dword [esp + 0xac], 0x2092
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x2094
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
test dword [esp + 0x50], 0x100
je 0x64662071
mov dword [esp + 0xb8], 2
mov dword [esp], str.wglCreateContextAttribsARB
call sub.OPENGL32.DLL_wglGetProcAddress
push esi
mov dword [0x648739ec], eax
test eax, eax
je 0x64662300
lea edx, [esp + 0xa4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call eax
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov dword [esp], edi
call sub.OPENGL32.DLL_wglDeleteContext
push eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
mov dword [0x648739ec], 0
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.64762868
sub esp, 8
mov dword [esp], ebx
call fcn.64762820
push ecx
mov dword [ebp + 0x18c], esi
test esi, esi
je 0x64661d8f
mov dword [esp + 4], esi
mov eax, dword [ebp + 0x188]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
test eax, eax
je 0x64661d8f
mov dword [esp], ebp
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_manage_extensions
mov eax, dword [ebp + 0x128]
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_set_extensions
mov ebx, dword [ebp + 0x128]
cmp dword [ebx + 8], 0x101ffff
ja 0x6466217e
call sym.allegro_5.0.10_monolith_mt.dll__al_get_new_display_settings
mov eax, dword [eax]
test eax, 0x1000000
jne 0x64661d8f
mov dword [ebp + 0x100], 0
mov ebx, dword [ebp + 0x128]
mov dword [esp], ebp
call sym.allegro_5.0.10_monolith_mt.dll__al_ogl_create_backbuffer
mov dword [ebx + 0x30], eax
mov eax, dword [ebp + 0x128]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x64661d8f
mov dword [esp], ebp
call sym.allegro_5.0.10_monolith_mt.dll_al_get_backbuffer
add eax, 0x54
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_identity_transform
mov edx, dword [sym.allegro_5.0.10_monolith_mt.dll__al_wglSwapIntervalEXT]
test edx, edx
je 0x646621cf
mov eax, dword [ebp + 0x108]
cmp eax, 1
je 0x64662628
cmp eax, 2
je 0x64662644
mov dword [ebp + 0x170], 0
mov byte [ebp + 0x174], 0
mov byte [ebp + 0x17e], 0
mov dword [esp], ebp
call sym.allegro_5.0.10_monolith_mt.dll__al_win_grab_input
mov edi, dword [ebp + 0x100]
test edi, edi
jne 0x64662248
mov al, 1
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0x188]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglCreateContext
push edx
mov esi, eax
jmp 0x64662109
mov dword [esp], edi
call sub.OPENGL32.DLL_wglDeleteContext
push esi
nop
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.OPENGL32.DLL_wglMakeCurrent
sub esp, 8
xor esi, esi
jmp 0x646620cc
mov eax, dword [ebp + 0x90]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.OPENGL32.DLL_glViewport
sub esp, 0x10
mov dword [esp], 0x1701
call sub.OPENGL32.DLL_glMatrixMode
push ebx
call sub.OPENGL32.DLL_glLoadIdentity
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x3ff00000
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xbff00000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
fild dword [ebp + 0x90]
fstp qword [esp + 0x10]
fild dword [ebp + 0x8c]
fstp qword [esp + 8]
mov dword [esp], 0
mov dword [esp + 4], 0
call sub.OPENGL32.DLL_glOrtho
sub esp, 0x30
mov dword [esp], 0x1700
call sub.OPENGL32.DLL_glMatrixMode
push esi
call sub.OPENGL32.DLL_glLoadIdentity
mov al, 1
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
xor esi, esi
jmp 0x646620ac
mov dword [esp + 0x44], esi
mov ebp, dword [esp + 0x54]
jmp 0x64661d87
mov dword [esp + 0xc], str.get_available_pixel_formats_old
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x34a
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [edi], 0
jmp 0x64661bae
mov dword [esp + 4], 0x647f8608
mov dword [esp], ebx
call sym.allegro_5.0.10_monolith_mt.dll__al_stricmp
jmp 0x64661553
cmp edx, 0x2003
jne 0x64662392
xor edx, edx
cmp dword [eax], 0x2025
setne dl
mov dword [edi + 0x54], edx
mov edx, dword [ecx]
cmp edx, 0x2013
je 0x64661922
cmp edx, 0x2040
jne 0x64661930
mov edx, dword [eax]
mov dword [edi + 0x5c], edx
jmp 0x64661930
cmp edx, 0x2015
je 0x6466249c
cmp edx, 0x2017
je 0x646624a8
cmp edx, 0x2019
je 0x646624b4
cmp edx, 0x201b
je 0x646624cc
cmp edx, 0x2016
je 0x646624d8
cmp edx, 0x2018
je 0x646624e4
cmp edx, 0x201a
je 0x646624f0
cmp edx, 0x201c
je 0x64662590
cmp edx, 0x2011
je 0x6466259c
cmp edx, 0x2007
je 0x646625f4
cmp edx, 0x2012
je 0x64662653
cmp edx, 0x2024
je 0x6466265f
cmp edx, 0x2023
je 0x646626e8
cmp edx, 0x201e
je 0x64662702
cmp edx, 0x201f
je 0x64662725
cmp edx, 0x2020
je 0x64662731
cmp edx, 0x2021
je 0x6466273d
cmp edx, 0x2022
je 0x64662749
cmp edx, 0x2014
je 0x64662755
cmp edx, 0x2041
je 0x64662761
cmp edx, 0x2042
jne 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x50], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 8], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0xc], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x10], edx
mov edx, dword [ecx]
jmp 0x64662370
mov dword [edi + 0x58], 1
jmp 0x64661930
mov edx, dword [eax]
mov dword [edi + 0x14], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x18], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x1c], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x20], edx
mov edx, dword [ecx]
jmp 0x64662370
mov dword [esp + 0xc], str.read_pixel_format_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x234
mov dword [esp], esi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x64662550
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x64662550
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x64662550
mov esi, dword [edi + 0x24]
test esi, esi
jne 0x64662550
mov dword [edi + 0x1c], 8
mov dword [edi + 0x20], 0x10
mov dword [edi + 0x24], 0x18
lea esi, [esi]
mov dword [ebp], edi
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x70]
mov dword [edi + 0x70], eax
mov dword [esp + 4], edx
mov dword [esp], edi
call sym.allegro_5.0.10_monolith_mt.dll__al_score_display_settings
mov dword [edi + 0x8c], eax
mov eax, dword [ebp]
cmp dword [eax + 0x8c], 0xffffffff
je 0x64662678
mov dword [eax + 0x88], ebx
inc dword [esp + 0x44]
jmp 0x64661997
mov edx, dword [eax]
mov dword [edi + 0x24], edx
mov edx, dword [ecx]
jmp 0x64662370
xor edx, edx
cmp dword [eax], 0
sete dl
mov dword [edi + 0x60], edx
mov edx, dword [ecx]
jmp 0x64662370
mov eax, dword [0x648739f4]
mov dword [esp + 0x60], ebx
test eax, eax
jne 0x64661867
mov dword [esp + 0xc], str.read_pixel_format_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x22a
mov dword [esp], esi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
jmp 0x64661990
mov ecx, 1
jmp 0x64661a8a
mov edx, dword [eax]
cmp edx, 0x202a
je 0x646626f4
cmp edx, 0x2029
je 0x64662717
cmp edx, 0x2028
jne 0x64661930
mov dword [edi + 0x64], 2
mov edx, dword [ecx]
jmp 0x64662370
mov dword [esp], 1
call edx
push eax
jmp 0x646621cf
lea edx, [esp + 0x7c]
mov dword [esp + 0x3c], edx
jmp 0x646619d4
mov dword [esp], 0
call edx
push eax
jmp 0x646621cf
mov edx, dword [eax]
mov dword [edi + 0x38], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x3c], edx
mov edx, dword [ecx]
jmp 0x64662370
test eax, eax
jne 0x646616b5
jmp 0x64661d00
mov dword [esp + 0xc], str.get_available_pixel_formats_ext
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_srcwinwgl_disp.c
mov dword [esp + 4], 0x30b
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [ebp], 0
jmp 0x64661997
xor esi, esi
jmp 0x64662109
lea eax, [esp + 0xa4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [0x648739f4]
sub esp, 0x18
jmp 0x64661700
mov edx, dword [eax]
mov dword [edi + 0x48], edx
mov edx, dword [ecx]
jmp 0x64662370
mov dword [edi + 0x64], 0
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x28], edx
mov edx, dword [ecx]
jmp 0x64662370
mov dword [esp + 0x60], ebx
jmp 0x64661990
mov dword [edi + 0x64], 1
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x2c], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x30], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x34], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x44], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x40], edx
mov edx, dword [ecx]
jmp 0x64662370
mov edx, dword [eax]
mov dword [edi + 0x4c], edx
mov edx, dword [ecx]
jmp 0x64662370