// File: /workspace/github_c_makefile_star2_O1/hyc[P]trek73c/trekx.c
// Function: SDest
void SDest()
{
  if (Objects[0]->Tim_Del < 1000) {
    sprintf(scrstr,"%s: Lieutenant Uhura, tie in the bridge to the master",
      Name);
    SEndln();
    waddstr(Cmdwin,"   computer.");
    Endln();
    if (Ships[0]->Dmge[(int)Comp]) {
      NoComp();
      return;
    }
    sprintf(scrstr,"Uhura: Aye, %s",Title);
    SEndln();
    sprintf(scrstr,"%s: Computer. Destruct sequence. Are you ready to copy?",
      Name);
    SEndln();
    waddstr(Cmdwin,"Computer: Working.");
    Endln();
    sprintf(scrstr,"%s: Computer, this is Captain %s of the U.S.S. %s.",
      Name, Name, Snams[0]);
    SEndln();
    waddstr(Cmdwin,"   Destruct sequence one, code 1-1A.");
    Endln();
    waddstr(Cmdwin,"Computer: Voice and code verified and correct.");
    Endln();
    waddstr(Cmdwin,"   Sequence one complete.");
    Endln();
    waddstr(Cmdwin,"Spock: This is Commander Spock, Science Officer. Destruct");
    Endln();
    waddstr(Cmdwin,"   sequence two, code 1-1A-2B.");
    Endln();
    waddstr(Cmdwin,"Computer: Voice and code verified and correct.  Sequence");
    Endln();
    waddstr(Cmdwin,"   two complete.");
    Endln();
    waddstr(Cmdwin,"Scott: This is Lieutenant Commander Scott, Chief Engineering");
    Endln();
    sprintf(scrstr,"   Officer of the U.S.S. %s. Destruct sequence", Snams[0]);
    SEndln();
    waddstr(Cmdwin,"   number three, code 1B-2B-3.");
    Endln();
    waddstr(Cmdwin,"Computer: Voice and code verified and correct.");
    Endln();
    waddstr(Cmdwin,"   Destruct sequence complete and engaged. Awaiting final");
    Endln();
    waddstr(Cmdwin,"   code for twenty second countdown.");
    Endln();
    sprintf(scrstr,"%s: Computer, this is Captain %s of the U.S.S. %s.",
      Name, Name, Snams[0]);
    SEndln();
    waddstr(Cmdwin,"   begin countdown, code 0-0-0, destruct 0.");
    Endln();
    Objects[0]->Tim_Del = 10000 - 20 / Iter;
  } else {
    sprintf(scrstr,"%s: Computer, this is Captain %s of the U.S.S. %s.",
      Name, Name, Snams[0]);
    SEndln();
    waddstr(Cmdwin,"   Code 1-2-3 continuity abort destruct order, repeat:");
    Endln();
    waddstr(Cmdwin,"   Code 1-2-3 continuity abort destruct order!");
    Endln();
    if (Ships[0]->Dmge[(int)Comp]) {
      NoComp();
      return;
    }
    waddstr(Cmdwin,"Computer: Self-destruct order ... ");
    wrefresh(Cmdwin);
    Delay(2000);
    if ((10000 - Objects[0]->Tim_Del) * Iter >= 5) {
      waddstr(Cmdwin,"aborted. Destruct order aborted.");
      Objects[0]->Tim_Del = 1.0;
    } else
       waddstr(Cmdwin,"cannot be aborted.");
    Endln();
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq 0xa4a0(%rip), %rax      # 0x135f0
movsd 0x3f40(%rip), %xmm0     # 0xd098
ucomisd 0x30(%rax), %xmm0
movq 0xa464(%rip), %rdx      # 0x135c8
jbe 0x9499
leaq 0xa33f(%rip), %rbx      # 0x134b0
leaq 0x58ba(%rip), %rsi      # 0xea32
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa86f(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa856(%rip), %rdi      # 0x139f8
leaq 0x58bf(%rip), %rsi      # 0xea68
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa7d1(%rip), %rax      # 0x13990
cmpb $0x0, 0xc0(%rax)
jne 0x951e
movq 0xa405(%rip), %rdx      # 0x135d8
leaq 0xa2d6(%rip), %rbx      # 0x134b0
leaq 0x5894(%rip), %rsi      # 0xea75
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa806(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa3bd(%rip), %rdx      # 0x135c8
leaq 0x5872(%rip), %rsi      # 0xea84
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa7d5(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa7bc(%rip), %rdi      # 0x139f8
leaq 0x5879(%rip), %rsi      # 0xeabc
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa36f(%rip), %rcx      # 0x135c8
movq 0xa6d0(%rip), %r8       # 0x13930
leaq 0x5868(%rip), %r14      # 0xeacf
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x21a0
movq 0xa77a(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa761(%rip), %rdi      # 0x139f8
leaq 0x5864(%rip), %rsi      # 0xeb02
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa744(%rip), %rdi      # 0x139f8
leaq 0x586c(%rip), %r15      # 0xeb27
movq %r15, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa724(%rip), %rdi      # 0x139f8
leaq 0x587b(%rip), %rsi      # 0xeb56
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa707(%rip), %rdi      # 0x139f8
leaq 0x5878(%rip), %rsi      # 0xeb70
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa6ea(%rip), %rdi      # 0x139f8
leaq 0x5895(%rip), %rsi      # 0xebaa
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa6cd(%rip), %rdi      # 0x139f8
leaq 0x5897(%rip), %rsi      # 0xebc9
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa6b0(%rip), %rdi      # 0x139f8
leaq 0x58b3(%rip), %rsi      # 0xec02
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa693(%rip), %rdi      # 0x139f8
leaq 0x58a7(%rip), %rsi      # 0xec13
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa5ae(%rip), %rdx      # 0x13930
leaq 0x58c7(%rip), %rsi      # 0xec50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa65e(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa645(%rip), %rdi      # 0x139f8
leaq 0x58c5(%rip), %rsi      # 0xec7f
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa628(%rip), %rdi      # 0x139f8
movq %r15, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa60f(%rip), %rdi      # 0x139f8
leaq 0x58ae(%rip), %rsi      # 0xec9e
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa5f2(%rip), %rdi      # 0x139f8
leaq 0x58cb(%rip), %rsi      # 0xecd8
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa1a5(%rip), %rcx      # 0x135c8
movq 0xa506(%rip), %r8       # 0x13930
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x21a0
movq 0xa5b7(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa59e(%rip), %rdi      # 0x139f8
leaq 0x589c(%rip), %rsi      # 0xecfd
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movsd 0x3cf0(%rip), %xmm0     # 0xd168
divsd 0x9d30(%rip), %xmm0     # 0x131b0
addsd 0x3c40(%rip), %xmm0     # 0xd0c8
movq 0xa161(%rip), %rax      # 0x135f0
movsd %xmm0, 0x30(%rax)
jmp 0x95da
movq 0xa490(%rip), %r8       # 0x13930
leaq 0xa009(%rip), %rbx      # 0x134b0
leaq 0x5621(%rip), %rsi      # 0xeacf
movq %rbx, %rdi
movq %rdx, %rcx
xorl %eax, %eax
callq 0x21a0
movq 0xa536(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa51d(%rip), %rdi      # 0x139f8
leaq 0x5847(%rip), %rsi      # 0xed29
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa500(%rip), %rdi      # 0x139f8
leaq 0x5861(%rip), %rsi      # 0xed60
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3c58
movq 0xa47b(%rip), %rax      # 0x13990
cmpb $0x0, 0xc0(%rax)
je 0x952c
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x7b6d
movq 0xa4c5(%rip), %rdi      # 0x139f8
leaq 0x5855(%rip), %rsi      # 0xed8f
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
movq 0xa4ad(%rip), %rdi      # 0x139f8
callq 0x2190
movq %rsp, %r8
movq $0x0, 0x8(%r8)
movq $0x2, (%r8)
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x20c0
movq 0xa07a(%rip), %rax      # 0x135f0
movsd 0x3b4a(%rip), %xmm0     # 0xd0c8
subsd 0x30(%rax), %xmm0
mulsd 0x9c25(%rip), %xmm0     # 0x131b0
ucomisd 0x3b3d(%rip), %xmm0     # 0xd0d0
movq 0xa45e(%rip), %rdi      # 0x139f8
jae 0x95af
leaq 0x5830(%rip), %rsi      # 0xedd3
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
jmp 0x95d5
leaq 0x57fc(%rip), %rsi      # 0xedb2
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
movq 0xa029(%rip), %rax      # 0x135f0
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x30(%rax)
callq 0x3c58
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq