// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_format_just_control_string
static s7_pointer g_format_just_control_string(s7_scheme *sc, s7_pointer args)
                {
                    s7_pointer pt, str;
                    pt = car(args);
                    str = cadr(args);

                    if (pt == sc->F)
                        return(str);

                    if (is_null(pt))
                    {
                        pt = sc->output_port;
                        if (pt == sc->F)
                            return(sc->F);
                    }
                    if (pt == sc->T)
                    {
                        if ((sc->output_port != sc->F) && (string_length(str) != 0))
                            port_write_string(sc->output_port)(sc, string_value(str), string_length(str), sc->output_port);
                        return(str);
                    }

                    if ((!is_output_port(pt)) ||
                            (port_is_closed(pt)))
                        return(method_or_bust_with_type(sc, pt, sc->format_symbol, args, a_format_port_string, 1));

                    if (string_length(str) == 0)
                    {
                        if (!is_output_port(pt))
                            return(make_empty_string(sc, 0, 0));
                        return(sc->F);
                    }

                    port_write_string(pt)(sc, string_value(str), string_length(str), pt);
                    return(sc->F);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x1d740e
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x1d745d
movq 0x18(%rsp), %rax
movq 0x188(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x1d745b
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
jmp 0x1d745d
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x118(%rcx), %rax
jne 0x1d74de
movq 0x18(%rsp), %rax
movq 0x188(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1d74d0
movq (%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1d74d0
movq 0x18(%rsp), %rax
movq 0x188(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rdi
movq (%rsp), %rcx
movq 0x10(%rcx), %rsi
movq (%rsp), %rcx
movq 0x8(%rcx), %rdx
movq 0x18(%rsp), %rcx
movq 0x188(%rcx), %rcx
callq *%rax
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x22, %eax
jne 0x1d74fa
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
testb $0x1, 0x2(%rax)
je 0x1d7531
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0xf20(%rax), %rdx
movq 0x10(%rsp), %rcx
movq 0x4dcbc(%rip), %r8      # 0x2251d8
movl $0x1, %r9d
callq 0x14130
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
movq (%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x1d7573
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x22, %eax
je 0x1d7560
movq 0x18(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x146a0
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x1d75b1
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rdi
movq (%rsp), %rcx
movq 0x10(%rcx), %rsi
movq (%rsp), %rcx
movq 0x8(%rcx), %rdx
movq 0x8(%rsp), %rcx
callq *%rax
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)