// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: std_terminal_Sgr_free
void std_terminal_Sgr_free (VAL v) {
	struct std_terminal_Sgr self = V_std_terminal_Sgr(v);
	switch (self.tag) {
		case std_terminal_Sgr_Reset: break;
		case std_terminal_Sgr_Bold: break;
		case std_terminal_Sgr_Faint: break;
		case std_terminal_Sgr_Italic: break;
		case std_terminal_Sgr_Underline: break;
		case std_terminal_Sgr_SlowBlink: break;
		case std_terminal_Sgr_FastBlink: break;
		case std_terminal_Sgr_Invert: break;
		case std_terminal_Sgr_Conceal: break;
		case std_terminal_Sgr_Strike: break;
		case std_terminal_Sgr_PrimaryFont: break;
		case std_terminal_Sgr_Font2: break;
		case std_terminal_Sgr_Font3: break;
		case std_terminal_Sgr_Font4: break;
		case std_terminal_Sgr_Font5: break;
		case std_terminal_Sgr_Font6: break;
		case std_terminal_Sgr_Font7: break;
		case std_terminal_Sgr_Font8: break;
		case std_terminal_Sgr_Font9: break;
		case std_terminal_Sgr_Font10: break;
		case std_terminal_Sgr_Fraktur: break;
		case std_terminal_Sgr_DoubleUnderline: break;
		case std_terminal_Sgr_Normal: break;
		case std_terminal_Sgr_NotItalicOrBlackLetter: break;
		case std_terminal_Sgr_NotUnderline: break;
		case std_terminal_Sgr_NotBlink: break;
		case std_terminal_Sgr_Proportional: break;
		case std_terminal_Sgr_NotReversed: break;
		case std_terminal_Sgr_Reveal: break;
		case std_terminal_Sgr_NotStrike: break;
		case std_terminal_Sgr_FGBlack: break;
		case std_terminal_Sgr_FGRed: break;
		case std_terminal_Sgr_FGGreen: break;
		case std_terminal_Sgr_FGYellow: break;
		case std_terminal_Sgr_FGBlue: break;
		case std_terminal_Sgr_FGMagenta: break;
		case std_terminal_Sgr_FGCyan: break;
		case std_terminal_Sgr_FGWhite: break;
		case std_terminal_Sgr_FGColor: {
			decref(MK_std_terminal_SGRColor(self.ptr.FGColor->mSGRColor));
			free(self.ptr.FGColor);
		} break;
		case std_terminal_Sgr_FGDefault: break;
		case std_terminal_Sgr_BGBlack: break;
		case std_terminal_Sgr_BGRed: break;
		case std_terminal_Sgr_BGGreen: break;
		case std_terminal_Sgr_BGYellow: break;
		case std_terminal_Sgr_BGBlue: break;
		case std_terminal_Sgr_BGMagenta: break;
		case std_terminal_Sgr_BGCyan: break;
		case std_terminal_Sgr_BGWhite: break;
		case std_terminal_Sgr_BGColor: {
			decref(MK_std_terminal_SGRColor(self.ptr.BGColor->mSGRColor));
			free(self.ptr.BGColor);
		} break;
		case std_terminal_Sgr_BGDefault: break;
		case std_terminal_Sgr_NotProportional: break;
		case std_terminal_Sgr_Framed: break;
		case std_terminal_Sgr_Encircled: break;
		case std_terminal_Sgr_Overlined: break;
		case std_terminal_Sgr_NotFramedOrEncircled: break;
		case std_terminal_Sgr_NotOverlined: break;
		case std_terminal_Sgr_UnderlineColor: {
			decref(MK_std_terminal_SGRColor(self.ptr.UnderlineColor->mSGRColor));
			free(self.ptr.UnderlineColor);
		} break;
		case std_terminal_Sgr_DefaultUnderlineColor: break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x38f90
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x118(%rbp)
subq $0x39, %rax
ja 0x38e93
movq -0x118(%rbp), %rax
leaq 0x318667(%rip), %rcx    # 0x3510d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38b32
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38c07
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x38c07
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x38c07
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x38c05
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x38c07
jmp 0x38c09
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38c46
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38d46
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x38d46
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x38d46
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x38d44
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x127c0
jmp 0x38d46
jmp 0x38d48
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38e93
jmp 0x38d7b
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38e84
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xe0(%rbp)
movq %rdx, -0xd8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xe0(%rbp), %rax
cmpq $0x0, %rax
je 0x38e84
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0xf0(%rbp)
movq %rdx, -0xe8(%rbp)
movq -0xf0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x38e84
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x100(%rbp)
movq %rdx, -0xf8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x100(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x38e82
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x38fd0
movq %rax, -0x110(%rbp)
movq %rdx, -0x108(%rbp)
movq -0x110(%rbp), %rdi
movq -0x108(%rbp), %rsi
callq 0x127c0
jmp 0x38e84
jmp 0x38e86
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x38e93
jmp 0x38e93
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopl (%rax)