// File: /workspace/github_c_makefile_star2_O1/ArtifexSoftware[P]mujs/pp.c
// Function: pstm
static void pstm(int d, js_Ast *stm)
{
	if (stm->type == STM_BLOCK) {
		pblock(d, stm);
		return;
	}

	in(d);

	switch (stm->type) {
	case AST_FUNDEC:
		ps("function ");
		pexp(d, stm->a);
		pc('(');
		pargs(d, stm->b);
		pc(')'); sp(); pc('{'); nl();
		pstmlist(d, stm->c);
		in(d); pc('}');
		break;

	case STM_EMPTY:
		pc(';');
		break;

	case STM_VAR:
		ps("var ");
		pvarlist(d, stm->a);
		pc(';');
		break;

	case STM_IF:
		ps("if"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		if (stm->c) {
			nl(); in(d); ps("else");
			pstmh(d, stm->c);
		}
		break;

	case STM_DO:
		ps("do");
		pstmh(d, stm->a);
		nl();
		in(d); ps("while"); sp(); pc('('); pexp(d, stm->b); pc(')'); pc(';');
		break;

	case STM_WHILE:
		ps("while"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		break;

	case STM_FOR:
		ps("for"); sp(); pc('(');
		pexp(d, stm->a); pc(';'); sp();
		pexp(d, stm->b); pc(';'); sp();
		pexp(d, stm->c); pc(')');
		pstmh(d, stm->d);
		break;
	case STM_FOR_VAR:
		ps("for"); sp(); ps("(var ");
		pvarlist(d, stm->a); pc(';'); sp();
		pexp(d, stm->b); pc(';'); sp();
		pexp(d, stm->c); pc(')');
		pstmh(d, stm->d);
		break;
	case STM_FOR_IN:
		ps("for"); sp(); pc('(');
		pexp(d, stm->a); ps(" in ");
		pexp(d, stm->b); pc(')');
		pstmh(d, stm->c);
		break;
	case STM_FOR_IN_VAR:
		ps("for"); sp(); ps("(var ");
		pvarlist(d, stm->a); ps(" in ");
		pexp(d, stm->b); pc(')');
		pstmh(d, stm->c);
		break;

	case STM_CONTINUE:
		ps("continue");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_BREAK:
		ps("break");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_RETURN:
		ps("return");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_WITH:
		ps("with"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		break;

	case STM_SWITCH:
		ps("switch"); sp(); pc('(');
		pexp(d, stm->a);
		pc(')'); sp(); pc('{'); nl();
		pcaselist(d, stm->b);
		in(d); pc('}');
		break;

	case STM_THROW:
		ps("throw "); pexp(d, stm->a); pc(';');
		break;

	case STM_TRY:
		ps("try");
		if (minify && stm->a->type != STM_BLOCK)
			pc(' ');
		pstmh(d, stm->a);
		if (stm->b && stm->c) {
			nl(); in(d); ps("catch"); sp(); pc('('); pexp(d, stm->b); pc(')');
			pstmh(d, stm->c);
		}
		if (stm->d) {
			nl(); in(d); ps("finally");
			pstmh(d, stm->d);
		}
		break;

	case STM_LABEL:
		pexp(d, stm->a); pc(':'); sp(); pstm(d, stm->b);
		break;

	case STM_DEBUGGER:
		ps("debugger");
		pc(';');
		break;

	default:
		pexp(d, stm);
		pc(';');
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movl %edi, %ebx
leal 0x1(%rbx), %ebp
leaq 0x29455(%rip), %r15     # 0x2e098
cmpl $0x47, (%r14)
je 0x4d67
testl %ebx, %ebx
jle 0x4c70
cmpl $0x0, 0x3f768(%rip)     # 0x443c0
jg 0x4c70
movl %ebp, %r12d
movl $0x9, %edi
callq 0x4040
decl %r12d
cmpl $0x1, %r12d
jg 0x4c5d
movl (%r14), %eax
leal -0x48(%rax), %ecx
cmpl $0x11, %ecx
ja 0x4cb4
movslq (%r15,%rcx,4), %rax
addq %r15, %rax
jmpq *%rax
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x3a, %edi
callq 0x4040
cmpl $0x0, 0x3f71e(%rip)     # 0x443c0
jg 0x4cae
movl $0x20, %edi
callq 0x4040
movq 0x18(%r14), %r14
jmp 0x4c43
cmpl $0x1, %eax
jne 0x544d
movq 0x3f314(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x297fc(%rip), %rdi     # 0x2e4ca
callq 0x4170
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x5506
movl $0x29, %edi
callq 0x4040
cmpl $0x0, 0x3f6ba(%rip)     # 0x443c0
jg 0x4d12
movl $0x20, %edi
callq 0x4040
movl $0x7b, %edi
callq 0x4040
cmpl $0x1, 0x3f69d(%rip)     # 0x443c0
jg 0x4d2f
movl $0xa, %edi
callq 0x4040
movq 0x20(%r14), %rsi
movl %ebx, %edi
callq 0x4bc8
testl %ebx, %ebx
jle 0x4f18
cmpl $0x0, 0x3f677(%rip)     # 0x443c0
jg 0x4f18
incl %ebx
movl $0x9, %edi
callq 0x4040
decl %ebx
cmpl $0x1, %ebx
jg 0x4d51
jmp 0x4f18
movl %ebx, %edi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5480
movq 0x3f252(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x29754(%rip), %rdi     # 0x2e4e4
callq 0x4170
jmp 0x4fbb
movq 0x3f237(%rip), %r12     # 0x43fd8
movq (%r12), %rsi
leaq 0x32c85(%rip), %rdi     # 0x37a31
callq 0x4170
cmpl $0x0, 0x3f608(%rip)     # 0x443c0
jg 0x4dc4
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
cmpl $0x0, 0x3f5d4(%rip)     # 0x443c0
jg 0x4df8
movl $0x20, %edi
callq 0x4040
movl $0x7b, %edi
callq 0x4040
cmpl $0x1, 0x3f5b7(%rip)     # 0x443c0
jg 0x4e15
movl $0xa, %edi
callq 0x4040
movq 0x18(%r14), %r13
testq %r13, %r13
je 0x4ef8
leal 0x1(%rbx), %r15d
movq 0x10(%r13), %r14
cmpl $0x5a, (%r14)
jne 0x4e96
testl %ebx, %ebx
jle 0x4e51
cmpl $0x0, 0x3f585(%rip)     # 0x443c0
jg 0x4e51
movl %r15d, %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x4e40
movq (%r12), %rsi
leaq 0x29813(%rip), %rdi     # 0x2e66f
callq 0x4170
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x3a, %edi
callq 0x4040
cmpl $0x1, 0x3f541(%rip)     # 0x443c0
jg 0x4e8b
movl $0xa, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x4bc8
cmpl $0x5b, (%r14)
jne 0x4eeb
testl %ebx, %ebx
jle 0x4ebd
cmpl $0x0, 0x3f519(%rip)     # 0x443c0
jg 0x4ebd
movl %r15d, %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x4eac
movq (%r12), %rsi
leaq 0x297ad(%rip), %rdi     # 0x2e675
callq 0x4170
cmpl $0x1, 0x3f4ec(%rip)     # 0x443c0
jg 0x4ee0
movl $0xa, %edi
callq 0x4040
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x4bc8
movq 0x18(%r13), %r13
testq %r13, %r13
jne 0x4e26
testl %ebx, %ebx
jle 0x4f18
cmpl $0x0, 0x3f4bd(%rip)     # 0x443c0
jg 0x4f18
incl %ebx
movl $0x9, %edi
callq 0x4040
decl %ebx
cmpl $0x1, %ebx
jg 0x4f07
movl $0x7d, %edi
jmp 0x545e
movq 0x3f0af(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x29ac1(%rip), %rdi     # 0x2e9f4
jmp 0x4fa1
movq 0x3f09c(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x29ab8(%rip), %rdi     # 0x2e9fe
jmp 0x4fa1
movq 0x3f089(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x29a60(%rip), %rdi     # 0x2e9b9
callq 0x4170
cmpl $0x0, 0x3f45b(%rip)     # 0x443c0
jg 0x4f71
movl $0x20, %edi
callq 0x4040
movq (%r15), %rsi
leaq 0x2955e(%rip), %rdi     # 0x2e4d9
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5561
jmp 0x5130
movq 0x3f041(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x29a46(%rip), %rdi     # 0x2e9e7
callq 0x4170
cmpq $0x0, 0x10(%r14)
je 0x5459
movl $0x20, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
jmp 0x5454
movq 0x3f009(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x29a4e(%rip), %rdi     # 0x2ea27
callq 0x4170
cmpl $0x0, 0x3f3db(%rip)     # 0x443c0
je 0x4ffa
movq 0x10(%r14), %rax
cmpl $0x47, (%rax)
je 0x4ffa
movl $0x20, %edi
callq 0x4040
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x562d
cmpq $0x0, 0x18(%r14)
je 0x509d
cmpq $0x0, 0x20(%r14)
je 0x509d
cmpl $0x1, 0x3f39e(%rip)     # 0x443c0
jg 0x502e
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x504f
cmpl $0x0, 0x3f387(%rip)     # 0x443c0
jg 0x504f
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x503e
movq (%r15), %rsi
leaq 0x29b62(%rip), %rdi     # 0x2ebbb
callq 0x4170
cmpl $0x0, 0x3f35b(%rip)     # 0x443c0
jg 0x5071
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
movq 0x20(%r14), %rsi
movl %ebx, %edi
callq 0x562d
cmpq $0x0, 0x28(%r14)
je 0x5471
cmpl $0x1, 0x3f311(%rip)     # 0x443c0
jg 0x50bb
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x50dc
cmpl $0x0, 0x3f2fa(%rip)     # 0x443c0
jg 0x50dc
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x50cb
movq (%r15), %rsi
leaq 0x29405(%rip), %rdi     # 0x2e4eb
callq 0x4170
jmp 0x5434
movq 0x3eee1(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x298b8(%rip), %rdi     # 0x2e9b9
callq 0x4170
cmpl $0x0, 0x3f2b3(%rip)     # 0x443c0
jg 0x5119
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movq (%r15), %rsi
leaq 0x293a5(%rip), %rdi     # 0x2e4df
callq 0x4170
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
jmp 0x5255
movq 0x3ee76(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x2936e(%rip), %rdi     # 0x2e4da
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5561
jmp 0x5459
movq 0x3ee50(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x2981d(%rip), %rdi     # 0x2e9af
jmp 0x5351
movq 0x3ee3a(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x29887(%rip), %rdi     # 0x2ea2f
callq 0x4170
jmp 0x5459
movq 0x3ee1f(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x297de(%rip), %rdi     # 0x2e9a1
callq 0x4170
cmpl $0x0, 0x3f1f1(%rip)     # 0x443c0
jg 0x51db
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x562d
cmpq $0x0, 0x20(%r14)
je 0x5471
cmpl $0x1, 0x3f1a7(%rip)     # 0x443c0
jg 0x5225
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x5246
cmpl $0x0, 0x3f190(%rip)     # 0x443c0
jg 0x5246
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x5235
movq (%r15), %rsi
leaq 0x29284(%rip), %rdi     # 0x2e4d4
callq 0x4170
movq 0x20(%r14), %rsi
jmp 0x5438
movq 0x3ed73(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x2974a(%rip), %rdi     # 0x2e9b9
callq 0x4170
cmpl $0x0, 0x3f145(%rip)     # 0x443c0
jg 0x5287
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
jmp 0x53d6
movq 0x3ed2e(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x296f4(%rip), %rdi     # 0x2e9a8
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x562d
cmpl $0x1, 0x3f0f5(%rip)     # 0x443c0
jg 0x52d7
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x52f8
cmpl $0x0, 0x3f0de(%rip)     # 0x443c0
jg 0x52f8
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
jg 0x52e7
movq (%r15), %rsi
leaq 0x296ad(%rip), %rdi     # 0x2e9af
callq 0x4170
cmpl $0x0, 0x3f0b2(%rip)     # 0x443c0
jg 0x531a
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
jmp 0x5459
movq 0x3ec91(%rip), %rax     # 0x43fd8
movq (%rax), %rsi
leaq 0x296b8(%rip), %rdi     # 0x2ea09
callq 0x4170
cmpl $0x0, 0x3f063(%rip)     # 0x443c0
jg 0x5369
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
movq 0x18(%r14), %rsi
jmp 0x5438
movq 0x3ec3e(%rip), %r15     # 0x43fd8
movq (%r15), %rsi
leaq 0x29615(%rip), %rdi     # 0x2e9b9
callq 0x4170
cmpl $0x0, 0x3f010(%rip)     # 0x443c0
jg 0x53bc
movl $0x20, %edi
callq 0x4040
movq (%r15), %rsi
leaq 0x29113(%rip), %rdi     # 0x2e4d9
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5561
movl $0x3b, %edi
callq 0x4040
cmpl $0x0, 0x3efd9(%rip)     # 0x443c0
jg 0x53f3
movl $0x20, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x3b, %edi
callq 0x4040
cmpl $0x0, 0x3efaf(%rip)     # 0x443c0
jg 0x541d
movl $0x20, %edi
callq 0x4040
movq 0x20(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x567f
movl $0x29, %edi
callq 0x4040
movq 0x28(%r14), %rsi
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x562d
movl %ebx, %edi
xorl %esi, %esi
movq %r14, %rdx
callq 0x567f
movl $0x3b, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4040
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq