Function at 0x1000a990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0xa8]
sub esp, 0xa8
push 0xffffffffffffffff
push 0x1008083a
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x10097288]
xor eax, ebp
mov dword [ebp + 0xa4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, edx
mov dword [ebp - 0x68], ebx
mov edi, ecx
mov dword [ebp - 0x1c], edi
mov edx, dword [ebp + 0xc0]
mov eax, dword [ebp + 0xb0]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0xb4]
cmp dword [edx + 0x88], 0
mov ecx, dword [edx + 0x7c]
mov dword [ebp - 0xa4], eax
setne byte [ebp - 0x41]
mov eax, dword [ebp + 0xbc]
mov dword [ebp - 0x98], eax
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x9c], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [edx + 0x84]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 0
cmp ecx, 0xffffffff
jne 0x1000aa6f
mov byte [ebp - 0x11], 1
push dword [edi]
lea eax, [ebp + 0x9c]
push 5
push eax
call fcn.1006fce5
add esp, 0xc
test eax, eax
jne 0x1000aab8
push dword [edi + 4]
push 0x100886c4
call fcn.100520b0
add esp, 8
jmp 0x1000c61a
cmp ecx, 0xfffffffe
jne 0x1000aa7a
mov byte [ebp - 0x12], 1
jmp 0x1000aa43
cmp ecx, 1
je 0x1000aa43
cmp ecx, 2
je 0x1000aa43
cmp ecx, 4
je 0x1000aa43
cmp ecx, 8
je 0x1000aa43
cmp ecx, 0x10
je 0x1000aa43
cmp ecx, 0x20
je 0x1000aa43
cmp ecx, 0x40
je 0x1000aa43
cmp ecx, 0x80
je 0x1000aa43
push ecx
push 0x100886a4
call fcn.100520b0
add esp, 8
jmp 0x1000c61a
mov ecx, 0x100886ec
lea eax, [ebp + 0x9c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000aae3
test dl, dl
je 0x1000aadf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000aae3
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000aac3
xor eax, eax
jmp 0x1000aae8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000abed
push dword [edi]
lea eax, [ebp + 0x9c]
push 5
push eax
call fcn.1006fce5
add esp, 0xc
test eax, eax
je 0x1000c61a
mov ecx, 0x100886f4
lea eax, [ebp + 0x9c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ab36
test dl, dl
je 0x1000ab32
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ab36
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ab16
xor eax, eax
jmp 0x1000ab3b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000c61a
push dword [edi]
lea eax, [ebp + 0x2c]
push 0x3d
push eax
call fcn.1006fce5
add esp, 0xc
test eax, eax
je 0x1000abb2
jmp 0x1000ab60
push 0xd
lea eax, [ebp + 0x2c]
push 0x10088724
push eax
call fcn.1006f350
add esp, 0xc
test eax, eax
je 0x1000abc4
push 0xa
lea eax, [ebp + 0x5c]
push 0
push eax
call fcn.1006fcbb
add esp, 0xc
test eax, eax
js 0x1000c61a
test al, 1
je 0x1000ab94
inc eax
push 1
push eax
push dword [edi]
call fcn.100702af
push dword [edi]
lea eax, [ebp + 0x2c]
push 0x3d
push eax
call fcn.1006fce5
add esp, 0x18
test eax, eax
jne 0x1000ab60
push 0x100886fc
call fcn.100520b0
add esp, 4
jmp 0x1000c61a
push dword [edi]
lea eax, [ebp + 0x9c]
push 5
push eax
call fcn.1006fce5
add esp, 0xc
test eax, eax
jne 0x1000abed
push 0x10088734
call fcn.100520b0
add esp, 4
jmp 0x1000c61a
xor esi, esi
xor eax, eax
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], eax
mov ecx, 0x10088748
lea eax, [ebp + 0x9c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ac34
test dl, dl
je 0x1000ac30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ac34
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ac14
xor eax, eax
jmp 0x1000ac39
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ac52
push dword [edi + 4]
push 0x10088750
call fcn.100520b0
add esp, 8
jmp 0x1000c612
push dword [edi]
call fcn.1006f914
add esp, 4
cmp eax, dword [edi + 8]
jne 0x1000ac6b
push 0x10089d84
jmp 0x1000c60a
lea edi, [eax - 0x20]
cmp edi, 0x4f
ja 0x1000c605
mov dword [ebp - 0x30], edi
mov esi, 1
mov dword [ebp - 0x2c], esi
cmp edi, 0x2f
jle 0x1000ac95
sub edi, 0x20
mov esi, 2
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], esi
mov eax, edi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp eax, 1
jne 0x1000aca9
mov al, al
jmp 0x1000acb4
cmp eax, 2
jne 0x1000c5fe
mov al, al
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 0x13], al
mov byte [ecx + 0x5c], al
cmp al, 1
jne 0x1000acd4
cmp dword [ecx + 0x94], 0
je 0x1000acd4
push str.Non_interlaced_FLIF_file__no_breakpoints_to_report._n
jmp 0x1000c60a
cmp dword [ebp - 0x34], 1
je 0x1000acee
cmp al, 1
jne 0x1000acee
cmp byte [ebp - 0x11], 0
jne 0x1000acee
push str.Cannot_decode_non_interlaced_FLIF_file_at_lower_scale__n
jmp 0x1000c60a
cmp dword [ebp - 0x9c], 0x64
jge 0x1000ad0a
cmp al, 1
jne 0x1000ad0a
push str.Cannot_decode_non_interlaced_FLIF_file_at_lower_quality__Ignoring_quality..._n
push 1
call fcn.100520e0
add esp, 8
and edi, 0x8000000f
jns 0x1000ad17
dec edi
or edi, 0xfffffff0
inc edi
lea eax, [edi - 1]
mov dword [ebp - 0x18], edi
cmp eax, 3
ja 0x1000c5f7
cmp edi, 2
je 0x1000c5f7
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
call fcn.1000ec50
test al, al
je 0x1000c612
mov eax, dword [ebp - 0x30]
add eax, 0xffffffd0
cmp eax, 2
ja 0x1000c5f0
mov ecx, dword [ebp - 0x1c]
call fcn.1000ec80
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x60], eax
call fcn.1000ec80
inc eax
cmp dword [ebp - 0x60], 1
mov dword [ebp - 0x64], eax
jl 0x1000c5e9
cmp eax, 1
jl 0x1000c5e9
cmp esi, 1
jle 0x1000ad8f
mov ecx, dword [ebp - 0x1c]
call fcn.1000ec80
lea esi, [eax + 2]
mov dword [ebp - 0x2c], esi
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 0
mov esi, dword [ebp - 0x1c]
lea edx, [ebp + 0x6c]
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.1000ecd0
test eax, eax
jne 0x1000aec9
mov esi, dword [ebp + 0xc4]
mov ebx, dword [ebp - 0x1c]
lea esp, [esp]
cmp byte [esi], 0
jne 0x1000ae0d
mov ecx, 0x100888f8
lea eax, [ebp + 0x6c]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ae00
test dl, dl
je 0x1000adfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ae00
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ade0
xor eax, eax
jmp 0x1000ae05
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ae9f
cmp byte [esi + 1], 0
jne 0x1000ae49
mov ecx, 0x10088900
lea eax, [ebp + 0x6c]
jmp 0x1000ae20
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ae40
test dl, dl
je 0x1000ae3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ae40
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ae20
xor eax, eax
jmp 0x1000ae45
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ae9f
cmp byte [esi + 2], 0
jne 0x1000ae80
mov ecx, 0x10088908
lea eax, [ebp + 0x6c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ae77
test dl, dl
je 0x1000ae73
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ae77
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ae57
xor eax, eax
jmp 0x1000ae7c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ae9f
lea eax, [ebp + 0x6c]
push eax
push str.Read_metadata_chunk:__s_n
push 3
call fcn.100520e0
add esp, 0xc
lea eax, [ebp + 0x6c]
lea ecx, [ebp - 0x40]
push eax
call fcn.10006820
lea edx, [ebp + 0x6c]
mov ecx, ebx
call fcn.1000ecd0
test eax, eax
je 0x1000add0
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x90], edx
cmp eax, 1
je 0x1000aee8
push str.Invalid_FLIF_file._n
call fcn.100520b0
add esp, 4
lea ecx, [ebp + 0x6c]
call fcn.10003000
jmp 0x1000c612
cmp byte [ebp - 0x12], 0
je 0x1000af35
push 0
lea ecx, [ebp]
call fcn.10002520
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.10007050
lea ecx, [ebp]
mov byte [ebp - 4], 1
call fcn.10002f60
mov ecx, dword [ebx]
lea eax, [ebp - 0x40]
push eax
add ecx, 0x60
call fcn.10006680
lea ecx, [ebp + 0x6c]
call fcn.10003000
lea ecx, [ebp - 0x40]
call fcn.10006640
mov al, 1
jmp 0x1000c61c
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x94], 0
je 0x1000af58
push dword [esi]
call fcn.100701b4
push eax
push str.Image_data_starts_at_offset__li_n
push 1
call fcn.100520e0
add esp, 0x10
push esi
lea ecx, [ebp - 0xb0]
call fcn.1000e960
push dword [ebp - 0x64]
lea eax, [ebp - 0xb0]
push dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
push str.Decoding__ix_i_image__channels:
push 3
call fcn.100520e0
mov ebx, dword [ebp - 0x30]
xor eax, eax
add esp, 0x10
mov dword [ebp - 0x7c], eax
xor esi, esi
test edi, edi
jle 0x1000aff2
mov edx, 0xff
cmp ebx, 0x32
jne 0x1000afa1
mov edx, 0xffff
jmp 0x1000afbf
cmp ebx, 0x30
jne 0x1000afbf
push 0xf
push 1
lea ecx, [ebp - 0x20]
call fcn.1000e680
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 0x7c]
shl edx, cl
dec edx
cmp edx, eax
cmovg eax, edx
mov dword [ebp - 0x7c], eax
cmp ebx, 0x30
jne 0x1000afed
inc edx
jne 0x1000afd3
xor eax, eax
jmp 0x1000afd9
bsr eax, edx
mov dword [ebp - 0x28], eax
push eax
push esi
push str.___i___i_bpp
push 3
call fcn.100520e0
mov eax, dword [ebp - 0x7c]
add esp, 0x10
inc esi
cmp esi, edi
jl 0x1000af90
cmp ebx, 0x31
jne 0x1000afff
push edi
push str.__i__depth:_8_bit
jmp 0x1000b00a
cmp ebx, 0x32
jne 0x1000b014
push edi
push str.__i__depth:_16_bit
push 3
call fcn.100520e0
add esp, 0xc
mov esi, dword [ebp - 0x2c]
cmp esi, 1
jle 0x1000b02c
push esi
push str.__frames:__i
push 3
call fcn.100520e0
add esp, 0xc
mov byte [ebp - 0x12], 0
cmp edi, 3
jle 0x1000b05c
push 1
push 0
lea ecx, [ebp - 0x20]
call fcn.1000e680
test eax, eax
setne al
mov byte [ebp - 0x12], al
test al, al
jne 0x1000b05c
push str.__store_RGB_at_A0
push 3
call fcn.100520e0
add esp, 8
push 0x100889e0
push 3
call fcn.100520e0
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x1000b2af
mov eax, dword [ebp - 0x1c]
push dword [eax + 4]
push str._s:
push 1
call fcn.100520e0
add esp, 0xc
cmp esi, 1
jne 0x1000b09f
push str.FLIF_image
push esi
call fcn.100520e0
add esp, 8
jmp 0x1000b0af
push esi
push str.FLIF_animation___i_frames
push 1
call fcn.100520e0
add esp, 0xc
push dword [ebp - 0x64]
push dword [ebp - 0x60]
push str.___ux_u_
push 1
call fcn.100520e0
add esp, 0x10
cmp ebx, 0x31
jne 0x1000b0da
push str.8_bit
push 1
call fcn.100520e0
add esp, 8
jmp 0x1000b111
cmp ebx, 0x32
jne 0x1000b0f0
push str.16_bit
push 1
call fcn.100520e0
add esp, 8
jmp 0x1000b111
cmp ebx, 0x30
jne 0x1000b111
mov eax, dword [ebp - 0x7c]
inc eax
je 0x1000b101
bsr eax, eax
mov dword [ebp - 0x28], eax
push eax
push str._i_bit
push 1
call fcn.100520e0
add esp, 0xc
cmp edi, 1
jne 0x1000b11d
push str.grayscale
jmp 0x1000b133
cmp edi, 3
jne 0x1000b129
push 0x10088a44
jmp 0x1000b133
cmp edi, 4
jne 0x1000b13d
push str.RGBA
push 1
call fcn.100520e0
add esp, 8
mov al, byte [ebp - 0x13]
cmp al, 1
jne 0x1000b14b
push str.__non_interlaced
jmp 0x1000b154
cmp al, 2
jne 0x1000b15e
push str.__interlaced
push 1
call fcn.100520e0
add esp, 8
push 0x10088a74
push 1
call fcn.100520e0
mov ecx, dword [ebp - 0x90]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x94]
add esp, 8
sub ecx, ebx
imul ecx
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
je 0x1000af1e
push str.Contains_metadata:
push 1
call fcn.100520e0
add esp, 8
xor esi, esi
test edi, edi
je 0x1000af1e
jmp 0x1000b1b0
mov ecx, str.iCCP
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000b1d7
test dl, dl
je 0x1000b1d3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000b1d7
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000b1b7
xor eax, eax
jmp 0x1000b1dc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000b1f4
push str.ICC_color_profile
push 1
call fcn.100520e0
add esp, 8
jmp 0x1000b28b
mov ecx, str.eXif
mov eax, ebx
jmp 0x1000b200
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000b220
test dl, dl
je 0x1000b21c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000b220
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000b200
xor eax, eax
jmp 0x1000b225
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000b23a
push str.Exif
push 1
call fcn.100520e0
add esp, 8
jmp 0x1000b28b
mov ecx, str.eXmp
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000b261
test dl, dl
je 0x1000b25d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000b261
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000b241
xor eax, eax
jmp 0x1000b266
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000b27b
push 0x10088ac0
push 1
call fcn.100520e0
add esp, 8
jmp 0x1000b28b
push ebx
push str.Unknown:__s
push 1
call fcn.100520e0
add esp, 0xc
inc esi
cmp esi, edi
jae 0x1000b29f
push 0x10088ad0
push 1
call fcn.100520e0
add esp, 8
add ebx, 0x18
cmp esi, edi
jb 0x1000b1b0
jmp 0x1000af1e
cmp esi, 1
jle 0x1000b2c0
push 0x64
push 0
lea ecx, [ebp - 0x20]
call fcn.1000e680
mov ecx, dword [ebp - 0x24]
test ecx, ecx
js 0x1000c5df
mov ebx, dword [ebp - 0x78]
test ebx, ebx
js 0x1000c5df
cmp byte [ebp - 0x41], 0
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xb4], ebx
je 0x1000b30b
test ecx, ecx
jg 0x1000b2fa
test ebx, ebx
jg 0x1000b2fa
push str.Invalid_target_dimensions._n
jmp 0x1000aed3
lea ecx, [ecx*2 - 1]
mov dword [ebp - 0x24], ecx
lea ebx, [ebx*2 - 1]
test ecx, ecx
jne 0x1000b313
test ebx, ebx
je 0x1000b362
cmp dword [ebp - 0x34], 1
jle 0x1000b329
push str.Dont_use__s_and___r_or__f__at_the_same_time__Ignoring__s..._n
call fcn.100520b0
mov ecx, dword [ebp - 0x24]
add esp, 4
mov edi, dword [ebp - 0x64]
mov esi, 1
test ecx, ecx
jle 0x1000b341
mov eax, dword [ebp - 0x60]
dec eax
cdq
idiv esi
inc eax
cmp eax, ecx
jg 0x1000b350
test ebx, ebx
jle 0x1000b354
lea eax, [edi - 1]
cdq
idiv esi
inc eax
cmp eax, ebx
jle 0x1000b354
add esi, esi
jmp 0x1000b331
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x34], esi
mov dword [eax + 0x7c], esi
jmp 0x1000b365
mov esi, dword [ebp - 0x34]
cmp esi, 1
je 0x1000b464
cmp byte [ebp - 0x13], 1
jne 0x1000b464
push str.Cannot_decode_non_interlaced_FLIF_file_at_lower_scale__Ignoring_resize_target..._n
push 1
call fcn.100520e0
mov esi, 1
add esp, 8
mov dword [ebp - 0x34], esi
bsr eax, esi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x1000b3c4
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x60]
lea eax, [ecx - 1]
cdq
idiv esi
inc eax
push eax
lea eax, [ebx - 1]
cdq
idiv esi
inc eax
push eax
push ecx
push ebx
push esi
push str.Decoding_downscaled_image_at_scale_1:_i___ix_i_____ix_i__n
push 3
call fcn.100520e0
add esp, 0x1c
xor eax, eax
mov ecx, 2
cmp edi, 1
cmovg eax, ecx
xor ecx, ecx
add eax, edi
cmp dword [ebp - 0x7c], 0xff
setg cl
inc ecx
imul eax, ecx
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [ebp - 0x64]
dec eax
cdq
idiv esi
inc eax
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x60]
dec eax
cdq
idiv dword [ebp - 0x34]
inc eax
cdq
push edx
push eax
push ecx
push esi
call fcn.1007f6f0
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x18]
cdq
push edx
push eax
push ecx
push esi
call fcn.1007f6f0
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
push ecx
push esi
call fcn.1007f6f0
push edi
push ebx
push edx
push eax
call fcn.1007f6f0
cmp edx, 1
jb 0x1000b474
ja 0x1000b441
cmp eax, 0x2a05f200
jbe 0x1000b474
push 1
push 0x2a05f200
push edx
push eax
push str.This_is_going_to_take_too_much_memory___llu____llu_._Aborting._nCompile_with_a_higher_MAX_IMAGE_BUFFER_SIZE_if_you_really_want_to_do_this._n
call fcn.100520b0
add esp, 0x14
lea ecx, [ebp + 0x6c]
call fcn.10003000
jmp 0x1000c612
test esi, esi
jne 0x1000b38f
mov dword [ebp - 0x24], esi
jmp 0x1000b3c4
mov eax, dword [ebp - 0x2c]
cmp eax, 0xc350
jle 0x1000b488
push str.Too_many_frames._Aborting._nCompile_with_a_higher_MAX_FRAMES_value_if_you_really_want_to_do_this._n
jmp 0x1000aed3
mov ebx, dword [ebp - 0x68]
xor edi, edi
lea ecx, [ecx]
cmp edi, eax
jge 0x1000b563
push dword [ebp - 0x24]
lea ecx, [ebp]
mov byte [ebp - 4], 3
call fcn.10002520
push eax
mov ecx, ebx
mov byte [ebp - 4], 4
call fcn.10007050
lea ecx, [ebp]
call fcn.10002f60
mov dword [ebp - 4], 1
push dword [ebp - 0x18]
mov ecx, dword [ebx]
push dword [ebp - 0x7c]
imul esi, edi, 0x6c
add ecx, esi
push ecx
push dword [ebp - 0x64]
push dword [ebp - 0x60]
call fcn.10002830
test al, al
je 0x1000aedb
mov eax, dword [ebx]
mov cl, byte [ebp - 0x12]
mov byte [eax + esi + 0x3c], cl
lea eax, [ebp - 0x40]
mov ecx, dword [ebx]
add ecx, 0x60
push eax
add ecx, esi
call fcn.10006680
cmp dword [ebp - 0x2c], 1
jle 0x1000b517
push 0xea60
push 0
lea ecx, [ebp - 0x20]
call fcn.1000e680
mov ecx, dword [ebx]
mov dword [ecx + esi + 0x38], eax
cmp dword [ebp - 0x8c], 0
je 0x1000b547
push dword [ebp - 0x24]
lea ecx, [ebp]
call fcn.10002520
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x98]
push eax
call fcn.10007050
lea ecx, [ebp]
mov byte [ebp - 4], 1
call fcn.10002f60
mov eax, dword [ebp - 0x2c]
inc edi
jmp 0x1000b490
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x20]
push 1
push 0
mov dword [esi + 0x68], 2
mov dword [esi + 0x64], 0xd79435e
call fcn.1000e680
test eax, eax
je 0x1000b5c5
push 0x7f
push 1
lea ecx, [ebp - 0x20]
call fcn.1000e680
push 0x7e
push 2
lea ecx, [ebp - 0x20]
mov dword [esi + 0x68], eax
call fcn.1000e680
mov ecx, eax
xor edx, edx
or eax, 0xffffffff
div ecx
push 1
push 0
lea ecx, [ebp - 0x20]
mov dword [esi + 0x64], eax
call fcn.1000e680
test eax, eax
je 0x1000b5c5
push str.Not_yet_implemented:_non_default_bitchance_initialization_n
jmp 0x1000aed3
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebx]
call fcn.100536d0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x74]
call fcn.1000e6f0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x1000b624
mov eax, dword [ecx]
push 1
call dword [eax]
push str.Transforms:
push 4
call fcn.100520e0
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0xb0]
add esp, 8
shr eax, 1
mov dword [ebp - 0x24], 0
or esi, 0xffffffff
mov dword [ebp - 0x28], 0
push eax
call fcn.1000e8a0
test al, al
je 0x1000b976
mov edi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x1c]
push dword [eax]
call fcn.1006f8ee
add esp, 4
test eax, eax
jne 0x1000b967
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0xb0]
lea ecx, [ebp + 0x84]
call fcn.1000ee20
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x28]
cmp eax, esi
jle 0x1000b943
lea edx, [ebp + 0x84]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x18]
call fcn.10055be0
mov byte [ebp - 4], 0xb
mov esi, dword [ebp - 0x18]
mov edi, dword [edi - 4]
mov dword [ebp - 0x78], edi
test esi, esi
je 0x1000b91f
mov eax, dword [esi]
mov ecx, esi
push edi
mov eax, dword [eax + 4]
call eax
test al, al
je 0x1000b8c6
mov ecx, dword [ebp - 0x24]
mov eax, ecx
inc ecx
mov dword [ebp - 0x24], ecx
test eax, eax
jle 0x1000b6f3
push 0x10088dd4
push 4
call fcn.100520e0
add esp, 8
cmp dword [ebp + 0x98], 0x10
lea eax, [ebp + 0x84]
cmovae eax, dword [ebp + 0x84]
push eax
push 0x10088e90
push 4
call fcn.100520e0
add esp, 0xc
lea ecx, [ebp + 0x84]
mov edx, str.Frame_Lookback
call fcn.1000eea0
test al, al
je 0x1000b752
mov ecx, dword [ebx + 4]
mov eax, 0x4bda12f7
sub ecx, dword [ebx]
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jb 0x1000b8e8
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
mov edx, str.Frame_Shape
lea ecx, [ebp + 0x84]
call fcn.1000eea0
test al, al
je 0x1000b7c4
mov ecx, dword [ebx + 4]
mov eax, 0x4bda12f7
mov edi, dword [ebx]
mov edx, ecx
sub edx, edi
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x1000b8e8
lea edx, [eax - 1]
mov eax, edi
cmp eax, ecx
je 0x1000b7a0
cmp dword [eax + 0x58], 0
jl 0x1000b799
dec edx
add eax, 0x6c
cmp eax, ecx
jne 0x1000b792
mov ecx, esi
cmp edx, 1
jl 0x1000b8ea
imul edx, dword [edi + 0x18]
mov eax, dword [esi]
push edx
call dword [eax + 0xc]
mov eax, dword [ebx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 0x14]
call dword [edx + 0xc]
mov edi, dword [ebp - 0x78]
mov edx, str.Duplicate_Frame
lea ecx, [ebp + 0x84]
call fcn.1000eea0
test al, al
je 0x1000b7ff
mov ecx, dword [ebx + 4]
mov eax, 0x4bda12f7
sub ecx, dword [ebx]
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jb 0x1000b8e8
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
mov edx, str.Palette_Alpha
lea ecx, [ebp + 0x84]
call fcn.1000eea0
test al, al
je 0x1000b821
mov eax, dword [ebx]
mov ecx, esi
mov edx, dword [esi]
movzx eax, byte [eax + 0x3c]
push eax
call dword [edx + 0xc]
mov eax, dword [esi]
lea ecx, [ebp - 0xb0]
push ecx
push edi
mov ecx, esi
mov eax, dword [eax + 0x10]
call eax
mov ecx, esi
test al, al
je 0x1000b8ea
mov eax, dword [esi]
push edi
push ebx
call dword [eax + 0x20]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.1000e6f0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x1000b867
mov eax, dword [ecx]
push 1
call dword [eax]
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x30], edi
cmp dword [edi - 4], 0
je 0x1000b8e8
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x88]
call fcn.1000e6f0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x1000b893
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp + 0x84]
mov byte [ebp - 4], 8
call fcn.10006370
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0xb0]
shr eax, 1
push eax
call fcn.1000e8a0
test al, al
je 0x1000b97c
mov esi, dword [ebp - 0x5c]
jmp 0x1000b663
cmp dword [ebp + 0x98], 0x10
lea eax, [ebp + 0x84]
cmovae eax, dword [ebp + 0x84]
push eax
push str.Transformation__s_failed_nTry_upgrading_your_FLIF_decoder__n
call fcn.100520b0
add esp, 8
mov ecx, esi
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
push 1
call dword [eax]
lea ecx, [ebp + 0x84]
call fcn.10006370
lea ecx, [ebp - 0x88]
call fcn.1000ea20
lea ecx, [ebp - 0x74]
call fcn.1000ea20
lea ecx, [ebp + 0x6c]
call fcn.10003000
jmp 0x1000c612
cmp dword [ebp + 0x98], 0x10
lea eax, [ebp + 0x84]
cmovae eax, dword [ebp + 0x84]
push eax
push str._nUnknown_transformation__s_nTry_upgrading_your_FLIF_decoder__n
call fcn.100520b0
add esp, 8
jmp 0x1000b8f4
cmp dword [ebp + 0x98], 0x10
lea eax, [ebp + 0x84]
cmovae eax, dword [ebp + 0x84]
push eax
push str._nTransformation__s_is_invalid_given_the_previous_transformations._nCorrupt_file__Or_try_upgrading_your_FLIF_decoder__n
call fcn.100520b0
add esp, 8
jmp 0x1000b8f4
push str.Unexpected_file_end_while_reading_header._Aborting._n
call fcn.100520b0
add esp, 4
jmp 0x1000b8ff
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 0xd
xor edx, edx
mov ecx, dword [ebp - 0x88]
xor ebx, ebx
mov edi, dword [ebp - 0x84]
mov esi, ecx
sub edi, ecx
add edi, 3
shr edi, 2
cmp ecx, dword [ebp - 0x84]
cmova edi, edx
test edi, edi
je 0x1000b9d9
lea esp, [esp]
mov eax, dword [esi]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.1000e780
inc ebx
lea esi, [esi + 4]
cmp ebx, edi
jne 0x1000b9c0
cmp dword [ebp - 0x24], 0
jne 0x1000b9e6
push str.none_n
jmp 0x1000b9eb
push 0x10088ed8
push 4
call fcn.100520e0
mov edi, dword [ebp - 0x30]
add esp, 8
cmp byte [ebp - 0x12], 0
mov ebx, dword [ebp - 0x48]
mov edi, dword [edi - 4]
mov dword [ebp - 0x58], edi
mov dword [ebx + 0x60], 0
je 0x1000ba4c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp eax, 3
jle 0x1000ba4c
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 8]
test eax, eax
jg 0x1000ba4c
cmp byte [ebp - 0x13], 2
jne 0x1000ba4c
push 2
push 0
lea ecx, [ebp - 0x20]
call fcn.1000e680
push eax
push str.Invisible_pixel_predictor:__H_i_n
push 4
mov dword [ebx + 0x60], eax
call fcn.100520e0
add esp, 0xc
mov eax, dword [edi]
xor esi, esi
mov ecx, edi
mov dword [ebp - 0x18], esi
xor ebx, ebx
call dword [eax + 4]
test eax, eax
jle 0x1000ba89
mov edi, edi
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0xc]
mov edx, dword [edi]
mov ecx, edi
push ebx
mov esi, eax
call dword [edx + 8]
cmp eax, esi
mov esi, dword [ebp - 0x18]
jge 0x1000ba7d
inc esi
mov dword [ebp - 0x18], esi
mov eax, dword [edi]
mov ecx, edi
inc ebx
call dword [eax + 4]
cmp ebx, eax
jl 0x1000ba60
mov eax, esi
mov dword [0x1009b7b4], 0
imul eax, dword [ebp - 0x64]
xor edx, edx
xorps xmm0, xmm0
movlpd qword [0x1009b7a0], xmm0
imul eax, dword [ebp - 0x60]
div dword [ebp - 0x34]
xor edx, edx
div dword [ebp - 0x34]
mov edx, eax
mov ecx, edx
mov dword [0x1009b7b0], edx
or ecx, 0
jne 0x1000baea
mov ecx, 1
mov dword [0x1009b7a4], 0
mov edx, ecx
mov dword [0x1009b7a0], ecx
mov dword [0x1009b7b0], edx
mov dword [0x1009b7b4], 0
jmp 0x1000baf0
mov ecx, dword [0x1009b7a0]
push dword [ebp - 0x9c]
mov eax, dword [ebp + 0xb8]
push edx
push esi
push ecx
push str._lu_subpixels_done___i_channels____lu_subpixels_todo__quality_target__i___n
push 9
mov dword [0x1009b7a8], eax
mov dword [0x100982f8], 0xffffffff
call fcn.100520e0
mov eax, dword [edi]
add esp, 0x18
mov ecx, edi
xor esi, esi
call dword [eax + 4]
test eax, eax
jle 0x1000bb5e
lea ebx, [ebx]
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0xc]
push eax
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 8]
push eax
push esi
push str.Plane__i:__i.._i_n
push 0xa
call fcn.100520e0
mov eax, dword [edi]
add esp, 0x14
mov ecx, edi
inc esi
call dword [eax + 4]
cmp esi, eax
jl 0x1000bb30
mov eax, dword [edi]
mov ecx, edi
xor ebx, ebx
call dword [eax + 4]
test eax, eax
jle 0x1000bbe7
jmp 0x1000bb70
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0xc]
mov edx, dword [edi]
mov ecx, edi
push ebx
mov esi, eax
call dword [edx + 8]
cmp eax, esi
jl 0x1000bbdb
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 8]
push eax
push ebx
push str.Constant_plane__i_at_color_value__i_n
push 6
call fcn.100520e0
mov ecx, dword [ebp - 0x2c]
add esp, 0x10
test ecx, ecx
jle 0x1000bbdb
xor eax, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], eax
mov edi, edi
mov ecx, dword [ebp - 0x68]
push ebx
mov esi, dword [ecx]
mov ecx, edi
add esi, eax
mov eax, dword [edi]
call dword [eax + 8]
cmp ebx, 3
jg 0x1000bbcd
push eax
push ebx
mov ecx, esi
call fcn.10002d00
mov eax, dword [ebp - 0x28]
add eax, 0x6c
dec dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
jne 0x1000bbb0
mov eax, dword [edi]
mov ecx, edi
inc ebx
call dword [eax + 4]
cmp ebx, eax
jl 0x1000bb70
mov ebx, dword [ebp - 0x68]
mov byte [ebp - 0x24], 0
mov eax, dword [ebx]
cmp byte [eax + 0x30], 0
je 0x1000bc3f
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0xc]
cmp eax, 0x100
jge 0x1000bc3f
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x9c], 0
je 0x1000bc3f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp eax, 4
jl 0x1000bc36
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0xc]
mov edx, dword [edi]
mov ecx, edi
push 3
mov esi, eax
call dword [edx + 8]
cmp eax, esi
jne 0x1000bc3f
mov byte [ebp - 0x24], 1
jmp 0x1000bce3
mov esi, dword [ebp - 0x2c]
test esi, esi
jle 0x1000bce6
xor edi, edi
mov dword [ebp - 0x18], esi
nop
mov esi, dword [ebx]
add esi, edi
mov ecx, dword [esi]
test ecx, ecx
je 0x1000bcd4
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x1000bcd4
mov ecx, dword [esi]
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [esi]
mov dword [ebp - 0x28], eax
mov dword [esi], 0
test ecx, ecx
je 0x1000bc86
mov eax, dword [ecx]
push 1
call dword [eax + 0x34]
cmp dword [esi + 0x2c], 8
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [esi + 0x18]
lea edx, [esi + 0x14]
push eax
jg 0x1000bcb3
lea ecx, [ebp - 0x5c]
call fcn.10008160
add esp, 0xc
mov ecx, esi
push eax
call fcn.10008200
mov ecx, dword [ebp - 0x5c]
jmp 0x1000bcc9
lea ecx, [ebp - 0x78]
call fcn.100082d0
add esp, 0xc
mov ecx, esi
push eax
call fcn.10008200
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x1000bcd4
mov eax, dword [ecx]
push 1
call dword [eax + 0x34]
add edi, 0x6c
dec dword [ebp - 0x18]
jne 0x1000bc50
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], 0
test esi, esi
jle 0x1000bd19
xor esi, esi
mov ecx, dword [ebx]
push dword [ebp - 0x24]
add ecx, esi
call fcn.10002930
test al, al
je 0x1000bdda
mov eax, dword [ebp - 0x28]
add esi, 0x6c
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jl 0x1000bcf3
mov esi, dword [ebp - 0x2c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp eax, 3
jle 0x1000bd4d
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 8]
test eax, eax
jle 0x1000bd4d
test esi, esi
jle 0x1000bd4d
xor ecx, ecx
mov edx, esi
lea ebx, [ebx]
mov eax, dword [ebx]
lea ecx, [ecx + 0x6c]
mov byte [eax + ecx - 0x30], 0
dec edx
jne 0x1000bd40
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp eax, 3
jle 0x1000bd7d
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0xc]
test eax, eax
jne 0x1000bd7d
test esi, esi
jle 0x1000bd7d
xor ecx, ecx
mov edx, esi
mov edi, edi
mov eax, dword [ebx]
lea ecx, [ecx + 0x6c]
mov byte [eax + ecx - 0x30], 0
dec edx
jne 0x1000bd70
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x18], 0
call dword [eax + 4]
test eax, eax
jle 0x1000bee9
xor ebx, ebx
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0xc]
mov edx, dword [edi]
mov ecx, edi
push ebx
mov esi, eax
call dword [edx + 8]
cmp esi, eax
jle 0x1000bdfb
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0xc]
mov edx, dword [edi]
mov ecx, edi
push ebx
mov esi, eax
call dword [edx + 8]
sub esi, eax
lea esi, [esi*2 - 1]
test esi, esi
jne 0x1000bde7
mov esi, dword [ebp - 0x18]
xor eax, eax
inc eax
cmp eax, esi
cmovg esi, eax
mov dword [ebp - 0x18], esi
jmp 0x1000bdfe
lea ecx, [ebp - 0x54]
call fcn.10006400
jmp 0x1000b8ff
bsr eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x58], eax
inc eax
cmp eax, esi
cmovg esi, eax
mov dword [ebp - 0x18], esi
jmp 0x1000bdfe
mov esi, dword [ebp - 0x18]
mov eax, dword [edi]
mov ecx, edi
inc ebx
call dword [eax + 4]
cmp ebx, eax
jl 0x1000bd95
mov ebx, dword [ebp - 0x68]
cmp esi, 0xa
jle 0x1000bee9
cmp esi, 0x12
jle 0x1000bebc
push str.FLIF_cannot_decode__16_bit_per_channel._How_did_this_happen__n
call fcn.100520b0
mov eax, dword [ebp - 0x54]
add esp, 4
test eax, eax
je 0x1000be51
push eax
call fcn.1006f76a
add esp, 4
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x88]
call fcn.1000ea20
lea ecx, [ebp - 0x74]
call fcn.1000ea20
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1000be8c
push eax
call fcn.1006f76a
add esp, 4
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 0
mov esi, dword [ebp - 0x94]
test esi, esi
je 0x1000c61a
push dword [ebp - 0xa0]
mov edx, dword [ebp - 0x90]
push ecx
mov ecx, esi
call fcn.10008bf0
push esi
call fcn.1006f76a
add esp, 0xc
jmp 0x1000c61a
push dword [ebp - 0x98]
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x54]
push dword [ebp - 0xa4]
mov edx, esi
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x8c]
push dword [ebp - 0x48]
push eax
push edi
push ebx
call fcn.1000f2f0
jmp 0x1000bf14
push dword [ebp - 0x98]
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x54]
push dword [ebp - 0xa4]
mov edx, esi
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x8c]
push dword [ebp - 0x48]
push eax
push edi
push ebx
call fcn.1000ef00
add esp, 0x1c
mov byte [ebp - 0x11], al
push 0x10088fc8
push 2
call fcn.10052110
add esp, 8
push dword [esi]
call fcn.100701b4
mov ecx, dword [ebx]
mov esi, eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
push dword [eax]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
call fcn.100701b4
movd xmm1, dword [ebp - 0x34]
mov ecx, eax
movd xmm2, esi
xor edx, edx
cvtdq2pd xmm2, xmm2
mov eax, edi
div dword [ebp - 0x34]
mulsd xmm2, qword [0x1008f1d8]
xor edx, edx
cmp dword [ebp - 0x2c], 1
cvtdq2pd xmm1, xmm1
jne 0x1000bfd1
movd xmm0, edi
cvtdq2pd xmm0, xmm0
shr edi, 0x1f
addsd xmm0, qword [edi*8 + 0x1008f290]
divsd xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
shr ebx, 0x1f
mulsd xmm2, xmm1
addsd xmm0, qword [ebx*8 + 0x1008f290]
mulsd xmm2, xmm1
divsd xmm2, xmm0
movsd qword [esp], xmm2
push eax
mov eax, dword [ebp - 0x5c]
div dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x1c]
push ecx
push dword [eax + 4]
push str.Decoded_input_file__s___li_bytes_for__ux_u_pixels___.4fbpp_____n
push 2
call fcn.100520e0
add esp, 0x20
jmp 0x1000c03c
mov esi, dword [ebp - 0x2c]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
shr edi, 0x1f
addsd xmm0, qword [edi*8 + 0x1008f290]
divsd xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
shr ebx, 0x1f
mulsd xmm2, xmm1
addsd xmm0, qword [ebx*8 + 0x1008f290]
mulsd xmm2, xmm1
divsd xmm2, xmm0
movsd qword [esp], xmm2
push eax
mov eax, dword [ebp - 0x5c]
div dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x1c]
push esi
push ecx
push dword [eax + 4]
push str.Decoded_input_file__s___li_bytes_for__i_frames_of__ux_u_pixels___.4fbpp_____n
push 2
call fcn.100520e0
add esp, 0x24
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 4]
shr eax, 1
push eax
call fcn.1000e8a0
mov ebx, dword [ebp - 0x68]
xor ecx, ecx
test al, al
setne cl
mov edi, dword [ebx + 4]
test ecx, ecx
mov esi, dword [ebx]
setne byte [ebp - 0x13]
cmp esi, edi
je 0x1000c08e
mov bl, byte [ebp - 0x11]
mov ecx, esi
call fcn.10009a60
test bl, bl
je 0x1000c084
cmp dword [ebp - 0x9c], 0x64
jl 0x1000c084
cmp dword [ebp - 0x34], 1
jne 0x1000c084
mov byte [esi + 0x5c], 1
add esi, 0x6c
cmp esi, edi
jne 0x1000c066
mov ebx, dword [ebp - 0x68]
cmp byte [ebp - 0x24], 0
je 0x1000c242
mov eax, dword [ebx]
cmp byte [eax + 0x30], 0
je 0x1000c242
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x54], eax
je 0x1000c26b
mov esi, dword [ebp - 0x30]
mov ecx, dword [eax - 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
test al, al
jne 0x1000c0fc
mov eax, dword [ebp - 0x50]
push 1
push 1
push ebx
mov ecx, dword [eax - 4]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
add esi, 0xfffffffc
sub eax, 4
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x50], eax
mov ecx, dword [esi]
test ecx, ecx
je 0x1000c0ef
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], esi
cmp dword [ebp - 0x54], eax
jne 0x1000c0b3
jmp 0x1000c26b
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x50]
je 0x1000c26b
mov edi, dword [esi - 4]
mov dword [ebp + 0x90], 0
mov dword [ebp + 0x94], 0
mov dword [ebp + 0x98], 0
mov byte [ebp - 4], 0xf
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 4]
push eax
push dword [ebp - 0x7c]
mov eax, dword [edi]
mov ecx, edi
sub esp, 8
push 1
call dword [eax + 0xc]
inc eax
lea ecx, [ebp]
push eax
call fcn.10002440
push eax
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 0x10
call fcn.10007050
lea ecx, [ebp]
mov byte [ebp - 4], 0xf
call fcn.10002f60
mov eax, dword [edi]
mov ecx, edi
push 1
xor esi, esi
call dword [eax + 0xc]
test eax, eax
js 0x1000c1a0
lea ebx, [ebx]
mov eax, dword [ebp + 0x90]
push esi
push esi
push 0
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push 1
inc esi
call dword [eax + 0xc]
cmp esi, eax
jle 0x1000c180
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x54], eax
je 0x1000c1d1
jmp 0x1000c1b0
mov ecx, dword [eax - 4]
lea edx, [ebp + 0x90]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
sub eax, 4
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x54], eax
jne 0x1000c1b0
push 0x6c
call fcn.1006f89d
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000c1f6
mov ecx, dword [ebp + 0x90]
push eax
call fcn.10002c90
mov edx, eax
jmp 0x1000c1f8
xor edx, edx
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
cmp eax, ecx
je 0x1000c20b
mov dword [eax + 0x34], edx
add eax, 0x6c
cmp eax, ecx
jne 0x1000c201
mov byte [ebp - 4], 0xd
mov esi, dword [ebp + 0x90]
test esi, esi
je 0x1000c26b
mov edi, dword [ebp + 0x94]
cmp esi, edi
je 0x1000c237
mov ecx, esi
call fcn.10002f60
add esi, 0x6c
cmp esi, edi
jne 0x1000c223
mov esi, dword [ebp + 0x90]
push esi
call fcn.1006f76a
add esp, 4
jmp 0x1000c26b
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x54], eax
je 0x1000c26b
lea ebx, [ebx]
mov ecx, dword [eax - 4]
push 1
push 1
push ebx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
sub eax, 4
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x54], eax
jne 0x1000c250
mov eax, dword [ebp - 0x88]
mov esi, eax
mov edi, dword [ebp - 0x84]
cmp eax, edi
je 0x1000c299
lea ecx, [ecx]
mov ecx, dword [esi]
test ecx, ecx
je 0x1000c28c
mov eax, dword [ecx]
push 1
call dword [eax]
add esi, 4
cmp esi, edi
jne 0x1000c280
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x74]
mov esi, eax
cmp eax, edi
je 0x1000c2c6
jmp 0x1000c2b0
mov ecx, dword [esi]
test ecx, ecx
je 0x1000c2bc
mov eax, dword [ecx]
push 1
call dword [eax]
add esi, 4
cmp esi, edi
jne 0x1000c2b0
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x70], eax
cmp dword [edi + 0x6c], 0
jne 0x1000c2dc
push str.Not_checking_checksum__as_requested._n
jmp 0x1000c434
mov esi, dword [ebx]
cmp dword [esi + 0x34], 0
je 0x1000c2f0
push str.Not_checking_checksum__palette_image_not_decoded_to_full_RGBA._n
push 2
jmp 0x1000c436
cmp dword [ebp - 0x9c], 0x64
jl 0x1000c42f
mov eax, dword [ebp - 0x34]
cmp eax, 1
jne 0x1000c412
cmp byte [ebp - 0x11], 0
je 0x1000c414
cmp byte [ebp - 0x13], 0
je 0x1000c40b
cmp byte [ebp - 0x12], 0
je 0x1000c33e
mov edi, dword [ebx + 4]
cmp esi, edi
je 0x1000c33e
lea ebx, [ebx]
mov ecx, esi
call fcn.10009ae0
add esi, 0x6c
cmp esi, edi
jne 0x1000c330
mov eax, dword [ebx]
xor esi, esi
mov dword [ebp - 0x58], eax
mov edi, dword [eax + 0x14]
shl edi, 0x10
add edi, dword [eax + 0x18]
cmp dword [eax + 0x24], esi
jle 0x1000c369
mov ebx, eax
mov ecx, dword [ebx + esi*4]
push edi
mov eax, dword [ecx]
call dword [eax + 0x40]
inc esi
mov edi, eax
cmp esi, dword [ebx + 0x24]
jl 0x1000c355
mov ebx, dword [ebp - 0x68]
push edi
push str.Computed_checksum:__X_n
push 8
call fcn.100520e0
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov eax, dword [ecx + 4]
shr eax, 1
push eax
call fcn.1000e8a0
lea ecx, [ebp - 0x20]
push 0x7fff
test al, al
je 0x1000c39a
push 0x8000
jmp 0x1000c39c
push 0
call fcn.1000e680
mov ecx, dword [ebp - 0x20]
mov esi, eax
shl esi, 0x10
mov eax, dword [ecx + 4]
shr eax, 1
push eax
call fcn.1000e8a0
lea ecx, [ebp - 0x20]
push 0x7fff
test al, al
je 0x1000c3c7
push 0x8000
jmp 0x1000c3c9
push 0
call fcn.1000e680
add esi, eax
push esi
push str.Read_checksum:__X_n
push 8
call fcn.100520e0
add esp, 0xc
cmp edi, esi
je 0x1000c3fa
push esi
push edi
push str._nCORRUPTION_DETECTED:_checksums_dont_match__computed:__x_v_s_read:__x____partial_file___n_n
push 1
call fcn.100520e0
mov edi, dword [ebp - 0x48]
add esp, 0x10
jmp 0x1000c43e
push str.Checksum_verified._n
push 3
call fcn.100520e0
mov edi, dword [ebp - 0x48]
jmp 0x1000c43b
push str.Image_does_not_contain_a_checksum._n
jmp 0x1000c434
jg 0x1000c42f
cmp dword [edi + 0x98], 0
je 0x1000c426
push str.Image_not_fully_decoded._n
push 4
jmp 0x1000c436
push str.File_ended_prematurely_or_decoding_was_interrupted._n
push 1
jmp 0x1000c436
push str.Not_checking_checksum__lossy_partial_decoding_was_chosen._n
push 3
call fcn.100520e0
add esp, 8
cmp byte [ebp - 0x41], 0
je 0x1000c45f
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
push ebx
push dword [ebp - 0xb4]
push dword [ebp - 0xa0]
call fcn.1000a220
add esp, 0xc
mov eax, dword [0x1009b7a8]
mov ecx, 0x2710
cmp eax, ecx
cmovg eax, ecx
cmp dword [ebp - 0x8c], 0
mov dword [0x1009b7a8], eax
je 0x1000c534
cmp eax, dword [0x100982f8]
jle 0x1000c534
mov eax, dword [ebp - 0x98]
mov dword [ebp + 0x8c], eax
lea eax, [ebp + 0x84]
mov dword [ebp + 0x94], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x84], 0x1008e3b8
mov dword [ebp + 0x88], ebx
push dword [eax]
call fcn.100701b4
add esp, 4
mov esi, eax
push 0
push 0x2710
push dword [0x1009b7a4]
push dword [0x1009b7a0]
call fcn.1007f6f0
push dword [0x1009b7b4]
push dword [0x1009b7b0]
push edx
push eax
call fcn.1007f740
mov ecx, eax
lea eax, [ebp + 0x84]
mov byte [ebp - 4], 0x13
push eax
push dword [ebp - 0xa4]
mov eax, esi
push 1
cdq
push edx
push eax
push ecx
call dword [ebp - 0x8c]
mov byte [ebp - 4], 0xd
add esp, 0x18
mov ecx, dword [ebp + 0x94]
test ecx, ecx
je 0x1000c534
mov edx, dword [ecx]
lea eax, [ebp + 0x84]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
cmp dword [edi + 0x70], 0
je 0x1000c548
mov ecx, dword [ebx]
lea eax, [ebp - 0x40]
push eax
add ecx, 0x60
call fcn.10006680
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x1000c56d
push eax
call fcn.1006f76a
add esp, 4
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x1000c580
push eax
call fcn.1006f76a
add esp, 4
lea ecx, [ebp - 0x74]
call fcn.1000ea20
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x1000c5b0
push eax
call fcn.1006f76a
add esp, 4
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 0
mov esi, dword [ebp - 0x94]
test esi, esi
je 0x1000af2e
push dword [ebp - 0xa0]
mov edx, dword [ebp - 0x90]
push ecx
mov ecx, esi
call fcn.10008bf0
push esi
call fcn.1006f76a
add esp, 0xc
mov al, 1
jmp 0x1000c61c
push str.Negative_target_dimension__Really__n
jmp 0x1000aed3
push str.Invalid_FLIF_header_n
jmp 0x1000c60a
push str.Invalid_FLIF_header__unsupported_color_depth__n
jmp 0x1000c60a
push str.Invalid_FLIF_header__unsupported_color_channels__n
jmp 0x1000c60a
push str.Invalid_or_unknown_FLIF_encoding_method_n
jmp 0x1000c60a
push 0x10088768
call fcn.100520b0
add esp, 4
lea ecx, [ebp - 0x40]
call fcn.10006640
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xa4]
xor ecx, ebp
call fcn.1006ece9
lea esp, [ebp + 0xa8]
pop ebp
ret