Function at 0x410afc
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push str.f:_sourcelcc_startepaloadgif.c
push 0x1820000
push str.LoadGIFanimation
mov dword [0x44100c], ebp
sub esp, 0x44
mov ecx, 0x11
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x410b1c
push ebx
push esi
push edi
mov byte [ebp - 8], 1
mov byte [ebp - 8], 0xb
push 0x4f76e6
push dword [ebp + 8]
call sub.CRTDLL.DLL_fopen
add esp, 8
mov dword [0x44100c], ebp
mov dword [0x434984], eax
cmp eax, 0
jne 0x410b5e
inc dword [ebp - 8]
mov eax, 0
jmp 0x411350
mov byte [ebp - 8], 0xe
push dword [0x434984]
push 1
push 0xd
lea edi, [ebp - 0x30]
push edi
call sub.CRTDLL.DLL_fread
add esp, 0x10
mov dword [0x44100c], ebp
inc dword [ebp - 8]
push 6
push str.GIF89a
lea edi, [ebp - 0x30]
push edi
call sub.CRTDLL.DLL_strncmp
add esp, 0xc
mov dword [0x44100c], ebp
cmp eax, 0
je 0x410be1
push 6
push str.GIF87a
lea edi, [ebp - 0x30]
push edi
call sub.CRTDLL.DLL_strncmp
add esp, 0xc
mov dword [0x44100c], ebp
cmp eax, 0
je 0x410be1
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fclose
add esp, 4
mov dword [0x44100c], ebp
inc dword [ebp - 8]
mov eax, 0
jmp 0x411350
mov byte [ebp - 8], 0x14
push 0x480a
push dword [ebp + 0xc]
call sub.KERNEL32.dll_RtlZeroMemory
mov dword [0x44100c], ebp
inc dword [ebp - 8]
mov edi, dword [ebp + 0xc]
mov si, word [ebp - 0x2a]
mov word [edi + 2], si
inc dword [ebp - 8]
mov edi, dword [ebp + 0xc]
mov si, word [ebp - 0x28]
mov word [edi + 4], si
mov byte [ebp - 8], 0x19
test byte [ebp - 0x26], 0x80
je 0x410c25
mov ebx, 1
jmp 0x410c2a
mov ebx, 0
mov dword [0x4f7610], ebx
mov byte [ebp - 8], 0x1a
cmp dword [0x4f7610], 0
je 0x410d24
inc dword [ebp - 8]
mov edi, 1
movzx ebx, byte [ebp - 0x26]
mov esi, ebx
and esi, 7
mov ecx, esi
add ecx, 1
shl edi, cl
mov dword [0x4f7620], edi
inc dword [ebp - 8]
mov dword [ebp - 0x10], 0
jmp 0x410cdc
mov byte [ebp - 8], 0x1d
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x435996], bl
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x435995], bl
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x435994], bl
mov byte [ebp - 8], 0x1c
inc dword [ebp - 0x10]
mov edi, dword [0x4f7620]
cmp dword [ebp - 0x10], edi
jl 0x410c6b
mov byte [ebp - 8], 0x21
mov edi, dword [ebp + 0xc]
movzx ebx, byte [ebp - 0x25]
mov bl, byte [ebx*4 + 0x435996]
mov byte [edi + 8], bl
inc dword [ebp - 8]
mov edi, dword [ebp + 0xc]
movzx ebx, byte [ebp - 0x25]
mov bl, byte [ebx*4 + 0x435995]
mov byte [edi + 7], bl
inc dword [ebp - 8]
mov edi, dword [ebp + 0xc]
movzx ebx, byte [ebp - 0x25]
mov bl, byte [ebx*4 + 0x435994]
mov byte [edi + 6], bl
mov byte [ebp - 8], 0x27
movzx edi, word [ebp - 0x2a]
add edi, 8
push edi
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x44100c], ebp
mov dword [ebp - 0x34], eax
cmp eax, 0
jne 0x410d69
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fclose
add esp, 4
mov dword [0x44100c], ebp
inc dword [ebp - 8]
mov eax, 0
jmp 0x411350
mov byte [ebp - 8], 0x2c
mov word [ebp - 0x40], 0
mov word [ebp - 0x3e], 0
mov word [ebp - 0x1a], 0
inc dword [ebp - 8]
mov dword [ebp - 0x44], 0xffffffff
mov byte [ebp - 8], 0x30
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov dword [ebp - 0x10], eax
mov byte [ebp - 8], 0x32
cmp dword [ebp - 0x10], 0
jne 0x410dbd
inc dword [ebp - 8]
mov dword [ebp - 0x10], 0
jmp 0x411307
mov byte [ebp - 8], 0x35
cmp dword [ebp - 0x10], 0x21
jne 0x410e87
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov dword [ebp - 0x10], eax
mov byte [ebp - 8], 0x38
mov byte [ebp - 8], 0x37
call fcn.004100b4
mov dword [0x44100c], ebp
cmp eax, 0
jg 0x410de5
mov byte [ebp - 8], 0x39
cmp dword [ebp - 0x10], 0xf9
jne 0x411307
inc dword [ebp - 8]
movzx ebx, byte [0x435d94]
mov edi, ebx
mov word [ebp - 0x36], di
inc dword [ebp - 8]
test word [ebp - 0x36], 1
je 0x410e3d
inc dword [ebp - 8]
movzx ebx, byte [0x435d97]
mov edi, ebx
movzx edi, di
mov dword [ebp - 0x44], edi
jmp 0x410e48
mov byte [ebp - 8], 0x3e
mov dword [ebp - 0x44], 0xffffffff
mov byte [ebp - 8], 0x3f
movzx edi, word [ebp - 0x36]
sar edi, 2
and edi, 7
mov word [ebp - 0x40], di
inc dword [ebp - 8]
movzx ebx, byte [0x435d95]
mov edi, ebx
movzx edi, di
movzx ebx, byte [0x435d96]
mov esi, ebx
movzx esi, si
shl esi, 8
add edi, esi
mov word [ebp - 0x3e], di
mov byte [ebp - 8], 0x42
jmp 0x411307
mov byte [ebp - 8], 0x43
cmp dword [ebp - 0x10], 0x2c
jne 0x411310
inc dword [ebp - 8]
push dword [0x434984]
push 1
push 9
lea edi, [ebp - 0x23]
push edi
call sub.CRTDLL.DLL_fread
add esp, 0x10
mov dword [0x44100c], ebp
inc dword [ebp - 8]
test byte [ebp - 0x1b], 0x40
je 0x410ec4
mov ebx, 1
jmp 0x410ec9
mov ebx, 0
mov dword [0x4f7624], ebx
mov byte [ebp - 8], 0x46
test byte [ebp - 0x1b], 0x80
je 0x410ee0
mov ebx, 1
jmp 0x410ee5
mov ebx, 0
mov dword [0x4f7628], ebx
mov byte [ebp - 8], 0x48
mov eax, 0x3c
movzx edi, word [ebp - 0x1a]
mul edi
mov dword [ebp - 0x48], eax
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x48]
lea edi, [esi + edi + 0xa]
mov dword [ebp - 0x14], edi
inc dword [ebp - 8]
movzx edi, word [ebp - 0x1a]
mov esi, dword [ebp + 0xc]
mov bx, word [ebp - 0x23]
mov word [esi + edi*2 + 0x3c0a], bx
inc dword [ebp - 8]
movzx edi, word [ebp - 0x1a]
mov esi, dword [ebp + 0xc]
mov bx, word [ebp - 0x21]
mov word [esi + edi*2 + 0x3e0a], bx
inc dword [ebp - 8]
movzx edi, word [ebp - 0x1a]
mov esi, dword [ebp + 0xc]
mov bx, word [ebp - 0x3e]
mov word [esi + edi*2 + 0x400a], bx
inc dword [ebp - 8]
movzx edi, word [ebp - 0x1a]
mov esi, dword [ebp + 0xc]
mov bx, word [ebp - 0x40]
mov word [esi + edi*2 + 0x420a], bx
inc dword [ebp - 8]
movzx edi, word [ebp - 0x1a]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x44]
mov dword [esi + edi*4 + 0x440a], ebx
mov byte [ebp - 8], 0x4f
cmp dword [0x4f7628], 0
je 0x41103d
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, 1
movzx ebx, byte [ebp - 0x1b]
and ebx, 7
mov ecx, ebx
add ecx, 1
shl esi, cl
mov dword [edi + 8], esi
inc dword [ebp - 8]
lea edi, [0x439e94]
mov dword [ebp - 0x18], edi
inc dword [ebp - 8]
mov dword [ebp - 0x10], 0
jmp 0x41102c
mov byte [ebp - 8], 0x53
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x439e96], bl
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x439e95], bl
inc dword [ebp - 8]
push dword [0x434984]
call sub.CRTDLL.DLL_fgetc
add esp, 4
mov dword [0x44100c], ebp
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov byte [esi*4 + 0x439e94], bl
mov byte [ebp - 8], 0x52
inc dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 8]
cmp dword [ebp - 0x10], edi
jl 0x410fbb
mov byte [ebp - 8], 0x57
jmp 0x41107d
mov byte [ebp - 8], 0x58
cmp dword [0x4f7610], 0
je 0x411067
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [0x4f7620]
mov dword [edi + 8], esi
inc dword [ebp - 8]
lea edi, [0x435994]
mov dword [ebp - 0x18], edi
jmp 0x411079
mov byte [ebp - 8], 0x5d
mov word [ebp - 0x1a], 0
inc dword [ebp - 8]
jmp 0x411310
mov byte [ebp - 8], 0x61
mov edi, dword [ebp - 0x14]
cmp dword [edi + 8], 0x10
jbe 0x411093
mov byte [ebp - 8], 0x62
mov dword [ebp - 0x10], 8
jmp 0x4110bb
mov byte [ebp - 8], 0x63
mov edi, dword [ebp - 0x14]
cmp dword [edi + 8], 2
jbe 0x4110ac
inc dword [ebp - 8]
mov dword [ebp - 0x10], 4
jmp 0x4110b7
mov byte [ebp - 8], 0x66
mov dword [ebp - 0x10], 1
mov byte [ebp - 8], 0x67
mov edi, 1
mov ecx, dword [ebp - 0x10]
shl edi, cl
mov dword [ebp - 0x3c], edi
mov byte [ebp - 8], 0x68
mov edi, dword [ebp - 0x14]
movzx esi, word [ebp - 0x1f]
imul esi, dword [ebp - 0x10]
mov eax, esi
add eax, 0x1f
mov ecx, 0x20
cdq
idiv ecx
mov esi, eax
shl esi, 2
mov dword [edi + 0xc], esi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 8]
shl esi, 2
mov eax, dword [edi + 0xc]
movzx ebx, word [ebp - 0x1d]
mul ebx
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x4c]
lea esi, [esi + ebx + 0x28]
mov dword [edi + 4], esi
mov byte [ebp - 8], 0x6b
mov edi, dword [ebp - 0x14]
push dword [edi + 4]
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x44100c], ebp
mov dword [edi], eax
cmp eax, 0
jne 0x411134
inc dword [ebp - 8]
jmp 0x411310
mov byte [ebp - 8], 0x70
mov edi, dword [ebp - 0x14]
mov esi, dword [edi]
mov dword [edi + 0x10], esi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 0x10]
add esi, 0x28
mov dword [edi + 0x14], esi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 8]
shl esi, 2
add esi, dword [edi + 0x14]
mov dword [edi + 0x18], esi
mov byte [ebp - 8], 0x74
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov dword [edi], 0x28
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
movzx esi, word [ebp - 0x1f]
mov dword [edi + 4], esi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
movzx esi, word [ebp - 0x1d]
mov dword [edi + 8], esi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov word [edi + 0xc], 1
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov dword [edi + 0x10], 0
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0x10]
mov word [edi + 0xe], si
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mul dword [esi + 8]
mov dword [ebp - 0x50], eax
mov edi, dword [ebp - 0x50]
mov dword [esi + 0x14], edi
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov dword [edi + 0x18], 0x9c4
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 0x10]
mov dword [edi + 0x1c], 0x9c4
inc dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
cmp dword [edi + 8], esi
jae 0x41120e
mov esi, dword [ebp - 0x14]
mov ebx, dword [esi + 8]
jmp 0x411213
mov ebx, 0
mov edi, dword [edi + 0x10]
mov dword [edi + 0x24], ebx
mov byte [ebp - 8], 0x7e
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
cmp dword [edi + 8], esi
jae 0x411230
mov esi, dword [ebp - 0x14]
mov ebx, dword [esi + 8]
jmp 0x411235
mov ebx, 0
mov edi, dword [edi + 0x10]
mov dword [edi + 0x20], ebx
mov byte [ebp - 8], pe_nt_image_headers32
mov dword [ebp - 0x10], 0
jmp 0x41129c
mov byte [ebp - 8], 0x81
mov edi, dword [ebp - 0x10]
shl edi, 2
mov esi, dword [ebp - 0x14]
mov esi, dword [esi + 0x14]
mov ebx, dword [ebp - 0x18]
mov bl, byte [edi + ebx + 2]
mov byte [edi + esi + 2], bl
inc dword [ebp - 8]
mov edi, dword [ebp - 0x10]
shl edi, 2
mov esi, dword [ebp - 0x14]
mov esi, dword [esi + 0x14]
mov ebx, dword [ebp - 0x18]
mov bl, byte [edi + ebx + 1]
mov byte [edi + esi + 1], bl
inc dword [ebp - 8]
mov edi, dword [ebp - 0x10]
shl edi, 2
mov esi, dword [ebp - 0x14]
mov esi, dword [esi + 0x14]
mov ebx, dword [ebp - 0x18]
mov bl, byte [ebx + edi]
mov byte [esi + edi], bl
mov byte [ebp - 8], pe_nt_image_headers32
inc dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov edi, dword [edi + 8]
cmp dword [ebp - 0x10], edi
jl 0x411248
mov byte [ebp - 8], 0x86
movzx edi, word [ebp - 0x2a]
add edi, 8
push edi
push 0
push dword [ebp - 0x34]
call sub.CRTDLL.DLL_memset
add esp, 0xc
mov dword [0x44100c], ebp
inc dword [ebp - 8]
push dword [ebp - 0x34]
push dword [ebp - 0x14]
call fcn.00410688
add esp, 8
mov dword [0x44100c], ebp
mov byte [ebp - 8], 0x8a
movzx edi, word [ebp - 0x1a]
add edi, 1
mov word [ebp - 0x1a], di
movzx edi, di
cmp edi, 0x100
jl 0x411303
inc dword [ebp - 8]
jmp 0x411310
mov byte [ebp - 8], 0x95
mov byte [ebp - 8], 0x2f
jmp 0x410d89
mov byte [ebp - 8], 0x97
mov edi, dword [ebp + 0xc]
mov si, word [ebp - 0x1a]
mov word [edi], si
mov byte [ebp - 8], 0x99
push dword [0x434984]
call sub.CRTDLL.DLL_fclose
add esp, 4
mov dword [0x44100c], ebp
inc dword [ebp - 8]
push dword [ebp - 0x34]
call sub.KERNEL32.dll_GlobalFree
mov dword [0x44100c], ebp
mov byte [ebp - 8], 0x9c
mov eax, 1
mov byte [ebp - 8], 0x9d
cmp dword [ebp - 0xc], 0x4f76c4
je 0x411367
push 0
call fcn.0042b684
add esp, 4
pop edi
pop esi
pop ebx
leave
ret