joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1018c750
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
movzx eax, word [esi + 0x20]
cmp eax, 6
ja case.0x1018c768.12
jmp dword [eax*4 + 0x1018c948]
cmp word [esi + 0x18], 8
je case.0x1018c768.12
movzx eax, word [esi + 0x18]
mov edi, 1
mov cl, al
shl edi, cl
mov ecx, 0xff
dec edi
cmp eax, 0x10
cmove edi, ecx
lea eax, [edi + 1]
push eax
call fcn.10034950
add esp, 4
mov dword [esi + 0x38], eax
test eax, eax
jne 0x1018c7d0
push str.No_space_for_photometric_conversion_table
push dword [esi]
call fcn.10183a60
add esp, 4
push eax
mov eax, dword [esi]
push dword [eax + 0x274]
call fcn.1019c980
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
xor ebx, ebx
cmp word [esi + 0x20], bx
jne 0x1018c7fa
test edi, edi
js 0x1018c816
imul ebp, edi, 0xff
mov eax, ebp
mov ecx, dword [esi + 0x38]
cdq
sub ebp, 0xff
idiv edi
mov byte [ebx + ecx], al
inc ebx
cmp ebx, edi
jle 0x1018c7e2
jmp 0x1018c816
test edi, edi
js 0x1018c816
xor ebp, ebp
mov eax, ebp
mov ecx, dword [esi + 0x38]
cdq
add ebp, 0xff
idiv edi
mov byte [ebx + ecx], al
inc ebx
cmp ebx, edi
jle 0x1018c800
cmp word [esi + 0x18], 0x10
ja case.0x1018c768.12
movzx eax, word [esi + 0x20]
cmp eax, 1
je 0x1018c82b
test ax, ax
jne case.0x1018c768.12
push esi
call fcn.1018d960
add esp, 4
test eax, eax
jne 0x1018c840
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push dword [esi + 0x38]
call fcn.10034980
add esp, 4
mov dword [esi + 0x38], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
mov cl, byte [esi + 0x18]
mov eax, 1
mov ebp, dword [esi + 0x24]
mov edx, ebp
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
shl eax, cl
mov ecx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x1018c8bc
mov dword [esp + 0x1c], 0x100
nop word [eax + eax]
mov ax, word [edx]
lea edx, [edx + 2]
dec ecx
cmp ax, word [esp + 0x1c]
jae 0x1018c8fe
mov ax, word [edi]
add edi, 2
cmp ax, word [esp + 0x1c]
jae 0x1018c8fe
mov ax, word [ebx]
add ebx, 2
cmp ax, word [esp + 0x1c]
jae 0x1018c8fe
test ecx, ecx
jg 0x1018c890
push str.Assuming_8_bit_colormap
push dword [esi]
call fcn.10183a60
add esp, 4
push eax
mov eax, dword [esi]
push dword [eax + 0x274]
call fcn.1019ce10
add esp, 0xc
cmp word [esi + 0x18], 8
ja case.0x1018c768.12
push esi
call fcn.1018dc10
add esp, 4
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edx, dword [esp + 0x10]
add edx, 0xffffffff
js 0x1018c8dc
mov eax, dword [esi + 0x28]
sub ebp, eax
mov ebx, dword [esp + 0x14]
sub ebx, eax
lea ecx, [eax + edx*2]
nop word [eax + eax]
sub edx, 1
movzx eax, byte [ecx + ebp + 1]
mov word [ecx + ebp], ax
lea ecx, [ecx - 2]
movzx eax, byte [ecx + 3]
mov word [ecx + 2], ax
movzx eax, byte [ebx + ecx + 3]
mov word [ebx + ecx + 2], ax
jns 0x1018c920
jmp 0x1018c8dc
Function at 0x101d2bd0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x38
mov eax, dword [0x1058ac14]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
push ebx
push esi
mov dword [esp + 0x1c], eax
mov ebx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov eax, esi
imul eax, ebx
push 1
mov dword [esp + 0x14], ebx
cdq
push edx
push eax
call fcn.101bac00
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x101d2da5
push ebp
dec esi
lea ebp, [ebx - 1]
mov dword [esp + 0x24], ebp
cmp esi, 1
jle 0x101d2d9b
inc eax
lea ecx, [ebx*8]
add eax, ebx
mov dword [esp + 0x10], ecx
dec esi
mov dword [esp + 0x18], eax
lea edx, [ecx + 8]
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], esi
push edi
cmp ebp, 1
jle 0x101d2d18
mov esi, eax
mov edi, edx
dec ebp
mov eax, dword [esp + 0x24]
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
mov edx, dword [eax + 0x588c]
add edx, edi
mov ecx, edx
sub ecx, dword [esp + 0x14]
mov ebx, dword [edx]
shr ebx, 5
mov eax, dword [ecx - 8]
and ebx, 3
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [ecx]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [ecx + 8]
shr eax, 5
and eax, 3
mov ecx, dword [esp + 0x14]
inc dword [esp + eax*4 + 0x34]
mov eax, dword [edx - 8]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [edx + 8]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [ecx + edx - 8]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [ecx + edx]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
mov eax, dword [ecx + edx + 8]
shr eax, 5
and eax, 3
inc dword [esp + eax*4 + 0x34]
xor eax, eax
cmp dword [esp + eax*4 + 0x34], 5
jge 0x101d2cf3
inc eax
cmp eax, 4
jl 0x101d2ce4
jmp 0x101d2cf5
mov ebx, eax
mov byte [esi], bl
add edi, 8
inc esi
sub ebp, 1
jne 0x101d2c53
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
add eax, ebx
add edx, ecx
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], esi
jne 0x101d2c45
mov eax, ebx
lea edi, [ecx + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
nop
mov edx, 1
cmp ebp, edx
jle 0x101d2d87
mov esi, edi
mov edi, dword [esp + 0x24]
nop
mov ebp, dword [esp + 0x30]
lea eax, [ebx + edx]
mov ecx, dword [edi + 0x588c]
lea esi, [esi + 8]
inc edx
movzx eax, byte [eax + ebp]
mov ebp, dword [esp + 0x28]
shl eax, 5
xor eax, dword [ecx + esi - 8]
and eax, 0x60
xor dword [ecx + esi - 8], eax
cmp edx, ebp
jl 0x101d2d50
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add edi, ecx
add ebx, eax
sub dword [esp + 0x2c], 1
mov dword [esp + 0x10], edi
jne 0x101d2d40
mov eax, dword [esp + 0x30]
pop edi
push eax
call fcn.101bacc0
add esp, 4
pop ebp
mov ecx, dword [esp + 0x3c]
pop esi
pop ebx
xor ecx, esp
call fcn.1026b168
add esp, 0x38
ret
Function at 0x101d48a0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x28]
push ebp
push ebx
push dword [esp + 0x28]
call fcn.101bad60
mov ebp, eax
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [esp + 8], ebp
cmp ebp, 0x100
jle 0x101d48d6
pop ebp
mov dword [eax], 0
xor eax, eax
pop ebx
add esp, 0x18
ret
push 0x101d3f80
push 4
push ebp
push ebx
mov dword [eax], ebp
call fcn.10281490
add esp, 0x10
cmp dword [esp + 0x28], 0
jne 0x101d4aec
push esi
push edi
xor esi, esi
xor bl, bl
xor edi, edi
test ebp, ebp
jle 0x101d49ac
mov eax, dword [esp + 0x34]
nop dword [eax + eax]
mov edx, dword [eax + edi*4]
mov ecx, esi
and ecx, 0xff00ff00
mov eax, edx
and eax, 0xff00
and edx, 0xffff00ff
sub eax, ecx
mov ecx, esi
and ecx, 0xff00ff
sub eax, 0xff01
sub edx, ecx
and esi, 0xff00ff00
mov ecx, dword [esp + 0x34]
add edx, 0xff00
xor eax, edx
and eax, 0xff00ff
mov ecx, dword [ecx + edi*4]
and ecx, 0xff00ff00
sub ecx, esi
add ecx, 0xff00ff
xor eax, ecx
mov ecx, eax
mov edx, eax
shr ecx, 0x10
shr edx, 8
test cl, cl
je 0x101d497b
cmp cl, 0x80
sbb cl, cl
add cl, 2
or bl, cl
test dl, dl
je 0x101d498e
cmp dl, 0x80
setae cl
lea ecx, [ecx*8 + 8]
or bl, cl
test al, al
je 0x101d499c
cmp al, 0x80
sbb al, al
and al, 0xc0
sub al, 0x80
or bl, al
mov eax, dword [esp + 0x34]
mov esi, dword [eax + edi*4]
inc edi
cmp edi, ebp
jl 0x101d4910
movzx ecx, bl
lea eax, [ecx + ecx]
test ecx, eax
je 0x101d4aea
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x10], edi
jle 0x101d4aea
mov ecx, dword [esp + 0x34]
mov edx, edi
mov dword [esp + 0x14], ebp
or eax, 0xffffffff
mov ebx, ebp
mov ebp, dword [esp + 0x10]
and edx, 0xff00ff00
mov dword [esp + 0x1c], eax
and edi, 0xff00ff
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edx
nop word [eax + eax]
mov ecx, dword [ecx + ebx*4]
mov ebx, ecx
and ebx, 0xffff00ff
mov eax, ecx
and eax, 0xff00
sub ebx, edi
sub eax, edx
and ecx, 0xff00ff00
sub eax, 0xff01
sub ecx, edx
add ebx, 0xff00
add ecx, 0xff00ff
xor ebx, eax
and ebx, 0xff00ff
xor ebx, ecx
mov eax, ebx
movzx esi, bl
shr eax, 8
movzx ecx, al
mov eax, ebx
shr eax, 0x10
movzx edx, al
mov eax, 0x100
sub eax, edx
shr ebx, 0x18
cmp edx, 0x80
cmova edx, eax
mov eax, 0x100
sub eax, ecx
cmp ecx, 0x80
cmova ecx, eax
mov eax, 0x100
add edx, ecx
sub eax, esi
cmp esi, 0x80
cmova esi, eax
mov eax, 0x100
add edx, esi
sub eax, ebx
cmp ebx, 0x80
cmova ebx, eax
lea ecx, [edx + edx*8]
mov edx, dword [esp + 0x1c]
add ecx, ebx
mov ebx, dword [esp + 0x18]
cmp edx, ecx
mov esi, ebx
cmovbe esi, dword [esp + 0x14]
inc ebx
cmp edx, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
cmovbe ecx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x34]
cmp ebx, ebp
jl 0x101d4a00
mov ebp, dword [esp + 0x20]
mov edi, dword [ecx + esi*4]
mov eax, dword [ecx + ebp*4]
mov dword [ecx + esi*4], eax
mov dword [ecx + ebp*4], edi
inc ebp
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x10]
jl 0x101d49d0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x18
ret
Function at 0x101f10b0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
mov eax, dword [0x1058ac14]
xor eax, esp
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x28]
movaps xmm0, xmmword [0x103f0140]
push ebx
push ebp
mov ebx, dword [ecx + 0x18]
mov ebp, 1
mov dword [esp + 0x14], ecx
push esi
mov esi, ebp
mov dword [esp + 0x10], esi
movups xmmword [esp + 0x1c], xmm0
cmp ebx, 4
jge 0x101f10f2
cmp ebx, ebp
jle 0x101f11fa
jmp 0x101f10f7
mov ebx, 4
push edi
lea eax, [ecx + 0x480]
lea edi, [ecx + 0x72c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
nop dword [eax]
xor edx, edx
test ebp, ebp
jle 0x101f1141
mov eax, dword [edi - 4]
add ecx, 0x444
nop
cmp eax, dword [ecx - 4]
jne 0x101f112e
mov eax, dword [edi]
cmp eax, dword [ecx]
je 0x101f113b
mov eax, dword [edi - 4]
inc edx
add ecx, 0x2e8
cmp edx, ebp
jl 0x101f1120
jmp 0x101f1143
mov dword [esp + esi*4 + 0x20], edx
jmp 0x101f1176
xor edx, edx
lea eax, [esp + 0x20]
mov dword [eax + esi*4], edx
lea eax, [eax + esi*4]
mov eax, dword [esp + 0x10]
cmp ebp, esi
je 0x101f116c
lea esi, [edi - 0x2ac]
mov ecx, 0xba
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
inc ebp
add eax, 0x2e8
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
inc esi
add edi, 0x2e8
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
cmp esi, ebx
jl 0x101f1110
cmp ebp, ebx
jge 0x101f11f9
mov edi, ecx
mov esi, dword [edi + 0x2c]
imul esi, dword [edi + 0x28]
test esi, esi
jle 0x101f11c9
nop
mov eax, dword [edi + 0x588c]
dec esi
mov ecx, dword [eax + esi*8]
lea edx, [eax + esi*8]
mov eax, ecx
shr eax, 5
and eax, 3
mov eax, dword [esp + eax*4 + 0x20]
shl eax, 5
xor eax, ecx
and eax, 0x60
xor eax, ecx
mov dword [edx], eax
test esi, esi
jg 0x101f11a0
imul eax, ebp, 0x2e8
mov dword [edi + 0x18], ebp
lea edx, [eax + edi]
add eax, 0x198
add eax, edi
sub ebx, ebp
nop
mov edi, eax
lea esi, [edx - 0x150]
mov ecx, 0xba
add eax, 0x2e8
rep movsd dword es:[edi], dword [esi]
sub ebx, 1
jne 0x101f11e0
pop edi
mov ecx, dword [esp + 0x2c]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026b168
add esp, 0x24
ret
Function at 0x101f1fd0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, dword [esp + 4]
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [ebp]
lea eax, [eax + esi*2]
add eax, esi
imul ecx, eax, 0x2c
mov eax, dword [ebp + 4]
add ecx, dword [ebp + 0x14]
test eax, eax
jns 0x101f200c
mov eax, dword [ecx]
cmp eax, 0xfffe0000
jb 0x101f2000
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10000
pop esi
mov dword [ecx], eax
xor eax, eax
pop ebp
ret
cmp esi, eax
jg 0x101f2167
push ebx
push edi
mov edi, 2
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, 0xfffe0000
jb 0x101f2031
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10001
mov dword [ecx], eax
mov eax, dword [ebp + 8]
movsx edx, word [eax + esi*2]
test edx, edx
jne 0x101f2079
mov eax, dword [ecx + 4]
inc esi
cmp eax, 0xfffe0000
jb 0x101f2056
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10000
mov dword [ecx + 4], eax
movzx eax, byte [esi + 0x102edb40]
imul ecx, eax, 0x84
mov eax, dword [ebp + 8]
movsx edx, word [eax + esi*2]
add ecx, dword [ebp + 0x14]
test edx, edx
je 0x101f2043
mov eax, dword [ecx + 4]
inc esi
cmp eax, 0xfffe0000
jb 0x101f208c
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10001
lea ebx, [edx + 1]
cmp edi, ebx
mov dword [ecx + 4], eax
mov eax, dword [ecx + 8]
sbb edi, edi
neg edi
cmp eax, 0xfffe0000
jb 0x101f20af
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10000
add eax, edi
mov dword [ecx + 8], eax
cmp ebx, 2
ja 0x101f20d3
movzx eax, byte [esi + 0x102edb40]
imul ecx, eax, 0x84
add ecx, 0x2c
jmp 0x101f2154
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, 0x43
cmp eax, 0x43
cmovg eax, edx
xor edi, edi
movzx ebx, word [eax*4 + 0x102f01f4]
shr ebx, 1
movzx edx, word [eax*4 + 0x102f01f6]
mov dword [esp + 0x14], edx
je 0x101f2144
mov ebp, dword [esp + 0x14]
lea edx, [ecx + 0xc]
test bl, 1
je 0x101f2138
mov ecx, edi
mov eax, 2
shl eax, cl
mov ecx, dword [edx]
and eax, ebp
neg eax
sbb eax, eax
neg eax
cmp ecx, 0xfffe0000
jb 0x101f212f
inc ecx
shr ecx, 1
and ecx, 0x7fff7fff
add eax, 0x10000
add eax, ecx
mov dword [edx], eax
inc edi
add edx, 4
sar ebx, 1
jne 0x101f2106
mov ebp, dword [esp + 0x18]
movzx eax, byte [esi + 0x102edb40]
imul ecx, eax, 0x84
add ecx, 0x58
add ecx, dword [ebp + 0x14]
mov edi, 2
cmp esi, dword [ebp + 4]
jle 0x101f2020
pop edi
pop ebx
cmp esi, 0x10
jge 0x101f2184
mov eax, dword [ecx]
cmp eax, 0xfffe0000
jb 0x101f217d
inc eax
shr eax, 1
and eax, 0x7fff7fff
add eax, 0x10000
mov dword [ecx], eax
pop esi
mov eax, 1
pop ebp
ret
Function at 0x101f98a0
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x10
push ebp
mov ebp, dword [esp + 0x1c]
cmp edx, 2
jle 0x101f9a70
mov eax, dword [esp + 0x20]
push ebx
push esi
push edi
mov edi, dword [esp + 0x34]
mov ebx, dword [eax]
mov esi, dword [eax + 4]
test edi, edi
je 0x101f9911
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, eax
shl ecx, 0x10
or ecx, eax
mov eax, ebx
and eax, 0xffff00ff
add ecx, eax
mov eax, esi
xor ecx, ebx
shr eax, 8
and ecx, 0xff00ff
movzx eax, al
xor ebx, ecx
mov ecx, eax
shl ecx, 0x10
or ecx, eax
mov eax, esi
and eax, 0xffff00ff
add ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, esi
and ecx, 0xff00ff
xor esi, ecx
lea ecx, [edx - 1]
mov dword [esp + 0x18], 1
cmp ecx, 1
jle 0x101f9a6d
lea ecx, [eax + 8]
mov dword [esp + 0x10], ecx
lea edx, [ebp*4]
test edi, edi
je 0x101f9a1b
lea edi, [edx + 4]
add edi, eax
sub eax, edx
add eax, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], eax
nop dword [eax]
mov eax, dword [eax]
mov ebp, dword [edi]
mov edi, ebx
shr eax, 8
movzx ebx, al
mov eax, ebp
shr eax, 8
movzx edx, al
mov dword [esp + 0x1c], esi
mov esi, dword [ecx]
mov eax, esi
shr eax, 8
movzx eax, al
mov ecx, eax
shl ecx, 0x10
or ecx, eax
mov eax, esi
and eax, 0xffff00ff
add ecx, eax
mov eax, ebp
xor ecx, esi
and eax, 0xffff00ff
and ecx, 0xff00ff
xor esi, ecx
mov ecx, edx
shl ecx, 0x10
or ecx, edx
add ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, ebp
and ecx, 0xff00ff
xor ecx, ebp
mov edx, dword [eax]
mov eax, edx
push esi
push edi
push ecx
mov ecx, ebx
and eax, 0xffff00ff
shl ecx, 0x10
or ecx, ebx
mov ebx, dword [esp + 0x28]
add ecx, eax
xor ecx, edx
and ecx, 0xff00ff
xor ecx, edx
push ecx
push ebx
call fcn.101f96c0
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add dword [esp + 0x14], 4
dec edx
mov byte [edi + ecx], al
inc edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
add eax, 4
add ecx, 4
mov dword [esp + 0x18], edi
cmp edi, edx
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jl 0x101f9950
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x10
ret
mov edi, eax
mov ebp, 1
sub edi, edx
add edx, 4
add edi, 4
add edx, eax
mov dword [esp + 0x18], edx
mov eax, ebx
mov ebx, esi
mov esi, dword [ecx]
push esi
push eax
push dword [edx]
push dword [edi]
push ebx
call fcn.101f96c0
mov ecx, dword [esp + 0x44]
lea edi, [edi + 4]
mov edx, dword [esp + 0x2c]
add esp, 0x14
add dword [esp + 0x10], 4
add edx, 4
mov dword [esp + 0x18], edx
mov byte [ecx + ebp], al
inc ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
dec eax
cmp ebp, eax
jl 0x101f9a30
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x10
ret
Function at 0x10218bb0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029c7e8
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x1058ac14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
call fcn.102270b0
push 3
push 0
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x1c]
push eax
push ecx
mov dword [esp], 0x3f800000
lea ecx, [edi + 0x1c]
push 0x40
push 0x40
mov dword [ebp - 4], 0
mov dword [edi], vtable.Imf_2_2::InputFile::Data.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.1020ca80
lea esi, [edi + 0x48]
mov byte [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
push 0x138
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.10269f9d
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x60], eax
mov eax, edi
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0xffffffff
mov dword [edi + 0x64], 0xffffffff
mov dword [edi + 0x68], 0
mov byte [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
mov byte [edi + 0x78], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x1021ab40
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029cc81
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x1058ac14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
call fcn.102270b0
mov edx, dword [ebp + 0xc]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 4
and al, 1
mov dword [ebp - 4], 0
mov byte [ebx + 0x20], al
mov eax, edx
shr eax, 5
shr edx, 3
and al, 1
and dl, 1
mov dword [ebx], vtable.Imf_2_2::RgbaOutputFile::ToYca.0
mov dword [ebx + 0x1c], ecx
mov byte [ebx + 0x21], al
mov byte [ebx + 0x22], dl
call fcn.10207e20
mov ecx, eax
call fcn.1020d920
mov ecx, dword [eax + 8]
mov edx, dword [eax]
sub ecx, edx
mov edi, dword [eax + 4]
inc ecx
mov esi, dword [eax + 0xc]
mov eax, esi
sub eax, edi
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x1c]
inc eax
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], 0
call fcn.10207e20
mov ecx, eax
call fcn.1020d9c0
mov ecx, dword [eax]
test ecx, ecx
mov eax, ebx
mov dword [ebx + 0x34], ecx
cmovne eax, ebx
cmovne edi, esi
mov dword [eax + 0x38], edi
mov ecx, dword [ebx + 0x1c]
call fcn.10207e20
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1021cb30
mov ecx, dword [eax]
mov dword [ebx + 0x3c], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 0x40], ecx
mov eax, dword [eax + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x28]
shl eax, 3
push eax
call fcn.1021c3b0
mov ecx, dword [ebx + 0x28]
mov edi, eax
shr edi, 3
mov edx, 8
add ecx, edi
imul eax, ecx, 0x1b
xor ecx, ecx
mov dword [ebp + 8], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1026a066
mov dword [ebp + 8], eax
add esp, 0x10
mov dword [ebx + 0x48], eax
xor eax, eax
mov dword [ebp + 8], eax
lea edx, [eax + 0x10]
lea esi, [ebx + 0x50]
nop
mov ecx, dword [ebx + 0x28]
lea esi, [esi + 0xc]
add ecx, edi
imul ecx, eax
mov eax, dword [ebx + 0x48]
lea eax, [eax + ecx*8]
mov dword [esi - 0x10], eax
lea eax, [edx - 8]
mov ecx, dword [ebx + 0x28]
add ecx, edi
imul ecx, eax
add ecx, dword [ebx + 0x48]
mov dword [esi - 0xc], ecx
mov eax, dword [ebx + 0x28]
add eax, edi
imul eax, edx
add edx, 0x18
add eax, dword [ebx + 0x48]
mov dword [esi - 8], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
cmp edx, 0xe8
jl 0x1021ac60
mov eax, dword [ebx + 0x28]
xor ecx, ecx
add eax, 0x1a
mov edx, 8
mov dword [ebp + 8], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1026a066
mov dword [ebp + 8], eax
add esp, 4
mov dword [ebx + 0xb8], eax
mov eax, ebx
mov dword [ebx + 0xbc], 0
mov dword [ebx + 0xc0], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 7
mov dword [ebx + 0xcc], 5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1021b650
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029cd0f
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x1058ac14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
call fcn.102270b0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
shr eax, 5
and al, 1
mov dword [ebp - 4], 0
mov dword [edi], vtable.Imf_2_2::RgbaInputFile::FromYca.0
mov dword [edi + 0x1c], ecx
mov byte [edi + 0x20], al
call fcn.10217bf0
mov ecx, eax
call fcn.1020d920
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 4]
sub ecx, edx
mov eax, dword [eax + 0xc]
inc ecx
mov dword [edi + 0x2c], eax
sub eax, esi
inc eax
mov dword [edi + 0x30], ecx
mov ecx, dword [edi + 0x1c]
mov dword [edi + 0x34], eax
lea eax, [esi - 0x1d]
mov dword [edi + 0x24], edx
mov dword [edi + 0x28], esi
mov dword [edi + 0x38], eax
call fcn.10217bf0
mov ecx, eax
call fcn.1020d9c0
mov ecx, dword [edi + 0x1c]
mov eax, dword [eax]
mov dword [edi + 0x3c], eax
call fcn.10217bf0
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1021cb30
mov ecx, dword [eax]
mov dword [edi + 0x40], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 0x44], ecx
mov eax, dword [eax + 8]
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x30]
shl eax, 3
push eax
call fcn.1021c3b0
mov ebx, eax
xor ecx, ecx
mov eax, dword [edi + 0x30]
mov edx, 8
shr ebx, 3
add eax, ebx
shl eax, 5
mov dword [ebp + 8], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1026a066
add esp, 0x10
mov dword [ebp + 8], eax
mov dword [edi + 0x4c], eax
lea esi, [edi + 0x50]
xor edx, edx
nop dword [eax]
mov ecx, dword [edi + 0x30]
lea esi, [esi + 4]
mov eax, dword [edi + 0x4c]
add ecx, ebx
imul ecx, edx
inc edx
lea eax, [eax + ecx*8]
mov dword [esi - 4], eax
cmp edx, 0x1d
jl 0x1021b750
mov esi, dword [edi + 0x30]
mov ecx, dword [edi + 0x4c]
lea edx, [esi + ebx]
imul eax, edx, 0xe8
add eax, ecx
mov dword [edi + 0xc4], eax
imul eax, edx, 0xf0
add eax, ecx
mov dword [edi + 0xc8], eax
imul eax, edx, 0xf8
mov edx, 8
add eax, ecx
xor ecx, ecx
mov dword [edi + 0xcc], eax
lea eax, [esi + 0x1a]
mov dword [ebp + 8], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1026a066
mov dword [ebp + 8], eax
add esp, 4
mov dword [edi + 0xd0], eax
mov eax, edi
mov dword [edi + 0xd4], 0
mov dword [edi + 0xd8], 0
mov dword [edi + 0xdc], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8