// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x47, (%rax)
jne 0x4e49
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x5550
jmp 0x5524
movl -0x4(%rbp), %edi
callq 0x55c0
movq -0x10(%rbp), %rax
movl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x58, %eax
ja 0x550e
movq -0x18(%rbp), %rax
leaq 0x312c9(%rip), %rcx     # 0x3613c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x31917(%rip), %rdi     # 0x3679a
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5680
movl $0x29, %edi
callq 0x5660
callq 0x5700
movl $0x7b, %edi
callq 0x5660
callq 0x5530
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x4db0
movl -0x4(%rbp), %edi
callq 0x55c0
movl $0x7d, %edi
callq 0x5660
jmp 0x5524
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x3189d(%rip), %rdi     # 0x367aa
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5720
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x31d39(%rip), %rdi     # 0x36c71
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5790
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4faa
callq 0x5530
movl -0x4(%rbp), %edi
callq 0x55c0
leaq 0x3180f(%rip), %rdi     # 0x367a4
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31cc2(%rip), %rdi     # 0x36c78
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5790
callq 0x5530
movl -0x4(%rbp), %edi
callq 0x55c0
leaq 0x31ca0(%rip), %rdi     # 0x36c7f
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x31c5c(%rip), %rdi     # 0x36c7f
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31c1c(%rip), %rdi     # 0x36c89
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
callq 0x5700
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
callq 0x5700
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31b94(%rip), %rdi     # 0x36c89
callq 0x5600
callq 0x5700
leaq 0x316a3(%rip), %rdi     # 0x367a9
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5720
movl $0x3b, %edi
callq 0x5660
callq 0x5700
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
callq 0x5700
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31b0a(%rip), %rdi     # 0x36c89
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
leaq 0x31605(%rip), %rdi     # 0x367af
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31aa4(%rip), %rdi     # 0x36c89
callq 0x5600
callq 0x5700
leaq 0x315b3(%rip), %rdi     # 0x367a9
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5720
leaq 0x3159d(%rip), %rdi     # 0x367af
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x31a6a(%rip), %rdi     # 0x36cb7
callq 0x5600
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x5277
movl $0x20, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x31a37(%rip), %rdi     # 0x36cc4
callq 0x5600
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x52b7
movl $0x20, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x31a01(%rip), %rdi     # 0x36cce
callq 0x5600
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x52f7
movl $0x20, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x319cc(%rip), %rdi     # 0x36cd9
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5790
jmp 0x5524
leaq 0x3b06c(%rip), %rdi     # 0x403c3
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
callq 0x5700
movl $0x7b, %edi
callq 0x5660
callq 0x5530
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x57e0
movl -0x4(%rbp), %edi
callq 0x55c0
movl $0x7d, %edi
callq 0x5660
jmp 0x5524
leaq 0x313ed(%rip), %rdi     # 0x367b4
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
leaq 0x31905(%rip), %rdi     # 0x36cf7
callq 0x5600
cmpl $0x0, 0x46f92(%rip)     # 0x4c390
je 0x5417
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x47, (%rax)
je 0x5417
movl $0x20, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5790
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x548f
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x548f
callq 0x5530
movl -0x4(%rbp), %edi
callq 0x55c0
leaq 0x31a60(%rip), %rdi     # 0x36eb1
callq 0x5600
callq 0x5700
movl $0x28, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5630
movl $0x29, %edi
callq 0x5660
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x5790
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x54c3
callq 0x5530
movl -0x4(%rbp), %edi
callq 0x55c0
leaq 0x3130d(%rip), %rdi     # 0x367bb
callq 0x5600
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x5790
jmp 0x5524
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x5630
movl $0x3a, %edi
callq 0x5660
callq 0x5700
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x4e20
jmp 0x5524
leaq 0x31802(%rip), %rdi     # 0x36cff
callq 0x5600
movl $0x3b, %edi
callq 0x5660
jmp 0x5524
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x5630
movl $0x3b, %edi
callq 0x5660
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)