// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsdate.c
// Function: jsB_new_Date
static void jsB_new_Date(js_State *J)
{
	int top = js_gettop(J);
	js_Object *obj;
	double t;

	if (top == 1)
		t = Now();
	else if (top == 2) {
		js_toprimitive(J, 1, JS_HNONE);
		if (js_isstring(J, 1))
			t = parseDateTime(js_tostring(J, 1));
		else
			t = TimeClip(js_tonumber(J, 1));
	} else {
		double y, m, d, H, M, S, ms;
		y = js_tonumber(J, 1);
		if (y < 100) y += 1900;
		m = js_tonumber(J, 2);
		d = js_optnumber(J, 3, 1);
		H = js_optnumber(J, 4, 0);
		M = js_optnumber(J, 5, 0);
		S = js_optnumber(J, 6, 0);
		ms = js_optnumber(J, 7, 0);
		t = MakeDate(MakeDay(y, m, d), MakeTime(H, M, S, ms));
		t = TimeClip(UTC(t));
	}

	obj = jsV_newobject(J, JS_CDATE, J->Date_prototype);
	obj->u.number = t;

	js_pushobject(J, obj);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16000
movl %eax, -0xc(%rbp)
cmpl $0x1, -0xc(%rbp)
jne 0xa990
callq 0x23b90
movsd %xmm0, -0x20(%rbp)
jmp 0xabcb
cmpl $0x2, -0xc(%rbp)
jne 0xa9f3
movq -0x8(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x15d80
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x151c0
cmpl $0x0, %eax
je 0xa9d6
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x14b80
movq %rax, %rdi
callq 0x23be0
movsd %xmm0, -0x20(%rbp)
jmp 0xa9ee
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15750
callq 0x23880
movsd %xmm0, -0x20(%rbp)
jmp 0xabc9
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15750
movsd %xmm0, -0x28(%rbp)
movsd 0x28a72(%rip), %xmm0    # 0x33480
ucomisd -0x28(%rbp), %xmm0
jbe 0xaa27
movsd 0x28a6b(%rip), %xmm0    # 0x33488
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x15750
movsd %xmm0, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0xaa62
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x15750
movsd %xmm0, -0x60(%rbp)
jmp 0xaa71
movsd 0x28a06(%rip), %xmm0    # 0x33470
movsd %xmm0, -0x60(%rbp)
jmp 0xaa71
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0xaaa3
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x15750
movsd %xmm0, -0x68(%rbp)
jmp 0xaaad
xorps %xmm0, %xmm0
movsd %xmm0, -0x68(%rbp)
jmp 0xaaad
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movl $0x5, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0xaadf
movq -0x8(%rbp), %rdi
movl $0x5, %esi
callq 0x15750
movsd %xmm0, -0x70(%rbp)
jmp 0xaae9
xorps %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
jmp 0xaae9
movsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0x8(%rbp), %rdi
movl $0x6, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0xab1b
movq -0x8(%rbp), %rdi
movl $0x6, %esi
callq 0x15750
movsd %xmm0, -0x78(%rbp)
jmp 0xab25
xorps %xmm0, %xmm0
movsd %xmm0, -0x78(%rbp)
jmp 0xab25
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movl $0x7, %esi
callq 0x150d0
cmpl $0x0, %eax
je 0xab57
movq -0x8(%rbp), %rdi
movl $0x7, %esi
callq 0x15750
movsd %xmm0, -0x80(%rbp)
jmp 0xab61
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
jmp 0xab61
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x28(%rbp), %xmm0
movsd -0x30(%rbp), %xmm1
movsd -0x38(%rbp), %xmm2
callq 0x23a60
movsd %xmm0, -0x88(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
movsd -0x50(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x23a00
movaps %xmm0, %xmm1
movsd -0x88(%rbp), %xmm0
callq 0x239d0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x23970
callq 0x23880
movsd %xmm0, -0x20(%rbp)
jmp 0xabcb
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xc8(%rax), %rdx
movl $0xa, %esi
callq 0x6bc0
movq %rax, -0x18(%rbp)
movsd -0x20(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4870
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)