Function at 0x409400
Capabilities:
Link many functions at runtime

Disassembly:
mov al, byte [0x703c7c]
sub esp, 0x94
test al, al
jne 0x4096f1
push str.glide2x.dll
mov byte [0x703c7c], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x703c78], eax
jne 0x40944f
mov eax, dword [0x716648]
push 0x40
push str.Snes9x___Missing_Library_glide2x.dll__Error
push str.Snes9x_cant_find_the__glide2x.dll__dynamic_link_library._n_nAre_you_sure_you_actually_have_a_Voodoo_3dfx_graphics_card_inside_your_PC_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
add esp, 0x94
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str._grColorCombine_20
push eax
call esi
mov ecx, dword [0x703c78]
push str._grTexCombine_28
push ecx
mov dword [0x703c2c], eax
call esi
mov edx, dword [0x703c78]
push str._grTexMipMapMode_12
push edx
mov dword [0x703c30], eax
call esi
mov dword [0x703c34], eax
mov eax, dword [0x703c78]
push str._grTexClampMode_12
push eax
call esi
mov ecx, dword [0x703c78]
push str._grTexFilterMode_12
push ecx
mov dword [0x703c38], eax
call esi
mov edx, dword [0x703c78]
push str._grTexTextureMemRequired_8
push edx
mov dword [0x703c3c], eax
call esi
mov dword [0x703c40], eax
mov eax, dword [0x703c78]
push str._grTexMinAddress_4
push eax
call esi
mov ecx, dword [0x703c78]
push str._grGlideInit_0
push ecx
mov dword [0x703c44], eax
call esi
mov edx, dword [0x703c78]
push str._grSstQueryHardware_4
push edx
mov dword [0x703c48], eax
call esi
mov dword [0x703c4c], eax
mov eax, dword [0x703c78]
push str._grSstSelect_4
push eax
call esi
mov ecx, dword [0x703c78]
push str._grSstWinOpen_28
push ecx
mov dword [0x703c50], eax
call esi
mov edx, dword [0x703c78]
push str._grBufferClear_12
push edx
mov dword [0x703c54], eax
call esi
mov dword [0x703c58], eax
mov eax, dword [0x703c78]
push str._grSstScreenWidth_0
push eax
call esi
mov ecx, dword [0x703c78]
push str._grSstScreenHeight_0
push ecx
mov dword [0x703c5c], eax
call esi
mov edx, dword [0x703c78]
push str._grGlideShutdown_0
push edx
mov dword [0x703c60], eax
call esi
mov dword [0x703c64], eax
mov eax, dword [0x703c78]
push str._grTexDownloadMipMapLevel_32
push eax
call esi
mov dword [0x703c68], eax
mov ecx, dword [0x703c78]
push str._grTexSource_16
push ecx
call esi
mov edx, dword [0x703c78]
push str._grDrawTriangle_12
push edx
mov dword [0x703c6c], eax
call esi
mov dword [0x703c70], eax
mov eax, dword [0x703c78]
push str._grBufferSwap_4
push eax
call esi
mov ecx, dword [0x703c2c]
mov dword [0x703c74], eax
test ecx, ecx
pop esi
je 0x4096d0
mov ecx, dword [0x703c30]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c34]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c38]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c3c]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c40]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c44]
test ecx, ecx
je 0x4096d0
mov ecx, dword [0x703c48]
test ecx, ecx
je 0x4096d0
mov edx, dword [0x703c4c]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c50]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c54]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c58]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c5c]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c60]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c64]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c68]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c6c]
test edx, edx
je 0x4096d0
mov edx, dword [0x703c70]
test edx, edx
je 0x4096d0
test eax, eax
je 0x4096d0
call ecx
lea ecx, [esp]
push ecx
call dword [0x703c4c]
test al, al
mov byte [0x643ac8], al
jne 0x4096f6
mov edx, dword [0x716648]
push 0x40
push str.Snes9x___GLIDE_Initialisation_Error
push str.Snes9x_found_the__glide2x.dll__library_it_was_looking_for_nto_enable_3dfx_support__but_the_library_refused_to_initialise_ncorrectly._n_n3dfx_support_cannot_be_enabled__sorry.
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
add esp, 0x94
ret
mov eax, dword [0x716648]
push 0x40
push str.Snes9x___Missing_Symbols_in_Library__glide2x.dll__Error
push str.Snes9x_found_the__glide2x.dll__library_it_was_looking_for_nto_enable_3dfx_support__but_it_seems_to_be_missing_several_nimportant_functions._n_n3dfx_support_cannot_be_enabled__sorry.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
add esp, 0x94
ret
mov al, byte [0x643ac8]
add esp, 0x94
ret