The block is passed to the plugin:
;---------------------------------------------------------------------
; not change this section!!!
; start section
;---------------------------------------------------------------------
align	4
image_file		dd 0	;+0
raw_pointer		dd 0	;+4
return_code		dd 0	;+8
img_size		dd 0	;+12
deflate_unpack	dd 0	;+16
raw_pointer_2	dd 0	;+20
;---------------------------------------------------------------------
; end section
;---------------------------------------------------------------------


Calling plugins:

;---------------------------------------------------------------------
convert:
	xor	eax,eax
	cmp	[error_fs],eax
	jnz	.error
	mov	[return_code],eax
;	mov	eax,image_file
	push	image_file
	call	[plugin]
	cmp	[return_code],dword 0
	je	@f
	cmp	[return_code],dword 2
	je	@f
;-------------------------------	
	xor	eax,eax
	mov	[return_code],eax
;	mov	eax,image_file
	push	image_file
	call	[plugin_1]
	cmp	[return_code],dword 0
	je	@f
	cmp	[return_code],dword 2
	je	@f
;-------------------------------
	xor	eax,eax
	mov	[return_code],eax
;	mov	eax,image_file
	push	image_file
	call	[plugin_2]
	cmp	[return_code],dword 0
	je	@f
	cmp	[return_code],dword 2
	je	@f
;-------------------------------
	xor	eax,eax
	mov	[return_code],eax
;	mov	eax,image_file
	push	image_file
	call	[plugin_3]	
;-------------------------------
@@:
	mov	ecx,[image_file]
	mcall	68,13

	cmp	[return_code],dword 0
	je	.all_ok
	xor	eax,eax
;-------------------------------