Function at 0x4adf40
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x4e38b0]
sub esp, 0x104
test eax, eax
jne 0x4ae1ed
mov eax, dword [0x4e38b4]
test eax, eax
jne 0x4ae225
mov eax, dword [0x4db7b0]
test eax, eax
je 0x4adf7e
push 0x4e3898
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x4db7b0], 0
push 0x4e3898
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4e38b0]
test eax, eax
jne 0x4ae1e2
mov al, byte [0x4e3768]
test al, al
je 0x4adfb9
push 0x4e3768
lea eax, [esp + 4]
push str._sGLGIFTGA.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4adfcc
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 [0x4e38b0], eax
jne 0x4adffe
push 0x4e3898
mov dword [0x4e38b4], 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 [0x4e38b8], eax
mov eax, dword [0x4e38b0]
push str.GetGlobalColorIndexData
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.GetGlobalColorIndexTotal
push ecx
mov dword [0x4e38bc], eax
call esi
mov edx, dword [0x4e38b0]
push str.GetNextImage
push edx
mov dword [0x4e38c0], eax
call esi
mov dword [0x4e38c4], eax
mov eax, dword [0x4e38b0]
push str.GetImageSize
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.CloseGifHandle
push ecx
mov dword [0x4e38c8], eax
call esi
mov edx, dword [0x4e38b0]
push str.LoadGifFromMem
push edx
mov dword [0x4e38cc], eax
call esi
mov dword [0x4e38d0], eax
mov eax, dword [0x4e38b0]
push str.LoadGifFile
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.Reset
push ecx
mov dword [0x4e38d4], eax
call esi
mov edx, dword [0x4e38b0]
push str.CreateCurrentBmp
push edx
mov dword [0x4e38d8], eax
call esi
mov dword [0x4e38dc], eax
mov eax, dword [0x4e38b0]
push str.LoadTGAFile
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.LoadTgaFromMem
push ecx
mov dword [0x4e38e0], eax
call esi
mov edx, dword [0x4e38b0]
push str.CreateBitmapFromTGA
push edx
mov dword [0x4e38e4], eax
call esi
mov dword [0x4e38e8], eax
mov eax, dword [0x4e38b0]
push str.CloseTGAHandle
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.GetTgaWidth
push ecx
mov dword [0x4e38ec], eax
call esi
mov edx, dword [0x4e38b0]
push str.GetTgaHeight
push edx
mov dword [0x4e38f0], eax
call esi
mov dword [0x4e38f4], eax
mov eax, dword [0x4e38b0]
push str.GetTgaPalNum
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.GetTgaPixelDepth
push ecx
mov dword [0x4e38f8], eax
call esi
mov edx, dword [0x4e38b0]
push str.GetTgaGetImageData
push edx
mov dword [0x4e38fc], eax
call esi
mov dword [0x4e3900], eax
mov eax, dword [0x4e38b0]
push str.GetTgaGetImagePalData
push eax
call esi
mov ecx, dword [0x4e38b0]
push str.GetTgaGetImageAlphaData
push ecx
mov dword [0x4e3904], eax
call esi
mov dword [0x4e3908], eax
mov eax, dword [0x4e38b8]
test eax, eax
pop esi
je 0x4ae1f9
mov eax, dword [0x4e38bc]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38c0]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38c4]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38c8]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38cc]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38d0]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38d4]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38d8]
test eax, eax
je 0x4ae1f9
mov eax, dword [0x4e38dc]
test eax, eax
je 0x4ae1f9
push 0x4e3898
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
add esp, 0x104
ret
mov edx, dword [0x4e38b0]
mov dword [0x4e38b4], 1
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4e3898
mov dword [0x4e38b0], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
add esp, 0x104
ret