// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathgps.cpp
// Function: extend_com_timeout(double)
void extend_com_timeout(double timeout)
{
   // this routine extends the com timeout for commands that may take
   // a long time to process.  If timeout is 0, uses a default value for the
   // receiver type, 
   // NEW_RCVR

   timeout_extended = 0;
   if(timeout) {  // recalulating overflowed adevs can take a while on slow machines
      timeout_extended = (int) (timeout+0.9999);     // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = timeout;
   }
   else if(rcvr_type == BRANDY_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 10 secs of time messages
      com[RCVR_PORT].com_timeout = 10000.0;
   }
   else if(rcvr_type == LPFRS_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == MOTO_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == PRS_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == RFTG_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 90000.0;  // reset can take 90 seconds
   }
   else if(rcvr_type == SA35_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == SCPI_RCVR) { 
      timeout_extended = 10;   // resume normal timeout after 25 secs of time messages
      com[RCVR_PORT].com_timeout = 25000.0;
   }
   else if(rcvr_type == SRO_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 20 secs of time messages
      com[RCVR_PORT].com_timeout = 20000.0;
   }
   else if(rcvr_type == TICC_RCVR) { 
      timeout_extended = 10;   // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == UCCM_RCVR) {  // not for UCCM? only UCCMP? uuuuuu
      timeout_extended = 10;   // resume normal timeout after 25 secs of time messages
      com[RCVR_PORT].com_timeout = 25000.0;
   }
   else if(rcvr_type == X72_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == ZODIAC_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == ZYFER_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x2d33a1(%rip), %rax    # 0x337008
movl $0x0, (%rax)
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x63c79
jnp 0x63c8e
movsd 0xba48f(%rip), %xmm1    # 0x11e110
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %ecx
jmp 0x63d88
leaq 0x1b4c3b(%rip), %rcx    # 0x2188d0
movq (%rcx), %rdx
movl $0x5, %ecx
cmpq $0xfffff, %rdx          # imm = 0xFFFFF
jle 0x63ce3
cmpq $0x1ffffff, %rdx        # imm = 0x1FFFFFF
jle 0x63d03
cmpq $0xfffffff, %rdx        # imm = 0xFFFFFFF
jg 0x63d45
cmpq $0x2000000, %rdx        # imm = 0x2000000
je 0x63d5d
cmpq $0x8000000, %rdx        # imm = 0x8000000
jne 0x63d99
movsd 0xa7c3a(%rip), %xmm0    # 0x10b918
jmp 0x63d88
cmpq $0xff, %rdx
jg 0x63d20
cmpq $0x8, %rdx
je 0x63d67
cmpq $0x10, %rdx
je 0x63d67
cmpq $0x20, %rdx
je 0x63d5d
jmp 0x63d99
cmpq $0x100000, %rdx         # imm = 0x100000
je 0x63d5d
cmpq $0x400000, %rdx         # imm = 0x400000
je 0x63d71
cmpq $0x1000000, %rdx        # imm = 0x1000000
je 0x63d5d
jmp 0x63d99
cmpq $0x100, %rdx            # imm = 0x100
je 0x63d5d
cmpq $0x10000, %rdx          # imm = 0x10000
je 0x63d7b
cmpq $0x40000, %rdx          # imm = 0x40000
jne 0x63d99
movsd 0xa5395(%rip), %xmm0    # 0x1090d8
jmp 0x63d88
movabsq $0x1000000000, %rsi     # imm = 0x1000000000
cmpq %rsi, %rdx
je 0x63d5d
cmpq $0x10000000, %rdx       # imm = 0x10000000
jne 0x63d99
movsd 0xba393(%rip), %xmm0    # 0x11e0f8
jmp 0x63d88
movsd 0xba391(%rip), %xmm0    # 0x11e100
jmp 0x63d83
movsd 0xba38f(%rip), %xmm0    # 0x11e108
jmp 0x63d88
movsd 0xba375(%rip), %xmm0    # 0x11e0f8
movl $0xa, %ecx
movl %ecx, (%rax)
leaq 0x2aa54f(%rip), %rax    # 0x30e2e0
movsd %xmm0, 0x179f8(%rax)
popq %rbp
retq