LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_slice
static void Ap_slice(js_State *J)
{
	int len, s, e, n;
	double sv, ev;

	js_newarray(J);

	len = js_getlength(J, 0);
	sv = js_tointeger(J, 1);
	ev = js_isdefined(J, 2) ? js_tointeger(J, 2) : len;

	if (sv < 0) sv = sv + len;
	if (ev < 0) ev = ev + len;

	s = sv < 0 ? 0 : sv > len ? len : sv;
	e = ev < 0 ? 0 : ev > len ? len : ev;

	for (n = 0; s < e; ++s, ++n)
		if (js_hasindex(J, 0, s))
			js_setindex(J, -2, n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x13830
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x43c0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0x50c0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x43c0
movl %eax, -0x2c(%rbp)
jmp 0x50c6
movl -0xc(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x28(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x20(%rbp), %xmm0
jbe 0x50ef
movsd -0x20(%rbp), %xmm0
cvtsi2sdl -0xc(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x28(%rbp), %xmm0
jbe 0x510c
movsd -0x28(%rbp), %xmm0
cvtsi2sdl -0xc(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x20(%rbp), %xmm0
jbe 0x5120
xorps %xmm0, %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0x5150
movsd -0x20(%rbp), %xmm0
cvtsi2sdl -0xc(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x513c
cvtsi2sdl -0xc(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
jmp 0x5146
movsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x10(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x28(%rbp), %xmm0
jbe 0x5170
xorps %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
jmp 0x51a0
movsd -0x28(%rbp), %xmm0
cvtsi2sdl -0xc(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x518c
cvtsi2sdl -0xc(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
jmp 0x5196
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x51f5
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x51df
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %edx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x13bb0
jmp 0x51e1
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x51b3
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_sort
static void Ap_sort(js_State *J)
{
	int len;

	len = js_getlength(J, 0);
	if (len <= 1) {
		js_copy(J, 0);
		return;
	}

	if (!js_iscallable(J, 1) && !js_isundefined(J, 1))
		js_typeerror(J, "comparison function must be a function or undefined");

	if (len >= INT_MAX)
		js_rangeerror(J, "array is too large to sort");

	Ap_sort_heapsort(J, len);

	js_copy(J, 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0xc(%rbp)
cmpl $0x1, -0xc(%rbp)
jg 0x522d
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
jmp 0x5297
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5265
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15100
cmpl $0x0, %eax
jne 0x5265
movq -0x8(%rbp), %rdi
leaq 0x37090(%rip), %rsi     # 0x3c2ee
movb $0x0, %al
callq 0xbfe0
cmpl $0x7fffffff, -0xc(%rbp) # imm = 0x7FFFFFFF
jl 0x5280
movq -0x8(%rbp), %rdi
leaq 0x370a9(%rip), %rsi     # 0x3c322
movb $0x0, %al
callq 0xbd10
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x1df20
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_unshift
static void Ap_unshift(js_State *J)
{
	int i, top = js_gettop(J);
	int k, len;

	len = js_getlength(J, 0);

	for (k = len; k > 0; --k) {
		int from = k - 1;
		int to = k + top - 2;
		if (js_hasindex(J, 0, from))
			js_setindex(J, 0, to);
		else
			js_delindex(J, 0, to);
	}

	for (i = 1; i < top; ++i) {
		js_copy(J, i);
		js_setindex(J, 0, i - 1);
	}

	js_setlength(J, 0, len + top - 1);

	js_pushnumber(J, len + top - 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0x55b5
movl -0x14(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %eax
addl -0x10(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movl -0x1c(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x559a
movq -0x8(%rbp), %rdi
movl -0x20(%rbp), %edx
xorl %esi, %esi
callq 0x13bb0
jmp 0x55a8
movq -0x8(%rbp), %rdi
movl -0x20(%rbp), %edx
xorl %esi, %esi
callq 0x17cc0
jmp 0x55aa
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x555c
movl $0x1, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x55ec
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
subl $0x1, %edx
xorl %esi, %esi
callq 0x13bb0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x55bc
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %edx
addl -0x10(%rbp), %edx
subl $0x1, %edx
xorl %esi, %esi
callq 0x4470
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %eax
addl -0x10(%rbp), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm0
callq 0x44d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_indexOf
static void Ap_indexOf(js_State *J)
{
	int k, len, from;

	len = js_getlength(J, 0);
	from = js_isdefined(J, 2) ? js_tointeger(J, 2) : 0;
	if (from < 0) from = len + from;
	if (from < 0) from = 0;

	js_copy(J, 1);
	for (k = from; k < len; ++k) {
		if (js_hasindex(J, 0, k)) {
			if (js_strictequal(J)) {
				js_pushnumber(J, k);
				return;
			}
			js_pop(J, 1);
		}
	}

	js_pushnumber(J, -1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0x5660
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x43c0
movl %eax, -0x18(%rbp)
jmp 0x5667
xorl %eax, %eax
movl %eax, -0x18(%rbp)
jmp 0x5667
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jge 0x567c
movl -0x10(%rbp), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jge 0x5689
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
movl -0x14(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x56f1
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x56e4
movq -0x8(%rbp), %rdi
callq 0x1c540
cmpl $0x0, %eax
je 0x56d6
movq -0x8(%rbp), %rdi
cvtsi2sdl -0xc(%rbp), %xmm0
callq 0x44d0
jmp 0x5702
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
jmp 0x56e6
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x569d
movq -0x8(%rbp), %rdi
movsd 0x2dd03(%rip), %xmm0    # 0x33400
callq 0x44d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_lastIndexOf
static void Ap_lastIndexOf(js_State *J)
{
	int k, len, from;

	len = js_getlength(J, 0);
	from = js_isdefined(J, 2) ? js_tointeger(J, 2) : len - 1;
	if (from > len - 1) from = len - 1;
	if (from < 0) from = len + from;

	js_copy(J, 1);
	for (k = from; k >= 0; --k) {
		if (js_hasindex(J, 0, k)) {
			if (js_strictequal(J)) {
				js_pushnumber(J, k);
				return;
			}
			js_pop(J, 1);
		}
	}

	js_pushnumber(J, -1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0x5750
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x43c0
movl %eax, -0x18(%rbp)
jmp 0x5759
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl -0x10(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x5775
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jge 0x5784
movl -0x10(%rbp), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
movl -0x14(%rbp), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0x57ea
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x57dd
movq -0x8(%rbp), %rdi
callq 0x1c540
cmpl $0x0, %eax
je 0x57cf
movq -0x8(%rbp), %rdi
cvtsi2sdl -0xc(%rbp), %xmm0
callq 0x44d0
jmp 0x57fb
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
jmp 0x57df
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5798
movq -0x8(%rbp), %rdi
movsd 0x2dc0a(%rip), %xmm0    # 0x33400
callq 0x44d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_every
static void Ap_every(js_State *J)
{
	int hasthis = js_gettop(J) >= 3;
	int k, len;

	if (!js_iscallable(J, 1))
		js_typeerror(J, "callback is not a function");

	len = js_getlength(J, 0);
	for (k = 0; k < len; ++k) {
		if (js_hasindex(J, 0, k)) {
			js_copy(J, 1);
			if (hasthis)
				js_copy(J, 2);
			else
				js_pushundefined(J);
			js_copy(J, -3);
			js_pushnumber(J, k);
			js_copy(J, 0);
			js_call(J, 3);
			if (!js_toboolean(J, -1))
				return;
			js_pop(J, 2);
		}
	}

	js_pushboolean(J, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
cmpl $0x3, %eax
setge %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5858
movq -0x8(%rbp), %rdi
leaq 0x36aec(%rip), %rsi     # 0x3c33d
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x14(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x5925
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5915
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
cmpl $0x0, -0xc(%rbp)
je 0x58b4
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x14410
jmp 0x58bd
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14410
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x10(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x17ea0
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15620
cmpl $0x0, %eax
jne 0x5907
jmp 0x5933
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x4400
jmp 0x5917
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x586d
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14e30
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_forEach
static void Ap_forEach(js_State *J)
{
	int hasthis = js_gettop(J) >= 3;
	int k, len;

	if (!js_iscallable(J, 1))
		js_typeerror(J, "callback is not a function");

	len = js_getlength(J, 0);
	for (k = 0; k < len; ++k) {
		if (js_hasindex(J, 0, k)) {
			js_copy(J, 1);
			if (hasthis)
				js_copy(J, 2);
			else
				js_pushundefined(J);
			js_copy(J, -3);
			js_pushnumber(J, k);
			js_copy(J, 0);
			js_call(J, 3);
			js_pop(J, 2);
		}
	}

	js_pushundefined(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
cmpl $0x3, %eax
setge %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5ab8
movq -0x8(%rbp), %rdi
leaq 0x3688c(%rip), %rsi     # 0x3c33d
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x14(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x5b6c
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5b5c
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
cmpl $0x0, -0xc(%rbp)
je 0x5b10
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x14410
jmp 0x5b19
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14410
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x10(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x17ea0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x4400
jmp 0x5b5e
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x5acd
movq -0x8(%rbp), %rdi
callq 0x8640
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_map
static void Ap_map(js_State *J)
{
	int hasthis = js_gettop(J) >= 3;
	int k, len;

	if (!js_iscallable(J, 1))
		js_typeerror(J, "callback is not a function");

	js_newarray(J);

	len = js_getlength(J, 0);
	for (k = 0; k < len; ++k) {
		if (js_hasindex(J, 0, k)) {
			js_copy(J, 1);
			if (hasthis)
				js_copy(J, 2);
			else
				js_pushundefined(J);
			js_copy(J, -3);
			js_pushnumber(J, k);
			js_copy(J, 0);
			js_call(J, 3);
			js_setindex(J, -3, k);
			js_pop(J, 1);
		}
	}
	js_setlength(J, -1, len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
cmpl $0x3, %eax
setge %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5bc8
movq -0x8(%rbp), %rdi
leaq 0x3677c(%rip), %rsi     # 0x3c33d
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rdi
callq 0x13830
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x14(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x5c9a
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5c8a
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
cmpl $0x0, -0xc(%rbp)
je 0x5c2d
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x14410
jmp 0x5c36
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14410
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x10(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x17ea0
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x13bb0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
jmp 0x5c8c
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x5be6
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %edx
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4470
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_filter
static void Ap_filter(js_State *J)
{
	int hasthis = js_gettop(J) >= 3;
	int k, to, len;

	if (!js_iscallable(J, 1))
		js_typeerror(J, "callback is not a function");

	js_newarray(J);
	to = 0;

	len = js_getlength(J, 0);
	for (k = 0; k < len; ++k) {
		if (js_hasindex(J, 0, k)) {
			js_copy(J, 1);
			if (hasthis)
				js_copy(J, 2);
			else
				js_pushundefined(J);
			js_copy(J, -3);
			js_pushnumber(J, k);
			js_copy(J, 0);
			js_call(J, 3);
			if (js_toboolean(J, -1)) {
				js_pop(J, 1);
				js_setindex(J, -2, to++);
			} else {
				js_pop(J, 2);
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
cmpl $0x3, %eax
setge %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5d08
movq -0x8(%rbp), %rdi
leaq 0x3663c(%rip), %rsi     # 0x3c33d
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rdi
callq 0x13830
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x18(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5e0e
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5dfe
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
cmpl $0x0, -0xc(%rbp)
je 0x5d74
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x14410
jmp 0x5d7d
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x14410
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x10(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x17ea0
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15620
cmpl $0x0, %eax
je 0x5dee
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %edx
movl %edx, %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x13bb0
jmp 0x5dfc
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x4400
jmp 0x5dfe
jmp 0x5e00
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x5d2d
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: Ap_reduce
static void Ap_reduce(js_State *J)
{
	int hasinitial = js_gettop(J) >= 3;
	int k, len;

	if (!js_iscallable(J, 1))
		js_typeerror(J, "callback is not a function");

	len = js_getlength(J, 0);
	k = 0;

	if (len == 0 && !hasinitial)
		js_typeerror(J, "no initial value");

	/* initial value of accumulator */
	if (hasinitial)
		js_copy(J, 2);
	else {
		while (k < len)
			if (js_hasindex(J, 0, k++))
				break;
		if (k == len)
			js_typeerror(J, "no initial value");
	}

	while (k < len) {
		if (js_hasindex(J, 0, k)) {
			js_copy(J, 1);
			js_pushundefined(J);
			js_rot(J, 4); /* accumulator on top */
			js_rot(J, 4); /* property on top */
			js_pushnumber(J, k);
			js_copy(J, 0);
			js_call(J, 4); /* calculate new accumulator */
		}
		++k;
	}

	/* return accumulator */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
cmpl $0x3, %eax
setge %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15290
cmpl $0x0, %eax
jne 0x5e68
movq -0x8(%rbp), %rdi
leaq 0x364dc(%rip), %rsi     # 0x3c33d
movb $0x0, %al
callq 0xbfe0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x4330
movl %eax, -0x14(%rbp)
movl $0x0, -0x10(%rbp)
cmpl $0x0, -0x14(%rbp)
jne 0x5e9b
cmpl $0x0, -0xc(%rbp)
jne 0x5e9b
movq -0x8(%rbp), %rdi
leaq 0x364c4(%rip), %rsi     # 0x3c358
movb $0x0, %al
callq 0xbfe0
cmpl $0x0, -0xc(%rbp)
je 0x5eb1
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x14410
jmp 0x5ef6
jmp 0x5eb3
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x5eda
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
movl %edx, %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5ed8
jmp 0x5eda
jmp 0x5eb3
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x5ef4
movq -0x8(%rbp), %rdi
leaq 0x3646b(%rip), %rsi     # 0x3c358
movb $0x0, %al
callq 0xbfe0
jmp 0x5ef6
jmp 0x5ef8
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x5f78
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
xorl %esi, %esi
callq 0x17b20
cmpl $0x0, %eax
je 0x5f6d
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x166e0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x166e0
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x10(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x17ea0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x5ef8
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsvalue.c
// Function: js_newcconstructor
void js_newcconstructor(js_State *J, js_CFunction cfun, js_CFunction ccon, const char *name, int length)
{
	js_Object *obj = jsV_newobject(J, JS_CCFUNCTION, J->Function_prototype);
	obj->u.c.name = name;
	obj->u.c.function = cfun;
	obj->u.c.constructor = ccon;
	obj->u.c.length = length;
	js_pushobject(J, obj); /* proto obj */
	{
		js_pushnumber(J, length);
		js_defproperty(J, -2, "length", JS_READONLY | JS_DONTENUM | JS_DONTCONF);
		js_rot2(J); /* obj proto */
		js_copy(J, -2); /* obj proto obj */
		js_defproperty(J, -2, "constructor", JS_DONTENUM);
		js_defproperty(J, -2, "prototype", JS_DONTENUM | JS_DONTCONF);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rdx
movl $0x4, %esi
callq 0x6bc0
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x30(%rax)
movl -0x24(%rbp), %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x38(%rax)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
cvtsi2sdl -0x24(%rbp), %xmm0
callq 0x44d0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x35c8a(%rip), %rdx     # 0x3bdfc
movl $0x7, %ecx
callq 0x65c0
movq -0x8(%rbp), %rdi
callq 0x162c0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x35fed(%rip), %rdx     # 0x3c190
movl $0x2, %ecx
callq 0x65c0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3567b(%rip), %rdx     # 0x3b838
movl $0x6, %ecx
callq 0x65c0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: jsB_new_Array
static void jsB_new_Array(js_State *J)
{
	int i, top = js_gettop(J);

	js_newarray(J);

	if (top == 2) {
		if (js_isnumber(J, 1)) {
			js_copy(J, 1);
			js_setproperty(J, -2, "length");
		} else {
			js_copy(J, 1);
			js_setindex(J, -2, 0);
		}
	} else {
		for (i = 1; i < top; ++i) {
			js_copy(J, i);
			js_setindex(J, -2, i - 1);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x13830
cmpl $0x2, -0x10(%rbp)
jne 0x624f
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15190
cmpl $0x0, %eax
je 0x622f
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x35bd4(%rip), %rdx     # 0x3bdfc
callq 0x4560
jmp 0x624d
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
xorl %edx, %edx
callq 0x13bb0
jmp 0x628b
movl $0x1, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x6289
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x14410
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
subl $0x1, %edx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x13bb0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6256
jmp 0x628b
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsarray.c
// Function: A_isArray
static void A_isArray(js_State *J)
{
	if (js_isobject(J, 1)) {
		js_Object *T = js_toobject(J, 1);
		js_pushboolean(J, T->type == JS_CARRAY);
	} else {
		js_pushboolean(J, 0);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x11730
cmpl $0x0, %eax
je 0x62eb
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x11760
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
cmpl $0x1, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %esi
callq 0x14e30
jmp 0x62f6
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14e30
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsboolean.c
// Function: jsB_initboolean
void jsB_initboolean(js_State *J)
{
	J->Boolean_prototype->u.boolean = 0;

	js_pushobject(J, J->Boolean_prototype);
	{
		jsB_propf(J, "Boolean.prototype.toString", Bp_toString, 0);
		jsB_propf(J, "Boolean.prototype.valueOf", Bp_valueOf, 0);
	}
	js_newcconstructor(J, jsB_Boolean, jsB_new_Boolean, "Boolean", 1);
	js_defglobal(J, "Boolean", JS_DONTENUM);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0xa8(%rax), %rax
movl $0x0, 0x20(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xa8(%rax), %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
leaq 0x34eac(%rip), %rsi     # 0x3b279
leaq 0x6c(%rip), %rdx        # 0x6440
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34eae(%rip), %rsi     # 0x3b294
leaq 0xc3(%rip), %rdx        # 0x64b0
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x101(%rip), %rsi       # 0x6500
leaq 0x13a(%rip), %rdx       # 0x6540
leaq 0x34ea1(%rip), %rcx     # 0x3b2ae
movl $0x1, %r8d
callq 0x60e0
movq -0x8(%rbp), %rdi
leaq 0x34e8b(%rip), %rsi     # 0x3b2ae
movl $0x2, %edx
callq 0x6300
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_pushliteral
void js_pushliteral(js_State *J, const char *v)
{
	CHECKSTACK(1);
	STACK[TOP].t.type = JS_TLITSTR;
	STACK[TOP].u.litstr = v;
	++TOP;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
addl $0x1, %eax
cmpl $0x1000, %eax           # imm = 0x1000
jl 0x66fd
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
movb $0x5, 0xf(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x148(%rax), %rax
movq -0x8(%rbp), %rdx
movslq 0x140(%rdx), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x140(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsproperty.c
// Function: jsV_newobject
js_Object *jsV_newobject(js_State *J, enum js_Class type, js_Object *prototype)
{
	js_Object *obj = js_malloc(J, sizeof *obj);
	memset(obj, 0, sizeof *obj);
	obj->gcmark = 0;
	obj->gcnext = J->gcobj;
	J->gcobj = obj;
	++J->gccounter;

	obj->type = type;
	obj->properties = &sentinel;
	obj->prototype = prototype;
	obj->extensible = 1;
	return obj;
}

// 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 $0x68, %esi
callq 0xd9d0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x3060
movq -0x20(%rbp), %rax
movl $0x0, 0x60(%rax)
movq -0x8(%rbp), %rax
movq 0x170(%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x170(%rax)
movq -0x8(%rbp), %rax
movl 0x154(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x154(%rax)
movl -0xc(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
leaq 0x41197(%rip), %rcx     # 0x47de0
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
movl $0x1, 0x4(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_strdup
char *js_strdup(js_State *J, const char *s)
{
	int n = strlen(s) + 1;
	char *p = js_malloc(J, n);
	memcpy(p, s, n);
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x31e0
addq $0x1, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0xd9d0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movslq -0x14(%rbp), %rdx
callq 0x33a0
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsfunction.c
// Function: jsB_initfunction
void jsB_initfunction(js_State *J)
{
	J->Function_prototype->u.c.name = "Function.prototype";
	J->Function_prototype->u.c.function = jsB_Function_prototype;
	J->Function_prototype->u.c.constructor = NULL;
	J->Function_prototype->u.c.length = 0;

	js_pushobject(J, J->Function_prototype);
	{
		jsB_propf(J, "Function.prototype.toString", Fp_toString, 2);
		jsB_propf(J, "Function.prototype.apply", Fp_apply, 2);
		jsB_propf(J, "Function.prototype.call", Fp_call, 1);
		jsB_propf(J, "Function.prototype.bind", Fp_bind, 1);
	}
	js_newcconstructor(J, jsB_Function, jsB_Function, "Function", 1);
	js_defglobal(J, "Function", JS_DONTENUM);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rax
leaq 0x34391(%rip), %rcx     # 0x3b82f
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rax
leaq 0x4f6c(%rip), %rcx      # 0xc420
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rax
movq $0x0, 0x30(%rax)
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rax
movl $0x0, 0x38(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
leaq 0x34346(%rip), %rsi     # 0x3b842
leaq 0x4f3d(%rip), %rdx      # 0xc440
movl $0x2, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34346(%rip), %rsi     # 0x3b85e
leaq 0x5161(%rip), %rdx      # 0xc680
movl $0x2, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34343(%rip), %rsi     # 0x3b877
leaq 0x5225(%rip), %rdx      # 0xc760
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x3433f(%rip), %rsi     # 0x3b88f
leaq 0x5289(%rip), %rdx      # 0xc7e0
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x53c4(%rip), %rdx      # 0xc930
leaq 0x34334(%rip), %rcx     # 0x3b8a7
movl $0x1, %r8d
movq %rdx, %rsi
callq 0x60e0
movq -0x8(%rbp), %rdi
leaq 0x3431b(%rip), %rsi     # 0x3b8a7
movl $0x2, %edx
callq 0x6300
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsnumber.c
// Function: jsB_initnumber
void jsB_initnumber(js_State *J)
{
	J->Number_prototype->u.number = 0;

	js_pushobject(J, J->Number_prototype);
	{
		jsB_propf(J, "Number.prototype.valueOf", Np_valueOf, 0);
		jsB_propf(J, "Number.prototype.toString", Np_toString, 1);
		jsB_propf(J, "Number.prototype.toLocaleString", Np_toString, 0);
		jsB_propf(J, "Number.prototype.toFixed", Np_toFixed, 1);
		jsB_propf(J, "Number.prototype.toExponential", Np_toExponential, 1);
		jsB_propf(J, "Number.prototype.toPrecision", Np_toPrecision, 1);
	}
	js_newcconstructor(J, jsB_Number, jsB_new_Number, "Number", 0); /* 1 */
	{
		jsB_propn(J, "MAX_VALUE", 1.7976931348623157e+308);
		jsB_propn(J, "MIN_VALUE", 5e-324);
		jsB_propn(J, "NaN", NAN);
		jsB_propn(J, "NEGATIVE_INFINITY", -INFINITY);
		jsB_propn(J, "POSITIVE_INFINITY", INFINITY);
	}
	js_defglobal(J, "Number", JS_DONTENUM);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0xb0(%rax), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x20(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xb0(%rax), %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
leaq 0x3446b(%rip), %rsi     # 0x3ba49
leaq 0x851b(%rip), %rdx      # 0xfb00
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x3446b(%rip), %rsi     # 0x3ba62
leaq 0x8552(%rip), %rdx      # 0xfb50
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34469(%rip), %rsi     # 0x3ba7c
leaq 0x8536(%rip), %rdx      # 0xfb50
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34470(%rip), %rsi     # 0x3ba9c
leaq 0x8b4d(%rip), %rdx      # 0x10180
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x3446d(%rip), %rsi     # 0x3bab5
leaq 0x8c81(%rip), %rdx      # 0x102d0
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34470(%rip), %rsi     # 0x3bad4
leaq 0x8d95(%rip), %rdx      # 0x10400
movl $0x1, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x8eb0(%rip), %rsi      # 0x10530
leaq 0x8f09(%rip), %rdx      # 0x10590
leaq 0x34463(%rip), %rcx     # 0x3baf1
xorl %r8d, %r8d
callq 0x60e0
movq -0x8(%rbp), %rdi
leaq 0x34457(%rip), %rsi     # 0x3baf8
movsd 0x2bd7f(%rip), %xmm0    # 0x33428
callq 0x6650
movq -0x8(%rbp), %rdi
leaq 0x34449(%rip), %rsi     # 0x3bb02
movsd 0x2bd5f(%rip), %xmm0    # 0x33420
callq 0x6650
movq -0x8(%rbp), %rdi
leaq 0x33c00(%rip), %rsi     # 0x3b2d1
movsd 0x2bd37(%rip), %xmm0    # 0x33410
callq 0x6650
movq -0x8(%rbp), %rdi
leaq 0x34423(%rip), %rsi     # 0x3bb0c
movsd 0x2bd27(%rip), %xmm0    # 0x33418
callq 0x6650
movq -0x8(%rbp), %rdi
leaq 0x3441d(%rip), %rsi     # 0x3bb1e
movsd 0x2bcff(%rip), %xmm0    # 0x33408
callq 0x6650
movq -0x8(%rbp), %rdi
leaq 0x343d8(%rip), %rsi     # 0x3baf1
movl $0x2, %edx
callq 0x6300
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsregexp.c
// Function: jsB_initregexp
void jsB_initregexp(js_State *J)
{
	js_pushobject(J, J->RegExp_prototype);
	{
		jsB_propf(J, "RegExp.prototype.toString", Rp_toString, 0);
		jsB_propf(J, "RegExp.prototype.test", Rp_test, 0);
		jsB_propf(J, "RegExp.prototype.exec", Rp_exec, 0);
	}
	js_newcconstructor(J, jsB_RegExp, jsB_new_RegExp, "RegExp", 1);
	js_defglobal(J, "RegExp", JS_DONTENUM);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xc0(%rax), %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
leaq 0x34385(%rip), %rsi     # 0x3bda0
leaq 0xc1fe(%rip), %rdx      # 0x13c20
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34386(%rip), %rsi     # 0x3bdba
leaq 0xc325(%rip), %rdx      # 0x13d60
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x34383(%rip), %rsi     # 0x3bdd0
leaq 0xc47c(%rip), %rdx      # 0x13ed0
xorl %ecx, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0xc4ba(%rip), %rsi      # 0x13f20
leaq 0xc4e3(%rip), %rdx      # 0x13f50
leaq 0x34372(%rip), %rcx     # 0x3bde6
movl $0x1, %r8d
callq 0x60e0
movq -0x8(%rbp), %rdi
leaq 0x3435c(%rip), %rsi     # 0x3bde6
movl $0x2, %edx
callq 0x6300
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./json.c
// Function: jsB_initjson
void jsB_initjson(js_State *J)
{
	js_pushobject(J, jsV_newobject(J, JS_CJSON, J->Object_prototype));
	{
		jsB_propf(J, "JSON.parse", JSON_parse, 2);
		jsB_propf(J, "JSON.stringify", JSON_stringify, 3);
	}
	js_defglobal(J, "JSON", JS_DONTENUM);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0xc, %esi
callq 0x6bc0
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x4870
movq -0x8(%rbp), %rdi
leaq 0x336fb(%rip), %rsi     # 0x3bcef
leaq 0x9295(%rip), %rdx      # 0x11890
movl $0x2, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x336ea(%rip), %rsi     # 0x3bcfa
leaq 0x9319(%rip), %rdx      # 0x11930
movl $0x3, %ecx
callq 0x4900
movq -0x8(%rbp), %rdi
leaq 0x33180(%rip), %rsi     # 0x3b7ac
movl $0x2, %edx
callq 0x6300
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsbuiltin.c
// Function: jsB_parseInt
static void jsB_parseInt(js_State *J)
{
	const char *s = js_tostring(J, 1);
	int radix = js_isdefined(J, 2) ? js_tointeger(J, 2) : 0;
	double sign = 1;
	double n;
	char *e;

	while (jsY_iswhite(*s) || jsY_isnewline(*s))
		++s;
	if (*s == '-') {
		++s;
		sign = -1;
	} else if (*s == '+') {
		++s;
	}
	if (radix == 0) {
		radix = 10;
		if (s[0] == '0' && (s[1] == 'x' || s[1] == 'X')) {
			s += 2;
			radix = 16;
		}
	} else if (radix < 2 || radix > 36) {
		js_pushnumber(J, NAN);
		return;
	}
	n = js_strtol(s, &e, radix);
	if (s == e)
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, n * sign);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14b80
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0x8744
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x43c0
movl %eax, -0x34(%rbp)
jmp 0x874b
xorl %eax, %eax
movl %eax, -0x34(%rbp)
jmp 0x874b
movl -0x34(%rbp), %eax
movl %eax, -0x14(%rbp)
movsd 0x2ad17(%rip), %xmm0    # 0x33470
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x35(%rbp)
jne 0x878b
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0xdf30
cmpl $0x0, %eax
setne %al
movb %al, -0x35(%rbp)
movb -0x35(%rbp), %al
testb $0x1, %al
jne 0x8794
jmp 0x87a2
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x875e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x87c9
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movsd 0x2ac3e(%rip), %xmm0    # 0x33400
movsd %xmm0, -0x20(%rbp)
jmp 0x87e3
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x87e1
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x87e3
cmpl $0x0, -0x14(%rbp)
jne 0x882b
movl $0xa, -0x14(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x8829
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x78, %eax
je 0x8816
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x58, %eax
jne 0x8829
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movl $0x10, -0x14(%rbp)
jmp 0x884c
cmpl $0x2, -0x14(%rbp)
jl 0x8837
cmpl $0x24, -0x14(%rbp)
jle 0x884a
movq -0x8(%rbp), %rdi
movsd 0x2abcd(%rip), %xmm0    # 0x33410
callq 0x44d0
jmp 0x8891
jmp 0x884c
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %edx
leaq -0x30(%rbp), %rsi
callq 0x1b0f0
movsd %xmm0, -0x28(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x30(%rbp), %rax
jne 0x887e
movq -0x8(%rbp), %rdi
movsd 0x2ab99(%rip), %xmm0    # 0x33410
callq 0x44d0
jmp 0x8891
movq -0x8(%rbp), %rdi
movsd -0x28(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
callq 0x44d0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsbuiltin.c
// Function: jsB_parseFloat
static void jsB_parseFloat(js_State *J)
{
	const char *s = js_tostring(J, 1);
	char *e;
	double n;

	while (jsY_iswhite(*s) || jsY_isnewline(*s)) ++s;
	if (!strncmp(s, "Infinity", 8))
		js_pushnumber(J, INFINITY);
	else if (!strncmp(s, "+Infinity", 9))
		js_pushnumber(J, INFINITY);
	else if (!strncmp(s, "-Infinity", 9))
		js_pushnumber(J, -INFINITY);
	else {
		n = js_stringtofloat(s, &e);
		if (e == s)
			js_pushnumber(J, NAN);
		else
			js_pushnumber(J, n);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14b80
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0xded0
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x21(%rbp)
jne 0x88eb
movq -0x10(%rbp), %rax
movsbl (%rax), %edi
callq 0xdf30
cmpl $0x0, %eax
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x88f4
jmp 0x8902
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x88be
movq -0x10(%rbp), %rdi
leaq 0x33824(%rip), %rsi     # 0x3c131
movl $0x8, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0x8932
movq -0x8(%rbp), %rdi
movsd 0x2aae0(%rip), %xmm0    # 0x33408
callq 0x44d0
jmp 0x89cf
movq -0x10(%rbp), %rdi
leaq 0x337f3(%rip), %rsi     # 0x3c130
movl $0x9, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0x895f
movq -0x8(%rbp), %rdi
movsd 0x2aab0(%rip), %xmm0    # 0x33408
callq 0x44d0
jmp 0x89cd
movq -0x10(%rbp), %rdi
leaq 0x337d0(%rip), %rsi     # 0x3c13a
movl $0x9, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0x898c
movq -0x8(%rbp), %rdi
movsd 0x2aa93(%rip), %xmm0    # 0x33418
callq 0x44d0
jmp 0x89cb
movq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x1b380
movsd %xmm0, -0x20(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x89bb
movq -0x8(%rbp), %rdi
movsd 0x2aa5c(%rip), %xmm0    # 0x33410
callq 0x44d0
jmp 0x89c9
movq -0x8(%rbp), %rdi
movsd -0x20(%rbp), %xmm0
callq 0x44d0
jmp 0x89cb
jmp 0x89cd
jmp 0x89cf
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jscompile.c
// Function: jsC_error
void jsC_error(js_State *J, js_Ast *node, 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, node->line);
	strcat(buf, msgbuf);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3e0, %rsp            # imm = 0x3E0
testb %al, %al
je 0x8bc7
movaps %xmm0, -0x3b0(%rbp)
movaps %xmm1, -0x3a0(%rbp)
movaps %xmm2, -0x390(%rbp)
movaps %xmm3, -0x380(%rbp)
movaps %xmm4, -0x370(%rbp)
movaps %xmm5, -0x360(%rbp)
movaps %xmm6, -0x350(%rbp)
movaps %xmm7, -0x340(%rbp)
movq %r9, -0x3b8(%rbp)
movq %r8, -0x3c0(%rbp)
movq %rcx, -0x3c8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq -0x30(%rbp), %rax
leaq -0x3e0(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x18, (%rax)
leaq -0x330(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rcx
movl $0x100, %esi            # imm = 0x100
callq 0x3290
leaq -0x30(%rbp), %rax
leaq -0x230(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rcx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %r8d
movl $0x100, %esi            # imm = 0x100
leaq 0x326cc(%rip), %rdx     # 0x3b318
movb $0x0, %al
callq 0x3080
leaq -0x230(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x3250
movq -0x8(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x8c80
movq -0x8(%rbp), %rdi
callq 0x8cb0
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_throw
void js_throw(js_State *J)
{
	if (J->trytop > 0) {
		js_Value v = *stackidx(J, -1);
		--J->trytop;
		J->E = J->trybuf[J->trytop].E;
		J->envtop = J->trybuf[J->trytop].envtop;
		J->tracetop = J->trybuf[J->trytop].tracetop;
		J->top = J->trybuf[J->trytop].top;
		J->bot = J->trybuf[J->trytop].bot;
		J->strict = J->trybuf[J->trytop].strict;
		js_pushvalue(J, v);
		longjmp(J->trybuf[J->trytop].buf, 1);
	}
	if (J->panic)
		J->panic(J);
	abort();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x8198(%rax)
jle 0x8e51
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x15050
movq (%rax), %rcx
movq %rcx, -0x18(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x8198(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8198(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movq 0xc8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x130(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movl 0xd0(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x188(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movl 0xd4(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2190(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movl 0xd8(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x140(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movl 0xdc(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x144(%rax)
movq -0x8(%rbp), %rax
addq $0x81a0, %rax           # imm = 0x81A0
movq -0x8(%rbp), %rcx
movslq 0x8198(%rcx), %rcx
imulq $0xf0, %rcx, %rcx
addq %rcx, %rax
movl 0xe0(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x34(%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x14d40
movq -0x8(%rbp), %rdi
addq $0x81a0, %rdi           # imm = 0x81A0
movq -0x8(%rbp), %rax
movslq 0x8198(%rax), %rax
imulq $0xf0, %rax, %rax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x8e6a
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
callq 0x30a0
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jscompile.c
// Function: newfun
static js_Function *newfun(js_State *J, int line, js_Ast *name, js_Ast *params, js_Ast *body, int script, int default_strict, int is_fun_exp)
{
	js_Function *F = js_malloc(J, sizeof *F);
	memset(F, 0, sizeof *F);
	F->gcmark = 0;
	F->gcnext = J->gcfun;
	J->gcfun = F;
	++J->gccounter;

	F->filename = js_intern(J, J->filename);
	F->line = line;
	F->script = script;
	F->strict = default_strict;
	F->name = name ? name->string : "";

	cfunbody(J, F, name, params, body, is_fun_exp);

	return F;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
movl $0x70, %esi
callq 0xd9d0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
xorl %esi, %esi
movl $0x70, %edx
callq 0x3060
movq -0x38(%rbp), %rax
movl $0x0, 0x68(%rax)
movq -0x8(%rbp), %rax
movq 0x168(%rax), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x38(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x168(%rax)
movq -0x8(%rbp), %rax
movl 0x154(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x154(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0xdc90
movq %rax, %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x50(%rax)
movl -0xc(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x58(%rax)
movl -0x2c(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x8(%rax)
movl 0x10(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x10(%rax)
cmpq $0x0, -0x18(%rbp)
je 0x8fa6
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x8fb3
leaq 0x33a8f(%rip), %rax     # 0x3ca3c
movq %rax, -0x40(%rbp)
jmp 0x8fb3
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl 0x18(%rbp), %r9d
callq 0x1e980
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getFullYear
static void Dp_getFullYear(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, YearFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x22d80
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x924e
jmp 0x9261
movq -0x8(%rbp), %rdi
movsd 0x2a1b6(%rip), %xmm0    # 0x33410
callq 0x44d0
jmp 0x9285
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x22e70
callq 0x23160
movq -0x18(%rbp), %rdi
cvtsi2sd %eax, %xmm0
callq 0x44d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCFullYear
static void Dp_getUTCFullYear(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, YearFromTime(t));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x22d80
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
ucomisd %xmm0, %xmm0
setp %al
testb $0x1, %al
jne 0x92be
jmp 0x92d1
movq -0x8(%rbp), %rdi
movsd 0x2a146(%rip), %xmm0    # 0x33410
callq 0x44d0
jmp 0x92f0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x23160
movq -0x18(%rbp), %rdi
cvtsi2sd %eax, %xmm0
callq 0x44d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)