Function at 0x41b9c0
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x431420]
sub esp, 0x104
test eax, eax
jne 0x41bc6d
mov eax, dword [0x431424]
test eax, eax
jne 0x41bca5
mov eax, dword [0x42f708]
test eax, eax
je 0x41b9fe
push 0x431408
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x42f708], 0
push 0x431408
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x431420]
test eax, eax
jne 0x41bc62
mov al, byte [0x431f84]
test al, al
je 0x41ba39
push 0x431f84
lea eax, [esp + 4]
push str._sGLGIFTGA.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41ba4c
lea ecx, [esp]
push str.GLGIFTGA.dll
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
lea edx, [esp]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x431420], eax
jne 0x41ba7e
push 0x431408
mov dword [0x431424], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
add esp, 0x104
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetNextRawFrameData
push eax
call esi
mov dword [0x431428], eax
mov eax, dword [0x431420]
push str.GetGlobalColorIndexData
push eax
call esi
mov ecx, dword [0x431420]
push str.GetGlobalColorIndexTotal
push ecx
mov dword [0x43142c], eax
call esi
mov edx, dword [0x431420]
push str.GetNextImage
push edx
mov dword [0x431430], eax
call esi
mov dword [0x431434], eax
mov eax, dword [0x431420]
push str.GetImageSize
push eax
call esi
mov ecx, dword [0x431420]
push str.CloseGifHandle
push ecx
mov dword [0x431438], eax
call esi
mov edx, dword [0x431420]
push str.LoadGifFromMem
push edx
mov dword [0x43143c], eax
call esi
mov dword [0x431440], eax
mov eax, dword [0x431420]
push str.LoadGifFile
push eax
call esi
mov ecx, dword [0x431420]
push str.Reset
push ecx
mov dword [0x431444], eax
call esi
mov edx, dword [0x431420]
push str.CreateCurrentBmp
push edx
mov dword [0x431448], eax
call esi
mov dword [0x43144c], eax
mov eax, dword [0x431420]
push str.LoadTGAFile
push eax
call esi
mov ecx, dword [0x431420]
push str.LoadTgaFromMem
push ecx
mov dword [0x431450], eax
call esi
mov edx, dword [0x431420]
push str.CreateBitmapFromTGA
push edx
mov dword [0x431454], eax
call esi
mov dword [0x431458], eax
mov eax, dword [0x431420]
push str.CloseTGAHandle
push eax
call esi
mov ecx, dword [0x431420]
push str.GetTgaWidth
push ecx
mov dword [0x43145c], eax
call esi
mov edx, dword [0x431420]
push str.GetTgaHeight
push edx
mov dword [0x431460], eax
call esi
mov dword [0x431464], eax
mov eax, dword [0x431420]
push str.GetTgaPalNum
push eax
call esi
mov ecx, dword [0x431420]
push str.GetTgaPixelDepth
push ecx
mov dword [0x431468], eax
call esi
mov edx, dword [0x431420]
push str.GetTgaGetImageData
push edx
mov dword [0x43146c], eax
call esi
mov dword [0x431470], eax
mov eax, dword [0x431420]
push str.GetTgaGetImagePalData
push eax
call esi
mov ecx, dword [0x431420]
push str.GetTgaGetImageAlphaData
push ecx
mov dword [0x431474], eax
call esi
mov dword [0x431478], eax
mov eax, dword [0x431428]
test eax, eax
pop esi
je 0x41bc79
mov eax, dword [0x43142c]
test eax, eax
je 0x41bc79
mov eax, dword [0x431430]
test eax, eax
je 0x41bc79
mov eax, dword [0x431434]
test eax, eax
je 0x41bc79
mov eax, dword [0x431438]
test eax, eax
je 0x41bc79
mov eax, dword [0x43143c]
test eax, eax
je 0x41bc79
mov eax, dword [0x431440]
test eax, eax
je 0x41bc79
mov eax, dword [0x431444]
test eax, eax
je 0x41bc79
mov eax, dword [0x431448]
test eax, eax
je 0x41bc79
mov eax, dword [0x43144c]
test eax, eax
je 0x41bc79
push 0x431408
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
add esp, 0x104
ret
mov edx, dword [0x431420]
mov dword [0x431424], 1
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x431408
mov dword [0x431420], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
add esp, 0x104
ret