// File: /workspace/github_c_makefile_star2_O0/coyove[P]chann/./lib/unqlite/unqlite.c
// Function: jx9VmConfigure
JX9_PRIVATE sxi32 jx9VmConfigure(
	jx9_vm *pVm, /* Target VM */
	sxi32 nOp,   /* Configuration verb */
	va_list ap   /* Subsequent option arguments */
	)
{
	sxi32 rc = SXRET_OK;
	switch(nOp){
	case JX9_VM_CONFIG_OUTPUT: {
		ProcConsumer xConsumer = va_arg(ap, ProcConsumer);
		void *pUserData = va_arg(ap, void *);
		/* VM output consumer callback */
#ifdef UNTRUST
		if( xConsumer == 0 ){
			rc = SXERR_CORRUPT;
			break;
		}
#endif
		/* Install the output consumer */
		pVm->sVmConsumer.xConsumer = xConsumer;
		pVm->sVmConsumer.pUserData = pUserData;
		break;
							   }
	case JX9_VM_CONFIG_IMPORT_PATH: {
		/* Import path */
		  const char *zPath;
		  SyString sPath;
		  zPath = va_arg(ap, const char *);
#if defined(UNTRUST)
		  if( zPath == 0 ){
			  rc = SXERR_EMPTY;
			  break;
		  }
#endif
		  SyStringInitFromBuf(&sPath, zPath, SyStrlen(zPath));
		  /* Remove trailing slashes and backslashes */
#ifdef __WINNT__
		  SyStringTrimTrailingChar(&sPath, '\\');
#endif
		  SyStringTrimTrailingChar(&sPath, '/');
		  /* Remove leading and trailing white spaces */
		  SyStringFullTrim(&sPath);
		  if( sPath.nByte > 0 ){
			  /* Store the path in the corresponding conatiner */
			  rc = SySetPut(&pVm->aPaths, (const void *)&sPath);
		  }
		  break;
									 }
	case JX9_VM_CONFIG_ERR_REPORT:
		/* Run-Time Error report */
		pVm->bErrReport = 1;
		break;
	case JX9_VM_CONFIG_RECURSION_DEPTH:{
		/* Recursion depth */
		int nDepth = va_arg(ap, int);
		if( nDepth > 2 && nDepth < 1024 ){
			pVm->nMaxDepth = nDepth;
		}
		break;
									   }
	case JX9_VM_OUTPUT_LENGTH: {
		/* VM output length in bytes */
		sxu32 *pOut = va_arg(ap, sxu32 *);
#ifdef UNTRUST
		if( pOut == 0 ){
			rc = SXERR_CORRUPT;
			break;
		}
#endif
		*pOut = pVm->nOutputLen;
		break;
							   }
	case JX9_VM_CONFIG_CREATE_VAR: {
		/* Create a new superglobal/global variable */
		const char *zName = va_arg(ap, const char *);
		jx9_value *pValue = va_arg(ap, jx9_value *);
		SyHashEntry *pEntry;
		jx9_value *pObj;
		sxu32 nByte;
		sxu32 nIdx; 
#ifdef UNTRUST
		if( SX_EMPTY_STR(zName) || pValue == 0 ){
			rc = SXERR_CORRUPT;
			break;
		}
#endif
		nByte = SyStrlen(zName);
		/* Check if the superglobal is already installed */
		pEntry = SyHashGet(&pVm->hSuper, (const void *)zName, nByte);
		if( pEntry ){
			/* Variable already installed */
			nIdx = SX_PTR_TO_INT(pEntry->pUserData);
			/* Extract contents */
			pObj = (jx9_value *)SySetAt(&pVm->aMemObj, nIdx);
			if( pObj ){
				/* Overwrite old contents */
				jx9MemObjStore(pValue, pObj);
			}
		}else{
			/* Install a new variable */
			pObj = jx9VmReserveMemObj(&(*pVm),&nIdx);
			if( pObj == 0 ){
				rc = SXERR_MEM;
				break;
			}
			/* Copy value */
			jx9MemObjStore(pValue, pObj);
			/* Install the superglobal */
			rc = SyHashInsert(&pVm->hSuper, (const void *)zName, nByte, SX_INT_TO_PTR(nIdx));
		}
		break;
									}
	case JX9_VM_CONFIG_SERVER_ATTR:
	case JX9_VM_CONFIG_ENV_ATTR:  {
		const char *zKey   = va_arg(ap, const char *);
		const char *zValue = va_arg(ap, const char *);
		int nLen = va_arg(ap, int);
		jx9_hashmap *pMap;
		jx9_value *pValue;
		if( nOp == JX9_VM_CONFIG_ENV_ATTR ){
			/* Extract the $_ENV superglobal */
			pValue = VmExtractSuper(&(*pVm), "_ENV", sizeof("_ENV")-1);
		}else{
			/* Extract the $_SERVER superglobal */
			pValue = VmExtractSuper(&(*pVm), "_SERVER", sizeof("_SERVER")-1);
		}
		if( pValue == 0 || (pValue->iFlags & MEMOBJ_HASHMAP) == 0 ){
			/* No such entry */
			rc = SXERR_NOTFOUND;
			break;
		}
		/* Point to the hashmap */
		pMap = (jx9_hashmap *)pValue->x.pOther;
		/* Perform the insertion */
		rc = VmHashmapInsert(pMap, zKey, -1, zValue, nLen);
		break;
								   }
	case JX9_VM_CONFIG_ARGV_ENTRY:{
		/* Script arguments */
		const char *zValue = va_arg(ap, const char *);
		jx9_hashmap *pMap;
		jx9_value *pValue;
		/* Extract the $argv array */
		pValue = VmExtractSuper(&(*pVm), "argv", sizeof("argv")-1);
		if( pValue == 0 || (pValue->iFlags & MEMOBJ_HASHMAP) == 0 ){
			/* No such entry */
			rc = SXERR_NOTFOUND;
			break;
		}
		/* Point to the hashmap */
		pMap = (jx9_hashmap *)pValue->x.pOther;
		/* Perform the insertion */
		rc = VmHashmapInsert(pMap, 0, 0, zValue,-1);
		if( rc == SXRET_OK && zValue && zValue[0] != 0 ){
			if( pMap->nEntry > 1 ){
				/* Append space separator first */
				SyBlobAppend(&pVm->sArgv, (const void *)" ", sizeof(char));
			}
			SyBlobAppend(&pVm->sArgv, (const void *)zValue,SyStrlen(zValue));
		}
		break;
								  }
	case JX9_VM_CONFIG_EXEC_VALUE: {
		/* Script return value */
		jx9_value **ppValue = va_arg(ap, jx9_value **);
#ifdef UNTRUST
		if( ppValue == 0 ){
			rc = SXERR_CORRUPT;
			break;
		}
#endif
		*ppValue = &pVm->sExec;
		break;
								   }
	case JX9_VM_CONFIG_IO_STREAM: {
		/* Register an IO stream device */
		const jx9_io_stream *pStream = va_arg(ap, const jx9_io_stream *);
		/* Make sure we are dealing with a valid IO stream */
		if( pStream == 0 || pStream->zName == 0 || pStream->zName[0] == 0 ||
			pStream->xOpen == 0 || pStream->xRead == 0 ){
				/* Invalid stream */
				rc = SXERR_INVALID;
				break;
		}
		if( pVm->pDefStream == 0 && SyStrnicmp(pStream->zName, "file", sizeof("file")-1) == 0 ){
			/* Make the 'file://' stream the defaut stream device */
			pVm->pDefStream = pStream;
		}
		/* Insert in the appropriate container */
		rc = SySetPut(&pVm->aIOstream, (const void *)&pStream);
		break;
								  }
	case JX9_VM_CONFIG_EXTRACT_OUTPUT: {
		/* Point to the VM internal output consumer buffer */
		const void **ppOut = va_arg(ap, const void **);
		unsigned int *pLen = va_arg(ap, unsigned int *);
#ifdef UNTRUST
		if( ppOut == 0 || pLen == 0 ){
			rc = SXERR_CORRUPT;
			break;
		}
#endif
		*ppOut = SyBlobData(&pVm->sConsumer);
		*pLen  = SyBlobLength(&pVm->sConsumer);
		break;
									   }
	case JX9_VM_CONFIG_HTTP_REQUEST:{
		/* Raw HTTP request*/
		const char *zRequest = va_arg(ap, const char *);
		int nByte = va_arg(ap, int);
		if( SX_EMPTY_STR(zRequest) ){
			rc = SXERR_EMPTY;
			break;
		}
		if( nByte < 0 ){
			/* Compute length automatically */
			nByte = (int)SyStrlen(zRequest);
		}
		/* Process the request */
		rc = VmHttpProcessRequest(&(*pVm), zRequest, nByte);
		break;
									}
	default:
		/* Unknown configuration option */
		rc = SXERR_UNKNOWN;
		break;
	}
	return rc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0xc(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0xf8(%rbp)
subl $0xc, %eax
ja 0x7ab6c
movq -0xf8(%rbp), %rax
leaq 0x46abe(%rip), %rcx     # 0xc09d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rax
movq %rax, -0x108(%rbp)
movl (%rax), %eax
movl %eax, -0xfc(%rbp)
cmpl $0x28, %eax
ja 0x79f55
movq -0x108(%rbp), %rcx
movl -0xfc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x110(%rbp)
jmp 0x79f72
movq -0x108(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x120(%rbp)
movl (%rax), %eax
movl %eax, -0x114(%rbp)
cmpl $0x28, %eax
ja 0x79fba
movq -0x120(%rbp), %rcx
movl -0x114(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x128(%rbp)
jmp 0x79fd7
movq -0x120(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x4f8(%rax)
movq -0x30(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x500(%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x138(%rbp)
movl (%rax), %eax
movl %eax, -0x12c(%rbp)
cmpl $0x28, %eax
ja 0x7a042
movq -0x138(%rbp), %rcx
movl -0x12c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x140(%rbp)
jmp 0x7a05f
movq -0x138(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rdi
callq 0x55d10
movl %eax, -0x40(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x40(%rbp)
movb %al, -0x141(%rbp)
jbe 0x7a0ab
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
sete %al
movb %al, -0x141(%rbp)
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x7a0b7
jmp 0x7a0c2
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x7a081
jmp 0x7a0c4
xorl %eax, %eax
cmpl $0x0, -0x40(%rbp)
movb %al, -0x142(%rbp)
jbe 0x7a110
movq -0x48(%rbp), %rax
movzbl (%rax), %ecx
xorl %eax, %eax
cmpl $0xc0, %ecx
movb %al, -0x142(%rbp)
jge 0x7a110
callq 0xd1f0
movq (%rax), %rax
movq -0x48(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
setne %al
movb %al, -0x142(%rbp)
movb -0x142(%rbp), %al
testb $0x1, %al
jne 0x7a11c
jmp 0x7a133
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x7a0c4
jmp 0x7a135
xorl %eax, %eax
cmpl $0x0, -0x40(%rbp)
movb %al, -0x143(%rbp)
jbe 0x7a193
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movzbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0xc0, %ecx
movb %al, -0x143(%rbp)
jge 0x7a193
callq 0xd1f0
movq (%rax), %rax
movq -0x48(%rbp), %rcx
movl -0x40(%rbp), %edx
subl $0x1, %edx
movl %edx, %edx
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
setne %al
movb %al, -0x143(%rbp)
movb -0x143(%rbp), %al
testb $0x1, %al
jne 0x7a19f
jmp 0x7a1aa
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x7a135
cmpl $0x0, -0x40(%rbp)
jbe 0x7a1c7
movq -0x8(%rbp), %rdi
addq $0x410, %rdi            # imm = 0x410
leaq -0x48(%rbp), %rsi
callq 0x5a7b0
movl %eax, -0x1c(%rbp)
jmp 0x7ab73
movq -0x8(%rbp), %rax
movl $0x1, 0x4e8(%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x150(%rbp)
movl (%rax), %eax
movl %eax, -0x148(%rbp)
cmpl $0x28, %eax
ja 0x7a219
movq -0x150(%rbp), %rcx
movl -0x148(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x158(%rbp)
jmp 0x7a236
movq -0x150(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
cmpl $0x2, -0x4c(%rbp)
jle 0x7a25e
cmpl $0x400, -0x4c(%rbp)     # imm = 0x400
jge 0x7a25e
movl -0x4c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x4f0(%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x168(%rbp)
movl (%rax), %eax
movl %eax, -0x15c(%rbp)
cmpl $0x28, %eax
ja 0x7a29d
movq -0x168(%rbp), %rcx
movl -0x15c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x170(%rbp)
jmp 0x7a2ba
movq -0x168(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x170(%rbp)
movq -0x170(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movl 0x4f4(%rax), %ecx
movq -0x58(%rbp), %rax
movl %ecx, (%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x180(%rbp)
movl (%rax), %eax
movl %eax, -0x174(%rbp)
cmpl $0x28, %eax
ja 0x7a317
movq -0x180(%rbp), %rcx
movl -0x174(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x188(%rbp)
jmp 0x7a334
movq -0x180(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x198(%rbp)
movl (%rax), %eax
movl %eax, -0x18c(%rbp)
cmpl $0x28, %eax
ja 0x7a37c
movq -0x198(%rbp), %rcx
movl -0x18c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1a0(%rbp)
jmp 0x7a399
movq -0x198(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdi
callq 0x55d10
movl %eax, -0x7c(%rbp)
movq -0x8(%rbp), %rdi
addq $0x348, %rdi            # imm = 0x348
movq -0x60(%rbp), %rsi
movl -0x7c(%rbp), %edx
callq 0x76c30
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
je 0x7a40d
movq -0x70(%rbp), %rax
movq 0x10(%rax), %rax
movl %eax, -0x80(%rbp)
movq -0x8(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl -0x80(%rbp), %esi
callq 0x6ea60
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x7a40b
movq -0x68(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x6e750
jmp 0x7a45d
movq -0x8(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x70a20
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
jne 0x7a431
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
jmp 0x7ab73
movq -0x68(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x6e750
movq -0x8(%rbp), %rdi
addq $0x348, %rdi            # imm = 0x348
movq -0x60(%rbp), %rsi
movl -0x7c(%rbp), %edx
movl -0x80(%rbp), %eax
movl %eax, %ecx
callq 0x77a80
movl %eax, -0x1c(%rbp)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movl (%rax), %eax
movl %eax, -0x1a4(%rbp)
cmpl $0x28, %eax
ja 0x7a49c
movq -0x1b0(%rbp), %rcx
movl -0x1a4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1b8(%rbp)
jmp 0x7a4b9
movq -0x1b0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movl (%rax), %eax
movl %eax, -0x1bc(%rbp)
cmpl $0x28, %eax
ja 0x7a504
movq -0x1c8(%rbp), %rcx
movl -0x1bc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1d0(%rbp)
jmp 0x7a521
movq -0x1c8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movl (%rax), %eax
movl %eax, -0x1d4(%rbp)
cmpl $0x28, %eax
ja 0x7a56c
movq -0x1e0(%rbp), %rcx
movl -0x1d4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1e8(%rbp)
jmp 0x7a589
movq -0x1e0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x94(%rbp)
cmpl $0x9, -0xc(%rbp)
jne 0x7a5bc
movq -0x8(%rbp), %rdi
leaq 0x486f0(%rip), %rsi     # 0xc2c99
movl $0x4, %edx
callq 0x7ab80
movq %rax, -0xa8(%rbp)
jmp 0x7a5d8
movq -0x8(%rbp), %rdi
leaq 0x486d7(%rip), %rsi     # 0xc2c9e
movl $0x7, %edx
callq 0x7ab80
movq %rax, -0xa8(%rbp)
cmpq $0x0, -0xa8(%rbp)
je 0x7a5f4
movq -0xa8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
jne 0x7a600
movl $0xfffffffa, -0x1c(%rbp) # imm = 0xFFFFFFFA
jmp 0x7ab73
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq -0x90(%rbp), %rcx
movl -0x94(%rbp), %r8d
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7ac00
movl %eax, -0x1c(%rbp)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movl (%rax), %eax
movl %eax, -0x1ec(%rbp)
cmpl $0x28, %eax
ja 0x7a679
movq -0x1f8(%rbp), %rcx
movl -0x1ec(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x200(%rbp)
jmp 0x7a696
movq -0x1f8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x200(%rbp)
movq -0x200(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x485f4(%rip), %rsi     # 0xc2ca6
movl $0x4, %edx
callq 0x7ab80
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0xc0(%rbp)
je 0x7a6df
movq -0xc0(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
jne 0x7a6eb
movl $0xfffffffa, -0x1c(%rbp) # imm = 0xFFFFFFFA
jmp 0x7ab73
movq -0xc0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x7ac00
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x7a7aa
cmpq $0x0, -0xb0(%rbp)
je 0x7a7aa
movq -0xb0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x7a7aa
movq -0xb8(%rbp), %rax
cmpl $0x1, 0x2c(%rax)
jbe 0x7a76a
movq -0x8(%rbp), %rdi
addq $0x3c8, %rdi            # imm = 0x3C8
leaq 0x4b89a(%rip), %rsi     # 0xc5ffa
movl $0x1, %edx
callq 0x5d9d0
movq -0x8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0x210(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x55d10
movq -0x210(%rbp), %rdi
movq -0x208(%rbp), %rsi
movl %eax, %edx
callq 0x5d9d0
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x220(%rbp)
movl (%rax), %eax
movl %eax, -0x214(%rbp)
cmpl $0x28, %eax
ja 0x7a7e9
movq -0x220(%rbp), %rcx
movl -0x214(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x228(%rbp)
jmp 0x7a806
movq -0x220(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
movq -0x8(%rbp), %rcx
addq $0x490, %rcx            # imm = 0x490
movq -0xc8(%rbp), %rax
movq %rcx, (%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x238(%rbp)
movl (%rax), %eax
movl %eax, -0x22c(%rbp)
cmpl $0x28, %eax
ja 0x7a86b
movq -0x238(%rbp), %rcx
movl -0x22c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x240(%rbp)
jmp 0x7a888
movq -0x238(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, -0xd0(%rbp)
je 0x7a8de
movq -0xd0(%rbp), %rax
cmpq $0x0, (%rax)
je 0x7a8de
movq -0xd0(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x7a8de
movq -0xd0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x7a8de
movq -0xd0(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x7a8ea
movl $0xfffffff7, -0x1c(%rbp) # imm = 0xFFFFFFF7
jmp 0x7ab73
movq -0x8(%rbp), %rax
cmpq $0x0, 0x488(%rax)
jne 0x7a92a
movq -0xd0(%rbp), %rax
movq (%rax), %rdi
leaq 0x47815(%rip), %rsi     # 0xc211e
movl $0x4, %edx
callq 0x67830
cmpl $0x0, %eax
jne 0x7a92a
movq -0xd0(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x488(%rax)
movq -0x8(%rbp), %rdi
addq $0x460, %rdi            # imm = 0x460
leaq -0xd0(%rbp), %rsi
callq 0x5a7b0
movl %eax, -0x1c(%rbp)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x250(%rbp)
movl (%rax), %eax
movl %eax, -0x244(%rbp)
cmpl $0x28, %eax
ja 0x7a983
movq -0x250(%rbp), %rcx
movl -0x244(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x258(%rbp)
jmp 0x7a9a0
movq -0x250(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x268(%rbp)
movl (%rax), %eax
movl %eax, -0x25c(%rbp)
cmpl $0x28, %eax
ja 0x7a9eb
movq -0x268(%rbp), %rcx
movl -0x25c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x270(%rbp)
jmp 0x7aa08
movq -0x268(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe0(%rbp)
movq -0x8(%rbp), %rax
movq 0x390(%rax), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movl 0x398(%rax), %ecx
movq -0xe0(%rbp), %rax
movl %ecx, (%rax)
jmp 0x7ab73
movq -0x18(%rbp), %rax
movq %rax, -0x280(%rbp)
movl (%rax), %eax
movl %eax, -0x274(%rbp)
cmpl $0x28, %eax
ja 0x7aa80
movq -0x280(%rbp), %rcx
movl -0x274(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x288(%rbp)
jmp 0x7aa9d
movq -0x280(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x298(%rbp)
movl (%rax), %eax
movl %eax, -0x28c(%rbp)
cmpl $0x28, %eax
ja 0x7aae8
movq -0x298(%rbp), %rcx
movl -0x28c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x2a0(%rbp)
jmp 0x7ab05
movq -0x298(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x2a0(%rbp)
movq -0x2a0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xec(%rbp)
cmpq $0x0, -0xe8(%rbp)
je 0x7ab2d
movq -0xe8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x7ab36
movl $0xfffffffd, -0x1c(%rbp) # imm = 0xFFFFFFFD
jmp 0x7ab73
cmpl $0x0, -0xec(%rbp)
jge 0x7ab51
movq -0xe8(%rbp), %rdi
callq 0x55d10
movl %eax, -0xec(%rbp)
movq -0x8(%rbp), %rdi
movq -0xe8(%rbp), %rsi
movl -0xec(%rbp), %edx
callq 0x7ad00
movl %eax, -0x1c(%rbp)
jmp 0x7ab73
movl $0xfffffff3, -0x1c(%rbp) # imm = 0xFFFFFFF3
movl -0x1c(%rbp), %eax
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
nop