LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
movl 0x140(%rdi), %r14d
subl 0x144(%rdi), %r14d
movl $0x1, %esi
callq 0x14e17
testl %eax, %eax
je 0x605a
cmpl $0x3, %r14d
setge %r15b
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3fcc
movl %eax, %ebp
testl %eax, %eax
setne %al
orb %r15b, %al
je 0x6051
cmpl $0x2, %r14d
jle 0x5f2b
movq %rbx, %rdi
movl $0x2, %esi
callq 0x14073
xorl %r14d, %r14d
jmp 0x5f94
xorl %r14d, %r14d
testl %ebp, %ebp
movl $0x0, %r15d
cmovgl %ebp, %r15d
leaq 0x3a4b7(%rip), %r12     # 0x403f8
cmpl %r14d, %r15d
je 0x5f8b
movslq 0x144(%rbx), %rax
movq %r12, %rsi
testq %rax, %rax
js 0x5f6e
movq %r12, %rsi
cmpl 0x140(%rbx), %eax
jge 0x5f6e
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x15489
movq %rbx, %rdi
movq %rax, %rsi
movl %r14d, %edx
callq 0x16a4d
incl %r14d
testl %eax, %eax
je 0x5f41
cmpl %ebp, %r14d
je 0x6051
cmpl %ebp, %r14d
jge 0x6048
leaq 0x3a454(%rip), %r15     # 0x403f8
movslq 0x144(%rbx), %rax
movq %r15, %rsi
testq %rax, %rax
js 0x5fcc
movq %r15, %rsi
cmpl 0x140(%rbx), %eax
jge 0x5fcc
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movq %rax, %rsi
movq %rbx, %rdi
callq 0x15489
movq %rbx, %rdi
movq %rax, %rsi
movl %r14d, %edx
callq 0x16a4d
testl %eax, %eax
je 0x603c
movq %rbx, %rdi
movl $0x1, %esi
callq 0x14073
movq %rbx, %rdi
callq 0x89b6
movq %rbx, %rdi
movl $0x4, %esi
callq 0x15abb
movq %rbx, %rdi
movl $0x4, %esi
callq 0x15abb
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
movq %rbx, %rdi
callq 0x4184
movq %rbx, %rdi
xorl %esi, %esi
callq 0x14073
movq %rbx, %rdi
movl $0x4, %esi
callq 0x16c25
incl %r14d
cmpl %r14d, %ebp
jne 0x5fa4
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2dc55(%rip), %rsi     # 0x33cad
jmp 0x6061
leaq 0x2dc31(%rip), %rsi     # 0x33c92
movq %rbx, %rdi
xorl %eax, %eax
callq 0xcce3
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %r8d, %ebp
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
movq 0xa0(%rdi), %r13
movl $0x68, %esi
callq 0xe119
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq 0x170(%rbx), %rcx
movq %rcx, 0x50(%rax)
movq %rax, 0x170(%rbx)
incl 0x154(%rbx)
movabsq $0x100000004, %rcx      # imm = 0x100000004
movq %rcx, (%rax)
leaq 0x3a12b(%rip), %rcx     # 0x403b8
movq %rcx, 0x8(%rax)
movq %r13, 0x18(%rax)
movq %r14, 0x20(%rax)
movq %r12, 0x28(%rax)
movq %r15, 0x30(%rax)
movl %ebp, 0x38(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x44e7
xorps %xmm0, %xmm0
cvtsi2sd %ebp, %xmm0
movq %rbx, %rdi
callq 0x4184
leaq 0x2d48c(%rip), %rdx     # 0x33751
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
movups -0x10(%rax,%rcx), %xmm0
movaps %xmm0, (%rsp)
movups -0x20(%rax,%rcx), %xmm0
movups %xmm0, -0x10(%rax,%rcx)
movq 0x148(%rbx), %rax
movslq 0x140(%rbx), %rcx
shlq $0x4, %rcx
movaps (%rsp), %xmm0
movups %xmm0, -0x20(%rax,%rcx)
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x14073
leaq 0x2d7ba(%rip), %rdx     # 0x33ae5
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x2, %ecx
callq 0x66df
leaq 0x2ce60(%rip), %rdx     # 0x331a4
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x6, %ecx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x66df
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x140(%rdi), %ebp
subl 0x144(%rdi), %ebp
callq 0x135de
cmpl $0x2, %ebp
jne 0x63d9
movl 0x144(%rbx), %ecx
leaq 0x3a06a(%rip), %rax     # 0x403f8
cmpl $-0x1, %ecx
jl 0x63aa
incl %ecx
cmpl 0x140(%rbx), %ecx
jge 0x63aa
movl %ecx, %eax
shlq $0x4, %rax
addq 0x148(%rbx), %rax
movb 0xf(%rax), %bpl
movq %rbx, %rdi
movl $0x1, %esi
callq 0x14073
cmpb $0x4, %bpl
jne 0x640a
leaq 0x2d389(%rip), %rdx     # 0x33751
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
popq %rbx
popq %r14
popq %rbp
jmp 0x41f3
jl 0x6405
movl $0x1, %r14d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x14073
leal -0x1(%r14), %edx
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x1393c
incl %r14d
cmpl %ebp, %r14d
jne 0x63e1
popq %rbx
popq %r14
popq %rbp
retq
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
xorl %edx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x1393c
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
movq %rdi, %rbx
movl 0x144(%rdi), %ecx
leal 0x1(%rcx), %eax
leaq 0x39fc7(%rip), %rdx     # 0x403f8
cmpl $-0x1, %ecx
jl 0x644b
cmpl 0x140(%rbx), %eax
jge 0x644b
movl %eax, %edx
shlq $0x4, %rdx
addq 0x148(%rbx), %rdx
xorl %esi, %esi
cmpb $0x7, 0xf(%rdx)
jne 0x6485
leaq 0x39f9e(%rip), %rsi     # 0x403f8
cmpl $-0x1, %ecx
jl 0x6474
cmpl 0x140(%rbx), %eax
jge 0x6474
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x15489
xorl %esi, %esi
cmpl $0x1, (%rax)
sete %sil
movq %rbx, %rdi
popq %rbx
jmp 0x14ad9
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xa8(%rdi), %rax
movl $0x0, 0x20(%rax)
movq 0xa8(%rdi), %rsi
callq 0x44e7
leaq 0x2c6b2(%rip), %rsi     # 0x32be5
leaq 0x5f(%rip), %rdx        # 0x6599
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0x2c6b5(%rip), %rsi     # 0x32c00
leaq 0xb1(%rip), %rdx        # 0x6603
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0xf7(%rip), %rsi        # 0x665a
leaq 0x12d(%rip), %rdx       # 0x6697
leaq 0x2c6a9(%rip), %r14     # 0x32c1a
movq %rbx, %rdi
movq %r14, %rcx
movl $0x1, %r8d
callq 0x6211
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x648e
// File: /workspace/github_c_makefile_star2_O1/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:
movslq 0x140(%rdi), %rax
movq 0x148(%rdi), %rcx
cmpq $0xfff, %rax            # imm = 0xFFF
jge 0x67fd
shlq $0x4, %rax
movb $0x5, 0xf(%rcx,%rax)
movq 0x148(%rdi), %rax
movslq 0x140(%rdi), %rcx
shlq $0x4, %rcx
movq %rsi, (%rax,%rcx)
incl 0x140(%rdi)
retq
pushq %rax
shlq $0x4, %rax
movb $0x5, 0xf(%rcx,%rax)
movq 0x148(%rdi), %rax
movslq 0x140(%rdi), %rcx
shlq $0x4, %rcx
leaq 0x2e886(%rip), %rdx     # 0x350a6
movq %rdx, (%rax,%rcx)
incl 0x140(%rdi)
callq 0x8ec6
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r14
pushq %rbx
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movl $0x68, %esi
callq 0xe119
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq 0x170(%r14), %rcx
movq %rcx, 0x50(%rax)
movq %rax, 0x170(%r14)
incl 0x154(%r14)
movl %ebp, (%rax)
leaq 0x392bc(%rip), %rcx     # 0x403b8
movq %rcx, 0x8(%rax)
movq %rbx, 0x18(%rax)
movl $0x1, 0x4(%rax)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xa0(%rdi), %rax
leaq 0x2ba15(%rip), %rcx     # 0x3319b
movq %rcx, 0x20(%rax)
movq 0xa0(%rdi), %rax
leaq 0x58d0(%rip), %rcx      # 0xd068
movq %rcx, 0x28(%rax)
movq 0xa0(%rdi), %rax
movq $0x0, 0x30(%rax)
movq 0xa0(%rdi), %rax
movl $0x0, 0x38(%rax)
movq 0xa0(%rdi), %rsi
callq 0x44e7
leaq 0x2b9e2(%rip), %rsi     # 0x331ae
leaq 0x589a(%rip), %rdx      # 0xd06d
movq %rbx, %rdi
movl $0x2, %ecx
callq 0x4555
leaq 0x2b9e3(%rip), %rsi     # 0x331ca
leaq 0x5b65(%rip), %rdx      # 0xd353
movq %rbx, %rdi
movl $0x2, %ecx
callq 0x4555
leaq 0x2b9e1(%rip), %rsi     # 0x331e3
leaq 0x5c2f(%rip), %rdx      # 0xd438
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x4555
leaq 0x2b9de(%rip), %rsi     # 0x331fb
leaq 0x5c6e(%rip), %rdx      # 0xd492
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x4555
leaq 0x5d80(%rip), %rdx      # 0xd5b8
leaq 0x2b9d4(%rip), %r14     # 0x33213
movq %rbx, %rdi
movq %rdx, %rsi
movq %r14, %rcx
movl $0x1, %r8d
callq 0x6211
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x648e
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xb0(%rdi), %rax
movq $0x0, 0x20(%rax)
movq 0xb0(%rdi), %rsi
callq 0x44e7
leaq 0x2bb0b(%rip), %rsi     # 0x3339e
leaq 0x87e3(%rip), %rdx      # 0x1007d
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0x2bb0c(%rip), %rsi     # 0x333b7
leaq 0x8824(%rip), %r14      # 0x100d6
movq %rbx, %rdi
movq %r14, %rdx
movl $0x1, %ecx
callq 0x4555
leaq 0x2bb08(%rip), %rsi     # 0x333d1
movq %rbx, %rdi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x4555
leaq 0x2bb14(%rip), %rsi     # 0x333f1
leaq 0x8c81(%rip), %rdx      # 0x10565
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x4555
leaq 0x2bb12(%rip), %rsi     # 0x3340a
leaq 0x8d5d(%rip), %rdx      # 0x1065c
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x4555
leaq 0x2bb16(%rip), %rsi     # 0x33429
leaq 0x8e12(%rip), %rdx      # 0x1072c
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x4555
leaq 0x8ece(%rip), %rsi      # 0x107fc
leaq 0x8f1c(%rip), %rdx      # 0x10851
leaq 0x2bb0a(%rip), %r14     # 0x33446
movq %rbx, %rdi
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x6211
movsd 0x23b0e(%rip), %xmm0    # 0x2b460
movq %rbx, %rdi
callq 0x4184
leaq 0x2baec(%rip), %rdx     # 0x3344d
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movsd 0x23aed(%rip), %xmm0    # 0x2b468
movq %rbx, %rdi
callq 0x4184
leaq 0x2bacd(%rip), %rdx     # 0x33457
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movsd 0x23aac(%rip), %xmm0    # 0x2b450
movq %rbx, %rdi
callq 0x4184
leaq 0x2b28a(%rip), %rdx     # 0x32c3d
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movsd 0x23aa3(%rip), %xmm0    # 0x2b470
movq %rbx, %rdi
callq 0x4184
leaq 0x2ba85(%rip), %rdx     # 0x33461
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movsd 0x23a62(%rip), %xmm0    # 0x2b458
movq %rbx, %rdi
callq 0x4184
leaq 0x2ba6e(%rip), %rdx     # 0x33473
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x7, %ecx
callq 0x66df
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x648e
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xc0(%rdi), %rsi
callq 0x44e7
leaq 0x2ba39(%rip), %rsi     # 0x336f5
leaq 0xbd05(%rip), %rdx      # 0x139c8
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0x2ba3b(%rip), %rsi     # 0x3370f
leaq 0xbe2a(%rip), %rdx      # 0x13b05
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0x2ba39(%rip), %rsi     # 0x33725
leaq 0xbf28(%rip), %rdx      # 0x13c1b
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x4555
leaq 0xbf6e(%rip), %rsi      # 0x13c72
leaq 0xbf9f(%rip), %rdx      # 0x13caa
leaq 0x2ba29(%rip), %r14     # 0x3373b
movq %rbx, %rdi
movq %r14, %rcx
movl $0x1, %r8d
callq 0x6211
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x648e
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x90(%rdi), %r14
movl $0x68, %esi
callq 0xe119
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq 0x170(%rbx), %rcx
movq %rcx, 0x50(%rax)
movq %rax, 0x170(%rbx)
incl 0x154(%rbx)
movabsq $0x10000000c, %rcx      # imm = 0x10000000C
movq %rcx, (%rax)
leaq 0x37a66(%rip), %rcx     # 0x403b8
movq %rcx, 0x8(%rax)
movq %r14, 0x18(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x44e7
leaq 0x2acd8(%rip), %rsi     # 0x33644
leaq 0x93e3(%rip), %rdx      # 0x11d56
movq %rbx, %rdi
movl $0x2, %ecx
callq 0x4555
leaq 0x2acc8(%rip), %rsi     # 0x3364f
leaq 0x948b(%rip), %rdx      # 0x11e19
movq %rbx, %rdi
movl $0x3, %ecx
callq 0x4555
leaq 0x2a776(%rip), %rsi     # 0x33118
movq %rbx, %rdi
movl $0x2, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x648e
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movl 0x144(%rdi), %eax
leaq 0x379d1(%rip), %r15     # 0x403f8
movq %r15, %rsi
cmpl $-0x1, %eax
jl 0x8a49
incl %eax
movq %r15, %rsi
cmpl 0x140(%rbx), %eax
jge 0x8a49
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1533b
movq %rax, %r14
movl 0x144(%rbx), %eax
cmpl $-0x2, %eax
jl 0x8a78
addl $0x2, %eax
cmpl 0x140(%rbx), %eax
jge 0x8a78
movl %eax, %r15d
shlq $0x4, %r15
addq 0x148(%rbx), %r15
xorl %edx, %edx
cmpb $0x1, 0xf(%r15)
je 0x8a90
movq %rbx, %rdi
movl $0x2, %esi
callq 0x409b
movl %eax, %edx
movzbl (%r14), %eax
leal -0x9(%rax), %ecx
cmpl $0x5, %ecx
jae 0x8aa1
incq %r14
jmp 0x8a90
cmpl $0x20, %eax
je 0x8a9c
cmpl $0x2b, %eax
je 0x8abd
cmpl $0x2d, %eax
jne 0x8ac0
incq %r14
movsd 0x2298d(%rip), %xmm0    # 0x2b448
jmp 0x8ac8
incq %r14
movsd 0x229f0(%rip), %xmm0    # 0x2b4b8
testl %edx, %edx
je 0x8ad6
leal -0x25(%rdx), %eax
cmpl $-0x23, %eax
jae 0x8af7
jmp 0x8b20
movl $0xa, %edx
cmpb $0x30, (%r14)
jne 0x8af7
movzbl 0x1(%r14), %eax
orl $0x20, %eax
cmpl $0x78, %eax
jne 0x8af7
addq $0x2, %r14
movl $0x10, %edx
movsd %xmm0, (%rsp)
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x19da7
cmpq (%r15), %r14
je 0x8b20
movsd (%rsp), %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, %xmm0
jmp 0x8b28
movsd 0x22928(%rip), %xmm0    # 0x2b450
movq %rbx, %rdi
callq 0x4184
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movl 0x144(%rdi), %eax
leaq 0x378a5(%rip), %rsi     # 0x403f8
cmpl $-0x1, %eax
jl 0x8b6f
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x8b6f
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1533b
movq %rax, %r14
movzbl (%r14), %eax
leal -0x9(%rax), %ecx
cmpl $0x5, %ecx
jae 0x8b8b
incq %r14
jmp 0x8b7a
cmpl $0x20, %eax
je 0x8b86
leaq 0x2aeef(%rip), %rsi     # 0x33a86
movl $0x8, %edx
movq %r14, %rdi
callq 0x3160
movsd 0x228ac(%rip), %xmm0    # 0x2b458
testl %eax, %eax
je 0x8c0f
leaq 0x2aece(%rip), %rsi     # 0x33a85
movl $0x9, %edx
movq %r14, %rdi
callq 0x3160
movsd 0x2288c(%rip), %xmm0    # 0x2b458
testl %eax, %eax
je 0x8c0f
leaq 0x2aeb8(%rip), %rsi     # 0x33a8f
movl $0x9, %edx
movq %r14, %rdi
callq 0x3160
testl %eax, %eax
je 0x8c07
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1a027
cmpq (%r15), %r14
jne 0x8c0f
movsd 0x2284b(%rip), %xmm0    # 0x2b450
jmp 0x8c0f
movsd 0x22861(%rip), %xmm0    # 0x2b470
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x4184
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x20(%rsp), %rsi
movq %rcx, 0x18(%rsi)
movq %r8, 0x20(%rsi)
movq %r9, 0x28(%rsi)
testb %al, %al
je 0x8e41
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movabsq $0x3000000018, %rax     # imm = 0x3000000018
movq %rsp, %rcx
movq %rax, (%rcx)
leaq 0x3f0(%rsp), %rax
movq %rax, 0x8(%rcx)
movq %rsi, 0x10(%rcx)
leaq 0xd0(%rsp), %r15
movl $0x100, %esi            # imm = 0x100
movq %r15, %rdi
callq 0x32b0
movq 0x38(%rbx), %rcx
movl 0x4(%r14), %r8d
leaq 0x29dff(%rip), %rdx     # 0x32c84
leaq 0x1d0(%rsp), %r14
movl $0x100, %esi            # imm = 0x100
movq %r14, %rdi
xorl %eax, %eax
callq 0x3080
movq %r14, %rdi
movq %r15, %rsi
callq 0x3270
movq %rbx, %rdi
movq %r14, %rsi
callq 0x8eba
movq %rbx, %rdi
callq 0x8ec6
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movslq 0x8198(%rdi), %r14
testq %r14, %r14
jle 0x8f7a
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x14c24
movq (%rax), %rsi
movq 0x8(%rax), %rdx
decq %r14
movl %r14d, 0x8198(%rbx)
imulq $0xf0, %r14, %rax
movq 0x8268(%rbx,%rax), %rcx
movq %rcx, 0x130(%rbx)
movl 0x8270(%rbx,%rax), %ecx
movl %ecx, 0x188(%rbx)
movl 0x8274(%rbx,%rax), %ecx
movl %ecx, 0x2190(%rbx)
movl 0x8278(%rbx,%rax), %ecx
movl %ecx, 0x140(%rbx)
movl 0x827c(%rbx,%rax), %ecx
movl %ecx, 0x144(%rbx)
movl 0x8280(%rbx,%rax), %eax
movl %eax, 0x34(%rbx)
movq %rbx, %rdi
callq 0x14a7d
movslq 0x8198(%rbx), %rax
imulq $0xf0, %rax, %rax
leaq (%rbx,%rax), %rdi
addq $0x81a0, %rdi           # imm = 0x81A0
movl $0x1, %esi
callq 0x3320
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x8f88
movq %rbx, %rdi
callq *%rax
callq 0x30a0
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x94ce
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
callq 0x2080c
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21f7a(%rip), %xmm0    # 0x2b450
jmp 0x94c1
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x94fc
callq 0x2080c
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21f4c(%rip), %xmm0    # 0x2b450
jmp 0x94f3
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getMonth
static void Dp_getMonth(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, MonthFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x954b
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
callq 0x20936
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21efd(%rip), %xmm0    # 0x2b450
jmp 0x953e
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCMonth
static void Dp_getUTCMonth(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, MonthFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x9579
callq 0x20936
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21ecf(%rip), %xmm0    # 0x2b450
jmp 0x9570
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getDate
static void Dp_getDate(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, DateFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x95c8
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
callq 0x20a2e
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21e80(%rip), %xmm0    # 0x2b450
jmp 0x95bb
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCDate
static void Dp_getUTCDate(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, DateFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x95f6
callq 0x20a2e
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21e52(%rip), %xmm0    # 0x2b450
jmp 0x95ed
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getDay
static void Dp_getDay(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, WeekDay(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x968e
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
divsd 0x21e8c(%rip), %xmm0    # 0x2b4c0
callq 0x3370
cvttsd2si %xmm0, %eax
addl $0x4, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd 0x21e79(%rip), %xmm1    # 0x2b4c8
callq 0x31b0
movsd 0x21e6c(%rip), %xmm2    # 0x2b4c8
addsd %xmm0, %xmm2
movapd %xmm0, %xmm1
cmpltsd 0x21e63(%rip), %xmm1    # 0x2b4d0
andpd %xmm1, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21dba(%rip), %xmm0    # 0x2b450
jmp 0x9681
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCDay
static void Dp_getUTCDay(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, WeekDay(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x9705
divsd 0x21e11(%rip), %xmm0    # 0x2b4c0
callq 0x3370
cvttsd2si %xmm0, %eax
addl $0x4, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd 0x21dfe(%rip), %xmm1    # 0x2b4c8
callq 0x31b0
movsd 0x21df1(%rip), %xmm3    # 0x2b4c8
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21d43(%rip), %xmm0    # 0x2b450
jmp 0x96fc
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getHours
static void Dp_getHours(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, HourFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x978f
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
divsd 0x21d95(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x21d90(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movsd 0x21d83(%rip), %xmm2    # 0x2b4e0
addsd %xmm0, %xmm2
movapd %xmm0, %xmm1
cmpltsd 0x21d62(%rip), %xmm1    # 0x2b4d0
andpd %xmm1, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21cb9(%rip), %xmm0    # 0x2b450
jmp 0x9782
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCHours
static void Dp_getUTCHours(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, HourFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x97f8
divsd 0x21d28(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x21d23(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movsd 0x21d16(%rip), %xmm3    # 0x2b4e0
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21c50(%rip), %xmm0    # 0x2b450
jmp 0x97ef
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getMinutes
static void Dp_getMinutes(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, MinFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x9882
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
divsd 0x21cb2(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x21cad(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movsd 0x21ca0(%rip), %xmm2    # 0x2b4f0
addsd %xmm0, %xmm2
movapd %xmm0, %xmm1
cmpltsd 0x21c6f(%rip), %xmm1    # 0x2b4d0
andpd %xmm1, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21bc6(%rip), %xmm0    # 0x2b450
jmp 0x9875
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCMinutes
static void Dp_getUTCMinutes(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, MinFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x98eb
divsd 0x21c45(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x21c40(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movsd 0x21c33(%rip), %xmm3    # 0x2b4f0
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21b5d(%rip), %xmm0    # 0x2b450
jmp 0x98e2
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getSeconds
static void Dp_getSeconds(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, SecFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x9975
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
divsd 0x21bcf(%rip), %xmm0    # 0x2b4f8
callq 0x3370
movsd 0x21bba(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movsd 0x21bad(%rip), %xmm2    # 0x2b4f0
addsd %xmm0, %xmm2
movapd %xmm0, %xmm1
cmpltsd 0x21b7c(%rip), %xmm1    # 0x2b4d0
andpd %xmm1, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x21ad3(%rip), %xmm0    # 0x2b450
jmp 0x9968
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCSeconds
static void Dp_getUTCSeconds(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, SecFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x99de
divsd 0x21b62(%rip), %xmm0    # 0x2b4f8
callq 0x3370
movsd 0x21b4d(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movsd 0x21b40(%rip), %xmm3    # 0x2b4f0
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21a6a(%rip), %xmm0    # 0x2b450
jmp 0x99d5
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getMilliseconds
static void Dp_getMilliseconds(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, msFromTime(LocalTime(t)));
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x9a5b
callq 0x204c6
addsd 0x8(%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd 0x21adc(%rip), %xmm1    # 0x2b4f8
callq 0x31b0
movsd 0x21acf(%rip), %xmm2    # 0x2b4f8
addsd %xmm0, %xmm2
movapd %xmm0, %xmm1
cmpltsd 0x21a96(%rip), %xmm1    # 0x2b4d0
andpd %xmm1, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x219ed(%rip), %xmm0    # 0x2b450
jmp 0x9a4e
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getUTCMilliseconds
static void Dp_getUTCMilliseconds(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, msFromTime(t));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x203f2
ucomisd %xmm0, %xmm0
jp 0x9ab7
movsd 0x21a7c(%rip), %xmm1    # 0x2b4f8
callq 0x31b0
movsd 0x21a6f(%rip), %xmm3    # 0x2b4f8
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movq %rbx, %rdi
popq %rbx
jmp 0x4184
movsd 0x21991(%rip), %xmm0    # 0x2b450
jmp 0x9aae
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_getTimezoneOffset
static void Dp_getTimezoneOffset(js_State *J)
{
	double t = js_todate(J, 0);
	if (isnan(t))
		js_pushnumber(J, NAN);
	else
		js_pushnumber(J, (t - LocalTime(t)) / msPerMinute);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
ucomisd %xmm0, %xmm0
jp 0x9b0e
callq 0x204c6
movsd 0x8(%rsp), %xmm2
addsd %xmm2, %xmm0
xorpd %xmm1, %xmm1
addsd %xmm0, %xmm1
subsd %xmm1, %xmm2
divsd 0x219eb(%rip), %xmm2    # 0x2b4e8
movq %rbx, %rdi
movapd %xmm2, %xmm0
addq $0x10, %rsp
popq %rbx
jmp 0x4184
movsd 0x2193a(%rip), %xmm2    # 0x2b450
jmp 0x9afd
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_setMilliseconds
static void Dp_setMilliseconds(js_State *J)
{
	double t = LocalTime(js_todate(J, 0));
	double h = HourFromTime(t);
	double m = MinFromTime(t);
	double s = SecFromTime(t);
	double ms = js_tonumber(J, 1);
	js_setdate(J, 0, UTC(MakeDate(Day(t), MakeTime(h, m, s, ms))));
}

// Assembly:
pushq %rbx
subq $0x50, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, (%rsp)
callq 0x204c6
addsd (%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, (%rsp)
divsd 0x21951(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x2194c(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movapd %xmm0, 0x20(%rsp)
movsd (%rsp), %xmm0
divsd 0x2193c(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x21937(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movapd %xmm0, 0x10(%rsp)
movsd (%rsp), %xmm0
divsd 0x21927(%rip), %xmm0    # 0x2b4f8
callq 0x3370
movsd 0x21912(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movl 0x144(%rbx), %eax
leaq 0x36808(%rip), %rsi     # 0x403f8
cmpl $-0x1, %eax
jl 0x9c0c
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x9c0c
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movapd %xmm0, %xmm1
movsd 0x218d8(%rip), %xmm2    # 0x2b4f0
addsd %xmm2, %xmm1
movapd %xmm2, %xmm4
movapd %xmm0, %xmm2
xorpd %xmm3, %xmm3
cmpltsd %xmm3, %xmm2
andpd %xmm2, %xmm1
andnpd %xmm0, %xmm2
orpd %xmm1, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm0
addsd %xmm4, %xmm0
movapd %xmm2, %xmm1
cmpltsd %xmm3, %xmm1
andpd %xmm1, %xmm0
andnpd %xmm2, %xmm1
orpd %xmm0, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movsd 0x21862(%rip), %xmm0    # 0x2b4e0
movapd 0x20(%rsp), %xmm2
addsd %xmm2, %xmm0
movapd %xmm2, %xmm1
cmpltsd %xmm3, %xmm1
andpd %xmm1, %xmm0
andnpd %xmm2, %xmm1
orpd %xmm0, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movq %rbx, %rdi
callq 0x1514c
movsd %xmm0, 0x20(%rsp)
movsd (%rsp), %xmm0
divsd 0x217fb(%rip), %xmm0    # 0x2b4c0
callq 0x3370
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm2
movsd 0x21816(%rip), %xmm0    # 0x2b4f0
movapd 0x30(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd 0x10(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd 0x40(%rsp), %xmm1
mulsd 0x217fc(%rip), %xmm1    # 0x2b4f8
addsd 0x20(%rsp), %xmm1
mulsd 0x217b6(%rip), %xmm2    # 0x2b4c0
addsd %xmm1, %xmm2
movapd %xmm2, (%rsp)
callq 0x204c6
movapd (%rsp), %xmm1
subsd %xmm0, %xmm1
movapd %xmm1, (%rsp)
callq 0x204c6
movq %rbx, %rdi
movaps (%rsp), %xmm0
addq $0x50, %rsp
popq %rbx
jmp 0x20bcf
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_setUTCMilliseconds
static void Dp_setUTCMilliseconds(js_State *J)
{
	double t = js_todate(J, 0);
	double h = HourFromTime(t);
	double m = MinFromTime(t);
	double s = SecFromTime(t);
	double ms = js_tonumber(J, 1);
	js_setdate(J, 0, MakeDate(Day(t), MakeTime(h, m, s, ms)));
}

// Assembly:
pushq %rbx
subq $0x50, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
divsd 0x21781(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x2177c(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movapd %xmm0, 0x20(%rsp)
movsd 0x8(%rsp), %xmm0
divsd 0x2176b(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x21766(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movapd %xmm0, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
divsd 0x21755(%rip), %xmm0    # 0x2b4f8
callq 0x3370
movsd 0x21740(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movl 0x144(%rbx), %eax
leaq 0x36636(%rip), %rsi     # 0x403f8
cmpl $-0x1, %eax
jl 0x9dde
incl %eax
cmpl 0x140(%rbx), %eax
jge 0x9dde
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movapd %xmm0, %xmm1
movsd 0x21706(%rip), %xmm2    # 0x2b4f0
addsd %xmm2, %xmm1
movapd %xmm2, %xmm4
xorpd %xmm2, %xmm2
movapd %xmm0, %xmm3
cmpltsd %xmm2, %xmm3
andpd %xmm3, %xmm1
andnpd %xmm0, %xmm3
orpd %xmm1, %xmm3
cvttpd2dq %xmm3, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movapd 0x10(%rsp), %xmm3
movapd %xmm3, %xmm0
addsd %xmm4, %xmm0
movapd %xmm3, %xmm1
cmpltsd %xmm2, %xmm1
andpd %xmm1, %xmm0
andnpd %xmm3, %xmm1
orpd %xmm0, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movsd 0x21690(%rip), %xmm0    # 0x2b4e0
movapd 0x20(%rsp), %xmm3
addsd %xmm3, %xmm0
movapd %xmm3, %xmm1
cmpltsd %xmm2, %xmm1
andpd %xmm1, %xmm0
andnpd %xmm3, %xmm1
orpd %xmm0, %xmm1
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movq %rbx, %rdi
callq 0x1514c
movsd %xmm0, 0x20(%rsp)
movsd 0x8(%rsp), %xmm0
divsd 0x21628(%rip), %xmm0    # 0x2b4c0
callq 0x3370
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
movsd 0x21643(%rip), %xmm1    # 0x2b4f0
movapd 0x30(%rsp), %xmm2
mulsd %xmm1, %xmm2
addsd 0x10(%rsp), %xmm2
mulsd %xmm1, %xmm2
addsd 0x40(%rsp), %xmm2
mulsd 0x21629(%rip), %xmm2    # 0x2b4f8
addsd 0x20(%rsp), %xmm2
mulsd 0x215e3(%rip), %xmm0    # 0x2b4c0
addsd %xmm2, %xmm0
movq %rbx, %rdi
addq $0x50, %rsp
popq %rbx
jmp 0x20bcf
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_setSeconds
static void Dp_setSeconds(js_State *J)
{
	double t = LocalTime(js_todate(J, 0));
	double h = HourFromTime(t);
	double m = MinFromTime(t);
	double s = js_tonumber(J, 1);
	double ms = js_optnumber(J, 2, msFromTime(t));
	js_setdate(J, 0, UTC(MakeDate(Day(t), MakeTime(h, m, s, ms))));
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, (%rsp)
callq 0x204c6
addsd (%rsp), %xmm0
xorpd %xmm1, %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movapd %xmm1, %xmm0
divsd 0x215b3(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x215ae(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movapd %xmm0, 0x20(%rsp)
movsd (%rsp), %xmm0
divsd 0x2159e(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x21599(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movapd %xmm0, 0x10(%rsp)
movl 0x144(%rbx), %eax
leaq 0x36489(%rip), %r14     # 0x403f8
movq %r14, %rsi
cmpl $-0x1, %eax
jl 0x9f91
incl %eax
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0x9f91
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1514c
movsd %xmm0, 0x38(%rsp)
movl 0x144(%rbx), %ecx
leal 0x2(%rcx), %eax
cmpl $-0x2, %ecx
jge 0x9fb4
movsd (%rsp), %xmm0
jmp 0x9fcf
cmpl 0x140(%rbx), %eax
movsd (%rsp), %xmm0
jge 0x9fcf
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
cmpb $0x1, 0xf(%r14)
jne 0xa01d
movsd 0x2151a(%rip), %xmm1    # 0x2b4f8
callq 0x31b0
movsd (%rsp), %xmm5
movsd 0x21508(%rip), %xmm3    # 0x2b4f8
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movapd %xmm0, 0x40(%rsp)
jmp 0xa051
leaq 0x363d4(%rip), %rsi     # 0x403f8
cmpl $-0x2, %ecx
jl 0xa03e
cmpl 0x140(%rbx), %eax
jge 0xa03e
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1514c
movapd %xmm0, 0x40(%rsp)
movsd (%rsp), %xmm5
movapd 0x10(%rsp), %xmm3
movapd %xmm3, %xmm0
movsd 0x2148d(%rip), %xmm1    # 0x2b4f0
addsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
movapd %xmm3, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm0
andnpd %xmm3, %xmm2
orpd %xmm0, %xmm2
movsd 0x21458(%rip), %xmm0    # 0x2b4e0
movapd 0x20(%rsp), %xmm4
addsd %xmm4, %xmm0
movapd %xmm4, %xmm3
cmpltsd %xmm1, %xmm3
andpd %xmm3, %xmm0
andnpd %xmm4, %xmm3
orpd %xmm0, %xmm3
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
cvttpd2dq %xmm3, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
divsd 0x213f7(%rip), %xmm5    # 0x2b4c0
movapd %xmm5, %xmm0
callq 0x3370
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm1
movsd 0x2140e(%rip), %xmm0    # 0x2b4f0
movapd 0x10(%rsp), %xmm2
mulsd %xmm0, %xmm2
addsd 0x20(%rsp), %xmm2
mulsd %xmm0, %xmm2
addsd 0x38(%rsp), %xmm2
mulsd 0x213f4(%rip), %xmm2    # 0x2b4f8
addsd 0x40(%rsp), %xmm2
mulsd 0x213ae(%rip), %xmm1    # 0x2b4c0
addsd %xmm2, %xmm1
movapd %xmm1, (%rsp)
callq 0x204c6
movapd (%rsp), %xmm1
subsd %xmm0, %xmm1
movapd %xmm1, (%rsp)
callq 0x204c6
movq %rbx, %rdi
movaps (%rsp), %xmm0
addq $0x58, %rsp
popq %rbx
popq %r14
jmp 0x20bcf
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_setUTCSeconds
static void Dp_setUTCSeconds(js_State *J)
{
	double t = js_todate(J, 0);
	double h = HourFromTime(t);
	double m = MinFromTime(t);
	double s = js_tonumber(J, 1);
	double ms = js_optnumber(J, 2, msFromTime(t));
	js_setdate(J, 0, MakeDate(Day(t), MakeTime(h, m, s, ms)));
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
divsd 0x21375(%rip), %xmm0    # 0x2b4d8
callq 0x3370
movsd 0x21370(%rip), %xmm1    # 0x2b4e0
callq 0x31b0
movapd %xmm0, 0x20(%rsp)
movsd 0x8(%rsp), %xmm0
divsd 0x2135f(%rip), %xmm0    # 0x2b4e8
callq 0x3370
movsd 0x2135a(%rip), %xmm1    # 0x2b4f0
callq 0x31b0
movapd %xmm0, 0x10(%rsp)
movl 0x144(%rbx), %eax
leaq 0x3624a(%rip), %r14     # 0x403f8
movq %r14, %rsi
cmpl $-0x1, %eax
jl 0xa1d0
incl %eax
movq %r14, %rsi
cmpl 0x140(%rbx), %eax
jge 0xa1d0
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1514c
movsd %xmm0, 0x38(%rsp)
movl 0x144(%rbx), %ecx
leal 0x2(%rcx), %eax
cmpl $-0x2, %ecx
jge 0xa1f4
movsd 0x8(%rsp), %xmm0
jmp 0xa210
cmpl 0x140(%rbx), %eax
movsd 0x8(%rsp), %xmm0
jge 0xa210
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
cmpb $0x1, 0xf(%r14)
jne 0xa25f
movsd 0x212d9(%rip), %xmm1    # 0x2b4f8
callq 0x31b0
movsd 0x8(%rsp), %xmm5
movsd 0x212c6(%rip), %xmm3    # 0x2b4f8
addsd %xmm0, %xmm3
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm3
andnpd %xmm0, %xmm2
orpd %xmm3, %xmm2
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movapd %xmm0, 0x40(%rsp)
jmp 0xa294
leaq 0x36192(%rip), %rsi     # 0x403f8
cmpl $-0x2, %ecx
jl 0xa280
cmpl 0x140(%rbx), %eax
jge 0xa280
movl %eax, %esi
shlq $0x4, %rsi
addq 0x148(%rbx), %rsi
movq %rbx, %rdi
callq 0x1514c
movapd %xmm0, 0x40(%rsp)
movsd 0x8(%rsp), %xmm5
movapd 0x10(%rsp), %xmm3
movapd %xmm3, %xmm0
movsd 0x2124a(%rip), %xmm1    # 0x2b4f0
addsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
movapd %xmm3, %xmm2
cmpltsd %xmm1, %xmm2
andpd %xmm2, %xmm0
andnpd %xmm3, %xmm2
orpd %xmm0, %xmm2
movsd 0x21215(%rip), %xmm0    # 0x2b4e0
movapd 0x20(%rsp), %xmm4
addsd %xmm4, %xmm0
movapd %xmm4, %xmm3
cmpltsd %xmm1, %xmm3
andpd %xmm3, %xmm0
andnpd %xmm4, %xmm3
orpd %xmm0, %xmm3
cvttpd2dq %xmm2, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
cvttpd2dq %xmm3, %xmm0
cvtdq2pd %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
divsd 0x211b4(%rip), %xmm5    # 0x2b4c0
movapd %xmm5, %xmm0
callq 0x3370
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
movsd 0x211cb(%rip), %xmm1    # 0x2b4f0
movapd 0x10(%rsp), %xmm2
mulsd %xmm1, %xmm2
addsd 0x20(%rsp), %xmm2
mulsd %xmm1, %xmm2
addsd 0x38(%rsp), %xmm2
mulsd 0x211b1(%rip), %xmm2    # 0x2b4f8
addsd 0x40(%rsp), %xmm2
mulsd 0x2116b(%rip), %xmm0    # 0x2b4c0
addsd %xmm2, %xmm0
movq %rbx, %rdi
addq $0x58, %rsp
popq %rbx
popq %r14
jmp 0x20bcf
// File: /workspace/github_c_makefile_star2_O1/ccxvii[P]mujs/./jsdate.c
// Function: Dp_setDate
static void Dp_setDate(js_State *J)
{
	double t = LocalTime(js_todate(J, 0));
	double y = YearFromTime(t);
	double m = MonthFromTime(t);
	double d = js_tonumber(J, 1);
	js_setdate(J, 0, UTC(MakeDate(MakeDay(y, m, d), TimeWithinDay(t))));
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
callq 0x203f2
movsd %xmm0, 0x8(%rsp)
callq 0x204c6
movl 0x144(%rbx), %eax
leaq 0x3558d(%rip), %r14     # 0x403f8
cmpl $-0x1, %eax
jl 0xae88
incl %eax
cmpl 0x140(%rbx), %eax
jge 0xae88
movl %eax, %r14d
shlq $0x4, %r14
addq 0x148(%rbx), %r14
movsd 0x8(%rsp), %xmm1
addsd %xmm0, %xmm1
xorpd %xmm0, %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 0x8(%rsp)
movapd %xmm1, %xmm0
callq 0x20936
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, (%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x2080c
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x10(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1514c
movapd %xmm0, %xmm2
movsd 0x10(%rsp), %xmm0
movsd (%rsp), %xmm1
callq 0x20caa
movsd %xmm0, (%rsp)
movsd 0x205c7(%rip), %xmm1    # 0x2b4c0
movsd 0x8(%rsp), %xmm0
callq 0x31b0
movapd %xmm0, %xmm1
movsd 0x205b0(%rip), %xmm3    # 0x2b4c0
addsd %xmm3, %xmm1
movapd %xmm0, %xmm2
cmpltsd 0x205af(%rip), %xmm2    # 0x2b4d0
andpd %xmm2, %xmm1
andnpd %xmm0, %xmm2
orpd %xmm1, %xmm2
movsd (%rsp), %xmm0
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd %xmm0, (%rsp)
callq 0x204c6
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
callq 0x204c6
movq %rbx, %rdi
movsd (%rsp), %xmm0
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0x20bcf