joyce8/EMBER2024-capa huggingface dataset:
Function at 0x467820
Capabilities:
Terminate process

Disassembly:
sub esp, 0x2c
mov edx, dword [esp + 0x38]
push ebx
push ebp
mov ebp, 8
sub ebp, edx
mov ecx, ebp
mov ebx, 1
shl ebx, cl
mov ecx, 0x10
sub ecx, edx
mov eax, 1
shl eax, cl
mov ecx, 0xf
sub ecx, edx
push esi
mov esi, dword [esp + 0x3c]
sub eax, 1
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
push edi
mov ecx, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
lea eax, [ebx*4]
call fcn.0046f980
mov ecx, dword [esp + 0x44]
xor edi, edi
test ebx, ebx
mov dword [esp + 0x18], eax
mov dword [ecx], eax
ja 0x467894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov esi, dword [esp + 0x40]
test esi, esi
je 0x4678cc
mov eax, dword [esi + 0x23c]
test eax, eax
push 0x200
je 0x4678af
push esi
call eax
add esp, 8
jmp 0x4678b7
call fcn.00482392
add esp, 4
test eax, eax
jne 0x4678c8
test dword [esi + 0x70], 0x100000
je 0x4679c8
mov ebx, eax
jmp 0x4678ce
xor ebx, ebx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
add eax, 0xfffe8ce8
xor esi, esi
cmp eax, 0x2710
mov dword [edx + edi*4], ebx
jbe 0x467985
mov ecx, dword [esp + 0x14]
fild dword [esp + 0x14]
test ecx, ecx
jge 0x4678fd
fadd qword [0x4c1428]
fstp qword [esp + 0x28]
fild dword [esp + 0x4c]
fmul qword [0x4c1418]
fstp qword [esp + 0x30]
mov edx, esi
mov ecx, ebp
shl edx, cl
add edx, edi
test edx, edx
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
jge 0x467929
fadd qword [0x4c1428]
fdiv qword [esp + 0x28]
fld qword [esp + 0x30]
call fcn.0049de70
fmul qword [0x4c1420]
sub esp, 8
fadd qword [0x4c1410]
fstp qword [esp]
call fcn.0049dd00
fnstcw word [esp + 0x4c]
add esi, 1
movzx eax, word [esp + 0x4c]
or eax, 0xc00
mov dword [esp + 0x24], eax
add esp, 8
cmp esi, 0x100
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
mov ax, word [esp + 0x1c]
mov word [ebx + esi*2 - 2], ax
fldcw word [esp + 0x44]
jb 0x46790f
jmp 0x4679b3
mov eax, esi
mov ecx, ebp
shl eax, cl
add eax, edi
cmp dword [esp + 0x48], 0
je 0x4679a4
imul eax, eax, 0xffff
add eax, dword [esp + 0x20]
xor edx, edx
div dword [esp + 0x14]
mov word [ebx + esi*2], ax
add esi, 1
cmp esi, 0x100
jb 0x467985
add edi, 1
cmp edi, dword [esp + 0x24]
jb 0x467890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
Function at 0x4679e0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x20]
push ebx
mov ecx, 8
sub ecx, eax
mov dword [esp + 8], ecx
mov ebx, 1
shl ebx, cl
mov ecx, 0x10
sub ecx, eax
mov eax, 1
shl eax, cl
push ebp
mov ebp, dword [esp + 0x20]
push esi
sub eax, 1
mov dword [esp + 0x18], eax
push edi
lea eax, [ebx*4]
mov ecx, ebp
mov dword [esp + 0x20], ebx
call fcn.0046f980
mov edi, eax
mov eax, dword [esp + 0x2c]
xor esi, esi
test ebx, ebx
mov dword [esp + 0x18], edi
mov dword [eax], edi
jbe 0x467a82
test ebp, ebp
je 0x467a76
mov eax, dword [ebp + 0x23c]
test eax, eax
push 0x200
je 0x467a55
push ebp
call eax
add esp, 8
jmp 0x467a5d
call fcn.00482392
add esp, 4
test eax, eax
jne 0x467a78
test dword [ebp + 0x70], 0x100000
jne 0x467a78
mov edi, str.Out_of_Memory
mov eax, ebp
jmp fcn.004665a0
xor eax, eax
mov dword [edi + esi*4], eax
add esi, 1
cmp esi, ebx
jb 0x467a3a
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x2c], ebp
lea ebx, [ebx]
mov edx, dword [esp + 0x34]
mov ecx, ebp
imul ecx, ecx, 0x101
movzx edi, cx
movzx eax, di
push edx
add eax, 0x80
call fcn.00467770
movzx ecx, ax
imul ecx, dword [esp + 0x20]
add ecx, 0x8000
mov eax, 0x80008001
mul ecx
shr edx, 0xf
add edx, 1
add esp, 4
cmp esi, edx
jae 0x467b00
mov ecx, dword [esp + 0x30]
mov eax, 0xff
shr eax, cl
mov ecx, dword [esp + 0x14]
mov ebp, esi
shr ebp, cl
mov ecx, dword [esp + 0x18]
mov ebx, eax
and ebx, esi
mov ecx, dword [ecx + ebx*4]
add esi, 1
cmp esi, edx
mov word [ecx + ebp*2], di
jb 0x467ada
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
add ebp, 1
cmp ebp, 0xff
mov dword [esp + 0x2c], ebp
jb 0x467a90
shl ebx, 8
cmp esi, ebx
jae 0x467b41
mov ecx, dword [esp + 0x30]
mov eax, 0xff
sar eax, cl
mov ecx, dword [esp + 0x14]
mov edi, esi
shr edi, cl
mov ecx, dword [esp + 0x18]
mov edx, eax
and edx, esi
mov edx, dword [ecx + edx*4]
add esi, 1
cmp esi, ebx
mov word [edx + edi*2], 0xffff
jb 0x467b21
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret

Function at 0x467b50
Capabilities:
Terminate process

Disassembly:
push esi
mov esi, eax
test esi, esi
push edi
je 0x467b94
mov eax, dword [esi + 0x23c]
test eax, eax
push pe_nt_image_headers32
je 0x467b6f
push esi
call eax
add esp, 8
jmp 0x467b77
call fcn.00482392
add esp, 4
test eax, eax
jne 0x467b90
test dword [esi + 0x70], 0x100000
jne 0x467b90
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
mov edi, eax
jmp 0x467b96
xor edi, edi
mov eax, dword [esp + 0xc]
lea ecx, [ebx - 0x17318]
cmp ecx, 0x2710
mov dword [eax], edi
jbe 0x467bcc
xor esi, esi
lea esp, [esp]
push ebx
mov eax, esi
call fcn.004676f0
mov byte [edi + esi], al
add esi, 1
add esp, 4
cmp esi, 0x100
jb 0x467bb0
pop edi
pop esi
ret
xor eax, eax
mov edi, edi
mov byte [edi + eax], al
add eax, 1
cmp eax, 0x100
jb 0x467bd0
pop edi
pop esi
ret
Function at 0x469d60
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
sub esp, 0x18
push esi
push edi
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x4c], 1
mov esi, dword [edi + 0x1a8]
mov dword [esp + 0x18], esi
jne 0x469d87
mov dword [esp + 8], 0x1fe
mov byte [esi + 0x1c], 1
jmp 0x469d93
mov dword [esp + 8], 0
mov byte [esi + 0x1c], 0
mov ecx, dword [edi + 0x64]
mov edx, dword [esp + 8]
mov eax, dword [edi + 4]
mov eax, dword [eax + 8]
push ecx
add edx, 0x100
push edx
push 1
push edi
call eax
xor ecx, ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x14]
add esp, 0x10
cmp dword [edi + 0x64], ecx
mov dword [esp + 0x14], ecx
jle 0x469ebc
push ebx
lea edx, [esi + 0x20]
push ebp
mov dword [esp + 0x14], edx
jmp 0x469dd8
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [edx]
cdq
idiv edi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x18], eax
je 0x469df9
mov eax, dword [esi + 0x18]
add dword [eax + ecx*4], 0xff
lea eax, [eax + ecx*4]
mov edx, dword [esi + 0x18]
mov ebp, dword [edx + ecx*4]
lea eax, [edi + 0xfe]
lea esi, [edi + edi - 2]
cdq
idiv esi
xor ebx, ebx
mov dword [esp + 0x24], ebp
xor esi, esi
mov edx, eax
cmp esi, edx
jle 0x469e51
mov ecx, ebx
lea ebp, [edi + edi - 2]
imul ecx, ecx, 0x1fe
jmp 0x469e30
add ecx, 0x1fe
lea eax, [ecx + edi + 0xfe]
cdq
idiv ebp
add ebx, 1
mov edx, eax
cmp esi, edx
jg 0x469e30
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov al, byte [esp + 0x18]
imul bl
mov byte [esi + ebp], al
add esi, 1
cmp esi, 0xff
jle 0x469e16
cmp dword [esp + 0x10], 0
je 0x469ea1
mov eax, 1
lea edx, [ebp - 1]
jmp 0x469e80
movzx ebx, byte [ebp]
mov byte [edx], bl
movzx ebx, byte [ebp + 0xff]
mov byte [eax + ebp + 0xff], bl
add eax, 1
sub edx, 1
cmp eax, 0xff
jle 0x469e80
mov eax, dword [esp + 0x2c]
add dword [esp + 0x14], 4
add ecx, 1
cmp ecx, dword [eax + 0x64]
mov dword [esp + 0x1c], ecx
jl 0x469dd0
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x18
ret

Function at 0x46f980
Capabilities:
Terminate process

Disassembly:
push esi
mov esi, ecx
test esi, esi
push edi
mov edi, eax
je 0x46f9d9
test edi, edi
je 0x46f9d9
mov eax, dword [esi + 0x23c]
test eax, eax
push edi
je 0x46f9a1
push esi
call eax
add esp, 8
jmp 0x46f9a9
call fcn.00482392
add esp, 4
test eax, eax
jne 0x46f9c2
test dword [esi + 0x70], 0x100000
jne 0x46f9c2
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
test eax, eax
mov esi, eax
je 0x46f9d4
push edi
push 0
push eax
call fcn.004854b0
add esp, 0xc
pop edi
mov eax, esi
pop esi
ret
xor esi, esi
pop edi
mov eax, esi
pop esi
ret

Function at 0x46f9e0
Capabilities:
Terminate process

Disassembly:
test esi, esi
je 0x46fa1d
test ecx, ecx
je 0x46fa1d
mov eax, dword [esi + 0x23c]
test eax, eax
push ecx
je 0x46f9fb
push esi
call eax
add esp, 8
jmp 0x46fa03
call fcn.00482392
add esp, 4
test eax, eax
jne 0x46fa1f
test dword [esi + 0x70], 0x100000
jne 0x46fa1f
push edi
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
xor eax, eax
ret
Function at 0x46fa50
Capabilities:
Terminate process

Disassembly:
test esi, esi
jne 0x46fa57
xor eax, eax
ret
push edi
mov edi, dword [esi + 0x70]
mov eax, edi
or eax, 0x100000
test ecx, ecx
mov dword [esi + 0x70], eax
je 0x46fa9d
mov eax, dword [esi + 0x23c]
test eax, eax
push ecx
je 0x46fa7c
push esi
call eax
add esp, 8
jmp 0x46fa84
call fcn.00482392
add esp, 4
test eax, eax
jne 0x46fa9f
test dword [esi + 0x70], 0x100000
jne 0x46fa9f
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
xor eax, eax
mov dword [esi + 0x70], edi
pop edi
ret

Function at 0x470830
Capabilities:
Terminate process

Disassembly:
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
add eax, edx
movzx edx, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
cmp eax, 0x7fffffff
jbe 0x470864
mov eax, dword [esp + 4]
push edi
mov edi, str.PNG_unsigned_integer_out_of_range
jmp fcn.004665a0
ret

Function at 0x4708a0
Capabilities:
Terminate process

Disassembly:
mov al, byte [ebx + 0x12c]
cmp al, 8
push ebp
mov ebp, dword [esp + 8]
jae 0x47092d
push esi
push edi
movzx edi, al
mov eax, dword [ebx + 0x54]
mov esi, 8
sub esi, edi
test eax, eax
mov dword [ebx + 0x2ac], 0x11
je 0x47092f
push esi
lea ecx, [edi + ebp + 0x20]
push ecx
push ebx
call eax
add ebp, 0x20
push esi
push ebp
mov edx, edi
mov byte [ebx + 0x12c], 8
call fcn.004667d0
add esp, 0x14
test eax, eax
je 0x47091f
cmp edi, 4
jae 0x470913
add esi, 0xfffffffc
push esi
push ebp
mov edx, edi
call fcn.004667d0
add esp, 8
test eax, eax
je 0x470913
mov edi, str.Not_a_PNG_file
mov eax, ebx
jmp fcn.004665a0
mov edi, str.PNG_file_corrupted_by_ASCII_conversion
mov eax, ebx
jmp fcn.004665a0
cmp edi, 3
jae 0x47092b
or dword [ebx + 0x6c], 0x1000
pop edi
pop esi
pop ebp
ret
mov edi, str.Call_to_NULL_read_function
mov eax, ebx
jmp fcn.004665a0

Function at 0x470940
Capabilities:
Terminate process

Disassembly:
sub esp, 0xc
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 8], eax
push esi
mov esi, ecx
mov eax, dword [esi + 0x54]
test eax, eax
push edi
mov dword [esi + 0x2ac], 0x21
je 0x470a1c
push 8
lea ecx, [esp + 0xc]
push ecx
push esi
call eax
movzx edi, byte [esp + 0x14]
movzx edx, byte [esp + 0x15]
movzx eax, byte [esp + 0x16]
movzx ecx, byte [esp + 0x17]
shl edi, 8
add edi, edx
shl edi, 8
add edi, eax
shl edi, 8
add edi, ecx
add esp, 0xc
cmp edi, 0x7fffffff
jbe 0x4709ab
mov edi, str.PNG_unsigned_integer_out_of_range
mov eax, esi
jmp fcn.004665a0
mov edx, dword [esp + 0xc]
test dl, 0x20
push ebx
lea ebx, [esi + 0x11c]
mov dword [ebx], edx
mov dword [esi + 0x110], 0
je 0x4709d8
mov eax, dword [esi + 0x70]
and eax, 0x300
cmp eax, 0x300
jne 0x4709e1
jmp 0x4709f7
test dword [esi + 0x70], 0x800
jne 0x4709f7
xor eax, eax
test ebx, ebx
je 0x4709f1
lea edx, [eax + 4]
mov ecx, ebx
call fcn.0047a160
mov dword [esi + 0x110], eax
mov ecx, ebx
call fcn.00473c70
mov ecx, dword [esp + 0x14]
pop ebx
mov eax, edi
pop edi
mov dword [esi + 0x2ac], 0x41
pop esi
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
mov edi, str.Call_to_NULL_read_function
mov eax, esi
jmp fcn.004665a0
Function at 0x470a30
Capabilities:
Terminate process

Disassembly:
test esi, esi
push edi
mov edi, eax
je 0x470a5e
mov eax, dword [esi + 0x54]
test eax, eax
je 0x470a8e
push ebx
push edi
push esi
call eax
add esp, 0xc
test byte [esi + 0x11c], 0x20
je 0x470a60
mov eax, dword [esi + 0x70]
and eax, 0x300
cmp eax, 0x300
jne 0x470a69
pop edi
ret
test dword [esi + 0x70], 0x800
jne 0x470a5e
test edi, edi
mov eax, dword [esi + 0x110]
jne 0x470a7d
xor eax, eax
mov dword [esi + 0x110], eax
pop edi
ret
mov edx, ebx
mov ecx, edi
call fcn.0047a160
mov dword [esi + 0x110], eax
pop edi
ret
mov edi, str.Call_to_NULL_read_function
mov eax, esi
jmp fcn.004665a0

Function at 0x470aa0
Capabilities:
Terminate process

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi + 0xb4]
push edi
mov edi, eax
cmp edi, ebp
jbe 0x470ac9
mov ebx, dword [esi + 0xb4]
mov eax, dword [esi + 0xb0]
call fcn.00470a30
sub edi, ebp
cmp edi, ebp
ja 0x470ab2
test edi, edi
je 0x470ada
mov eax, dword [esi + 0xb0]
mov ebx, edi
call fcn.00470a30
call fcn.00470b40
test eax, eax
je 0x470b24
mov al, byte [esi + 0x11c]
and al, 0x20
je 0x470af6
test dword [esi + 0x70], 0x200
je 0x470b03
test al, al
jne 0x470b14
test dword [esi + 0x70], 0x400
je 0x470b14
mov ecx, esi
call fcn.00466720
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
test dword [esi + 0x70], 0x800000
je 0x470b2b
mov ecx, esi
call fcn.00466720
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
mov edx, str.CRC_error
jmp fcn.004666f0

Function at 0x470b40
Capabilities:
Terminate process

Disassembly:
push ecx
test byte [esi + 0x11c], 0x20
push edi
mov edi, 1
je 0x470b61
mov eax, dword [esi + 0x70]
and eax, 0x300
cmp eax, 0x300
jne 0x470b6c
jmp 0x470b6a
test dword [esi + 0x70], 0x800
je 0x470b6c
xor edi, edi
mov eax, dword [esi + 0x54]
test eax, eax
mov dword [esi + 0x2ac], 0x81
je 0x470bc4
push 4
lea ecx, [esp + 8]
push ecx
push esi
call eax
add esp, 0xc
test edi, edi
je 0x470bbf
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 6]
movzx edx, al
shl edx, 8
movzx eax, ah
add edx, eax
movzx eax, byte [esp + 7]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
xor eax, eax
cmp edx, dword [esi + 0x110]
pop edi
setne al
pop ecx
ret
xor eax, eax
pop edi
pop ecx
ret
mov edi, str.Call_to_NULL_read_function
mov eax, esi
jmp fcn.004665a0
Function at 0x470ed0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x1c
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x18], eax
push ebp
mov ebp, dword [esp + 0x24]
push esi
mov esi, ecx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
je 0x470efa
mov edi, str.Out_of_place_IHDR
mov eax, esi
jmp fcn.004665a0
push ebx
mov ebx, 0xd
cmp dword [esp + 0x34], ebx
je 0x470f12
mov edi, str.Invalid_IHDR_chunk
mov eax, esi
jmp fcn.004665a0
or eax, 1
mov dword [esi + 0x6c], eax
lea eax, [esp + 0x18]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
movzx edi, byte [esp + 0x18]
movzx eax, byte [esp + 0x19]
movzx ecx, byte [esp + 0x1a]
movzx edx, byte [esp + 0x1b]
shl edi, 8
add edi, eax
shl edi, 8
add edi, ecx
shl edi, 8
add edi, edx
cmp edi, 0x7fffffff
jbe 0x470f61
mov edi, str.PNG_unsigned_integer_out_of_range
mov eax, esi
jmp fcn.004665a0
movzx ecx, byte [esp + 0x1c]
movzx eax, byte [esp + 0x1d]
movzx edx, byte [esp + 0x1e]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x1f]
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, eax
cmp ecx, 0x7fffffff
jbe 0x470f98
mov edi, str.PNG_unsigned_integer_out_of_range
mov eax, esi
jmp fcn.004665a0
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0x21]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x23]
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x24]
mov byte [esi + 0x123], al
movzx eax, byte [esp + 0x14]
mov byte [esi + 0x234], al
movzx eax, byte [esp + 0x10]
mov byte [esi + 0x254], al
movzx eax, dl
sub eax, 2
mov dword [esi + 0x270], edi
mov dword [esi + 0x274], ecx
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd0], ecx
mov byte [esi + 0x127], bl
mov byte [esi + 0x126], dl
je 0x471026
sub eax, 2
je 0x47101d
sub eax, 2
je 0x471014
mov byte [esi + 0x12a], 1
jmp 0x47102d
mov byte [esi + 0x12a], 4
jmp 0x47102d
mov byte [esi + 0x12a], 2
jmp 0x47102d
mov byte [esi + 0x12a], 3
mov al, byte [esi + 0x12a]
imul bl
mov byte [esi + 0x129], al
cmp al, 8
movzx eax, al
jb 0x47104a
shr eax, 3
imul eax, edi
jmp 0x471053
imul eax, edi
add eax, 7
shr eax, 3
mov dword [esi + 0xdc], eax
movzx eax, byte [esp + 0x23]
push eax
movzx eax, byte [esp + 0x26]
push eax
movzx eax, byte [esp + 0x2c]
push eax
push edx
push ebx
push ecx
push esi
mov esi, ebp
call fcn.004657a0
mov ecx, dword [esp + 0x44]
add esp, 0x1c
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0047f460
add esp, 0x1c
ret
Function at 0x471090
Capabilities:
Terminate process

Disassembly:
sub esp, 0x308
push esi
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x4710af
mov edi, str.Missing_IHDR_before_PLTE
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4710ce
mov ecx, str.Invalid_PLTE_after_IDAT
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
add esp, 0x308
jmp fcn.00470aa0
test al, 2
je 0x4710de
mov edi, str.Duplicate_PLTE_chunk
mov eax, esi
jmp fcn.004665a0
mov cl, byte [esi + 0x126]
or eax, 2
test cl, 2
mov dword [esi + 0x6c], eax
jne 0x4710f6
mov ecx, str.Ignoring_PLTE_chunk_in_grayscale_PNG
jmp 0x4710b8
cmp edi, 0x300
ja 0x4711da
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
mov edx, edi
sub edx, eax
jne 0x4711da
mov eax, 0x55555556
imul edi
push ebx
push ebp
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
test ebp, ebp
jle 0x47116b
lea edi, [esp + 0x1a]
mov dword [esp + 0x14], ebp
jmp 0x471140
mov ebx, 3
lea eax, [esp + 0x10]
call fcn.00470a30
mov al, byte [esp + 0x10]
mov cl, byte [esp + 0x11]
mov dl, byte [esp + 0x12]
mov byte [edi - 2], al
mov byte [edi - 1], cl
mov byte [edi], dl
add edi, ebx
sub dword [esp + 0x14], 1
jne 0x471140
xor eax, eax
mov ecx, esi
call fcn.00470aa0
mov edi, dword [esp + 0x31c]
lea eax, [esp + 0x18]
push eax
mov ebx, ebp
mov eax, edi
mov ecx, esi
call fcn.00465bb0
add esp, 4
cmp byte [esi + 0x126], 3
jne 0x4711cf
test edi, edi
je 0x4711cf
test byte [edi + 8], 0x10
je 0x4711cf
cmp word [esi + 0x11a], bp
jbe 0x4711bb
mov ecx, str.Truncating_incorrect_tRNS_chunk_length
call fcn.004665c0
mov word [esi + 0x11a], bp
cmp word [edi + 0x16], bp
jbe 0x4711cf
mov ecx, str.Truncating_incorrect_info_tRNS_chunk_length
call fcn.004665c0
mov word [edi + 0x16], bp
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x308
ret
cmp cl, 3
je 0x4711e9
mov ecx, str.Invalid_palette_chunk
jmp 0x4710b8
mov edi, str.Invalid_palette_chunk
mov eax, esi
jmp fcn.004665a0

Function at 0x471200
Capabilities:
Terminate process

Disassembly:
push esi
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
test al, 1
je 0x471230
test al, 4
je 0x471230
or eax, 0x18
test edi, edi
mov dword [esi + 0x6c], eax
je 0x471225
mov ecx, str.Incorrect_IEND_chunk_length
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
jmp fcn.00470aa0
mov edi, str.No_image_in_file
mov eax, esi
jmp fcn.004665a0
Function at 0x471240
Capabilities:
Terminate process

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0xc]
push esi
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x47125f
mov edi, str.Missing_IHDR_before_gAMA
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x47127b
mov ecx, str.Invalid_gAMA_after_IDAT
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ecx
ret
test al, 2
je 0x471289
mov ecx, str.Out_of_place_gAMA_chunk
call fcn.004665c0
test ebp, ebp
je 0x4712b3
mov eax, dword [ebp + 8]
test al, 1
je 0x4712b3
test eax, 0x800
jne 0x4712b3
mov ecx, str.Duplicate_gAMA_chunk
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ecx
ret
cmp edi, 4
je 0x4712d0
mov ecx, str.Incorrect_gAMA_chunk_length
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ecx
ret
push ebx
mov ebx, 4
lea eax, [esp + 0x10]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
pop ebx
jne 0x47135f
lea ecx, [esp + 0xc]
call fcn.00470870
mov edi, eax
test edi, edi
jg 0x47130b
mov ecx, str.Ignoring_gAMA_chunk_with_out_of_range_gamma
call fcn.004665c0
pop edi
pop esi
pop ebp
pop ecx
ret
test ebp, ebp
je 0x47134e
test dword [ebp + 8], 0x800
je 0x47134e
cmp edi, 0xafc8
jl 0x471328
cmp edi, 0xb3b0
jle 0x47134e
mov ecx, str.Ignoring_incorrect_gAMA_value_when_sRGB_is_also_present
call fcn.004665c0
push edi
push str.gamma____d_100000_
call fcn.00483d22
add eax, 0x40
push eax
call fcn.0048451b
add esp, 0xc
pop edi
pop esi
pop ebp
pop ecx
ret
mov ecx, edi
mov eax, ebp
mov edx, esi
mov dword [esi + 0x15c], edi
call fcn.004656c0
pop edi
pop esi
pop ebp
pop ecx
ret
Function at 0x471370
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
xor ebx, ebx
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
test al, 1
mov byte [esp + 0x13], bl
mov byte [esp + 0x12], bl
mov byte [esp + 0x11], bl
mov byte [esp + 0x10], bl
jne 0x4713a2
mov edi, str.Missing_IHDR_before_sBIT
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4713bf
mov ecx, str.Invalid_sBIT_after_IDAT
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
test al, 2
je 0x4713cd
mov ecx, str.Out_of_place_sBIT_chunk
call fcn.004665c0
cmp edi, ebx
je 0x4713f0
test byte [edi + 8], 2
je 0x4713f0
mov ecx, str.Duplicate_sBIT_chunk
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ebx, 3
cmp byte [esi + 0x126], bl
je 0x471404
movzx ebx, byte [esi + 0x12a]
cmp ebp, ebx
jne 0x4714b0
cmp ebp, 4
ja 0x4714b0
lea eax, [esp + 0x10]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x4714c3
mov ecx, 2
test byte [esi + 0x126], cl
je 0x47146a
movzx eax, byte [esp + 0x10]
movzx edx, byte [esp + 0x11]
mov byte [esi + 0x17c], al
movzx eax, byte [esp + 0x12]
mov byte [esi + 0x17d], dl
movzx edx, byte [esp + 0x13]
mov byte [esi + 0x17e], al
mov byte [esi + 0x180], dl
jmp 0x471491
mov al, byte [esp + 0x10]
mov byte [esi + 0x17f], al
mov byte [esi + 0x17c], al
mov byte [esi + 0x17d], al
mov byte [esi + 0x17e], al
movzx eax, byte [esp + 0x11]
mov byte [esi + 0x180], al
test edi, edi
je 0x4714c3
mov edx, dword [esi + 0x17c]
mov dword [edi + 0x44], edx
mov al, byte [esi + 0x180]
or dword [edi + 8], ecx
mov byte [edi + 0x48], al
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, str.Incorrect_sBIT_chunk_length
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x4717c0
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, ecx
jne 0x4717dd
mov edi, str.Missing_IHDR_before_sRGB
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4717f9
mov ecx, str.Invalid_sRGB_after_IDAT
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
pop ecx
ret
test al, 2
je 0x471807
mov ecx, str.Out_of_place_sRGB_chunk
call fcn.004665c0
test edi, edi
je 0x47182c
test dword [edi + 8], 0x800
je 0x47182c
mov ecx, str.Duplicate_sRGB_chunk
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
pop ecx
ret
cmp ebx, 1
je 0x471849
mov ecx, str.Incorrect_sRGB_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
pop ecx
ret
mov ebx, 1
lea eax, [esp + 0xf]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x47198d
movzx ebx, byte [esp + 0xf]
cmp ebx, 4
jl 0x471881
mov ecx, str.Unknown_sRGB_intent
call fcn.004665c0
pop edi
pop esi
pop ebx
pop ecx
ret
test edi, edi
je 0x471980
test byte [edi + 8], 1
je 0x4718c4
mov eax, dword [edi + 0x28]
cmp eax, 0xafc8
jl 0x4718a0
cmp eax, 0xb3b0
jle 0x4718c4
mov ecx, str.Ignoring_incorrect_gAMA_value_when_sRGB_is_also_present
call fcn.004665c0
mov eax, dword [edi + 0x28]
push eax
push str.incorrect_gamma__d_100000__n
call fcn.00483d22
add eax, 0x40
push eax
call fcn.0048451b
add esp, 0xc
test byte [edi + 8], 4
je 0x471980
mov eax, dword [edi + 0x84]
cmp eax, 0x763e
jl 0x471976
cmp eax, 0x7e0e
jg 0x471976
mov eax, dword [edi + 0x88]
cmp eax, 0x7c9c
jl 0x471976
cmp eax, 0x846c
jg 0x471976
mov eax, dword [edi + 0x8c]
cmp eax, 0xf618
jl 0x471976
cmp eax, 0xfde8
jg 0x471976
mov eax, dword [edi + 0x90]
cmp eax, 0x7d00
jl 0x471976
cmp eax, 0x84d0
jg 0x471976
mov eax, dword [edi + 0x94]
cmp eax, 0x7148
jl 0x471976
cmp eax, 0x7918
jg 0x471976
mov eax, dword [edi + 0x98]
cmp eax, 0xe678
jl 0x471976
cmp eax, 0xee48
jg 0x471976
mov eax, dword [edi + 0x9c]
cmp eax, 0x36b0
jl 0x471976
cmp eax, 0x3e80
jg 0x471976
mov eax, dword [edi + 0xa0]
cmp eax, 0x1388
jl 0x471976
cmp eax, 0x1b58
jle 0x471980
mov ecx, str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
call fcn.004665c0
push ebx
mov ecx, edi
mov eax, esi
call fcn.00465c40
add esp, 4
pop edi
pop esi
pop ebx
pop ecx
ret