// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./json.c
// Function: fmtobject
static void fmtobject(js_State *J, js_Buffer **sb, js_Object *obj, const char *gap, int level)
{
	const char *key;
	int save;
	int i, n;

	n = js_gettop(J) - 1;
	for (i = 4; i < n; ++i)
		if (js_isobject(J, i))
			if (js_toobject(J, i) == js_toobject(J, -1))
				js_typeerror(J, "cyclic object value");

	n = 0;
	js_putc(J, sb, '{');
	js_pushiterator(J, -1, 1);
	while ((key = js_nextiterator(J, -1))) {
		if (filterprop(J, key)) {
			save = (*sb)->n;
			if (n) js_putc(J, sb, ',');
			if (gap) fmtindent(J, sb, gap, level + 1);
			fmtstr(J, sb, key);
			js_putc(J, sb, ':');
			if (gap)
				js_putc(J, sb, ' ');
			js_rot2(J);
			if (!fmtvalue(J, sb, key, gap, level + 1))
				(*sb)->n = save;
			else
				++n;
			js_rot2(J);
		}
	}
	js_pop(J, 1);
	if (gap && n) fmtindent(J, sb, gap, level);
	js_putc(J, sb, '}');
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %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
callq 0x16000
subl $0x1, %eax
movl %eax, -0x3c(%rbp)
movl $0x4, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jge 0x274c6
movq -0x8(%rbp), %rdi
movl -0x38(%rbp), %esi
callq 0x11730
cmpl $0x0, %eax
je 0x274b9
movq -0x8(%rbp), %rdi
movl -0x38(%rbp), %esi
callq 0x11760
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x11760
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jne 0x274b7
movq -0x8(%rbp), %rdi
leaq 0x15e51(%rip), %rsi     # 0x3d301
movb $0x0, %al
callq 0xbfe0
jmp 0x274b9
jmp 0x274bb
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x27462
movl $0x0, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x7b, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x17d80
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x17dd0
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x275f2
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x276a0
cmpl $0x0, %eax
je 0x275ed
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl (%rax), %eax
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x3c(%rbp)
je 0x27548
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2c, %edx
callq 0xd910
cmpq $0x0, -0x20(%rbp)
je 0x27566
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
callq 0x27640
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x26ff0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x3a, %edx
callq 0xd910
cmpq $0x0, -0x20(%rbp)
je 0x275a2
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x20, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
callq 0x162c0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %r8d
addl $0x1, %r8d
callq 0x26b80
cmpl $0x0, %eax
jne 0x275db
movl -0x34(%rbp), %ecx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl %ecx, (%rax)
jmp 0x275e4
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x162c0
jmp 0x274f2
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x4400
cmpq $0x0, -0x20(%rbp)
je 0x27621
cmpl $0x0, -0x3c(%rbp)
je 0x27621
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
callq 0x27640
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x7d, %edx
callq 0xd910
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)