Function at 0x409790
Capabilities:
Inspect load icon resource
Link many functions at runtime

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
lea esi, [ebp - 0x84]
sub esp, 0xc8
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
call sym.___main
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x84], edx
mov dword [ebp + eax - 0x80], edx
add eax, 8
cmp eax, 0x18
jb 0x4097bb
mov dword [esi + eax], 0
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x68], edx
mov dword [ebp + eax - 0x64], edx
add eax, 8
cmp eax, 0x28
jb 0x4097d9
mov dword [esp + 4], edi
mov dword [esp], ebx
call sym._parse_cmd
test eax, eax
je 0x40a828
mov ebx, dword [0x4101fc]
test ebx, ebx
jne 0x40a0bb
mov eax, dword [0x40c054]
cmp eax, 2
je 0x40a48a
cmp eax, 3
je 0x40a0e6
dec eax
jne 0x409b80
mov edx, 0x410060
mov eax, ebx
mov edi, edx
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp], str.opengl32.dll
call edi
push edx
test eax, eax
mov dword [0x4100dc], eax
je 0x40a88d
mov dword [esp], str.gdi32.dll
call edi
push edi
test eax, eax
mov dword [0x4100e0], eax
je 0x40a8a5
mov dword [esp + 4], str.glClearColor
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410060], eax
je 0x40a947
mov dword [esp + 4], str.glClear
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410064], eax
je 0x40a9a6
mov dword [esp + 4], str.glPushMatrix
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410068], eax
je 0x40aa28
mov dword [esp + 4], str.glPopMatrix
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x41006c], eax
je 0x40aa64
mov dword [esp + 4], str.glBegin
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410070], eax
je 0x40a877
mov dword [esp + 4], str.glEnd
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410074], eax
je 0x40aaa0
mov dword [esp + 4], str.glRotatef
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410078], eax
je 0x40aaff
mov dword [esp + 4], str.glColor3f
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x41007c], eax
je 0x40ab3b
mov dword [esp + 4], str.glVertex3f
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410080], eax
je 0x40ab54
mov dword [esp + 4], str.glFlush
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410084], eax
je 0x40abb3
mov dword [esp + 4], str.glGetString
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410088], eax
je 0x40ac35
mov dword [esp + 4], str.glGetIntegerv
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x41008c], eax
je 0x40acb7
mov dword [esp + 4], str.wglMakeCurrent
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410090], eax
je 0x40ad39
mov dword [esp + 4], str.wglCreateContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410094], eax
je 0x40ad98
mov dword [esp + 4], str.wglDeleteContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410098], eax
je 0x40af2d
mov dword [esp + 4], str.wglGetProcAddress
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x41009c], eax
je 0x40af14
mov dword [esp + 4], str.SetPixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100a0], eax
je 0x40ae56
mov dword [esp + 4], str.SwapBuffers
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100a4], eax
je 0x40ae3d
mov dword [esp + 4], str.ChoosePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100a8], eax
je 0x40aeb5
mov dword [esp + 4], str.DescribePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100ac], eax
je 0x40af46
mov dword [esp + 4], str.wglChoosePixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
push ecx
mov dword [0x4100b0], eax
mov dword [esp + 4], str.wglSetPixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
push edx
mov dword [0x4100b4], eax
mov dword [esp + 4], str.wglSwapBuffers
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
push ecx
mov dword [0x4100b8], eax
mov dword [esp + 4], str.wglDescribePixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edi
push edi
mov dword [0x4100bc], eax
mov dword [0x4100e4], 1
lea esi, [esi]
lea esi, [esi]
xor eax, eax
mov edx, dword [eax + 0x40c020]
mov dword [ebp + eax - 0x40], edx
add eax, 4
cmp eax, 0x28
jb 0x409b82
call sym._gl_test
test eax, eax
je 0x40a828
mov dword [ebp - 0x64], sym._WndProc_16
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x44], str.oglversionchecksample
mov dword [ebp - 0x68], 0x20
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edx, 0x65
mov dword [ebp - 0x58], eax
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x68]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.USER32.dll_RegisterClassA]
sub esp, 4
test ax, ax
je 0x40a828
xor eax, eax
xor edx, edx
mov dword [esp + 0x2c], eax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x28], eax
xor eax, eax
mov edi, 0x10cf0000
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [0x40c048]
mov dword [esp + 0x1c], eax
mov eax, dword [0x40c04c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], eax
mov eax, str.WGLtest_triangle
mov dword [esp + 8], eax
mov eax, str.oglversionchecksample
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x98], eax
sub esp, 0x30
test eax, eax
je 0x40a828
mov eax, dword [0x410200]
test eax, eax
jne 0x40a05e
mov eax, dword [ebp - 0x98]
lea edi, [ebp - 0x40]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
mov dword [esp + 4], edi
mov dword [ebp - 0x94], eax
mov dword [esp], eax
call sym._wrpChoosePixelFormat_8
sub esp, 8
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x94]
mov dword [esp], edi
call sym._wrpSetPixelFormat_12
mov eax, dword [0x410094]
sub esp, 0xc
test eax, eax
je 0x40a027
mov dword [esp], edi
call eax
push ecx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x40a828
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call sym._wrpMakeCurrent_8
sub esp, 8
mov dword [esp], 0x1f00
call dword [0x410088]
sub esp, 4
test eax, eax
mov edi, eax
je 0x409d37
mov dword [esp], eax
call sym._strlen
inc eax
mov dword [esp], eax
call sym._malloc
mov dword [0x40c068], eax
test eax, eax
je 0x409d37
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._strcpy
mov dword [esp], 0x1f01
call dword [0x410088]
sub esp, 4
test eax, eax
mov edi, eax
je 0x409d73
mov dword [esp], eax
call sym._strlen
inc eax
mov dword [esp], eax
call sym._malloc
mov dword [0x40c064], eax
test eax, eax
je 0x409d73
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._strcpy
mov dword [esp], 0x1f02
call dword [0x410088]
sub esp, 4
test eax, eax
mov edi, eax
je 0x409daf
mov dword [esp], eax
call sym._strlen
inc eax
mov dword [esp], eax
call sym._malloc
mov dword [0x40c060], eax
test eax, eax
je 0x409daf
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._strcpy
mov dword [esp], 0x8b8c
call dword [0x410088]
sub esp, 4
test eax, eax
mov edi, eax
je 0x409deb
mov dword [esp], eax
call sym._strlen
inc eax
mov dword [esp], eax
call sym._malloc
mov dword [0x40c05c], eax
test eax, eax
je 0x409deb
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._strcpy
mov dword [esp], 0x1f03
call dword [0x410088]
sub esp, 4
test eax, eax
mov edi, eax
je 0x409e8f
xor eax, eax
mov dword [0x410040], eax
movzx edx, byte [edi]
test dl, dl
je 0x40a830
mov eax, edi
lea esi, [esi]
cmp dl, 0x20
jne 0x409e2c
inc ebx
mov dword [0x410040], ebx
movzx edx, byte [eax + 1]
inc eax
test dl, dl
jne 0x409e20
sub eax, edi
je 0x409e40
inc ebx
mov dword [0x410040], ebx
mov edx, dword [0x410040]
lea eax, [eax + edx + 1]
mov dword [esp], eax
call sym._malloc
test eax, eax
mov edx, eax
mov dword [0x40c058], eax
mov ecx, eax
je 0x409e8f
movzx eax, byte [edi]
test al, al
jne 0x409e72
jmp 0x409e8c
mov edx, ecx
lea ecx, [edx + 1]
cmp al, 0x20
jne 0x409e82
mov byte [edx + 1], 0xa
lea ecx, [edx + 2]
mov al, 0xd
mov byte [edx], al
inc edi
movzx eax, byte [edi]
test al, al
jne 0x409e70
mov byte [ecx], 0
xor ecx, ecx
mov ebx, 0xa
mov dword [esp + 8], ebx
mov edi, 1
mov dword [esp + 4], edi
mov dword [esp + 0xc], ecx
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SetTimer]
mov ebx, dword [sym.imp.USER32.dll_PeekMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
sub esp, 0x10
lea esi, [esi]
lea esi, [esi]
mov dword [esp], esi
mov eax, 1
xor edx, edx
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call ebx
sub esp, 0x14
test eax, eax
jne 0x409fd8
mov edx, dword [0x410044]
mov eax, edx
shr eax, 2
movsx eax, al
mov dword [esp + 4], eax
xor eax, eax
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], eax
fild qword [ebp - 0x90]
fstp dword [ebp - 0x90]
fld xword [0x40d880]
fmul dword [ebp - 0x90]
fstp dword [esp]
call sym._draw
mov eax, dword [0x4100e4]
cmp eax, 2
je 0x409ff8
cmp eax, 3
je 0x40a010
dec eax
jne 0x409f67
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call dword [0x4100a4]
sub esp, 4
mov eax, dword [0x40c078]
test eax, eax
jne 0x409ed0
mov dword [esp], 0
xor ebx, ebx
mov dword [esp + 4], ebx
call sym._wrpMakeCurrent_8
mov eax, dword [0x410098]
sub esp, 8
test eax, eax
je 0x40a049
mov ecx, dword [ebp - 0x9c]
mov dword [esp], ecx
call eax
push ecx
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [0x410200]
sub esp, 4
test eax, eax
jne 0x40a0b1
call sym._gui_report
xor eax, eax
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov dword [esp], esi
call edi
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.USER32.dll_DispatchMessageA]
sub esp, 4
jmp 0x409ed0
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call dword [0x4100b8]
sub esp, 4
jmp 0x409f67
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call dword [0x4100c4]
sub esp, 4
jmp 0x409f67
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call dword [0x4100d4]
push edx
push edx
mov dword [ebp - 0x9c], eax
jmp 0x409cd8
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call dword [0x4100d8]
push edx
jmp 0x409fa2
mov eax, dword [0x40c048]
mov dword [esp + 8], eax
mov eax, dword [0x40c04c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym._fullscreen
test eax, eax
jne 0x409c7c
mov eax, dword [0x40c048]
xor edi, edi
mov dword [esp + 8], eax
mov eax, dword [0x40c04c]
mov dword [esp], str.Cannot_enter_to_this_fullscreen_mode___d_x__d_
mov dword [esp + 4], eax
call sym._GUIError
mov dword [0x410200], edi
jmp 0x409c7c
call sym._restore
jmp 0x409fc1
mov dword [esp + 0xc], 0x40
xor ecx, ecx
mov dword [esp + 8], str.WGLtest:_HELP
mov dword [esp + 4], str.wgltest__command__command_arg____another_command__...___n_nsupported_commands:_nsystem:_use_opengl_through_opengl32.dll_and_gdi32.dll_nwrapper__library.dll_:_use_opengl_from_library_wrapping_original_opengl32.dll_ndriver__library.dll_:_use_opengl_from_ICD_driver_nwidth__pixels_:_set_width_of_testing_window_nheight__pixels_:_set_height_of_testing_window_nwindow:_run_test_in_window_nfullscreen:_run_test_on_fullscreen_nhelp:_show_this_message
mov dword [esp], ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
sub esp, 0x10
jmp 0x409fc6
mov eax, dword [str.qmfxgl32.dll]
mov edx, 0x410060
mov ecx, 0x22
mov edi, edx
mov dword [ebp - 0x90], eax
mov eax, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x90]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp], eax
call edi
push edx
test eax, eax
mov dword [0x4100dc], eax
je 0x40a808
mov dword [esp], str.gdi32.dll
call edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ecx
cmp dword [0x4100dc], 0
mov dword [0x4100e0], eax
je 0x40a1b8
mov dword [esp + 4], str.SetPixelFormat
mov dword [esp], eax
call edi
push edx
push edx
cmp dword [0x4100dc], 0
mov dword [0x4100a0], eax
je 0x40a1b8
mov dword [esp + 4], str.SwapBuffers
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
push ecx
cmp dword [0x4100dc], 0
mov dword [0x4100a4], eax
je 0x40a1b8
mov dword [esp + 4], str.ChoosePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push edx
push edx
cmp dword [0x4100dc], 0
mov dword [0x4100a8], eax
je 0x40a1b8
mov dword [esp + 4], str.DescribePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
push ecx
mov dword [0x4100ac], eax
mov dword [esp + 4], str.DrvSetPixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100c0], eax
je 0x40a8d7
mov dword [esp + 4], str.DrvSwapBuffers
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100c4], eax
je 0x40a924
mov dword [esp + 4], str.DrvDescribePixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100c8], eax
je 0x40a983
mov dword [esp + 4], str.DrvGetProcAddress
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100cc], eax
je 0x40a9e2
mov dword [esp + 4], str.DrvSetContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100d0], eax
je 0x40aa7d
mov dword [esp + 4], str.DrvCreateLayerContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100d4], eax
je 0x40a857
mov dword [esp + 4], str.DrvReleaseContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100d8], eax
je 0x40ab90
mov dword [esp], str.glClearColor
call dword [0x4100cc]
push edi
test eax, eax
mov dword [0x410060], eax
je 0x40abcc
mov dword [esp], str.glClear
call dword [0x4100cc]
push ecx
test eax, eax
mov dword [0x410064], eax
je 0x40abef
mov dword [esp], str.glPushMatrix
call dword [0x4100cc]
push edx
test eax, eax
mov dword [0x410068], eax
je 0x40acd0
mov dword [esp], str.glPopMatrix
call dword [0x4100cc]
push edi
test eax, eax
mov dword [0x41006c], eax
je 0x40ac94
mov dword [esp], str.glBegin
call dword [0x4100cc]
push ecx
test eax, eax
mov dword [0x410070], eax
je 0x40ac71
mov dword [esp], str.glEnd
call dword [0x4100cc]
push edx
test eax, eax
mov dword [0x410074], eax
je 0x40ac4e
mov dword [esp], str.glRotatef
call dword [0x4100cc]
push edi
test eax, eax
mov dword [0x410078], eax
je 0x40ad75
mov dword [esp], str.glColor3f
call dword [0x4100cc]
push ecx
test eax, eax
mov dword [0x41007c], eax
je 0x40ae1a
mov dword [esp], str.glVertex3f
call dword [0x4100cc]
push edx
test eax, eax
mov dword [0x410080], eax
je 0x40adf7
mov dword [esp], str.glFlush
call dword [0x4100cc]
push edi
test eax, eax
mov dword [0x410084], eax
je 0x40add4
mov dword [esp], str.glGetString
call dword [0x4100cc]
push ecx
test eax, eax
mov dword [0x410088], eax
je 0x40adb1
mov dword [esp], str.glGetIntegerv
call dword [0x4100cc]
push edx
test eax, eax
mov dword [0x41008c], eax
je 0x40aef1
mov dword [esp], str.wglMakeCurrent
call dword [0x4100cc]
push ecx
mov dword [0x410090], eax
mov dword [esp], str.wglCreateContext
call dword [0x4100cc]
push edi
mov dword [0x410094], eax
mov dword [esp], str.wglDeleteContext
call dword [0x4100cc]
push edx
mov dword [0x410098], eax
mov dword [esp], str.wglGetProcAddress
call dword [0x4100cc]
push ecx
mov dword [0x41009c], eax
mov dword [esp], str.wglChoosePixelFormat
call dword [0x4100cc]
push edi
mov dword [0x4100b0], eax
mov dword [esp], str.wglSetPixelFormat
call dword [0x4100cc]
push edx
mov dword [0x4100b4], eax
mov dword [esp], str.wglSwapBuffers
call dword [0x4100cc]
push ecx
mov dword [0x4100b8], eax
mov dword [esp], str.wglDescribePixelFormat
call dword [0x4100cc]
push edi
mov dword [0x4100bc], eax
mov dword [0x4100e4], 3
jmp 0x409b80
mov eax, dword [str.qmfxgl32.dll]
mov edx, 0x410060
mov ecx, 0x22
mov edi, edx
mov dword [ebp - 0x90], eax
mov eax, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x90]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp], eax
call edi
push edx
test eax, eax
mov dword [0x4100dc], eax
je 0x40a808
mov dword [esp], str.gdi32.dll
call edi
push edi
test eax, eax
mov dword [0x4100e0], eax
je 0x40a8fa
mov dword [esp + 4], str.glClearColor
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410060], eax
je 0x40a960
mov dword [esp + 4], str.glClear
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410064], eax
je 0x40a9bf
mov dword [esp + 4], str.glPushMatrix
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410068], eax
je 0x40aa05
mov dword [esp + 4], str.glPopMatrix
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x41006c], eax
je 0x40aa41
mov dword [esp + 4], str.glBegin
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410070], eax
je 0x40a837
mov dword [esp + 4], str.glEnd
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410074], eax
je 0x40aab9
mov dword [esp + 4], str.glRotatef
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410078], eax
je 0x40aadc
mov dword [esp + 4], str.glColor3f
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x41007c], eax
je 0x40ab18
mov dword [esp + 4], str.glVertex3f
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410080], eax
je 0x40ab6d
mov dword [esp + 4], str.glFlush
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410084], eax
je 0x40ac12
mov dword [esp + 4], str.glGetString
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410088], eax
je 0x40acf3
mov dword [esp + 4], str.glGetIntegerv
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x41008c], eax
je 0x40ad16
mov dword [esp + 4], str.wglMakeCurrent
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410090], eax
je 0x40ad52
mov dword [esp + 4], str.wglCreateContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x410094], eax
je 0x40ae6f
mov dword [esp + 4], str.wglDeleteContext
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x410098], eax
je 0x40ae92
mov dword [esp + 4], str.wglGetProcAddress
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x41009c], eax
je 0x40aece
mov dword [esp + 4], str.SetPixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100a0], eax
je 0x40ae56
mov dword [esp + 4], str.SwapBuffers
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100a4], eax
je 0x40ae3d
mov dword [esp + 4], str.ChoosePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100a8], eax
je 0x40aeb5
mov dword [esp + 4], str.DescribePixelFormat
mov eax, dword [0x4100e0]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100ac], eax
je 0x40af46
mov dword [esp + 4], str.wglChoosePixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100b0], eax
je 0x40af82
mov dword [esp + 4], str.wglSetPixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100b4], eax
je 0x40afc8
mov dword [esp + 4], str.wglSwapBuffers
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push edx
test eax, eax
push edx
mov dword [0x4100b8], eax
je 0x40afa5
mov dword [esp + 4], str.wglDescribePixelFormat
mov eax, dword [0x4100dc]
mov dword [esp], eax
call edi
push ecx
test eax, eax
push ecx
mov dword [0x4100bc], eax
je 0x40af5f
mov dword [0x4100e4], 2
jmp 0x409b80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x90]
mov dword [esp], str.Failure:_LoadLibraryA__s___0x_X
mov dword [esp + 4], eax
call sym._GUIError
or eax, 0xffffffff
jmp 0x409fc8
xor eax, eax
jmp 0x409e40
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glBegin
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvCreateLayerContext
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glBegin
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.Failure:_LoadLibraryA_opengl32.dll___0x_X
mov dword [esp + 4], eax
call sym._GUIError
jmp 0x40a828
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
mov dword [esp], str.Failure:_LoadLibraryA_gdi32.dll___0x_X
mov dword [esp + 4], eax
call sym._GUIError
mov eax, dword [0x4100dc]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebx
mov dword [0x4100dc], esi
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvSetPixelFormat
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.Failure:_LoadLibraryA_gdi32.dll___0x_X
mov dword [esp + 4], eax
call sym._GUIError
mov eax, dword [0x4100dc]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvSwapBuffers
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glClearColor
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glClearColor
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvDescribePixelFormat
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glClear
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glClear
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvGetProcAddress
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glPushMatrix
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glPushMatrix
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glPopMatrix
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glPopMatrix
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvSetContext
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glEnd
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glEnd
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glRotatef
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glRotatef
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glColor3f
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glColor3f
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glVertex3f
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glVertex3f
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.DrvReleaseContext
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glFlush
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glClearColor
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glClear
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glFlush
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glGetString
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glEnd
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glBegin
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glPopMatrix
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.glGetIntegerv
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glPushMatrix
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glGetString
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glGetIntegerv
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.wglMakeCurrent
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglMakeCurrent
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glRotatef
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.wglCreateContext
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glGetString
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glFlush
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glVertex3f
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glColor3f
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.SwapBuffers
mov dword [esp], str.Symbol__s_not_found_in_gdi32.dll
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.SetPixelFormat
mov dword [esp], str.Symbol__s_not_found_in_gdi32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglCreateContext
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglDeleteContext
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.ChoosePixelFormat
mov dword [esp], str.Symbol__s_not_found_in_gdi32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglGetProcAddress
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.glGetIntegerv
mov dword [esp], str.DrvGetProcAddress_fail_for_symbol__s_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.wglGetProcAddress
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.wglDeleteContext
mov dword [esp], str.Symbol__s_not_found_in_opengl32.dll
call sym._GUIError
jmp 0x40a828
mov dword [esp + 4], str.DescribePixelFormat
mov dword [esp], str.Symbol__s_not_found_in_gdi32.dll
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglDescribePixelFormat
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglChoosePixelFormat
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglSwapBuffers
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], str.wglSetPixelFormat
mov dword [esp], str.Symbol__s_not_found_in__s_n
mov dword [esp + 8], eax
call sym._GUIError
jmp 0x40a828