// File: /workspace/github_c_makefile_star2_O2/beejjorgensen[P]conquest/conqtf.c
// Function: join_tf
void join_tf(void)
{
    char tf1, tf2;
    int tf1n, tf2n, ind, value;
    char iline[81];
    printw("oin tfs:");
    ind = 1;
    get_line(iline, &ind, true);
    cle3r_left();
    get_token(iline, &ind, &value, &tf1);
    tf1n = tf1 - 'A' + 1;
    if ((tf1n < 1) || (tf1n > 26)) {
        error_message();
        printw("  ! illegal tf %c", tf1);
    } else if ((tf[player][tf1n].eta) > 0) {
        error_message();
        printw("  !tf%c is not in normal space ", tf1);
    } else if (tf[player][tf1n].dest == 0) {
        error_message();
        printw("  !nonexistent tf");
    } else if (tf[player][tf1n].blasting) {
        error_message();
        printw("  !Tf is blasting a planet    ");
    } else {
        get_token(iline, &ind, &value, &tf2);
        while (tf2 != ' ') {
            tf2n = tf2 - 'A' + 1;
            if ((tf2n < 1) || (tf2n > 26)) {
                error_message();
                printw("  !illegal tf %c", tf2);
            } else if (tf2n == tf1n) {
                error_message();
                printw("!Duplicate tf %c", tf2);
            } else if (tf[player][tf2n].dest == 0) {
                error_message();
                printw("!Nonexistant TF%c", tf2);
            } else if ((tf[player][tf2n].x != tf[player][tf1n].x) ||
                       (tf[player][tf2n].y != tf[player][tf2n].y)) {
                error_message();
                printw("  !tf%c bad location", tf2);
            } else if (tf[player][tf2n].eta != 0) {
                error_message();
                printw("  !tf%c is not in normal space ", tf2);
            } else if (tf[player][tf2n].blasting) {
                error_message();
                printw(" !Tf%c is blasting a planet    ", tf2);
            } else {
                joinsilent(player, &tf[player][tf1n], &tf[player][tf2n]);
            };
            get_token(iline, &ind, &value, &tf2);
        };
        on_board(tf[player][tf1n].x, tf[player][tf1n].y);
        point(1, 19);
        pr3nt_tf(tf1n);
    };
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq 0x230a(%rip), %rdi      # 0x9f61
xorl %eax, %eax
callq 0x2030
leaq 0xc(%rsp), %rbx
movl $0x1, (%rbx)
leaq 0x10(%rsp), %r14
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6dae
callq 0x6f4d
leaq 0x8(%rsp), %rdx
leaq 0x7(%rsp), %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rcx
callq 0x6fc3
movsbl (%r15), %ebx
movl %ebx, %r15d
leal -0x5b(%r15), %eax
cmpb $-0x1b, %al
ja 0x7cbb
callq 0x6fb8
movsbl 0x7(%rsp), %esi
leaq 0x22b1(%rip), %rdi      # 0x9f6a
jmp 0x7ce7
addl $-0x40, %ebx
movl %ebx, %eax
imulq $0x34, %rax, %rax
leaq 0x7cc5(%rip), %r12      # 0xf990
cmpl $0x0, 0x5a0(%r12,%rax)
jle 0x7cfd
callq 0x6fb8
movsbl 0x7(%rsp), %esi
leaq 0x2295(%rip), %rdi      # 0x9f7c
xorl %eax, %eax
callq 0x2030
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq (%r12,%rax), %r14
addq $0x57c, %r14            # imm = 0x57C
cmpl $0x0, 0x20(%r14)
je 0x7d24
cmpl $0x0, 0x2c(%r14)
je 0x7d39
callq 0x6fb8
leaq 0x227a(%rip), %rdi      # 0x9f9c
jmp 0x7d30
callq 0x6fb8
leaq 0x1c82(%rip), %rdi      # 0x99b2
xorl %eax, %eax
callq 0x2030
jmp 0x7cee
leaq 0x8(%rsp), %r13
leaq 0x6(%rsp), %rbp
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rsi
movq %r13, %rdx
movq %rbp, %rcx
callq 0x6fc3
movzbl 0x6(%rsp), %eax
cmpq $0x20, %rax
je 0x7e30
leal -0x5b(%rax), %ecx
cmpb $-0x1b, %cl
ja 0x7d82
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x223b(%rip), %rdi      # 0x9fbb
jmp 0x7dfb
cmpb %r15b, %al
jne 0x7d9a
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x2234(%rip), %rdi      # 0x9fcc
jmp 0x7dfb
andl $0x1f, %eax
imulq $0x34, %rax, %rax
cmpl $0x0, 0x59c(%r12,%rax)
je 0x7dd7
leaq (%r12,%rax), %rdx
addq $0x57c, %rdx            # imm = 0x57C
movl (%rdx), %eax
cmpl (%r14), %eax
jne 0x7dea
cmpl $0x0, 0x24(%rdx)
je 0x7e07
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x21a7(%rip), %rdi      # 0x9f7c
jmp 0x7dfb
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x21f5(%rip), %rdi      # 0x9fdd
jmp 0x7dfb
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x21f4(%rip), %rdi      # 0x9fef
xorl %eax, %eax
callq 0x2030
jmp 0x7d43
cmpl $0x0, 0x2c(%rdx)
je 0x7e20
callq 0x6fb8
movsbl 0x6(%rsp), %esi
leaq 0x21e6(%rip), %rdi      # 0xa004
jmp 0x7dfb
pushq $0x1
popq %rdi
movq %r14, %rsi
callq 0x29fc
jmp 0x7d43
movl (%r14), %edi
movl 0x4(%r14), %esi
callq 0x7107
pushq $0x1
popq %rdi
pushq $0x13
popq %rsi
callq 0x4dbd
movl %ebx, %edi
callq 0x71d7
jmp 0x7cee
nop