LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsfunction.c
// Function: Fp_bind
static void Fp_bind(js_State *J)
{
	int i, top = js_gettop(J);
	int n;

	if (!js_iscallable(J, 0))
		js_typeerror(J, "not a function");

	n = js_getlength(J, 0);
	if (n > top - 2)
		n -= top - 2;
	else
		n = 0;

	/* Reuse target function's prototype for HasInstance check. */
	js_getproperty(J, 0, "prototype");
	js_newcconstructor(J, callbound, constructbound, "[bind]", n);

	/* target function */
	js_copy(J, 0);
	js_defproperty(J, -2, "__TargetFunction__", JS_READONLY | JS_DONTENUM | JS_DONTCONF);

	/* bound this */
	js_copy(J, 1);
	js_defproperty(J, -2, "__BoundThis__", JS_READONLY | JS_DONTENUM | JS_DONTCONF);

	/* bound arguments */
	js_newarray(J);
	for (i = 2; i < top; ++i) {
		js_copy(J, i);
		js_setindex(J, -2, i - 2);
	}
	js_defproperty(J, -2, "__BoundArguments__", JS_READONLY | JS_DONTENUM | JS_DONTCONF);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x140(%rdi), %r15d
subl 0x144(%rdi), %r15d
xorl %r14d, %r14d
xorl %esi, %esi
callq 0x14940
testl %eax, %eax
je 0xd2df
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3f6c
movl %eax, %ebp
leal -0x2(%r15), %eax
subl %eax, %ebp
cmovlel %r14d, %ebp
leaq 0x25fc3(%rip), %rdx     # 0x331d4
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3fd2
leaq 0x13f5e(%rip), %rsi     # 0x21180
leaq 0x1402a(%rip), %rdx     # 0x21253
leaq 0x27146(%rip), %rcx     # 0x34376
movq %rbx, %rdi
movl %ebp, %r8d
callq 0x6162
movq %rbx, %rdi
xorl %esi, %esi
callq 0x13c1a
leaq 0x27131(%rip), %rdx     # 0x3437d
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x662a
movq %rbx, %rdi
movl $0x1, %esi
callq 0x13c1a
leaq 0x2711e(%rip), %rdx     # 0x34390
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x662a
movq %rbx, %rdi
callq 0x1318e
cmpl $0x3, %r15d
jl 0xd2bc
movl $0x2, %r14d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x13c1a
leal -0x2(%r14), %edx
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x134ed
incl %r14d
cmpl %r15d, %r14d
jne 0xd298
leaq 0x270db(%rip), %rdx     # 0x3439e
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x662a
leaq 0x26fd1(%rip), %rsi     # 0x342b7
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsfunction.c
// Function: jsB_Function
static void jsB_Function(js_State *J)
{
	int i, top = js_gettop(J);
	js_Buffer *sb = NULL;
	const char *body;
	js_Ast *parse;
	js_Function *fun;

	if (js_try(J)) {
		js_free(J, sb);
		jsP_freeparse(J);
		js_throw(J);
	}

	/* p1, p2, ..., pn */
	if (top > 2) {
		for (i = 1; i < top - 1; ++i) {
			if (i > 1)
				js_putc(J, &sb, ',');
			js_puts(J, &sb, js_tostring(J, i));
		}
		js_putc(J, &sb, ')');
		js_putc(J, &sb, 0);
	}

	/* body */
	body = js_isdefined(J, top - 1) ? js_tostring(J, top - 1) : "";

	parse = jsP_parsefunction(J, "[string]", sb ? sb->s : NULL, body);
	fun = jsC_compilefunction(J, parse);

	js_endtry(J);
	js_free(J, sb);
	jsP_freeparse(J);

	js_newfunction(J, fun, J->GE);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movl 0x140(%rdi), %r13d
subl 0x144(%rdi), %r13d
movq $0x0, 0x8(%rsp)
callq 0x13b6c
movq %rax, %rdi
callq 0x3100
testl %eax, %eax
jne 0xd4c0
leaq 0x140(%rbx), %rdx
leaq 0x144(%rbx), %rcx
movl %r13d, %eax
leal -0x1(%rax), %ebp
cmpl $0x3, %r13d
jl 0xd3ed
movq %rcx, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movl %r13d, 0x14(%rsp)
movl $0x1, %r12d
leaq 0x8(%rsp), %r14
movl $0x2c, %r13d
cmpl $0x2, %r12d
jb 0xd37f
movq %rbx, %rdi
movq %r14, %rsi
movl %r13d, %edx
callq 0xdda1
movq %rbx, %rdi
movl %r12d, %esi
callq 0x1448c
movb (%rax), %cl
testb %cl, %cl
je 0xd3b0
movq %rax, %r15
incq %r15
movsbl %cl, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xdda1
movb (%r15), %dl
incq %r15
movl %edx, %ecx
testb %dl, %dl
jne 0xd396
movl %r12d, %eax
incl %eax
movl %eax, %r12d
cmpl %ebp, %eax
jne 0xd36b
leaq 0x8(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl $0x29, %edx
callq 0xdda1
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0xdda1
movl 0x14(%rsp), %r13d
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rcx
testl %r13d, %r13d
movq %rcx, %rax
cmovleq %rdx, %rax
movl (%rax), %eax
addl %ebp, %eax
leaq 0x32ff6(%rip), %rcx     # 0x403f8
js 0xd418
cmpl (%rdx), %eax
jge 0xd418
movl %eax, %eax
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rcx
cmpb $0x1, 0xf(%rcx)
jne 0xd427
leaq 0x26f91(%rip), %rcx     # 0x343b6
jmp 0xd434
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1448c
movq %rax, %rcx
movq 0x8(%rsp), %r14
leaq 0x8(%r14), %rdx
testq %r14, %r14
cmoveq %r14, %rdx
leaq 0x1dce5(%rip), %rsi     # 0x2b130
movq %rbx, %rdi
callq 0x120bd
movl 0x4(%rax), %esi
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rcx
movq 0x20(%rax), %r8
movl 0x30(%rbx), %eax
movq %rbx, %rdi
xorl %r9d, %r9d
pushq $0x1
pushq %rax
callq 0x8eff
addq $0x10, %rsp
movl 0x8198(%rbx), %ecx
testl %ecx, %ecx
je 0xd4da
movq %rax, %r15
decl %ecx
movl %ecx, 0x8198(%rbx)
movq (%rbx), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq *0x10(%rbx)
movq %rbx, %rdi
callq 0x11cfe
movq 0x138(%rbx), %rdx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x1a18c
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %rdi
xorl %edx, %edx
movl %edx, %esi
callq *0x10(%rbx)
movq %rbx, %rdi
callq 0x11cfe
movq %rbx, %rdi
callq 0x8e1b
leaq 0x26358(%rip), %rsi     # 0x33839
xorl %eax, %eax
movq %rbx, %rdi
callq 0xc666
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsgc.c
// Function: jsG_freeobject
static void jsG_freeobject(js_State *J, js_Object *obj)
{
	if (obj->properties->level)
		jsG_freeproperty(J, obj->properties);
	if (obj->type == JS_CREGEXP) {
		js_free(J, obj->u.r.source);
		js_regfreex(J->alloc, J->actx, obj->u.r.prog);
	}
	if (obj->type == JS_CSTRING) {
		if (obj->u.s.string != obj->u.s.shrstr)
			js_free(J, obj->u.s.string);
	}
	if (obj->type == JS_CARRAY && obj->u.a.simple)
		js_free(J, obj->u.a.array);
	if (obj->type == JS_CITERATOR)
		jsG_freeiterator(J, obj->u.iter.head);
	if (obj->type == JS_CUSERDATA && obj->u.user.finalize)
		obj->u.user.finalize(J, obj->u.user.data);
	if (obj->type == JS_CCFUNCTION && obj->u.c.finalize)
		obj->u.c.finalize(J, obj->u.c.data);
	js_free(J, obj);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
cmpl $0x0, 0x10(%rsi)
je 0xdb95
movq %r14, %rdi
callq 0x2140d
movl (%rbx), %eax
cmpl $0x9, %eax
jne 0xdbe2
movq 0x28(%rbx), %rsi
movq (%r14), %rdi
xorl %edx, %edx
callq *0x10(%r14)
movq 0x20(%rbx), %r15
testq %r15, %r15
je 0xdbe0
movq (%r14), %r12
movq 0x10(%r14), %r13
movq 0x10(%r15), %rsi
testq %rsi, %rsi
je 0xdbca
movq %r12, %rdi
xorl %edx, %edx
callq *%r13
movq (%r15), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq *%r13
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq *%r13
movl (%rbx), %eax
cmpl $0x8, %eax
jne 0xdbff
movq 0x28(%rbx), %rsi
leaq 0x30(%rbx), %rax
cmpq %rax, %rsi
je 0xdc6d
movq (%r14), %rdi
xorl %edx, %edx
callq *0x10(%r14)
movl (%rbx), %eax
cmpl $0x1, %eax
jne 0xdc19
cmpl $0x0, 0x24(%rbx)
je 0xdc6d
movq 0x30(%rbx), %rsi
movq (%r14), %rdi
xorl %edx, %edx
callq *0x10(%r14)
movl (%rbx), %eax
cmpl $0xe, %eax
jne 0xdc3d
movq 0x30(%rbx), %rsi
testq %rsi, %rsi
je 0xdc6d
movq (%rsi), %r15
movq (%r14), %rdi
xorl %edx, %edx
callq *0x10(%r14)
movq %r15, %rsi
testq %r15, %r15
jne 0xdc27
movl (%rbx), %eax
cmpl $0xf, %eax
jne 0xdc56
movq 0x48(%rbx), %rax
testq %rax, %rax
je 0xdc6d
movq 0x28(%rbx), %rsi
movq %r14, %rdi
callq *%rax
movl (%rbx), %eax
cmpl $0x4, %eax
jne 0xdc6d
movq 0x48(%rbx), %rax
testq %rax, %rax
je 0xdc6d
movq 0x40(%rbx), %rsi
movq %r14, %rdi
callq *%rax
movq (%r14), %rdi
movq 0x10(%r14), %rax
movq %rbx, %rsi
xorl %edx, %edx
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsgc.c
// Function: js_freestate
void js_freestate(js_State *J)
{
	js_Function *fun, *nextfun;
	js_Object *obj, *nextobj;
	js_Environment *env, *nextenv;
	js_String *str, *nextstr;

	if (!J)
		return;

	for (env = J->gcenv; env; env = nextenv)
		nextenv = env->gcnext, jsG_freeenvironment(J, env);
	for (fun = J->gcfun; fun; fun = nextfun)
		nextfun = fun->gcnext, jsG_freefunction(J, fun);
	for (obj = J->gcobj; obj; obj = nextobj)
		nextobj = obj->gcnext, jsG_freeobject(J, obj);
	for (str = J->gcstr; str; str = nextstr)
		nextstr = str->gcnext, js_free(J, str);

	jsS_freestrings(J);

	js_free(J, J->lexbuf.text);
	J->alloc(J->actx, J->stack, 0);
	J->alloc(J->actx, J, 0);
}

// Assembly:
testq %rdi, %rdi
je 0xdd80
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x160(%rdi), %rsi
testq %rsi, %rsi
je 0xdcce
movq 0x10(%rsi), %r14
movq (%rbx), %rdi
xorl %edx, %edx
callq *0x10(%rbx)
movq %r14, %rsi
testq %r14, %r14
jne 0xdcba
movq 0x168(%rbx), %rsi
testq %rsi, %rsi
je 0xdcee
movq 0x60(%rsi), %r14
movq %rbx, %rdi
callq 0xdb2e
movq %r14, %rsi
testq %r14, %r14
jne 0xdcda
movq 0x170(%rbx), %rsi
testq %rsi, %rsi
je 0xdd0e
movq 0x50(%rsi), %r14
movq %rbx, %rdi
callq 0xdb74
movq %r14, %rsi
testq %r14, %r14
jne 0xdcfa
movq 0x178(%rbx), %rsi
testq %rsi, %rsi
je 0xdd2d
movq (%rsi), %r14
movq (%rbx), %rdi
xorl %edx, %edx
callq *0x10(%rbx)
movq %r14, %rsi
testq %r14, %r14
jne 0xdd1a
movq 0x28(%rbx), %rsi
testq %rsi, %rsi
sete %al
leaq 0x324e2(%rip), %rcx     # 0x40220
cmpq %rcx, %rsi
sete %cl
orb %al, %cl
jne 0xdd50
movq %rbx, %rdi
callq 0xdfe0
movq (%rbx), %rdi
movq 0x50(%rbx), %rsi
xorl %edx, %edx
callq *0x10(%rbx)
movq (%rbx), %rdi
movq 0x148(%rbx), %rsi
xorl %edx, %edx
callq *0x10(%rbx)
movq (%rbx), %rdi
movq 0x10(%rbx), %rax
movq %rbx, %rsi
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsintern.c
// Function: js_putc
void js_putc(js_State *J, js_Buffer **sbp, int c)
{
	js_Buffer *sb = *sbp;
	if (!sb) {
		sb = js_malloc(J, sizeof *sb);
		sb->n = 0;
		sb->m = sizeof sb->s;
		*sbp = sb;
	} else if (sb->n == sb->m) {
		sb = js_realloc(J, sb, (sb->m *= 2) + soffsetof(js_Buffer, s));
		*sbp = sb;
	}
	sb->s[sb->n++] = c;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq (%rsi), %rax
testq %rax, %rax
je 0xddd5
movl (%rax), %ecx
cmpl 0x4(%rax), %ecx
jne 0xddf1
leal (%rcx,%rcx), %edx
movl %edx, 0x4(%rax)
leal 0x8(,%rcx,2), %edx
movq %rax, %rsi
callq 0xde5c
movq %rax, (%r14)
movl (%rax), %ecx
jmp 0xddf1
movl $0x48, %esi
callq 0xde05
movabsq $0x4000000000, %rcx     # imm = 0x4000000000
movq %rcx, (%rax)
movq %rax, (%r14)
xorl %ecx, %ecx
leal 0x1(%rcx), %edx
movl %edx, (%rax)
movslq %ecx, %rcx
movb %bl, 0x8(%rax,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsrun.c
// Function: js_malloc
void *js_malloc(js_State *J, int size)
{
	void *ptr = J->alloc(J->actx, NULL, size);
	if (!ptr)
		js_outofmemory(J);
	return ptr;
}

// Assembly:
pushq %rbx
movl %esi, %edx
movq %rdi, %rbx
movq (%rdi), %rdi
xorl %esi, %esi
callq *0x10(%rbx)
testq %rax, %rax
je 0xde1a
popq %rbx
retq
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
movb $0x5, 0xf(%rax,%rcx)
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
leaq 0x1d346(%rip), %rdx     # 0x2b190
movq %rdx, (%rax,%rcx)
incl 0x140(%rbx)
movq %rbx, %rdi
callq 0x8e1b
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsrun.c
// Function: js_realloc
void *js_realloc(js_State *J, void *ptr, int size)
{
	ptr = J->alloc(J->actx, ptr, size);
	if (!ptr)
		js_outofmemory(J);
	return ptr;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
callq *0x10(%rbx)
testq %rax, %rax
je 0xde6d
popq %rbx
retq
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
movb $0x5, 0xf(%rax,%rcx)
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
leaq 0x1d2f3(%rip), %rdx     # 0x2b190
movq %rdx, (%rax,%rcx)
incl 0x140(%rbx)
movq %rbx, %rdi
callq 0x8e1b
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsintern.c
// Function: jsS_dumpstrings
void jsS_dumpstrings(js_State *J)
{
	js_StringNode *root = J->strings;
	printf("interned strings {\n");
	if (root && root != &jsS_sentinel)
		dumpstringnode(root, 1);
	printf("}\n");
}

// Assembly:
pushq %rbx
movq 0x28(%rdi), %rbx
leaq 0x27487(%rip), %rdi     # 0x353b2
callq 0x30f0
testq %rbx, %rbx
sete %al
leaq 0x322e3(%rip), %rcx     # 0x40220
cmpq %rcx, %rbx
sete %cl
orb %al, %cl
jne 0xdf54
movq %rbx, %rdi
movl $0x1, %esi
callq 0xdf61
leaq 0x263f4(%rip), %rdi     # 0x3434f
popq %rbx
jmp 0x30f0
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsintern.c
// Function: dumpstringnode
static void dumpstringnode(js_StringNode *node, int level)
{
	int i;
	if (node->left != &jsS_sentinel)
		dumpstringnode(node->left, level + 1);
	printf("%d: ", node->level);
	for (i = 0; i < level; ++i)
		putchar('\t');
	printf("'%s'\n", node->string);
	if (node->right != &jsS_sentinel)
		dumpstringnode(node->right, level + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
leaq 0x322a8(%rip), %r13     # 0x40220
leaq 0x24d38(%rip), %r15     # 0x32cb7
leaq 0x2642b(%rip), %r12     # 0x343b1
movq (%r14), %rdi
cmpq %r13, %rdi
je 0xdf96
leal 0x1(%rbx), %esi
callq 0xdf61
movl 0x10(%r14), %esi
movq %r15, %rdi
xorl %eax, %eax
callq 0x3030
testl %ebx, %ebx
jle 0xdfb8
movl %ebx, %ebp
movl $0x9, %edi
callq 0x3150
decl %ebp
jne 0xdfaa
leaq 0x14(%r14), %rsi
movq %r12, %rdi
xorl %eax, %eax
callq 0x3030
movq 0x8(%r14), %r14
incl %ebx
cmpq %r13, %r14
jne 0xdf86
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsintern.c
// Function: js_intern
const char *js_intern(js_State *J, const char *s)
{
	const char *result;
	if (!J->strings)
		J->strings = &jsS_sentinel;
	J->strings = jsS_insert(J, J->strings, s, &result);
	return result;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rdx
movq %rdi, %rbx
movq 0x28(%rdi), %rsi
testq %rsi, %rsi
jne 0xe044
leaq 0x321e0(%rip), %rsi     # 0x40220
movq %rsi, 0x28(%rbx)
movq %rsp, %r14
movq %rbx, %rdi
movq %r14, %rcx
callq 0xe061
movq %rax, 0x28(%rbx)
movq (%r14), %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsintern.c
// Function: jsS_insert
static js_StringNode *jsS_insert(js_State *J, js_StringNode *node, const char *string, const char **result)
{
	if (node != &jsS_sentinel) {
		int c = strcmp(string, node->string);
		if (c < 0)
			node->left = jsS_insert(J, node->left, string, result);
		else if (c > 0)
			node->right = jsS_insert(J, node->right, string, result);
		else
			return *result = node->string, node;
		node = jsS_skew(node);
		node = jsS_split(node);
		return node;
	}
	return jsS_newstringnode(J, string, result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %r15
movq %rdi, %r12
leaq 0x321a4(%rip), %rbp     # 0x40220
cmpq %rbp, %rsi
je 0xe0ad
movq %rsi, %rbx
leaq 0x14(%rsi), %r13
movq %r15, %rdi
movq %r13, %rsi
callq 0x32f0
testl %eax, %eax
jns 0xe0fd
movq (%rbx), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0xe061
movq %rax, (%rbx)
jmp 0xe118
movq %r15, %rdi
callq 0x3200
cmpq $0x10000001, %rax       # imm = 0x10000001
jae 0xe16b
movq %rax, %r13
leal 0x15(%rax), %esi
movq %r12, %rdi
callq 0xde05
movq %rax, %rbx
movq %rbp, 0x8(%rax)
movq %rbp, (%rax)
movl $0x1, 0x10(%rax)
movq %rax, %r12
addq $0x14, %r12
incq %r13
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x33d0
movq %r12, (%r14)
jmp 0xe159
je 0xe156
movq 0x8(%rbx), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0xe061
movq %rax, 0x8(%rbx)
movq (%rbx), %rax
movl 0x10(%rax), %ecx
movl 0x10(%rbx), %edx
cmpl %edx, %ecx
jne 0xe137
movq 0x8(%rax), %rdx
movq %rdx, (%rbx)
movq %rbx, 0x8(%rax)
movl %ecx, %edx
movq %rbx, %rcx
movq %rax, %rbx
jmp 0xe13b
movq 0x8(%rbx), %rcx
movq 0x8(%rcx), %rax
cmpl %edx, 0x10(%rax)
jne 0xe159
movq (%rcx), %rax
movq %rax, 0x8(%rbx)
movq %rbx, (%rcx)
incl 0x10(%rcx)
movq %rcx, %rbx
jmp 0xe159
movq %r13, (%r14)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x25600(%rip), %rsi     # 0x33772
movq %r12, %rdi
xorl %eax, %eax
callq 0xc7e2
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jslex.c
// Function: jsY_findword
int jsY_findword(const char *s, const char **list, int num)
{
	int l = 0;
	int r = num - 1;
	while (l <= r) {
		int m = (l + r) >> 1;
		int c = strcmp(s, list[m]);
		if (c < 0)
			r = m - 1;
		else if (c > 0)
			l = m + 1;
		else
			return m;
	}
	return -1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %edx, %edx
jle 0xe1f9
movl %edx, %r12d
movq %rsi, %r14
movq %rdi, %r15
decl %r12d
xorl %r13d, %r13d
leal (%r12,%r13), %ebp
shrl %ebp
movq (%r14,%rbp,8), %rsi
movq %r15, %rdi
callq 0x32f0
testl %eax, %eax
jns 0xe1e9
decl %ebp
movl %ebp, %r12d
jmp 0xe1f0
je 0xe1f7
incl %ebp
movl %ebp, %r13d
cmpl %r12d, %r13d
jle 0xe1cc
jmp 0xe1f9
movl %ebp, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jslex.c
// Function: jsY_tohex
int jsY_tohex(int c)
{
	if (c >= '0' && c <= '9') return c - '0';
	if (c >= 'a' && c <= 'f') return c - 'a' + 0xA;
	if (c >= 'A' && c <= 'F') return c - 'A' + 0xA;
	return 0;
}

// Assembly:
leal -0x30(%rdi), %eax
cmpl $0xa, %eax
jb 0xe29d
leal -0x61(%rdi), %eax
cmpl $0x5, %eax
ja 0xe28f
addl $-0x57, %edi
movl %edi, %eax
retq
leal -0x41(%rdi), %ecx
addl $-0x37, %edi
xorl %eax, %eax
cmpl $0x6, %ecx
cmovbl %edi, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jslex.c
// Function: jsY_next
static void jsY_next(js_State *J)
{
	Rune c;
	if (*J->source == 0) {
		J->lexchar = EOF;
		return;
	}
	J->source += chartorune(&c, J->source);
	/* consume CR LF as one unit */
	if (c == '\r' && *J->source == '\n')
		++J->source;
	if (jsY_isnewline(c)) {
		J->line++;
		c = '\n';
	}
	J->lexchar = c;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x40(%rdi), %r14
cmpb $0x0, (%r14)
je 0xe313
leaq 0xc(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x18239
movl %eax, %eax
addq %r14, %rax
movq %rax, 0x40(%rbx)
movl (%r15), %ecx
leal -0x2028(%rcx), %edx
cmpl $0x2, %edx
jb 0xe309
cmpl $0xa, %ecx
je 0xe309
cmpl $0xd, %ecx
jne 0xe318
cmpb $0xa, (%rax)
jne 0xe309
incq %rax
movq %rax, 0x40(%rbx)
incl 0x48(%rbx)
movl $0xa, %ecx
jmp 0xe318
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl %ecx, 0x64(%rbx)
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jslex.c
// Function: jsY_error
static void jsY_error(js_State *J, const char *fmt, ...)
{
	va_list ap;
	char buf[512];
	char msgbuf[256];

	va_start(ap, fmt);
	vsnprintf(msgbuf, 256, fmt, ap);
	va_end(ap);

	snprintf(buf, 256, "%s:%d: ", J->filename, J->lexline);
	strcat(buf, msgbuf);

	js_newsyntaxerror(J, buf);
	js_throw(J);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rsi, %r10
movq %rdi, %rbx
leaq 0x20(%rsp), %rsi
movq %rdx, 0x10(%rsi)
movq %rcx, 0x18(%rsi)
movq %r8, 0x20(%rsi)
movq %r9, 0x28(%rsi)
testb %al, %al
je 0xf641
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movabsq $0x3000000010, %rax     # imm = 0x3000000010
movq %rsp, %rcx
movq %rax, (%rcx)
leaq 0x3f0(%rsp), %rax
movq %rax, 0x8(%rcx)
movq %rsi, 0x10(%rcx)
leaq 0xd0(%rsp), %r14
movl $0x100, %esi            # imm = 0x100
movq %r14, %rdi
movq %r10, %rdx
callq 0x32b0
movq 0x38(%rbx), %rcx
movl 0x60(%rbx), %r8d
leaq 0x2362c(%rip), %rdx     # 0x32cb4
leaq 0x1d0(%rsp), %r15
movl $0x100, %esi            # imm = 0x100
movq %r15, %rdi
xorl %eax, %eax
callq 0x3080
movq %r15, %rdi
movq %r14, %rsi
callq 0x3270
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8e0f
movq %rbx, %rdi
callq 0x8e1b
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsmath.c
// Function: Math_max
static void Math_max(js_State *J)
{
	int i, n = js_gettop(J);
	double x = -INFINITY;
	for (i = 1; i < n; ++i) {
		double y = js_tonumber(J, i);
		if (isnan(y)) {
			x = y;
			break;
		}
		if (signbit(x) == signbit(y))
			x = x > y ? x : y;
		else if (signbit(x))
			x = y;
	}
	js_pushnumber(J, x);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movl 0x140(%rdi), %r14d
subl 0x144(%rdi), %r14d
movsd 0x1baa7(%rip), %xmm1    # 0x2b470
cmpl $0x2, %r14d
jl 0xfa1b
movl $0x1, %ebp
movsd %xmm1, 0x8(%rsp)
movq %rbx, %rdi
movl %ebp, %esi
callq 0x14c3a
ucomisd %xmm0, %xmm0
jp 0xfa17
movq 0x8(%rsp), %xmm1
movq %xmm1, %rax
movq %xmm0, %rcx
xorq %rax, %rcx
js 0xfa05
maxsd %xmm0, %xmm1
jmp 0xfa0e
testq %rax, %rax
jns 0xfa0e
movapd %xmm0, %xmm1
incl %ebp
cmpl %ebp, %r14d
jne 0xf9d4
jmp 0xfa1b
movapd %xmm0, %xmm1
movq %rbx, %rdi
movapd %xmm1, %xmm0
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x4124
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsmath.c
// Function: Math_pow
static void Math_pow(js_State *J)
{
	double x = js_tonumber(J, 1);
	double y = js_tonumber(J, 2);
	if (!isfinite(y) && fabs(x) == 1)
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, pow(x,y));
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movl 0x144(%rdi), %eax
leaq 0x3092b(%rip), %r14     # 0x403f8
movq %r14, %rsi
cmpl $-0x1, %eax
jl 0xfaef
incl %eax
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0xfaef
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x14c75
movl 0x144(%rbx), %eax
cmpl $-0x2, %eax
movdqa %xmm0, (%rsp)
jl 0xfb20
addl $0x2, %eax
cmpl 0x140(%rbx), %eax
jge 0xfb20
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14c75
movdqa %xmm0, %xmm1
movq %xmm0, %rax
btrq $0x3f, %rax
movabsq $0x7ff0000000000000, %rcx # imm = 0x7FF0000000000000
cmpq %rcx, %rax
movapd (%rsp), %xmm0
jl 0xfb6f
movapd 0x1b8bb(%rip), %xmm2    # 0x2b410
andpd %xmm0, %xmm2
ucomisd 0x1b957(%rip), %xmm2    # 0x2b4b8
jne 0xfb6f
jp 0xfb6f
movsd 0x1b8e3(%rip), %xmm0    # 0x2b450
jmp 0xfb74
callq 0x33b0
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0x4124
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsnumber.c
// Function: Np_toFixed
static void Np_toFixed(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	int width = js_tointeger(J, 1);
	char buf[32];
	double x;
	if (self->type != JS_CNUMBER) js_typeerror(J, "not a number");
	if (width < 0) js_rangeerror(J, "precision %d out of range", width);
	if (width > 20) js_rangeerror(J, "precision %d out of range", width);
	x = self->u.number;
	if (isnan(x) || isinf(x) || x <= -1e21 || x >= 1e21)
		js_pushstring(J, jsV_numbertostring(J, buf, x));
	else
		numtostr(J, "%.*f", width, x);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x301ad(%rip), %rsi     # 0x403f8
testq %rax, %rax
js 0x10266
cmpl 0x140(%rbx), %eax
jge 0x10266
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movl $0x1, %esi
callq 0x403b
cmpl $0x7, (%r14)
jne 0x10319
testl %eax, %eax
js 0x10306
cmpl $0x15, %eax
jae 0x10306
movsd 0x20(%r14), %xmm0
ucomisd %xmm0, %xmm0
jp 0x102eb
movq %xmm0, %rcx
btrq $0x3f, %rcx
movabsq $0x7ff0000000000000, %rdx # imm = 0x7FF0000000000000
cmpq %rdx, %rcx
sete %cl
ucomisd 0x1b299(%rip), %xmm0    # 0x2b558
jae 0x102eb
movsd 0x1b297(%rip), %xmm1    # 0x2b560
ucomisd %xmm0, %xmm1
jae 0x102eb
testb %cl, %cl
jne 0x102eb
leaq 0x2476d(%rip), %rsi     # 0x34a47
movq %rbx, %rdi
movl %eax, %edx
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x21943
movq %rsp, %rsi
callq 0x12c04
movq %rbx, %rdi
movq %rax, %rsi
callq 0x13215
addq $0x28, %rsp
popq %rbx
popq %r14
retq
leaq 0x24720(%rip), %rsi     # 0x34a2d
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xc7e2
leaq 0x246f2(%rip), %rsi     # 0x34a12
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsnumber.c
// Function: Np_toExponential
static void Np_toExponential(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	int width = js_tointeger(J, 1);
	char buf[32];
	double x;
	if (self->type != JS_CNUMBER) js_typeerror(J, "not a number");
	if (width < 0) js_rangeerror(J, "precision %d out of range", width);
	if (width > 20) js_rangeerror(J, "precision %d out of range", width);
	x = self->u.number;
	if (isnan(x) || isinf(x))
		js_pushstring(J, jsV_numbertostring(J, buf, x));
	else
		numtostr(J, "%.*e", width, x);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x300b6(%rip), %rsi     # 0x403f8
testq %rax, %rax
js 0x1035d
cmpl 0x140(%rbx), %eax
jge 0x1035d
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movl $0x1, %esi
callq 0x403b
cmpl $0x7, (%r14)
jne 0x103e9
testl %eax, %eax
js 0x103d6
cmpl $0x15, %eax
jae 0x103d6
movq 0x20(%r14), %xmm0
movq %xmm0, %rcx
btrq $0x3f, %rcx
movabsq $0x7ff0000000000000, %rdx # imm = 0x7FF0000000000000
cmpq %rdx, %rcx
jl 0x103be
movq %rsp, %rsi
callq 0x12c04
movq %rbx, %rdi
movq %rax, %rsi
callq 0x13215
addq $0x28, %rsp
popq %rbx
popq %r14
retq
leaq 0x2468c(%rip), %rsi     # 0x34a51
movq %rbx, %rdi
movl %eax, %edx
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x21943
leaq 0x24650(%rip), %rsi     # 0x34a2d
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xc7e2
leaq 0x24622(%rip), %rsi     # 0x34a12
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsnumber.c
// Function: Np_toPrecision
static void Np_toPrecision(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	int width = js_tointeger(J, 1);
	char buf[32];
	double x;
	if (self->type != JS_CNUMBER) js_typeerror(J, "not a number");
	if (width < 1) js_rangeerror(J, "precision %d out of range", width);
	if (width > 21) js_rangeerror(J, "precision %d out of range", width);
	x = self->u.number;
	if (isnan(x) || isinf(x))
		js_pushstring(J, jsV_numbertostring(J, buf, x));
	else
		numtostr(J, "%.*g", width, x);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x2ffe6(%rip), %rsi     # 0x403f8
testq %rax, %rax
js 0x1042d
cmpl 0x140(%rbx), %eax
jge 0x1042d
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movl $0x1, %esi
callq 0x403b
cmpl $0x7, (%r14)
jne 0x104b9
testl %eax, %eax
jle 0x104a6
cmpl $0x16, %eax
jae 0x104a6
movq 0x20(%r14), %xmm0
movq %xmm0, %rcx
btrq $0x3f, %rcx
movabsq $0x7ff0000000000000, %rdx # imm = 0x7FF0000000000000
cmpq %rdx, %rcx
jl 0x1048e
movq %rsp, %rsi
callq 0x12c04
movq %rbx, %rdi
movq %rax, %rsi
callq 0x13215
addq $0x28, %rsp
popq %rbx
popq %r14
retq
leaq 0x245c1(%rip), %rsi     # 0x34a56
movq %rbx, %rdi
movl %eax, %edx
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x21943
leaq 0x24580(%rip), %rsi     # 0x34a2d
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xc7e2
leaq 0x24552(%rip), %rsi     # 0x34a12
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: Op_hasOwnProperty
static void Op_hasOwnProperty(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	const char *name = js_tostring(J, 1);
	js_Property *ref;
	int k;

	if (self->type == JS_CSTRING) {
		if (js_isarrayindex(J, name, &k) && k >= 0 && k < self->u.s.length) {
			js_pushboolean(J, 1);
			return;
		}
	}

	if (self->type == JS_CARRAY && self->u.a.simple) {
		if (js_isarrayindex(J, name, &k) && k >= 0 && k < self->u.a.flat_length) {
			js_pushboolean(J, 1);
			return;
		}
	}

	ref = jsV_getownproperty(J, self, name);
	js_pushboolean(J, ref != NULL);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x2fcba(%rip), %r15     # 0x403f8
movq %r15, %rsi
testq %rax, %rax
js 0x1075f
movq %r15, %rsi
cmpl 0x140(%rbx), %eax
jge 0x1075f
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movl 0x144(%rbx), %eax
cmpl $-0x1, %eax
jl 0x1078d
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x1078d
movl %eax, %r15d
shlq $0x4, %r15
addq 0x148(%rbx), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x14e64
movq %rax, %r15
movl (%r14), %eax
cmpl $0x1, %eax
je 0x107d5
cmpl $0x8, %eax
jne 0x10811
leaq 0x4(%rsp), %r12
movq %r15, %rsi
movq %r12, %rdx
callq 0x15659
testl %eax, %eax
setne %cl
movl (%r12), %eax
testl %eax, %eax
setns %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x10811
cmpl 0x20(%r14), %eax
jl 0x10807
jmp 0x10811
cmpl $0x0, 0x24(%r14)
je 0x10811
leaq 0x4(%rsp), %r12
movq %r15, %rsi
movq %r12, %rdx
callq 0x15659
testl %eax, %eax
setne %cl
movl (%r12), %eax
testl %eax, %eax
setns %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x10811
cmpl 0x28(%r14), %eax
jge 0x10811
movq %rbx, %rdi
movl $0x1, %esi
jmp 0x10852
movq 0x8(%r14), %r14
leaq 0x2fb9c(%rip), %r12     # 0x403b8
cmpq %r12, %r14
je 0x1084d
leaq 0x38(%r14), %rsi
movq %r15, %rdi
callq 0x32f0
testl %eax, %eax
je 0x10842
notl %eax
shrl $0x1f, %eax
movq (%r14,%rax,8), %r14
cmpq %r12, %r14
jne 0x10821
xorl %r14d, %r14d
xorl %esi, %esi
testq %r14, %r14
setne %sil
jmp 0x1084f
xorl %esi, %esi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x14602
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: Op_isPrototypeOf
static void Op_isPrototypeOf(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	if (js_isobject(J, 1)) {
		js_Object *V = js_toobject(J, 1);
		do {
			V = V->prototype;
			if (V == self) {
				js_pushboolean(J, 1);
				return;
			}
		} while (V);
	}
	js_pushboolean(J, 0);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x2fb81(%rip), %rsi     # 0x403f8
testq %rax, %rax
js 0x10892
cmpl 0x140(%rbx), %eax
jge 0x10892
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movl 0x144(%rbx), %eax
cmpl $-0x1, %eax
jl 0x108d6
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x108d6
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x108fc
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x108e6
cmpb $0x7, 0x2fb2a(%rip)     # 0x40407
jne 0x108fc
leaq 0x2fb12(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq 0x18(%rax), %rax
cmpq %r14, %rax
je 0x10900
testq %rax, %rax
jne 0x108ee
xorl %esi, %esi
jmp 0x10905
movl $0x1, %esi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x14602
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: Op_propertyIsEnumerable
static void Op_propertyIsEnumerable(js_State *J)
{
	js_Object *self = js_toobject(J, 0);
	const char *name = js_tostring(J, 1);
	js_Property *ref = jsV_getownproperty(J, self, name);
	js_pushboolean(J, ref && !(ref->atts & JS_DONTENUM));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
movslq 0x144(%rdi), %rax
leaq 0x2facb(%rip), %r14     # 0x403f8
movq %r14, %rsi
testq %rax, %rax
js 0x1094e
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0x1094e
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r15
movl 0x144(%rbx), %eax
cmpl $-0x1, %eax
jl 0x1097c
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x1097c
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14e64
movq 0x8(%r15), %r15
xorl %ebp, %ebp
leaq 0x2fa24(%rip), %r12     # 0x403b8
cmpq %r12, %r15
je 0x109cc
movq %rax, %r14
leaq 0x38(%r15), %rsi
movq %r14, %rdi
callq 0x32f0
testl %eax, %eax
je 0x109bc
notl %eax
shrl $0x1f, %eax
movq (%r15,%rax,8), %r15
cmpq %r12, %r15
jne 0x1099c
jmp 0x109cc
testq %r15, %r15
je 0x109cc
xorl %ebp, %ebp
testb $0x2, 0x14(%r15)
sete %bpl
movq %rbx, %rdi
movl %ebp, %esi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x14602
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: jsB_Object
static void jsB_Object(js_State *J)
{
	if (js_isundefined(J, 1) || js_isnull(J, 1))
		js_newobject(J);
	else
		js_pushobject(J, js_toobject(J, 1));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %ecx
cmpl $-0x1, %ecx
jge 0x10a14
movb 0x2fa14(%rip), %al      # 0x40407
decb %al
cmpb $0x2, %al
jb 0x10a59
leaq 0x2f9f8(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rbx, %rdi
movq %rax, %rsi
popq %rbx
jmp 0x4487
leal 0x1(%rcx), %eax
cmpl 0x140(%rbx), %eax
jge 0x10a43
movq 0x148(%rbx), %rsi
movl %eax, %edx
movq %rdx, %rdi
shlq $0x4, %rdi
cmpb $0x1, 0xf(%rsi,%rdi)
je 0x10a59
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
jmp 0x10a53
cmpb $0x1, 0x2f9bd(%rip)     # 0x40407
je 0x10a59
leaq 0x2f9a5(%rip), %rdx     # 0x403f8
cmpb $0x2, 0xf(%rdx)
jne 0x10a62
movq %rbx, %rdi
popq %rbx
jmp 0x19f69
leaq 0x2f98f(%rip), %rsi     # 0x403f8
cmpl $-0x1, %ecx
jl 0x10a00
cmpl 0x140(%rbx), %eax
jge 0x10a00
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x10a00
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: jsB_new_Object
static void jsB_new_Object(js_State *J)
{
	if (js_isundefined(J, 1) || js_isnull(J, 1))
		js_newobject(J);
	else
		js_pushobject(J, js_toobject(J, 1));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %ecx
cmpl $-0x1, %ecx
jge 0x10abe
movb 0x2f96a(%rip), %al      # 0x40407
decb %al
cmpb $0x2, %al
jb 0x10b03
leaq 0x2f94e(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rbx, %rdi
movq %rax, %rsi
popq %rbx
jmp 0x4487
leal 0x1(%rcx), %eax
cmpl 0x140(%rbx), %eax
jge 0x10aed
movq 0x148(%rbx), %rsi
movl %eax, %edx
movq %rdx, %rdi
shlq $0x4, %rdi
cmpb $0x1, 0xf(%rsi,%rdi)
je 0x10b03
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
jmp 0x10afd
cmpb $0x1, 0x2f913(%rip)     # 0x40407
je 0x10b03
leaq 0x2f8fb(%rip), %rdx     # 0x403f8
cmpb $0x2, 0xf(%rdx)
jne 0x10b0c
movq %rbx, %rdi
popq %rbx
jmp 0x19f69
leaq 0x2f8e5(%rip), %rsi     # 0x403f8
cmpl $-0x1, %ecx
jl 0x10aaa
cmpl 0x140(%rbx), %eax
jge 0x10aaa
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x10aaa
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_getPrototypeOf
static void O_getPrototypeOf(js_State *J)
{
	js_Object *obj;
	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");
	obj = js_toobject(J, 1);
	if (obj->prototype)
		js_pushobject(J, obj->prototype);
	else
		js_pushnull(J);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x10b6f
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x10b6f
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x10b9f
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x10b7f
cmpb $0x7, 0x2f891(%rip)     # 0x40407
jne 0x10b9f
leaq 0x2f879(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq 0x18(%rax), %rsi
movq %rbx, %rdi
testq %rsi, %rsi
je 0x10b99
popq %rbx
jmp 0x4487
popq %rbx
jmp 0x130d5
leaq 0x24566(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_create
static void O_create(js_State *J)
{
	js_Object *obj;
	js_Object *proto;
	js_Object *props;

	if (js_isobject(J, 1))
		proto = js_toobject(J, 1);
	else if (js_isnull(J, 1))
		proto = NULL;
	else
		js_typeerror(J, "not an object or null");

	obj = jsV_newobject(J, JS_COBJECT, proto);
	js_pushobject(J, obj);

	if (js_isdefined(J, 2)) {
		if (!js_isobject(J, 2))
			js_typeerror(J, "not an object");
		props = js_toobject(J, 2);
		if (props->properties->level)
			O_create_walk(J, obj, props->properties);
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x11011
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x11011
movq 0x148(%rbx), %rcx
movl %eax, %eax
shlq $0x4, %rax
leaq (%rcx,%rax), %rsi
cmpb $0x7, 0xf(%rcx,%rax)
je 0x11021
cmpb $0x2, 0xf(%rsi)
jne 0x11154
xorl %r15d, %r15d
jmp 0x1102c
leaq 0x2f3e0(%rip), %rsi     # 0x403f8
cmpb $0x7, 0x2f3e8(%rip)     # 0x40407
jne 0x11002
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r15
movq %rbx, %rdi
movl $0x68, %esi
callq 0xde05
movq %rax, %r14
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq 0x170(%rbx), %rax
movq %rax, 0x50(%r14)
movq %r14, 0x170(%rbx)
incl 0x154(%rbx)
leaq 0x2f33b(%rip), %rax     # 0x403b8
movq %rax, 0x8(%r14)
movq %r15, 0x18(%r14)
movl $0x1, 0x4(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4487
movl 0x144(%rbx), %ecx
cmpl $-0x2, %ecx
jge 0x110c6
cmpb $0x1, 0x2f35d(%rip)     # 0x40407
je 0x1114e
cmpb $0x7, 0x2f350(%rip)     # 0x40407
jne 0x1115d
leaq 0x2f334(%rip), %rsi     # 0x403f8
jmp 0x1112c
leal 0x2(%rcx), %eax
cmpl 0x140(%rbx), %eax
jge 0x110f5
movq 0x148(%rbx), %rsi
movl %eax, %edx
movq %rdx, %rdi
shlq $0x4, %rdi
cmpb $0x1, 0xf(%rsi,%rdi)
je 0x1114e
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
jmp 0x11105
cmpb $0x1, 0x2f30b(%rip)     # 0x40407
je 0x1114e
leaq 0x2f2f3(%rip), %rdx     # 0x403f8
cmpb $0x7, 0xf(%rdx)
jne 0x1115d
leaq 0x2f2e6(%rip), %rsi     # 0x403f8
cmpl $-0x2, %ecx
jl 0x1112c
cmpl 0x140(%rbx), %eax
jge 0x1112c
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x14fb2
movq 0x8(%rax), %rdx
cmpl $0x0, 0x10(%rdx)
je 0x1114e
movq %rbx, %rdi
movq %r14, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x219fe
popq %rbx
popq %r14
popq %r15
retq
leaq 0x23a3f(%rip), %rsi     # 0x34b9a
jmp 0x11164
leaq 0x23fa8(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_defineProperty
static void O_defineProperty(js_State *J)
{
	if (!js_isobject(J, 1)) js_typeerror(J, "not an object");
	if (!js_isobject(J, 3)) js_typeerror(J, "not an object");
	ToPropertyDescriptor(J, js_toobject(J, 1), js_tostring(J, 2), js_toobject(J, 3));
	js_copy(J, 1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x144(%rdi), %ecx
leal 0x1(%rcx), %eax
leaq 0x2f26f(%rip), %rdx     # 0x403f8
cmpl $-0x1, %ecx
jl 0x111a3
cmpl 0x140(%rbx), %eax
jge 0x111a3
movl %eax, %edx
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
cmpb $0x7, 0xf(%rdx)
jne 0x11299
leaq 0x2f244(%rip), %rdx     # 0x403f8
cmpl $-0x3, %ecx
jl 0x111d1
leal 0x3(%rcx), %esi
cmpl 0x140(%rbx), %esi
jge 0x111d1
movl %esi, %edx
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
cmpb $0x7, 0xf(%rdx)
jne 0x11299
leaq 0x2f216(%rip), %r14     # 0x403f8
movq %r14, %rsi
cmpl $-0x1, %ecx
jl 0x11202
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0x11202
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r15
movl 0x144(%rbx), %eax
movq %r14, %rsi
cmpl $-0x2, %eax
jl 0x11236
addl $0x2, %eax
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0x11236
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x14e64
movq %rax, %r12
movl 0x144(%rbx), %eax
cmpl $-0x3, %eax
jl 0x11265
addl $0x3, %eax
cmpl 0x140(%rbx), %eax
jge 0x11265
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14fb2
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %rax, %rcx
callq 0x21a63
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x13c1a
leaq 0x23e6c(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_defineProperties
static void O_defineProperties(js_State *J)
{
	js_Object *props;

	if (!js_isobject(J, 1)) js_typeerror(J, "not an object");
	if (!js_isobject(J, 2)) js_typeerror(J, "not an object");

	props = js_toobject(J, 2);
	if (props->properties->level)
		O_defineProperties_walk(J, props->properties);

	js_copy(J, 1);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %eax
leaq 0x2f13d(%rip), %rcx     # 0x403f8
cmpl $-0x1, %eax
jl 0x112d8
leal 0x1(%rax), %edx
cmpl 0x140(%rbx), %edx
jge 0x112d8
movl %edx, %ecx
shlq $0x4, %rcx
addq 0x148(%rbx), %rcx
cmpb $0x7, 0xf(%rcx)
jne 0x1134a
cmpl $-0x2, %eax
jl 0x11312
addl $0x2, %eax
cmpl 0x140(%rbx), %eax
jge 0x11312
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x1134a
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x11322
cmpb $0x7, 0x2f0ee(%rip)     # 0x40407
jne 0x1134a
leaq 0x2f0d6(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq 0x8(%rax), %rsi
cmpl $0x0, 0x10(%rsi)
je 0x1133c
movq %rbx, %rdi
callq 0x21de5
movq %rbx, %rdi
movl $0x1, %esi
popq %rbx
jmp 0x13c1a
leaq 0x23dbb(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_seal
static void O_seal(js_State *J)
{
	js_Object *obj;

	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");

	obj = js_toobject(J, 1);
	jsR_unflattenarray(J, obj);
	obj->extensible = 0;

	if (obj->properties->level)
		O_seal_walk(J, obj->properties);

	js_copy(J, 1);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x1139b
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x1139b
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x113ec
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x113ab
cmpb $0x7, 0x2f065(%rip)     # 0x40407
jne 0x113ec
leaq 0x2f04d(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x156ab
movl $0x0, 0x4(%r14)
movq 0x8(%r14), %rdi
cmpl $0x0, 0x10(%rdi)
je 0x113d8
callq 0x21ee2
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x13c1a
leaq 0x23d19(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_freeze
static void O_freeze(js_State *J)
{
	js_Object *obj;

	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");

	obj = js_toobject(J, 1);
	jsR_unflattenarray(J, obj);
	obj->extensible = 0;

	if (obj->properties->level)
		O_freeze_walk(J, obj->properties);

	js_copy(J, 1);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x1143d
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x1143d
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x1148e
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x1144d
cmpb $0x7, 0x2efc3(%rip)     # 0x40407
jne 0x1148e
leaq 0x2efab(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x156ab
movl $0x0, 0x4(%r14)
movq 0x8(%r14), %rdi
cmpl $0x0, 0x10(%rdi)
je 0x1147a
callq 0x21f04
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x13c1a
leaq 0x23c77(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_preventExtensions
static void O_preventExtensions(js_State *J)
{
	js_Object *obj;
	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");
	obj = js_toobject(J, 1);
	jsR_unflattenarray(J, obj);
	obj->extensible = 0;
	js_copy(J, 1);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x114df
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x114df
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x11521
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x114ef
cmpb $0x7, 0x2ef21(%rip)     # 0x40407
jne 0x11521
leaq 0x2ef09(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x156ab
movl $0x0, 0x4(%r14)
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x13c1a
leaq 0x23be4(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_isSealed
static void O_isSealed(js_State *J)
{
	js_Object *obj;

	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");

	obj = js_toobject(J, 1);
	if (obj->extensible) {
		js_pushboolean(J, 0);
		return;
	}

	if (obj->properties->level)
		js_pushboolean(J, O_isSealed_walk(J, obj->properties));
	else
		js_pushboolean(J, 1);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x1156f
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x1156f
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x115b0
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x1157f
cmpb $0x7, 0x2ee91(%rip)     # 0x40407
jne 0x115b0
leaq 0x2ee79(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
xorl %esi, %esi
cmpl $0x0, 0x4(%rax)
jne 0x115a7
movq 0x8(%rax), %rdi
cmpl $0x0, 0x10(%rdi)
je 0x115a2
callq 0x21f26
movl %eax, %esi
jmp 0x115a7
movl $0x1, %esi
movq %rbx, %rdi
popq %rbx
jmp 0x14602
leaq 0x23b55(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10
// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/./jsobject.c
// Function: O_isFrozen
static void O_isFrozen(js_State *J)
{
	js_Object *obj;

	if (!js_isobject(J, 1))
		js_typeerror(J, "not an object");

	obj = js_toobject(J, 1);

	if (obj->properties->level) {
		if (!O_isFrozen_walk(J, obj->properties)) {
			js_pushboolean(J, 0);
			return;
		}
	}

	js_pushboolean(J, !obj->extensible);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x144(%rdi), %eax
cmpl $-0x1, %eax
jl 0x11601
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x11601
movq 0x148(%rbx), %rcx
movl %eax, %esi
movq %rsi, %rax
shlq $0x4, %rax
cmpb $0x7, 0xf(%rcx,%rax)
jne 0x1164d
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
jmp 0x11611
cmpb $0x7, 0x2edff(%rip)     # 0x40407
jne 0x1164d
leaq 0x2ede7(%rip), %rsi     # 0x403f8
movq %rbx, %rdi
callq 0x14fb2
movq %rax, %r14
movq 0x8(%rax), %rdi
cmpl $0x0, 0x10(%rdi)
je 0x1162f
callq 0x21f6e
testl %eax, %eax
je 0x1163c
xorl %esi, %esi
cmpl $0x0, 0x4(%r14)
sete %sil
jmp 0x1163e
xorl %esi, %esi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x14602
leaq 0x23ab8(%rip), %rsi     # 0x3510c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xca10