// File: /workspace/github_c_makefile_star2_O3/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 0x1e5a(%rip), %rdi      # 0x9fa1
xorl %eax, %eax
callq 0x2030
leaq 0xc(%rsp), %rbx
movl $0x1, (%rbx)
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl $0x1, %edx
callq 0x716e
callq 0x7322
leaq 0x8(%rsp), %rdx
leaq 0x7(%rsp), %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rcx
callq 0x739d
movsbl (%r15), %ebx
movl %ebx, %r12d
leal -0x5b(%r12), %eax
cmpb $-0x1b, %al
ja 0x81ae
callq 0x738e
movsbl 0x7(%rsp), %esi
leaq 0x1dfe(%rip), %rdi      # 0x9faa
jmp 0x81da
addl $-0x40, %ebx
movl %ebx, %eax
imulq $0x34, %rax, %rax
leaq 0x67d2(%rip), %r13      # 0xe990
cmpl $0x0, 0x5a0(%r13,%rax)
jle 0x81f0
callq 0x738e
movsbl 0x7(%rsp), %esi
leaq 0x1de2(%rip), %rdi      # 0x9fbc
xorl %eax, %eax
callq 0x2030
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq (%rax,%r13), %r14
addq $0x57c, %r14            # imm = 0x57C
cmpl $0x0, 0x20(%r14)
je 0x8217
cmpl $0x0, 0x2c(%r14)
je 0x822c
callq 0x738e
leaq 0x1dc7(%rip), %rdi      # 0x9fdc
jmp 0x8223
callq 0x738e
leaq 0x17cf(%rip), %rdi      # 0x99f2
xorl %eax, %eax
callq 0x2030
jmp 0x81e1
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x6(%rsp), %r15
movq %r15, %rcx
callq 0x739d
movb (%r15), %al
cmpb $0x20, %al
jne 0x8276
movl (%r14), %edi
movl 0x4(%r14), %esi
callq 0x752b
movl $0x1, %edi
movl $0x13, %esi
callq 0x4f79
movl %ebx, %edi
callq 0x7620
jmp 0x81e1
leaq 0x8(%rsp), %rbp
leaq 0x6(%rsp), %r15
leal -0x5b(%rax), %ecx
cmpb $-0x1b, %cl
ja 0x829b
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1d62(%rip), %rdi      # 0x9ffb
jmp 0x8316
cmpb %r12b, %al
jne 0x82b3
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1d5b(%rip), %rdi      # 0xa00c
jmp 0x8316
andb $0x1f, %al
movzbl %al, %eax
imulq $0x34, %rax, %rax
cmpl $0x0, 0x59c(%r13,%rax)
je 0x82f2
leaq (%rax,%r13), %rdx
addq $0x57c, %rdx            # imm = 0x57C
movl (%rdx), %eax
cmpl (%r14), %eax
jne 0x8305
cmpl $0x0, 0x24(%rdx)
je 0x8343
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1ccc(%rip), %rdi      # 0x9fbc
jmp 0x8316
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1d1a(%rip), %rdi      # 0xa01d
jmp 0x8316
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1d19(%rip), %rdi      # 0xa02f
xorl %eax, %eax
callq 0x2030
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rsi
movq %rbp, %rdx
movq %r15, %rcx
callq 0x739d
movb 0x6(%rsp), %al
cmpb $0x20, %al
jne 0x8280
jmp 0x824f
cmpl $0x0, 0x2c(%rdx)
je 0x835c
callq 0x738e
movsbl 0x6(%rsp), %esi
leaq 0x1cea(%rip), %rdi      # 0xa044
jmp 0x8316
movl $0x1, %edi
movq %r14, %rsi
callq 0x2b38
jmp 0x831d
nop