// File: /workspace/github_c_makefile_star2_O0/coyove[P]chann/./lib/unqlite/unqlite.c
// Function: jx9Builtin_zip_entry_compressionmethod
static int jx9Builtin_zip_entry_compressionmethod(jx9_context *pCtx, int nArg, jx9_value **apArg)
{
	SyArchiveEntry *pEntry;
	if( nArg < 1 || !jx9_value_is_resource(apArg[0]) ){
		/* Missing/Invalid arguments */
		jx9_context_throw_error(pCtx, JX9_CTX_ERR, "Expecting a ZIP archive entry");
		/* return FALSE */
		jx9_result_bool(pCtx, 0);
		return JX9_OK;
	}
	/* Make sure we are dealing with a valid ZIP archive entry */
	pEntry = (SyArchiveEntry *)jx9_value_to_resource(apArg[0]);
	if( SXARCH_ENTRY_INVALID(pEntry) ){
		jx9_context_throw_error(pCtx, JX9_CTX_ERR, "Expecting a ZIP archive entry");
		/* return FALSE */
		jx9_result_bool(pCtx, 0);
		return JX9_OK;
	}
	switch(pEntry->nComprMeth){
	case 0:
		/* No compression;entry is stored */
		jx9_result_string(pCtx, "stored", (int)sizeof("stored")-1);
		break;
	case 8:
		/* Entry is deflated (Default compression algorithm)  */
		jx9_result_string(pCtx, "deflate", (int)sizeof("deflate")-1);
		break;
		/* Exotic compression algorithms */ 
	case 1:
		jx9_result_string(pCtx, "shrunk", (int)sizeof("shrunk")-1);
		break;
	case 2:
	case 3:
	case 4:
	case 5:
		/* Entry is reduced */
		jx9_result_string(pCtx, "reduced", (int)sizeof("reduced")-1);
		break;
	case 6:
		/* Entry is imploded */
		jx9_result_string(pCtx, "implode", (int)sizeof("implode")-1);
		break;
	default:
		jx9_result_string(pCtx, "unknown", (int)sizeof("unknown")-1);
		break;
	}
	return JX9_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
cmpl $0x1, -0x14(%rbp)
jl 0xa552a
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x576d0
cmpl $0x0, %eax
jne 0xa5556
movq -0x10(%rbp), %rdi
movl $0x1, %esi
leaq 0x2062f(%rip), %rdx     # 0xc5b69
callq 0x580b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x57070
movl $0x0, -0x4(%rbp)
jmp 0xa5662
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x56ec0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xa557d
movq -0x28(%rbp), %rax
cmpl $0xdead635a, 0xa0(%rax) # imm = 0xDEAD635A
je 0xa55a9
movq -0x10(%rbp), %rdi
movl $0x1, %esi
leaq 0x205dc(%rip), %rdx     # 0xc5b69
callq 0x580b0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x57070
movl $0x0, -0x4(%rbp)
jmp 0xa5662
movq -0x28(%rbp), %rax
movzwl 0x4c(%rax), %eax
movq %rax, -0x30(%rbp)
subq $0x8, %rax
ja 0xa5646
movq -0x30(%rbp), %rax
leaq 0x1bad2(%rip), %rcx     # 0xc109c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x205a9(%rip), %rsi     # 0xc5b87
movl $0x6, %edx
callq 0x57180
jmp 0xa565b
movq -0x10(%rbp), %rdi
leaq 0x20599(%rip), %rsi     # 0xc5b8e
movl $0x7, %edx
callq 0x57180
jmp 0xa565b
movq -0x10(%rbp), %rdi
leaq 0x2058a(%rip), %rsi     # 0xc5b96
movl $0x6, %edx
callq 0x57180
jmp 0xa565b
movq -0x10(%rbp), %rdi
leaq 0x2057a(%rip), %rsi     # 0xc5b9d
movl $0x7, %edx
callq 0x57180
jmp 0xa565b
movq -0x10(%rbp), %rdi
leaq 0x1faea(%rip), %rsi     # 0xc5124
movl $0x7, %edx
callq 0x57180
jmp 0xa565b
movq -0x10(%rbp), %rdi
leaq 0x20467(%rip), %rsi     # 0xc5ab8
movl $0x7, %edx
callq 0x57180
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)