Function at 0x10019ad0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005c61b
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x1006f180]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 4], ebx
je 0x10019b9b
mov edi, 1
cmp word [esi + 0x16], di
je 0x1001b2cd
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::GrayScale_void_
push ebx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::constructor_unsigned_long_int_
push esi
lea ecx, [ebp - 0x214]
mov dword [ebp - 4], ebx
call sym.cximagecrt100.dll_protected:_void___thiscall_CxImage::CopyInfo_class_CxImage_const__
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
push eax
push edi
push ecx
push edx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void____thiscall_CxImage::Create_unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int_
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::IsValid_void_const
test al, al
jne 0x10019ba2
call sym.cximagecrt100.dll_public:_char_const____thiscall_CxImage::GetLastError_void_
sub esi, eax
mov cl, byte [eax]
mov byte [esi + eax + 0x44], cl
add eax, edi
test cl, cl
jne 0x10019b68
lea ecx, [ebp - 0x214]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x214], sym.cximagecrt100.dll_const_CxImage::vftable
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::DestroyFrames_void_
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::Destroy_void_
xor al, al
jmp 0x1001b2cf
push esi
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::SelectionCopy_class_CxImage__
push esi
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::AlphaCopy_class_CxImage__
mov eax, dword [ebp + 8]
dec eax
cmp eax, 6
ja case.default.0x10019bc1
jmp dword [eax*4 + 0x1001b2f0]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x44], 0xa
mov dword [ebp - 0x40], 0xc
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], 0xe
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], 0xb
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x18], 0xd
mov dword [ebp - 0x14], 5
mov word [ebp - 0x21c], 0x100
mov dword [ebp - 0x234], ebx
cmp dword [esi + 0x10], ebx
jle 0x1001b263
xor eax, eax
mov dword [ebp - 0x228], eax
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
xor edi, edi
cmp dword [esi + 0xc], edi
jle 0x10019d0c
mov eax, ebx
and eax, 3
add eax, eax
add eax, eax
mov dword [ebp - 0x22c], eax
push ebx
push edi
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
movzx ecx, al
shl ecx, 4
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
and ecx, 0x8000000f
jns 0x10019cb2
dec ecx
or ecx, 0xfffffff0
inc ecx
cdq
and edx, 0xf
add eax, edx
mov edx, edi
and edx, 3
add edx, dword [ebp - 0x22c]
sar eax, 4
cmp dword [ebp + edx*4 - 0x50], ecx
jge 0x10019cdb
mov al, byte [ebp + eax - 0x21b]
mov byte [ebp - 0x230], al
jmp 0x10019ce8
mov cl, byte [ebp + eax - 0x21c]
mov byte [ebp - 0x230], cl
mov edx, dword [ebp - 0x230]
mov ebx, dword [ebp - 0x234]
push edx
push ebx
push edi
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_protected:_void___thiscall_CxImage::BlindSetPixelIndex_long_int__long_int__unsigned_char_
inc edi
cmp edi, dword [esi + 0xc]
jl 0x10019c81
mov eax, dword [ebp - 0x228]
inc ebx
add eax, 0x64
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x228], eax
cmp ebx, dword [esi + 0x10]
jl 0x10019c50
jmp 0x1001b263
mov dword [ebp - 0x21c], edi
cmp dword [esi + 0x10], ebx
jle 0x1001b263
xor eax, eax
mov dword [ebp - 0x238], eax
lea ecx, [eax + 2]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
jle 0x10019f6e
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x228], ecx
jmp 0x10019d80
mov edi, dword [ebp - 0x220]
push ebx
add edi, 0xfffffffe
push edi
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x218], al
lea ecx, [ebp - 0x214]
cmp al, 0x80
jbe 0x10019dba
push 1
push ebx
push edi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
sub edi, 0xff
jmp 0x10019dca
push 0
push ebx
push edi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
mov eax, dword [ebp - 0x220]
dec eax
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x230], edi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
lea eax, [edi*8]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x10019e14
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
push ebx
dec eax
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ecx, dword [ebp - 0x220]
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
lea eax, [edi*4]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x10019e6e
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
mov edi, dword [ebp - 0x220]
push edx
push ebx
push edi
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
add edi, 0xfffffffc
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x234], 5
mov eax, dword [ebp - 0x228]
add eax, dword [ebp - 0x224]
mov ecx, 4
cmp eax, ecx
ja case.default.0x10019eac
jmp dword [eax*4 + 0x1001b30c]
mov dword [ebp - 0x21c], ecx
jmp case.default.0x10019eac
mov dword [ebp - 0x21c], 8
jmp case.default.0x10019eac
mov dword [ebp - 0x21c], 2
mov edx, dword [ebp - 0x224]
lea edi, [ebx + 1]
push edi
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
mov eax, dword [ebp - 0x230]
imul eax, dword [ebp - 0x21c]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x10019f1d
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x224]
push eax
push edi
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x234], eax
jne 0x10019e97
mov eax, dword [ebp - 0x220]
dec dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x220], eax
add eax, 0xfffffffe
cmp eax, dword [esi + 0xc]
jl 0x10019d80
mov ecx, 2
mov eax, dword [ebp - 0x238]
inc ebx
add eax, 0x64
mov dword [ebp - 0x238], eax
cmp ebx, dword [esi + 0x10]
jl 0x10019d4a
jmp 0x1001b263
xor edi, edi
mov dword [ebp - 0x21c], 1
cmp dword [esi + 0x10], edi
jle 0x1001b263
xor eax, eax
mov dword [ebp - 0x234], eax
lea ecx, [edi + 2]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
jle 0x1001a2fa
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x228], ecx
lea esp, [esp]
mov ebx, dword [ebp - 0x220]
push edi
add ebx, 0xfffffffe
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x218], al
lea ecx, [ebp - 0x214]
cmp al, 0x80
jbe 0x1001a020
push 1
push edi
push ebx
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx ebx, byte [ebp - 0x218]
sub ebx, 0xff
mov dword [ebp - 0x238], ebx
jmp 0x1001a038
push 0
push edi
push ebx
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edx, byte [ebp - 0x218]
mov dword [ebp - 0x238], edx
mov ebx, edx
mov eax, dword [ebp - 0x220]
dec eax
push edi
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x22c], eax
lea ecx, [ebx*8]
mov eax, 0x30c30c31
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a090
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
push edi
dec eax
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ecx, dword [ebp - 0x220]
push edi
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x22c], eax
add ebx, ebx
add ebx, ebx
mov eax, 0x30c30c31
imul ebx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a0fb
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
mov ebx, dword [ebp - 0x220]
push edx
push edi
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
lea eax, [ebx - 4]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x230], 5
lea ebx, [ebx]
mov eax, dword [ebp - 0x228]
add eax, dword [ebp - 0x224]
mov ecx, 4
mov edx, 2
cmp eax, ecx
ja case.default.0x1001a14a
jmp dword [eax*4 + 0x1001b320]
mov dword [ebp - 0x21c], ecx
jmp case.default.0x1001a14a
mov dword [ebp - 0x21c], 8
jmp case.default.0x1001a14a
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp - 0x224]
lea ebx, [edi + 1]
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
mov ecx, dword [ebp - 0x238]
imul ecx, dword [ebp - 0x21c]
movzx eax, al
mov dword [ebp - 0x22c], eax
mov eax, 0x30c30c31
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a1cb
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x224]
push edx
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x230], eax
jne 0x1001a130
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x230], 5
mov edi, edi
mov edx, eax
mov eax, dword [ebp - 0x228]
add eax, dword [ebp - 0x224]
mov ecx, 2
cmp eax, 4
ja case.default.0x1001a228
jmp dword [eax*4 + 0x1001b334]
mov dword [ebp - 0x21c], ecx
jmp case.default.0x1001a228
mov dword [ebp - 0x21c], 4
jmp case.default.0x1001a228
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp - 0x224]
lea ebx, [edi + 2]
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
mov ecx, dword [ebp - 0x238]
imul ecx, dword [ebp - 0x21c]
movzx eax, al
mov dword [ebp - 0x22c], eax
mov eax, 0x30c30c31
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a2a9
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x224]
push edx
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x230], eax
jne 0x1001a210
mov eax, dword [ebp - 0x220]
dec dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x220], eax
add eax, 0xfffffffe
cmp eax, dword [esi + 0xc]
jl 0x10019fe0
mov ecx, 2
mov eax, dword [ebp - 0x234]
inc edi
add eax, 0x64
mov dword [ebp - 0x234], eax
cmp edi, dword [esi + 0x10]
jl 0x10019fac
jmp 0x1001b263
mov dword [ebp - 0x21c], edi
cmp dword [esi + 0x10], ebx
jle 0x1001b263
xor eax, eax
mov dword [ebp - 0x234], eax
lea ecx, [eax + 2]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
jle 0x1001a669
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x228], ecx
nop
mov edi, dword [ebp - 0x220]
push ebx
add edi, 0xfffffffe
push edi
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x218], al
lea ecx, [ebp - 0x214]
cmp al, 0x80
jbe 0x1001a39a
push 1
push ebx
push edi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
sub edi, 0xff
jmp 0x1001a3aa
push 0
push ebx
push edi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
mov eax, dword [ebp - 0x220]
dec eax
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x22c], eax
lea ecx, [edi*8]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a404
mov byte [ebp - 0x218], al
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x220]
push ecx
push ebx
dec eax
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov edx, dword [ebp - 0x220]
push ebx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x22c], eax
lea ecx, [edi + edi*4]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a46e
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x220]
push eax
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x220]
add eax, 0xfffffffc
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x230], 5
lea ecx, [ecx]
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x228]
cmp eax, 4
ja case.default.0x1001a4b1
jmp dword [eax*4 + 0x1001b348]
mov dword [ebp - 0x21c], 5
jmp case.default.0x1001a4b1
mov dword [ebp - 0x21c], 7
jmp case.default.0x1001a4b1
mov dword [ebp - 0x21c], 3
mov ecx, dword [ebp - 0x224]
lea eax, [ebx + 1]
push eax
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov ecx, edi
imul ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x22c], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a536
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
push edx
lea eax, [ebx + 1]
push eax
mov eax, dword [ebp - 0x224]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x230], eax
jne 0x1001a4a0
mov eax, dword [ebp - 0x220]
add eax, 0xfffffffc
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x230], 5
mov eax, dword [ebp - 0x228]
add eax, dword [ebp - 0x224]
cmp eax, 4
ja case.default.0x1001a590
jmp dword [eax*4 + 0x1001b35c]
mov dword [ebp - 0x21c], 3
jmp case.default.0x1001a590
mov dword [ebp - 0x21c], 5
jmp case.default.0x1001a590
mov dword [ebp - 0x21c], 1
lea eax, [ebx + 2]
push eax
mov eax, dword [ebp - 0x224]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov ecx, edi
imul ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x22c], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 3
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a615
mov byte [ebp - 0x218], al
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x224]
push ecx
lea eax, [ebx + 2]
push eax
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x230], eax
jne 0x1001a57f
mov eax, dword [ebp - 0x220]
dec dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x220], eax
add eax, 0xfffffffe
cmp eax, dword [esi + 0xc]
jl 0x1001a360
mov ecx, 2
mov eax, dword [ebp - 0x234]
inc ebx
add eax, 0x64
mov dword [ebp - 0x234], eax
cmp ebx, dword [esi + 0x10]
jl 0x1001a332
jmp 0x1001b263
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x238], ebx
cmp dword [esi + 0x10], ebx
jle 0x1001b263
xor eax, eax
mov dword [ebp - 0x22c], eax
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
mov dword [ebp - 0x220], 0
jle 0x1001a98d
mov dword [ebp - 0x234], 2
lea esp, [esp]
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x220]
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x218], al
cmp al, 0x80
jbe 0x1001a723
mov ecx, dword [ebp - 0x220]
push 1
push ebx
push ecx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
sub edi, 0xff
jmp 0x1001a73f
mov edx, dword [ebp - 0x220]
push 0
push ebx
push edx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x218]
mov eax, dword [ebp - 0x220]
add eax, 2
mov dword [ebp - 0x228], eax
dec eax
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x23c], edi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
lea eax, [edi + edi*4]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a78e
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x228]
push ebx
dec eax
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ecx, dword [ebp - 0x228]
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
lea eax, [edi + edi*2]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a7e4
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x228]
push edx
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffffc
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x230], 5
mov eax, dword [ebp - 0x234]
add eax, dword [ebp - 0x224]
mov ecx, 4
cmp eax, ecx
ja case.default.0x1001a828
jmp dword [eax*4 + 0x1001b370]
mov dword [ebp - 0x21c], ecx
jmp case.default.0x1001a828
mov dword [ebp - 0x21c], 5
jmp case.default.0x1001a828
mov dword [ebp - 0x21c], 2
mov ecx, dword [ebp - 0x224]
lea eax, [ebx + 1]
push eax
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
mov eax, edi
imul eax, dword [ebp - 0x21c]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a895
mov byte [ebp - 0x218], al
mov edx, dword [ebp - 0x218]
push edx
lea eax, [ebx + 1]
push eax
mov eax, dword [ebp - 0x224]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, 1
add dword [ebp - 0x224], eax
sub dword [ebp - 0x230], eax
jne 0x1001a813
or eax, 0xffffffff
mov dword [ebp - 0x228], eax
jmp 0x1001a8d6
mov eax, dword [ebp - 0x228]
mov ecx, 2
cmp eax, 0xffffffff
je 0x1001a8ed
test eax, eax
je 0x1001a9b7
cmp eax, 1
jne 0x1001a8f3
mov dword [ebp - 0x21c], ecx
mov edi, dword [ebp - 0x238]
mov ebx, dword [ebp - 0x228]
add ebx, dword [ebp - 0x220]
add edi, 2
push edi
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
mov eax, dword [ebp - 0x23c]
imul eax, dword [ebp - 0x21c]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x218], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001a94b
mov byte [ebp - 0x218], al
mov eax, dword [ebp - 0x218]
push eax
push edi
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x228], eax
cmp eax, 2
jl 0x1001a8d0
mov eax, dword [ebp - 0x220]
dec dword [ebp - 0x234]
inc eax
mov dword [ebp - 0x220], eax
cmp eax, dword [esi + 0xc]
jl 0x1001a6e0
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x22c]
inc ecx
add eax, 0x64
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x22c], eax
cmp ecx, dword [esi + 0x10]
jl 0x1001a6a4
jmp 0x1001b263
mov dword [ebp - 0x21c], 3
jmp 0x1001a8f3
cmp dword [esi + 0x10], ebx
jle 0x1001b263
mov dword [ebp - 0x218], 1
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x230]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
jle 0x1001af0e
mov ebx, 2
nop
mov eax, dword [ebp - 0x218]
dec eax
lea ecx, [ebx - 2]
push eax
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x21c], al
cmp al, 0x80
mov eax, dword [ebp - 0x218]
lea ecx, [ebp - 0x214]
jbe 0x1001aa55
push 1
dec eax
push eax
lea eax, [ebx - 2]
push eax
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x21c]
sub edi, 0xff
jmp 0x1001aa69
push 0
dec eax
push eax
lea eax, [ebx - 2]
push eax
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
dec eax
push eax
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x22c], eax
mov ecx, edi
shl ecx, 5
mov eax, 0x51eb851f
imul ecx
mov eax, dword [ebp - 0x22c]
sar edx, 6
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001aabf
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
push ecx
dec eax
push eax
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
lea edx, [edi + edi*2]
add edx, edx
add edx, edx
mov eax, 0x51eb851f
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x218]
lea ecx, [ebx - 5]
push edx
mov dword [ebp - 0x234], ecx
push ecx
mov ecx, esi
mov dword [ebp - 0x224], eax
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x224]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ab34
mov byte [ebp - 0x21c], al
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x234]
push eax
push ecx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov edx, edi
imul edx, edx, 0x1a
mov eax, 0x51eb851f
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x218]
lea ecx, [ebx - 3]
push eax
mov dword [ebp - 0x228], ecx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x22c]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001abac
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x228]
push ecx
push edx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ecx, dword [ebp - 0x218]
lea eax, [ebx - 1]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x238], eax
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x23c], eax
mov ecx, edi
shl ecx, 4
sub ecx, edi
add ecx, ecx
mov eax, 0x51eb851f
imul ecx
mov eax, dword [ebp - 0x23c]
sar edx, 6
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ac2a
mov byte [ebp - 0x21c], al
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x238]
push edx
push eax
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov edx, dword [ebp - 0x218]
lea eax, [ebx + 1]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x220], eax
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx eax, al
mov dword [ebp - 0x23c], eax
mov ecx, edi
shl ecx, 4
mov eax, 0x51eb851f
imul ecx
mov eax, dword [ebp - 0x23c]
sar edx, 6
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001aca4
mov byte [ebp - 0x21c], al
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x220]
push eax
push ecx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x218]
inc eax
lea ecx, [ebx - 4]
push eax
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x224]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001acfb
mov byte [ebp - 0x21c], al
mov eax, dword [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0x218]
inc eax
push eax
lea eax, [ebx - 4]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x218]
inc eax
push eax
lea eax, [ebx - 2]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x22c]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ad50
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
push ecx
inc eax
push eax
lea eax, [ebx - 2]
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x218]
inc eax
push eax
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x224]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ada2
mov byte [ebp - 0x21c], al
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
push edx
inc eax
push eax
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov ebx, dword [ebp - 0x218]
lea edi, [edi + edi*4]
mov eax, 0x51eb851f
imul edi
mov eax, dword [ebp - 0x234]
sar edx, 6
add ebx, 2
mov edi, edx
push ebx
shr edi, 0x1f
push eax
mov ecx, esi
add edi, edx
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, edi
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ae09
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x234]
push ecx
push ebx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x228]
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x224]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001ae56
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x228]
push ecx
push ebx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x238]
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, dword [ebp - 0x224]
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001aea3
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x238]
push ecx
push ebx
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x220]
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
add ecx, edi
mov eax, 0
sets al
mov byte [ebp - 0x21c], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001aeec
mov byte [ebp - 0x21c], al
mov ecx, dword [ebp - 0x21c]
push ecx
push ebx
mov ebx, dword [ebp - 0x220]
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
lea edx, [ebx - 2]
cmp edx, dword [esi + 0xc]
jl 0x1001aa10
mov eax, dword [ebp - 0x218]
add dword [ebp - 0x230], 0x64
inc eax
mov dword [ebp - 0x218], eax
dec eax
cmp eax, dword [esi + 0x10]
jl 0x1001a9e3
jmp 0x1001b263
push 0x100
call dword [sym.imp.MSVCR100.dll_malloc]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x22c], ecx
lea ecx, [ecx]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
and ecx, 0x80000003
mov edi, 4
jns 0x1001af6d
dec ecx
or ecx, 0xfffffffc
inc ecx
xor edx, edx
mov ebx, ecx
xor ebx, eax
add edx, edx
and ebx, 1
or ebx, edx
mov edx, ecx
add ebx, ebx
and edx, 1
dec edi
or edx, ebx
sar eax, 1
sar ecx, 1
test edi, edi
jg 0x1001af6f
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x234]
mov byte [ecx + eax], dl
inc ecx
mov dword [ebp - 0x22c], ecx
cmp ecx, 0x100
jl 0x1001af50
xor ebx, ebx
cmp dword [esi + 0x10], ebx
jle 0x1001b04c
mov dword [ebp - 0x230], ebx
mov eax, dword [ebp - 0x230]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b04c
xor edi, edi
cmp dword [esi + 0xc], edi
jle 0x1001b03b
mov eax, ebx
and eax, 0x80000003
jns 0x1001afe9
dec eax
or eax, 0xfffffffc
inc eax
add eax, eax
add eax, eax
mov dword [ebp - 0x22c], eax
push ebx
push edi
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov ecx, edi
and ecx, 0x80000003
movzx eax, al
jns 0x1001b00e
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x22c]
movzx ecx, byte [ecx + edx]
cmp eax, ecx
lea ecx, [ebp - 0x214]
jle 0x1001b02c
push 1
jmp 0x1001b02e
push 0
push ebx
push edi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
inc edi
cmp edi, dword [esi + 0xc]
jl 0x1001aff3
add dword [ebp - 0x230], 0x64
inc ebx
cmp ebx, dword [esi + 0x10]
jl 0x1001afbb
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
jmp 0x1001b263
mov dword [ebp - 0x228], edi
mov dword [ebp - 0x224], ebx
cmp dword [esi + 0x10], ebx
jle 0x1001b263
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x230]
cdq
idiv dword [esi + 0x10]
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x1001b263
cmp dword [esi + 0xc], 0
mov dword [ebp - 0x218], 0
jle 0x1001b246
mov ebx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x218]
push ebx
push eax
mov ecx, esi
call sym.cximagecrt100.dll_protected:_unsigned_char___thiscall_CxImage::BlindGetPixelIndex_long_int__long_int_
mov byte [ebp - 0x220], al
cmp al, 0x80
jbe 0x1001b0f4
mov ecx, dword [ebp - 0x218]
push 1
push ebx
push ecx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x220]
sub edi, 0xff
jmp 0x1001b110
mov edx, dword [ebp - 0x218]
push 0
push ebx
push edx
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
movzx edi, byte [ebp - 0x220]
mov eax, dword [ebp - 0x218]
inc eax
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x23c], eax
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
lea eax, [edi*8]
sub eax, edi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x220], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001b162
mov byte [ebp - 0x220], al
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x23c]
push eax
push ebx
push ecx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
or eax, 0xffffffff
mov dword [ebp - 0x238], eax
jmp 0x1001b189
mov eax, dword [ebp - 0x238]
cmp eax, 0xffffffff
je 0x1001b1ab
test eax, eax
je 0x1001b19f
cmp eax, 1
jne 0x1001b1b5
mov dword [ebp - 0x228], eax
jmp 0x1001b1b5
mov dword [ebp - 0x228], 5
jmp 0x1001b1b5
mov dword [ebp - 0x228], 3
mov edi, dword [ebp - 0x224]
mov ebx, dword [ebp - 0x238]
add ebx, dword [ebp - 0x218]
inc edi
push edi
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx ecx, al
mov eax, dword [ebp - 0x22c]
imul eax, dword [ebp - 0x228]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add ecx, eax
mov eax, 0
sets al
mov byte [ebp - 0x220], 0xff
dec eax
and eax, ecx
cmp eax, 0xff
jg 0x1001b20b
mov byte [ebp - 0x220], al
mov ecx, dword [ebp - 0x220]
push ecx
push edi
push ebx
mov ecx, esi
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
mov eax, dword [ebp - 0x238]
inc eax
mov dword [ebp - 0x238], eax
cmp eax, 2
jl 0x1001b183
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x218], eax
cmp eax, dword [esi + 0xc]
jl 0x1001b0b1
mov eax, dword [ebp - 0x224]
add dword [ebp - 0x230], 0x64
inc eax
mov dword [ebp - 0x224], eax
cmp eax, dword [esi + 0x10]
jl 0x1001b080
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPaletteColor_unsigned_char__unsigned_char__unsigned_char__unsigned_char__unsigned_char_
push 0
push 0xff
push 0xff
push 0xff
push 1
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_void___thiscall_CxImage::SetPaletteColor_unsigned_char__unsigned_char__unsigned_char__unsigned_char__unsigned_char_
push 1
lea edx, [ebp - 0x214]
push edx
mov ecx, esi
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::Transfer_class_CxImage___bool_
lea ecx, [ebp - 0x214]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x214], sym.cximagecrt100.dll_const_CxImage::vftable
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::DestroyFrames_void_
lea ecx, [ebp - 0x214]
call sym.cximagecrt100.dll_public:_bool___thiscall_CxImage::Destroy_void_
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005ba3e
mov esp, ebp
pop ebp
ret 4