// File: /workspace/github_c_makefile_star2_O2/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 %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq 0xa5c2(%rip), %rax      # 0x125e0
movsd 0x307a(%rip), %xmm0     # 0xb0a0
ucomisd 0x30(%rax), %xmm0
movq 0xa586(%rip), %rdx      # 0x125b8
jbe 0x82c9
leaq 0xa461(%rip), %rdi      # 0x124a0
leaq 0x4a2c(%rip), %rsi      # 0xca72
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa98f(%rip), %rdi      # 0x129e8
leaq 0x4a48(%rip), %rsi      # 0xcaa8
pushq $-0x1
popq %rdx
callq 0x2200
callq 0x3933
movq 0xa90c(%rip), %rax      # 0x12980
cmpb $0x0, 0xc0(%rax)
jne 0x8334
movq 0xa540(%rip), %rdx      # 0x125c8
leaq 0xa411(%rip), %rbx      # 0x124a0
leaq 0x4a1f(%rip), %rsi      # 0xcab5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa50c(%rip), %rdx      # 0x125b8
leaq 0x4a11(%rip), %rsi      # 0xcac4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa91f(%rip), %rdi      # 0x129e8
leaq 0x4a2c(%rip), %rsi      # 0xcafc
pushq $-0x1
popq %rbp
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa4d2(%rip), %rcx      # 0x125b8
movq 0xa833(%rip), %r8       # 0x12920
leaq 0x4a1b(%rip), %r14      # 0xcb0f
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa8d8(%rip), %rdi      # 0x129e8
leaq 0x4a2b(%rip), %rsi      # 0xcb42
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa8be(%rip), %rdi      # 0x129e8
leaq 0x4a36(%rip), %r15      # 0xcb67
movq %r15, %rsi
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa8a1(%rip), %rdi      # 0x129e8
leaq 0x4a48(%rip), %rsi      # 0xcb96
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa887(%rip), %rdi      # 0x129e8
leaq 0x4a48(%rip), %rsi      # 0xcbb0
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa86d(%rip), %rdi      # 0x129e8
leaq 0x4a68(%rip), %rsi      # 0xcbea
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa853(%rip), %rdi      # 0x129e8
leaq 0x4a6d(%rip), %rsi      # 0xcc09
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa839(%rip), %rdi      # 0x129e8
leaq 0x4a8c(%rip), %rsi      # 0xcc42
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa81f(%rip), %rdi      # 0x129e8
leaq 0x4a83(%rip), %rsi      # 0xcc53
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa73d(%rip), %rdx      # 0x12920
leaq 0x4aa6(%rip), %rsi      # 0xcc90
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa7e8(%rip), %rdi      # 0x129e8
leaq 0x4ab8(%rip), %rsi      # 0xccbf
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa7ce(%rip), %rdi      # 0x129e8
movq %r15, %rsi
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa7b8(%rip), %rdi      # 0x129e8
leaq 0x4aa7(%rip), %rsi      # 0xccde
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa79e(%rip), %rdi      # 0x129e8
leaq 0x4ac7(%rip), %rsi      # 0xcd18
movl %ebp, %edx
callq 0x2200
callq 0x3933
movq 0xa354(%rip), %rcx      # 0x125b8
movq 0xa6b5(%rip), %r8       # 0x12920
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa761(%rip), %rdi      # 0x129e8
leaq 0x4aaf(%rip), %rsi      # 0xcd3d
movl %ebp, %edx
callq 0x2200
callq 0x3933
movsd 0x2eb6(%rip), %xmm0     # 0xb158
divsd 0x9ef6(%rip), %xmm0     # 0x121a0
addsd 0x2e1e(%rip), %xmm0     # 0xb0d0
movq 0xa327(%rip), %rax      # 0x125e0
movsd %xmm0, 0x30(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0xa650(%rip), %r8       # 0x12920
leaq 0xa1c9(%rip), %rdi      # 0x124a0
leaq 0x4831(%rip), %rsi      # 0xcb0f
movq %rdx, %rcx
xorl %eax, %eax
callq 0x2190
callq 0x399b
movq 0xa6f4(%rip), %rdi      # 0x129e8
leaq 0x4a6e(%rip), %rsi      # 0xcd69
pushq $-0x1
popq %rbx
movl %ebx, %edx
callq 0x2200
callq 0x3933
movq 0xa6d7(%rip), %rdi      # 0x129e8
leaq 0x4a88(%rip), %rsi      # 0xcda0
movl %ebx, %edx
callq 0x2200
callq 0x3933
movq 0xa655(%rip), %rax      # 0x12980
cmpb $0x0, 0xc0(%rax)
je 0x8343
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x6bf6
movq 0xa69e(%rip), %rdi      # 0x129e8
leaq 0x4a7e(%rip), %rsi      # 0xcdcf
pushq $-0x1
popq %rdx
callq 0x2200
movq 0xa688(%rip), %rdi      # 0x129e8
callq 0x2180
movl $0x7d0, %edi            # imm = 0x7D0
callq 0x241c
movq 0xa26a(%rip), %rax      # 0x125e0
movsd 0x2d52(%rip), %xmm0     # 0xb0d0
subsd 0x30(%rax), %xmm0
mulsd 0x9e15(%rip), %xmm0     # 0x121a0
ucomisd 0x2d45(%rip), %xmm0     # 0xb0d8
movq 0xa64e(%rip), %rdi      # 0x129e8
jae 0x83ad
leaq 0x4a70(%rip), %rsi      # 0xce13
pushq $-0x1
popq %rdx
callq 0x2200
jmp 0x83d1
leaq 0x4a3e(%rip), %rsi      # 0xcdf2
pushq $-0x1
popq %rdx
callq 0x2200
movq 0xa21d(%rip), %rax      # 0x125e0
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x30(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x3933