// File: /workspace/github_c_makefile_star2_O3/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 0xa44a(%rip), %rax      # 0x135f0
movsd 0x402a(%rip), %xmm0     # 0xd1d8
ucomisd 0x30(%rax), %xmm0
movq 0xa40e(%rip), %rdx      # 0x135c8
jbe 0x94ef
leaq 0xa2e9(%rip), %rbx      # 0x134b0
leaq 0x591c(%rip), %rsi      # 0xeaea
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa819(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa800(%rip), %rdi      # 0x139f8
leaq 0x5921(%rip), %rsi      # 0xeb20
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa77b(%rip), %rax      # 0x13990
cmpb $0x0, 0xc0(%rax)
jne 0x9574
movq 0xa3af(%rip), %rdx      # 0x135d8
leaq 0xa280(%rip), %rbx      # 0x134b0
leaq 0x58f6(%rip), %rsi      # 0xeb2d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa7b0(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa367(%rip), %rdx      # 0x135c8
leaq 0x58d4(%rip), %rsi      # 0xeb3c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa77f(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa766(%rip), %rdi      # 0x139f8
leaq 0x58db(%rip), %rsi      # 0xeb74
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa319(%rip), %rcx      # 0x135c8
movq 0xa67a(%rip), %r8       # 0x13930
leaq 0x58ca(%rip), %r14      # 0xeb87
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x21a0
movq 0xa724(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa70b(%rip), %rdi      # 0x139f8
leaq 0x58c6(%rip), %rsi      # 0xebba
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa6ee(%rip), %rdi      # 0x139f8
leaq 0x58ce(%rip), %r15      # 0xebdf
movq %r15, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa6ce(%rip), %rdi      # 0x139f8
leaq 0x58dd(%rip), %rsi      # 0xec0e
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa6b1(%rip), %rdi      # 0x139f8
leaq 0x58da(%rip), %rsi      # 0xec28
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa694(%rip), %rdi      # 0x139f8
leaq 0x58f7(%rip), %rsi      # 0xec62
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa677(%rip), %rdi      # 0x139f8
leaq 0x58f9(%rip), %rsi      # 0xec81
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa65a(%rip), %rdi      # 0x139f8
leaq 0x5915(%rip), %rsi      # 0xecba
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa63d(%rip), %rdi      # 0x139f8
leaq 0x5909(%rip), %rsi      # 0xeccb
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa558(%rip), %rdx      # 0x13930
leaq 0x5929(%rip), %rsi      # 0xed08
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21a0
movq 0xa608(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa5ef(%rip), %rdi      # 0x139f8
leaq 0x5927(%rip), %rsi      # 0xed37
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa5d2(%rip), %rdi      # 0x139f8
movq %r15, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa5b9(%rip), %rdi      # 0x139f8
leaq 0x5910(%rip), %rsi      # 0xed56
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa59c(%rip), %rdi      # 0x139f8
leaq 0x592d(%rip), %rsi      # 0xed90
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa14f(%rip), %rcx      # 0x135c8
movq 0xa4b0(%rip), %r8       # 0x13930
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
xorl %eax, %eax
callq 0x21a0
movq 0xa561(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa548(%rip), %rdi      # 0x139f8
leaq 0x58fe(%rip), %rsi      # 0xedb5
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movsd 0x3dc2(%rip), %xmm0     # 0xd290
divsd 0x9cda(%rip), %xmm0     # 0x131b0
addsd 0x3d2a(%rip), %xmm0     # 0xd208
movq 0xa10b(%rip), %rax      # 0x135f0
movsd %xmm0, 0x30(%rax)
jmp 0x9630
movq 0xa43a(%rip), %r8       # 0x13930
leaq 0x9fb3(%rip), %rbx      # 0x134b0
leaq 0x5683(%rip), %rsi      # 0xeb87
movq %rbx, %rdi
movq %rdx, %rcx
xorl %eax, %eax
callq 0x21a0
movq 0xa4e0(%rip), %rdi      # 0x139f8
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa4c7(%rip), %rdi      # 0x139f8
leaq 0x58a9(%rip), %rsi      # 0xede1
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa4aa(%rip), %rdi      # 0x139f8
leaq 0x58c3(%rip), %rsi      # 0xee18
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
callq 0x3d76
movq 0xa425(%rip), %rax      # 0x13990
cmpb $0x0, 0xc0(%rax)
je 0x9582
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x7c27
movq 0xa46f(%rip), %rdi      # 0x139f8
leaq 0x58b7(%rip), %rsi      # 0xee47
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
movq 0xa457(%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 0xa024(%rip), %rax      # 0x135f0
movsd 0x3c34(%rip), %xmm0     # 0xd208
subsd 0x30(%rax), %xmm0
mulsd 0x9bcf(%rip), %xmm0     # 0x131b0
ucomisd 0x3c27(%rip), %xmm0     # 0xd210
movq 0xa408(%rip), %rdi      # 0x139f8
jae 0x9605
leaq 0x5892(%rip), %rsi      # 0xee8b
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
jmp 0x962b
leaq 0x585e(%rip), %rsi      # 0xee6a
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x2210
movq 0x9fd3(%rip), %rax      # 0x135f0
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x30(%rax)
callq 0x3d76
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq