LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_touserdata
void *js_touserdata(js_State *J, int idx, const char *tag)
{
	js_Value *v = stackidx(J, idx);
	if (v->t.type == JS_TOBJECT && v->u.object->type == JS_CUSERDATA)
		if (!strcmp(tag, v->u.object->u.user.tag))
			return v->u.object->u.user.data;
	js_typeerror(J, "not a %s", tag);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x15050
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl 0xf(%rax), %eax
cmpl $0x7, %eax
jne 0x15fe8
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpl $0xf, (%rax)
jne 0x15fe8
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rsi
callq 0x32d0
cmpl $0x0, %eax
jne 0x15fe6
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
addq $0x20, %rsp
popq %rbp
retq
jmp 0x15fe8
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x25e19(%rip), %rsi     # 0x3be10
movb $0x0, %al
callq 0xbfe0
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_remove
void js_remove(js_State *J, int idx)
{
	idx = idx < 0 ? TOP + idx : BOT + idx;
	if (idx < BOT || idx >= TOP)
		js_error(J, "stack error!");
	for (;idx < TOP - 1; ++idx)
		STACK[idx] = STACK[idx+1];
	--TOP;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jge 0x16047
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
addl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
jmp 0x16057
movq -0x8(%rbp), %rax
movl 0x144(%rax), %eax
addl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x144(%rcx), %eax
jl 0x1607b
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x140(%rcx), %eax
jl 0x1608d
movq -0x8(%rbp), %rdi
leaq 0x25da4(%rip), %rsi     # 0x3be2a
movb $0x0, %al
callq 0xbb10
jmp 0x1608f
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x160ed
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movl -0xc(%rbp), %edx
addl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1608f
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x140(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_dup2
void js_dup2(js_State *J)
{
	CHECKSTACK(2);
	STACK[TOP] = STACK[TOP-2];
	STACK[TOP+1] = STACK[TOP-1];
	TOP += 2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
addl $0x2, %eax
cmpl $0x1000, %eax           # imm = 0x1000
jl 0x161f9
movq -0x8(%rbp), %rdi
callq 0x14dc0
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movslq 0x140(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x2, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x140(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_rot3
void js_rot3(js_State *J)
{
	/* A B C -> C A B */
	js_Value tmp = STACK[TOP-1];	/* A B C (C) */
	STACK[TOP-1] = STACK[TOP-2];	/* A B B */
	STACK[TOP-2] = STACK[TOP-3];	/* A A B */
	STACK[TOP-3] = tmp;		/* C A B */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, -0x18(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x2, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x3, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x18(%rbp), %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_rot4
void js_rot4(js_State *J)
{
	/* A B C D -> D A B C */
	js_Value tmp = STACK[TOP-1];	/* A B C D (D) */
	STACK[TOP-1] = STACK[TOP-2];	/* A B C C */
	STACK[TOP-2] = STACK[TOP-3];	/* A B B C */
	STACK[TOP-3] = STACK[TOP-4];	/* A A B C */
	STACK[TOP-4] = tmp;		/* D A B C */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, -0x18(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x2, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x3, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x4, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x4, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x18(%rbp), %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_rot
void js_rot(js_State *J, int n)
{
	int i;
	js_Value tmp = STACK[TOP-1];
	for (i = 1; i < n; ++i)
		STACK[TOP-i] = STACK[TOP-i-1];
	STACK[TOP-i] = tmp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movl $0x1, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x1678b
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl -0x10(%rbp), %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x8(%rbp), %rdx
movl 0x140(%rdx), %edx
subl -0x10(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x16723
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x140(%rcx), %ecx
subl -0x10(%rbp), %ecx
movslq %ecx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x20(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x8(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_isarrayindex
int js_isarrayindex(js_State *J, const char *p, int *idx)
{
	int n = 0;

	/* check for empty string */
	if (p[0] == 0)
		return 0;

	/* check for '0' and integers with leading zero */
	if (p[0] == '0')
		return (p[1] == 0) ? *idx = 0, 1 : 0;

	while (*p) {
		int c = *p++;
		if (c >= '0' && c <= '9') {
			if (n >= INT_MAX / 10)
				return 0;
			n = n * 10 + (c - '0');
		} else {
			return 0;
		}
	}
	return *idx = n, 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x167ef
movl $0x0, -0x4(%rbp)
jmp 0x16895
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x1682b
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x1681c
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x16823
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x16823
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x16895
jmp 0x1682d
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
je 0x16885
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
movl %eax, -0x28(%rbp)
cmpl $0x30, -0x28(%rbp)
jl 0x1687a
cmpl $0x39, -0x28(%rbp)
jg 0x1687a
cmpl $0xccccccc, -0x24(%rbp) # imm = 0xCCCCCCC
jl 0x16869
movl $0x0, -0x4(%rbp)
jmp 0x16895
imull $0xa, -0x24(%rbp), %eax
movl -0x28(%rbp), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x24(%rbp)
jmp 0x16883
movl $0x0, -0x4(%rbp)
jmp 0x16895
jmp 0x1682d
movl -0x24(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_unflattenarray
void jsR_unflattenarray(js_State *J, js_Object *obj) {
	if (obj->type == JS_CARRAY && obj->u.a.simple) {
		js_Property *ref;
		int i;
		char name[32];
		if (js_try(J)) {
			obj->properties = NULL;
			js_throw(J);
		}
		for (i = 0; i < obj->u.a.flat_length; ++i) {
			js_itoa(name, i);
			ref = jsV_setproperty(J, obj, name);
			ref->value = obj->u.a.array[i];
		}
		js_free(J, obj->u.a.array);
		obj->u.a.simple = 0;
		obj->u.a.flat_length = 0;
		obj->u.a.flat_capacity = 0;
		obj->u.a.array = NULL;
		js_endtry(J);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x169a2
movq -0x10(%rbp), %rax
cmpl $0x0, 0x24(%rax)
je 0x169a2
movq -0x8(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x168f6
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rdi
callq 0x8cb0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x28(%rcx), %eax
jge 0x1695b
leaq -0x40(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x12b50
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x125d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x30(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, 0x18(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x20(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x168fd
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0xd710
movq -0x10(%rbp), %rax
movl $0x0, 0x24(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x28(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x2c(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x30(%rax)
movq -0x8(%rbp), %rdi
callq 0x14a10
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_ref
const char *js_ref(js_State *J)
{
	js_Value *v = stackidx(J, -1);
	const char *s;
	char buf[32];
	switch (v->t.type) {
	case JS_TUNDEFINED: s = "_Undefined"; break;
	case JS_TNULL: s = "_Null"; break;
	case JS_TBOOLEAN:
		s = v->u.boolean ? "_True" : "_False";
		break;
	case JS_TOBJECT:
		sprintf(buf, "%p", (void*)v->u.object);
		s = js_intern(J, buf);
		break;
	default:
		sprintf(buf, "%d", J->nextref++);
		s = js_intern(J, buf);
		break;
	}
	js_setregistry(J, s);
	return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl 0xf(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x48(%rbp)
subl $0x6, %eax
ja 0x16a68
movq -0x48(%rbp), %rax
leaq 0x1cf1e(%rip), %rcx     # 0x33910
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x25449(%rip), %rax     # 0x3be4b
movq %rax, -0x18(%rbp)
jmp 0x16aa0
leaq 0x25444(%rip), %rax     # 0x3be56
movq %rax, -0x18(%rbp)
jmp 0x16aa0
movq -0x10(%rbp), %rax
movl (%rax), %edx
leaq 0x2543a(%rip), %rax     # 0x3be62
leaq 0x2542d(%rip), %rcx     # 0x3be5c
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x16aa0
leaq -0x40(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x2541b(%rip), %rsi     # 0x3be69
movb $0x0, %al
callq 0x3200
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xdc90
movq %rax, -0x18(%rbp)
jmp 0x16aa0
leaq -0x40(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x118(%rax), %edx
movl %edx, %ecx
addl $0x1, %ecx
movl %ecx, 0x118(%rax)
leaq 0x25f23(%rip), %rsi     # 0x3c9ab
movb $0x0, %al
callq 0x3200
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xdc90
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x16ac0
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_tofunction
static js_Object *jsR_tofunction(js_State *J, int idx)
{
	js_Value *v = stackidx(J, idx);
	if (v->t.type == JS_TUNDEFINED || v->t.type == JS_TNULL)
		return NULL;
	if (v->t.type == JS_TOBJECT)
		if (v->u.object->type == JS_CFUNCTION || v->u.object->type == JS_CCFUNCTION)
			return v->u.object;
	js_typeerror(J, "not a function");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x15050
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl 0xf(%rax), %eax
cmpl $0x1, %eax
je 0x176a9
movq -0x20(%rbp), %rax
movsbl 0xf(%rax), %eax
cmpl $0x2, %eax
jne 0x176b3
movq $0x0, -0x8(%rbp)
jmp 0x176f9
movq -0x20(%rbp), %rax
movsbl 0xf(%rax), %eax
cmpl $0x7, %eax
jne 0x176e7
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, (%rax)
je 0x176d8
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpl $0x4, (%rax)
jne 0x176e5
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x176f9
jmp 0x176e7
movq -0x10(%rbp), %rdi
leaq 0x25240(%rip), %rsi     # 0x3c932
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_hasindex
static int jsR_hasindex(js_State *J, js_Object *obj, int k)
{
	char buf[32];
	if (obj->type == JS_CARRAY && obj->u.a.simple) {
		if (k >= 0 && k < obj->u.a.flat_length) {
			js_pushvalue(J, obj->u.a.array[k]);
			return 1;
		}
		return 0;
	}
	return jsR_hasproperty(J, obj, js_itoa(buf, k));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x17bcd
movq -0x18(%rbp), %rax
cmpl $0x0, 0x24(%rax)
je 0x17bcd
cmpl $0x0, -0x1c(%rbp)
jl 0x17bc4
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x28(%rcx), %eax
jge 0x17bc4
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
movslq -0x1c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
callq 0x14d40
movl $0x1, -0x4(%rbp)
jmp 0x17bfc
movl $0x0, -0x4(%rbp)
jmp 0x17bfc
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x40(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x12b50
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq %rax, %rdx
callq 0x17750
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_setindex
static void jsR_setindex(js_State *J, js_Object *obj, int k, int transient)
{
	char buf[32];
	if (obj->type == JS_CARRAY && obj->u.a.simple && k >= 0 && k <= obj->u.a.flat_length) {
		jsR_setarrayindex(J, obj, k, stackidx(J, -1));
	} else {
		jsR_setproperty(J, obj, js_itoa(buf, k), transient);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x17c84
movq -0x10(%rbp), %rax
cmpl $0x0, 0x24(%rax)
je 0x17c84
cmpl $0x0, -0x14(%rbp)
jl 0x17c84
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x28(%rcx), %eax
jg 0x17c84
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
movl -0x44(%rbp), %edx
movq %rax, %rcx
callq 0x2db30
jmp 0x17cb3
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x40(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x12b50
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq %rax, %rdx
movl -0x18(%rbp), %ecx
callq 0x16bd0
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_newenvironment
js_Environment *jsR_newenvironment(js_State *J, js_Object *vars, js_Environment *outer)
{
	js_Environment *E = js_malloc(J, sizeof *E);
	E->gcmark = 0;
	E->gcnext = J->gcenv;
	J->gcenv = E;
	++J->gccounter;

	E->outer = outer;
	E->variables = vars;
	return E;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0xd9d0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl $0x0, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x160(%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x160(%rax)
movq -0x8(%rbp), %rax
movl 0x154(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x154(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_pushtrace
static void jsR_pushtrace(js_State *J, const char *name, const char *file, int line)
{
	if (J->tracetop + 1 == JS_ENVLIMIT)
		js_error(J, "call stack overflow");
	++J->tracetop;
	J->trace[J->tracetop].name = name;
	J->trace[J->tracetop].file = file;
	J->trace[J->tracetop].line = line;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movl 0x2190(%rax), %eax
addl $0x1, %eax
cmpl $0x400, %eax            # imm = 0x400
jne 0x180ed
movq -0x8(%rbp), %rdi
leaq 0x2567c(%rip), %rsi     # 0x3d762
movb $0x0, %al
callq 0xbb10
movq -0x8(%rbp), %rax
movl 0x2190(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2190(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movq -0x8(%rbp), %rdx
movslq 0x2190(%rdx), %rdx
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movq -0x8(%rbp), %rdx
movslq 0x2190(%rdx), %rdx
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movq -0x8(%rbp), %rdx
movslq 0x2190(%rdx), %rdx
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x10(%rax)
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_calllwfunction
static void jsR_calllwfunction(js_State *J, int n, js_Function *F, js_Environment *scope)
{
	js_Value v;
	int i;

	jsR_savescope(J, scope);

	if (n > F->numparams) {
		js_pop(J, n - F->numparams);
		n = F->numparams;
	}

	for (i = n; i < F->varlen; ++i)
		js_pushundefined(J);

	jsR_run(J, F);
	v = *stackidx(J, -1);
	TOP = --BOT; /* clear stack */
	js_pushvalue(J, v);

	jsR_restorescope(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x2dd10
movl -0xc(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x18(%rcx), %eax
jle 0x181bd
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rax
subl 0x18(%rax), %esi
callq 0x4400
movq -0x18(%rbp), %rax
movl 0x18(%rax), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x4c(%rcx), %eax
jge 0x181e3
movq -0x8(%rbp), %rdi
callq 0x8640
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x181c3
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x2dd90
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq (%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movl 0x144(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x144(%rax)
movq -0x8(%rbp), %rax
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x14d40
movq -0x8(%rbp), %rdi
callq 0x2f400
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_callscript
static void jsR_callscript(js_State *J, int n, js_Function *F, js_Environment *scope)
{
	js_Value v;
	int i;

	if (scope)
		jsR_savescope(J, scope);

	/* scripts take no arguments */
	js_pop(J, n);

	for (i = 0; i < F->varlen; ++i) {
		/* Bug 701886: don't redefine existing vars in eval/scripts */
		if (!js_hasvar(J, F->vartab[i])) {
			js_pushundefined(J);
			js_initvar(J, F->vartab[i], -1);
			js_pop(J, 1);
		}
	}

	jsR_run(J, F);
	v = *stackidx(J, -1);
	TOP = --BOT; /* clear stack */
	js_pushvalue(J, v);

	if (scope)
		jsR_restorescope(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x184ab
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x2dd10
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x4400
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x4c(%rcx), %eax
jge 0x1852a
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x40(%rax), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x2f440
cmpl $0x0, %eax
jne 0x1851d
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x40(%rax), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2f7c0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
jmp 0x1851f
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x184be
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x2dd90
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq (%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movl 0x144(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x144(%rax)
movq -0x8(%rbp), %rax
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x14d40
cmpq $0x0, -0x20(%rbp)
je 0x18592
movq -0x8(%rbp), %rdi
callq 0x2f400
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: jsR_callcfunction
static void jsR_callcfunction(js_State *J, int n, int min, js_CFunction F)
{
	int save_top;
	int i;
	js_Value v;

	for (i = n; i < min; ++i)
		js_pushundefined(J);

	save_top = TOP;
	F(J);
	if (TOP > save_top) {
		v = *stackidx(J, -1);
		TOP = --BOT; /* clear stack */
		js_pushvalue(J, v);
	} else {
		TOP = --BOT; /* clear stack */
		js_pushundefined(J);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x185d8
movq -0x8(%rbp), %rdi
callq 0x8640
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x185bc
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rdi
callq *%rax
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
cmpl -0x1c(%rbp), %eax
jle 0x1864b
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq (%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movl 0x144(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x144(%rax)
movq -0x8(%rbp), %rax
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x14d40
jmp 0x18671
movq -0x8(%rbp), %rax
movl 0x144(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x144(%rax)
movq -0x8(%rbp), %rax
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rdi
callq 0x8640
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_eval
void js_eval(js_State *J)
{
	if (!js_isstring(J, -1))
		return;
	js_loadeval(J, "(eval)", js_tostring(J, -1));
	js_rot2pop1(J);
	js_copy(J, 0); /* copy 'this' */
	js_call(J, 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x151c0
cmpl $0x0, %eax
jne 0x188b1
jmp 0x188f9
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x14b80
movq -0x10(%rbp), %rdi
movq %rax, %rdx
leaq 0x235d8(%rip), %rsi     # 0x3bead
callq 0x18900
movq -0x8(%rbp), %rdi
callq 0x16600
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x17ea0
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_pconstruct
int js_pconstruct(js_State *J, int n)
{
	int savetop = TOP - n - 2;
	if (js_try(J)) {
		/* clean up the stack to only hold the error object */
		STACK[savetop] = STACK[TOP-1];
		TOP = savetop + 1;
		return 1;
	}
	js_construct(J, n);
	js_endtry(J);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl 0x140(%rax), %eax
subl -0x14(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x189c7
movq -0x10(%rbp), %rax
movq 0x148(%rax), %rax
movslq -0x18(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq -0x10(%rbp), %rcx
movq 0x148(%rcx), %rcx
movq -0x10(%rbp), %rdx
movl 0x140(%rdx), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x140(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x189e3
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x18680
movq -0x10(%rbp), %rdi
callq 0x14a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_savetrypc
void *js_savetrypc(js_State *J, js_Instruction *pc)
{
	if (J->trytop == JS_TRYLIMIT)
		js_trystackoverflow(J);
	J->trybuf[J->trytop].E = J->E;
	J->trybuf[J->trytop].envtop = J->envtop;
	J->trybuf[J->trytop].tracetop = J->tracetop;
	J->trybuf[J->trytop].top = J->top;
	J->trybuf[J->trytop].bot = J->bot;
	J->trybuf[J->trytop].strict = J->strict;
	J->trybuf[J->trytop].pc = pc;
	return J->trybuf[J->trytop++].buf;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x40, 0x8198(%rax)
jne 0x18ad6
movq -0x8(%rbp), %rdi
callq 0x18c50
movq -0x8(%rbp), %rax
movq 0x130(%rax), %rcx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0xc8(%rax)
movq -0x8(%rbp), %rax
movl 0x188(%rax), %ecx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xd0(%rax)
movq -0x8(%rbp), %rax
movl 0x2190(%rax), %ecx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xd4(%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xd8(%rax)
movq -0x8(%rbp), %rax
movl 0x144(%rax), %ecx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xdc(%rax)
movq -0x8(%rbp), %rax
movl 0x34(%rax), %ecx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xe0(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movslq 0x8198(%rdx), %rdx
imulq $0xf0, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0xe8(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rdx
movl 0x8198(%rdx), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, 0x8198(%rdx)
movslq %ecx, %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_trystackoverflow
static void js_trystackoverflow(js_State *J)
{
	STACK[TOP].t.type = JS_TLITSTR;
	STACK[TOP].u.litstr = "exception stack overflow";
	++TOP;
	js_throw(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movslq 0x140(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movb $0x5, 0xf(%rax)
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rcx
movslq 0x140(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
leaq 0x23235(%rip), %rcx     # 0x3bed6
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rdi
callq 0x8cb0
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_dumpstack
static void js_dumpstack(js_State *J)
{
	int i;
	printf("stack {\n");
	for (i = 0; i < TOP; ++i) {
		putchar(i == BOT ? '>' : ' ');
		printf("%4d: ", i);
		js_dumpvalue(J, STACK[i]);
		putchar('\n');
	}
	printf("}\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x24ad6(%rip), %rdi     # 0x3d7d9
movb $0x0, %al
callq 0x3030
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x140(%rcx), %eax
jge 0x18d8d
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl 0x144(%rax), %edx
movl $0x20, %edi
movl $0x3e, %eax
cmpl %edx, %ecx
cmovel %eax, %edi
callq 0x3130
movl -0xc(%rbp), %esi
leaq 0x24a97(%rip), %rdi     # 0x3d7e2
movb $0x0, %al
callq 0x3030
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
callq 0x2f840
movl $0xa, %edi
callq 0x3130
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x18d11
leaq 0x22b86(%rip), %rdi     # 0x3b91a
movb $0x0, %al
callq 0x3030
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_stacktrace
static void js_stacktrace(js_State *J)
{
	int n;
	printf("stack trace:\n");
	for (n = J->tracetop; n >= 0; --n) {
		const char *name = J->trace[n].name;
		const char *file = J->trace[n].file;
		int line = J->trace[n].line;
		if (line > 0) {
			if (name[0])
				printf("\tat %s (%s:%d)\n", name, file, line);
			else
				printf("\tat %s:%d\n", file, line);
		} else
			printf("\tat %s (%s)\n", name, file);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x24ada(%rip), %rdi     # 0x3d89d
movb $0x0, %al
callq 0x3030
movq -0x8(%rbp), %rax
movl 0x2190(%rax), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0x18e9c
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
addq $0x2198, %rax           # imm = 0x2198
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jle 0x18e76
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
je 0x18e5f
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
leaq 0x24a55(%rip), %rdi     # 0x3d8ab
movb $0x0, %al
callq 0x3030
jmp 0x18e74
movq -0x20(%rbp), %rsi
movl -0x24(%rbp), %edx
leaq 0x24a4e(%rip), %rdi     # 0x3d8bb
movb $0x0, %al
callq 0x3030
jmp 0x18e8c
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq 0x24a41(%rip), %rdi     # 0x3d8c6
movb $0x0, %al
callq 0x3030
jmp 0x18e8e
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x18dd7
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_ploadstring
int js_ploadstring(js_State *J, const char *filename, const char *source)
{
	if (js_ptry(J))
		return 1;
	if (js_try(J))
		return 1;
	js_loadstring(J, filename, source);
	js_endtry(J);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x18edb
movl $0x1, -0x4(%rbp)
jmp 0x18f1b
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x18efa
movl $0x1, -0x4(%rbp)
jmp 0x18f1b
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x18fc0
movq -0x10(%rbp), %rdi
callq 0x14a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_ptry
static int js_ptry(js_State *J) {
	if (J->trytop == JS_TRYLIMIT) {
		J->stack[J->top].t.type = JS_TLITSTR;
		J->stack[J->top].u.litstr = "exception stack overflow";
		++J->top;
		return 1;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x40, 0x8198(%rax)
jne 0x18fa9
movq -0x10(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x10(%rbp), %rcx
movslq 0x140(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movb $0x5, 0xf(%rax)
movq -0x10(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x10(%rbp), %rcx
movslq 0x140(%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
leaq 0x22f4c(%rip), %rcx     # 0x3bed6
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movl 0x140(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x140(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x18fb0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_ploadfile
int js_ploadfile(js_State *J, const char *filename)
{
	if (js_ptry(J))
		return 1;
	if (js_try(J))
		return 1;
	js_loadfile(J, filename);
	js_endtry(J);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x19017
movl $0x1, -0x4(%rbp)
jmp 0x19053
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x19036
movl $0x1, -0x4(%rbp)
jmp 0x19053
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x19060
movq -0x10(%rbp), %rdi
callq 0x14a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_trystring
const char *js_trystring(js_State *J, int idx, const char *error)
{
	const char *s;
	if (js_ptry(J)) {
		js_pop(J, 1);
		return error;
	}
	if (js_try(J)) {
		js_pop(J, 1);
		return error;
	}
	s = js_tostring(J, idx);
	js_endtry(J);
	return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x19399
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x193e8
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x193c7
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x193e8
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x14b80
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14a10
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_trynumber
double js_trynumber(js_State *J, int idx, double error)
{
	double v;
	if (js_ptry(J)) {
		js_pop(J, 1);
		return error;
	}
	if (js_try(J)) {
		js_pop(J, 1);
		return error;
	}
	v = js_tonumber(J, idx);
	js_endtry(J);
	return v;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x1943c
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x19490
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x1946c
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x19490
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x15750
movsd %xmm0, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14a10
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_tryinteger
int js_tryinteger(js_State *J, int idx, int error)
{
	int v;
	if (js_ptry(J)) {
		js_pop(J, 1);
		return error;
	}
	if (js_try(J)) {
		js_pop(J, 1);
		return error;
	}
	v = js_tointeger(J, idx);
	js_endtry(J);
	return v;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x194d6
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x19520
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x19502
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x19520
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x43c0
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14a10
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_tryboolean
int js_tryboolean(js_State *J, int idx, int error)
{
	int v;
	if (js_ptry(J)) {
		js_pop(J, 1);
		return error;
	}
	if (js_try(J)) {
		js_pop(J, 1);
		return error;
	}
	v = js_toboolean(J, idx);
	js_endtry(J);
	return v;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x19566
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x195b0
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x19592
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x195b0
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x15620
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14a10
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_loadstringx
static void js_loadstringx(js_State *J, const char *filename, const char *source, int iseval)
{
	js_Ast *P;
	js_Function *F;

	if (js_try(J)) {
		jsP_freeparse(J);
		js_throw(J);
	}

	P = jsP_parse(J, filename, source);
	F = jsC_compilescript(J, P, iseval ? J->strict : J->default_strict);
	jsP_freeparse(J);
	js_newscript(J, F, iseval ? (J->strict ? J->E : NULL) : J->GE);

	js_endtry(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x195ff
movq -0x8(%rbp), %rdi
callq 0x11b40
movq -0x8(%rbp), %rdi
callq 0x8cb0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x11bf0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x19636
movq -0x8(%rbp), %rax
movl 0x34(%rax), %eax
movl %eax, -0x44(%rbp)
jmp 0x19640
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x44(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdi
movl -0x44(%rbp), %edx
callq 0x8ff0
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x11b40
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x196a0
movq -0x8(%rbp), %rax
cmpl $0x0, 0x34(%rax)
je 0x1968e
movq -0x8(%rbp), %rax
movq 0x130(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0x19696
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0x19696
movq -0x60(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x196af
movq -0x8(%rbp), %rax
movq 0x138(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x50(%rbp), %rsi
movq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rdx
callq 0x1b9c0
movq -0x8(%rbp), %rdi
callq 0x14a10
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_dostring
int js_dostring(js_State *J, const char *source)
{
	if (js_ptry(J)) {
		js_report(J, "exception stack overflow");
		js_pop(J, 1);
		return 1;
	}
	if (js_try(J)) {
		js_report(J, js_trystring(J, -1, "Error"));
		js_pop(J, 1);
		return 1;
	}
	js_loadstring(J, "[string]", source);
	js_pushundefined(J);
	js_call(J, 0);
	js_pop(J, 1);
	js_endtry(J);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x19718
movq -0x10(%rbp), %rdi
leaq 0x227dd(%rip), %rsi     # 0x3bed6
callq 0xd740
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl $0x1, -0x4(%rbp)
jmp 0x197b4
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x1976e
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x220e3(%rip), %rdx     # 0x3b829
callq 0x19360
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xd740
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl $0x1, -0x4(%rbp)
jmp 0x197b4
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x199b3(%rip), %rsi     # 0x33130
callq 0x18fc0
movq -0x10(%rbp), %rdi
callq 0x8640
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x17ea0
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movq -0x10(%rbp), %rdi
callq 0x14a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_dofile
int js_dofile(js_State *J, const char *filename)
{
	if (js_ptry(J)) {
		js_report(J, "exception stack overflow");
		js_pop(J, 1);
		return 1;
	}
	if (js_try(J)) {
		js_report(J, js_trystring(J, -1, "Error"));
		js_pop(J, 1);
		return 1;
	}
	js_loadfile(J, filename);
	js_pushundefined(J);
	js_call(J, 0);
	js_pop(J, 1);
	js_endtry(J);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18f30
cmpl $0x0, %eax
je 0x19808
movq -0x10(%rbp), %rdi
leaq 0x226ed(%rip), %rsi     # 0x3bed6
callq 0xd740
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl $0x1, -0x4(%rbp)
jmp 0x1989d
movq -0x10(%rbp), %rdi
callq 0x14270
movq %rax, %rdi
callq 0x30e0
cmpl $0x0, %eax
je 0x1985e
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x21ff3(%rip), %rdx     # 0x3b829
callq 0x19360
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xd740
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movl $0x1, -0x4(%rbp)
jmp 0x1989d
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x19060
movq -0x10(%rbp), %rdi
callq 0x8640
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x17ea0
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movq -0x10(%rbp), %rdi
callq 0x14a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsstate.c
// Function: js_defaultalloc
static void *js_defaultalloc(void *actx, void *ptr, int size)
{
	if (size == 0) {
		free(ptr);
		return NULL;
	}
	return realloc(ptr, (size_t)size);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x19b9c
movq -0x18(%rbp), %rdi
callq 0x31c0
movq $0x0, -0x8(%rbp)
jmp 0x19bad
movq -0x18(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0x3330
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)