// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: luxor_fault()
u08 luxor_fault()
{
int row, col;
int color;

   if(1 && (unit_status & RESET_BIT)) {
      have_time = 0;
      reset_alarm();
      sound_alarm = 0;
//    fault_seen = 0;
   }

   if((unit_status & FAULT_BITS) == 0) {
      fault_seen = 0;
      if(unit_status & RESET_BIT) ;
      else if(unit_status & CAL_MODE_BIT) ;
      else if(unit_status & ZEROING_BIT) ;
      else if(prot_menu || show_prots) ;
      else {
         return 0;
      }
   }
   else if((unit_status & FAULT_BITS) && (fault_seen == 0)) {
      if(unit_status & RESET_BIT) ;
      else if(unit_status & ZEROING_BIT) ;
      else {
         fault_seen = 1;
         if((unit_status & FAULT_BITS) == COM_ERR_BIT) ;
         else if((unit_status & FAULT_BITS) == WDT_BIT) ;
         else if((unit_status & FAULT_BITS) == (WDT_BIT | COM_ERR_BIT)) ;
         else if(have_time) {
            sound_alarm |= ALARM_LUXOR;
            enable_alarm();
         }
      }
   }

   erase_watch();
   row = (aclock_y - ACLOCK_SIZE/2 + (TEXT_HEIGHT-1)) / TEXT_HEIGHT;
   col = (aclock_x - ACLOCK_SIZE/2 + (TEXT_WIDTH-1)) / TEXT_WIDTH;
   if(aclock_y < PLOT_ROW) {
      col -= 5;
      if(row) --row;
   }

   if(prot_menu || show_prots) {
      if(unit_status & FAULT_BITS) color = RED;
      else                         color = WHITE;
      vidstr(row++, col, color, "Protections:");

      if(unit_status & BATT_LVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "Batt LVC: %8.3f V", batt_lvc);
      vidstr(row++, col, color, out);

      if(unit_status & BATT_HVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "Batt HVC: %8.3f V", batt_hvc);
      vidstr(row++, col, color, out);

      if(unit_status & BATT_OVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "Batt OVC: %8.3f A", batt_ovc);
      vidstr(row++, col, color, out);

      if(unit_status & BATT_WATTS_BIT) color = RED;
      else                             color = WHITE;
      sprintf(out, "Batt OVW: %8.3f W", batt_watts);
      vidstr(row++, col, color, out);

      if(unit_status & LOAD_LVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "LED LVC:  %8.3f V", load_lvc);
      vidstr(row++, col, color, out);

      if(unit_status & LOAD_HVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "LED HVC:  %8.3f V", load_hvc);
      vidstr(row++, col, color, out);

      if(unit_status & LOAD_OVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "LED OVC:  %8.3f A", load_ovc);
      vidstr(row++, col, color, out);

      if(unit_status & LOAD_WATTS_BIT) color = RED;
      else                             color = WHITE;
      sprintf(out, "LED OVW:  %8.3f W", load_watts);
      vidstr(row++, col, color, out);

      if(unit_status & AUXV_LVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "AUXV LVC: %8.3f V", auxv_lvc);
      vidstr(row++, col, color, out);

      if(unit_status & AUXV_HVC_BIT) color = RED;
      else                           color = WHITE;
      sprintf(out, "AUXV HVC: %8.3f V", auxv_hvc);
      vidstr(row++, col, color, out);


      if(unit_status & TEMP1_OVT_BIT) color = RED;
      else                            color = WHITE;
      sprintf(out, "TEMP1:    %8.3f%c%c", tc1_ovt, DEGREES, DEG_SCALE);
      vidstr(row++, col, color, out);

      if(unit_status & TEMP2_OVT_BIT) color = RED;
      else                            color = WHITE;
      sprintf(out, "TEMP2:    %8.3f%c%c", tc2_ovt, DEGREES, DEG_SCALE);
      vidstr(row++, col, color, out);

      if(unit_status & WDT_BIT) color = RED;
      else                      color = WHITE;
      sprintf(out, "Timeout:  %8.3f S", msg_timeout);
      vidstr(row++, col, color, out);
   }
   else {
      vidstr(row++, col, RED, "Abnormal status:");
      if(unit_status & RESET_BIT)      vidstr(row++, col, RED, "Unit reset"); 
      if(unit_status & CAL_MODE_BIT)   vidstr(row++, col, RED, "Cal mode"); 
      if(unit_status & CAL_CRC_ERR)    vidstr(row++, col, RED, "Cal memory bad"); 
      if(unit_status & CFG_CRC_ERR)    vidstr(row++, col, RED, "Config memory bad"); 
      if(unit_status & CONFIG_ERR)     vidstr(row++, col, RED, "Config changed"); 
      if(unit_status & ZEROING_BIT) {
         vidstr(row++, col, RED, "Zeroing sensors"); 
      }
      else {
         if(unit_status & BATT_OVC_BIT)   vidstr(row++, col, RED, "Battery over current");
         if(unit_status & BATT_WATTS_BIT) vidstr(row++, col, RED, "Battery over watts");
         if(unit_status & LOAD_OVC_BIT)   vidstr(row++, col, RED, "LED over current");
         if(unit_status & LOAD_WATTS_BIT) vidstr(row++, col, RED, "LED over watts");
      }
      if(unit_status & BATT_LVC_BIT)   vidstr(row++, col, RED, "Battery low voltage");
      if(unit_status & BATT_HVC_BIT)   vidstr(row++, col, RED, "Battery high voltage");
      if(unit_status & LOAD_LVC_BIT)   vidstr(row++, col, RED, "LED low voltage");
      if(unit_status & LOAD_HVC_BIT)   vidstr(row++, col, RED, "LED high voltage");
      if(unit_status & AUXV_LVC_BIT)   vidstr(row++, col, RED, "AUXV low voltage");
      if(unit_status & AUXV_HVC_BIT)   vidstr(row++, col, RED, "AUXV high voltage");
      if(unit_status & TEMP1_OVT_BIT)  vidstr(row++, col, RED, "Temp1 over-temp");
      if(unit_status & TEMP2_OVT_BIT)  vidstr(row++, col, RED, "Temp2 over-temp");
      if(unit_status & TEMP1_BAD_BIT)  vidstr(row++, col, RED, "Temp1 sensor fault");
      if(unit_status & TEMP2_BAD_BIT)  vidstr(row++, col, RED, "Temp2 sensor fault");
      if(unit_status & LUX1_OVFL_BIT)  vidstr(row++, col, RED, "Lux overflow");
      if(unit_status & LUX2_OVFL_BIT)  vidstr(row++, col, RED, "Lumens overflow");
      if(unit_status & COM_ERR_BIT)    vidstr(row++, col, RED, "Serial data error");
      if(unit_status & WDT_BIT)        vidstr(row++, col, RED, "Message timeout");
      if(unit_status & RUN_TIMEOUT)    vidstr(row++, col, RED, "Timer shutdown");
   }

   return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0x287537(%rip), %r12    # 0x2f6e20
movl (%r12), %eax
testl %eax, %eax
jns 0x6f90e
leaq 0x1b95e4(%rip), %rax    # 0x228edc
xorl %ebx, %ebx
movb %bl, (%rax)
callq 0xcfae4
leaq 0x288640(%rip), %rax    # 0x2f7f48
movb %bl, (%rax)
movl (%r12), %eax
movl %eax, %eax
testl $0x1ff0ccfe, %eax       # imm = 0x1FF0CCFE
je 0x6f967
btl $0x1d, %eax
jb 0x6f990
testl %eax, %eax
js 0x6f990
leaq 0x195832(%rip), %rcx    # 0x20515a
cmpb $0x0, (%rcx)
jne 0x6f990
movb $0x1, (%rcx)
andl $0x1ff0ccfe, %eax       # imm = 0x1FF0CCFE
cmpl $0x1000000, %eax        # imm = 0x1000000
je 0x6f990
cmpl $0x10000000, %eax       # imm = 0x10000000
je 0x6f990
cmpl $0x11000000, %eax       # imm = 0x11000000
je 0x6f990
leaq 0x1b958b(%rip), %rax    # 0x228edc
cmpb $0x0, (%rax)
je 0x6f990
leaq 0x2885eb(%rip), %rax    # 0x2f7f48
orb $0x10, (%rax)
callq 0xcfb33
jmp 0x6f990
leaq 0x1957ec(%rip), %rcx    # 0x20515a
movb $0x0, (%rcx)
cmpl $0x1fffffff, %eax       # imm = 0x1FFFFFFF
ja 0x6f990
leaq 0x1957d9(%rip), %rax    # 0x205158
leaq 0x1957d3(%rip), %rcx    # 0x205159
movb (%rcx), %cl
orb (%rax), %cl
je 0x70195
callq 0xe850
leaq 0x2b59dc(%rip), %rax    # 0x325378
movl (%rax), %edi
leaq 0x2b59cb(%rip), %rax    # 0x325370
movl (%rax), %eax
pushq $-0x2
popq %rcx
cltd
idivl %ecx
movl %eax, %ecx
leaq 0x192e5e(%rip), %rax    # 0x202814
movl (%rax), %esi
leal (%rdi,%rcx), %eax
addl %esi, %eax
decl %eax
cltd
idivl %esi
movl %eax, %esi
leaq 0x2b59a9(%rip), %rax    # 0x325374
leaq 0x192e3e(%rip), %rdx    # 0x202810
movl (%rdx), %r8d
addl (%rax), %ecx
leal (%r8,%rcx), %eax
decl %eax
cltd
idivl %r8d
leaq 0x192e94(%rip), %rcx    # 0x20287c
xorl %edx, %edx
movl %esi, %r15d
subl $0x1, %r15d
cmovbl %edx, %r15d
cmpl (%rcx), %edi
cmovgel %esi, %r15d
leal -0x5(%rax), %r13d
cmovgel %eax, %r13d
leaq 0x19574e(%rip), %rax    # 0x205158
leaq 0x195748(%rip), %rcx    # 0x205159
movb (%rcx), %cl
orb (%rax), %cl
je 0x6fdd7
xorl %eax, %eax
testl $0x1ff0ccfe, (%r12)     # imm = 0x1FF0CCFE
sete %al
leal 0x1(%r15), %ecx
movl %ecx, -0x2c(%rbp)
leal (%rax,%rax,2), %edx
addl $0xc, %edx
leaq 0x9c838(%rip), %rcx     # 0x10c274
movl %r15d, %edi
movl %r13d, %esi
callq 0xe2d2
xorl %ebx, %ebx
testb $0x4, (%r12)
sete %bl
leaq 0x1956c8(%rip), %rax    # 0x205120
movsd (%rax), %xmm0
leaq 0x2b67bd(%rip), %r14    # 0x326220
leaq 0x9c817(%rip), %rsi     # 0x10c281
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x2(%r15), %eax
movl %eax, -0x30(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
testb $0x8, (%r12)
sete %bl
leaq 0x195678(%rip), %rax    # 0x205118
movsd (%rax), %xmm0
leaq 0x9c7e8(%rip), %rsi     # 0x10c293
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x3(%r15), %eax
movl %eax, -0x2c(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x30(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
testb $0x2, (%r12)
sete %bl
leaq 0x19562f(%rip), %rax    # 0x205110
movsd (%rax), %xmm0
leaq 0x9c7b9(%rip), %rsi     # 0x10c2a5
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x4(%r15), %r12d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x287309(%rip), %rax    # 0x2f6e20
btl $0x14, (%rax)
setae %bl
leaq 0x195603(%rip), %rax    # 0x205128
movsd (%rax), %xmm0
leaq 0x9c787(%rip), %rsi     # 0x10c2b7
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x5(%r15), %eax
movl %eax, -0x2c(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl %r12d, %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x2872c2(%rip), %rax    # 0x2f6e20
testb $0x40, (%rax)
sete %bl
leaq 0x195595(%rip), %rax    # 0x205100
movsd (%rax), %xmm0
leaq 0x9c753(%rip), %rsi     # 0x10c2c9
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x6(%r15), %r12d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x28727f(%rip), %rax    # 0x2f6e20
cmpb $0x0, (%rax)
setns %bl
leaq 0x19554a(%rip), %rax    # 0x2050f8
movsd (%rax), %xmm0
leaq 0x9c722(%rip), %rsi     # 0x10c2db
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x7(%r15), %eax
movl %eax, -0x2c(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl %r12d, %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x287239(%rip), %rax    # 0x2f6e20
testb $0x20, (%rax)
sete %bl
leaq 0x1954fc(%rip), %rax    # 0x2050f0
movsd (%rax), %xmm0
leaq 0x9c6ee(%rip), %rsi     # 0x10c2ed
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x8(%r15), %r12d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x2871f6(%rip), %rax    # 0x2f6e20
btl $0x15, (%rax)
setae %bl
leaq 0x1954d0(%rip), %rax    # 0x205108
movsd (%rax), %xmm0
leaq 0x9c6bc(%rip), %rsi     # 0x10c2ff
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x9(%r15), %eax
movl %eax, -0x2c(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl %r12d, %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x2871af(%rip), %rax    # 0x2f6e20
btl $0x16, (%rax)
setae %bl
leaq 0x1954b9(%rip), %rax    # 0x205138
movsd (%rax), %xmm0
leaq 0x9c687(%rip), %rsi     # 0x10c311
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0xa(%r15), %r12d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x28716b(%rip), %rax    # 0x2f6e20
btl $0x17, (%rax)
setae %bl
leaq 0x19546d(%rip), %rax    # 0x205130
movsd (%rax), %xmm0
leaq 0x9c655(%rip), %rsi     # 0x10c323
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0xb(%r15), %eax
movl %eax, -0x2c(%rbp)
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl %r12d, %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x287124(%rip), %rax    # 0x2f6e20
btl $0xa, (%rax)
setae %bl
leaq 0x195436(%rip), %rax    # 0x205140
movsd (%rax), %xmm0
leaq 0x287290(%rip), %rax    # 0x2f6fa5
movsbl (%rax), %ecx
leaq 0x9c616(%rip), %rsi     # 0x10c335
pushq $0x1
popq %rdx
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0xc(%r15), %r12d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl -0x2c(%rbp), %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x2870d3(%rip), %rax    # 0x2f6e20
btl $0xe, (%rax)
setae %bl
leaq 0x1953ed(%rip), %rax    # 0x205148
movsd (%rax), %xmm0
leaq 0x28723f(%rip), %rax    # 0x2f6fa5
movsbl (%rax), %ecx
leaq 0x9c5d9(%rip), %rsi     # 0x10c349
movq %r14, %rdi
pushq $0x1
popq %rdx
movb $0x1, %al
callq 0x9060
addl $0xd, %r15d
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movl %r12d, %edi
movl %r13d, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %ebx, %ebx
leaq 0x287082(%rip), %rax    # 0x2f6e20
btl $0x1c, (%rax)
setae %bl
leaq 0x1953a4(%rip), %rax    # 0x205150
movsd (%rax), %xmm0
leaq 0x9c5a6(%rip), %rsi     # 0x10c35d
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal (%rbx,%rbx,2), %edx
addl $0xc, %edx
movb $0x1, %bl
movl %r15d, %edi
movl %r13d, %esi
movq %r14, %rcx
jmp 0x7017f
leal 0x1(%r15), %r14d
leaq 0x9c58d(%rip), %rcx     # 0x10c36f
pushq $0xc
popq %rdx
movl %r15d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
testl %eax, %eax
jns 0x6fe18
addl $0x2, %r15d
leaq 0x9c57d(%rip), %rcx     # 0x10c380
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %r15d, %r14d
btl $0x1e, %eax
jae 0x6fe3e
leal 0x1(%r14), %ebx
leaq 0x9c562(%rip), %rcx     # 0x10c38b
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x19, %eax
jae 0x6fe64
leal 0x1(%r14), %ebx
leaq 0x9c545(%rip), %rcx     # 0x10c394
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testb $0x10, %al
je 0x6fe88
leal 0x1(%r14), %ebx
leaq 0x9c530(%rip), %rcx     # 0x10c3a3
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x1a, %eax
jae 0x6feae
leal 0x1(%r14), %ebx
leaq 0x9c51c(%rip), %rcx     # 0x10c3b5
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x1d, %eax
jb 0x6ff3c
movl %eax, %ecx
testb $0x2, %cl
je 0x6fedf
leal 0x1(%r14), %ebx
leaq 0x9c50a(%rip), %rcx     # 0x10c3d4
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x14, %eax
jae 0x6ff05
leal 0x1(%r14), %ebx
leaq 0x9c4f9(%rip), %rcx     # 0x10c3e9
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testb $0x20, %al
je 0x6ff29
leal 0x1(%r14), %ebx
leaq 0x9c4e8(%rip), %rcx     # 0x10c3fc
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x15, %eax
jae 0x6ff58
leal 0x1(%r14), %ebx
leaq 0x9c4d3(%rip), %rcx     # 0x10c40d
jmp 0x6ff47
leal 0x1(%r14), %ebx
leaq 0x9c47d(%rip), %rcx     # 0x10c3c4
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl %ebx, %r14d
movl (%r12), %eax
testb $0x4, %al
je 0x6ff80
leal 0x1(%r14), %ebx
leaq 0x9c4b1(%rip), %rcx     # 0x10c41c
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testb $0x8, %al
je 0x6ffa4
leal 0x1(%r14), %ebx
leaq 0x9c4a1(%rip), %rcx     # 0x10c430
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testb $0x40, %al
je 0x6ffc8
leal 0x1(%r14), %ebx
leaq 0x9c492(%rip), %rcx     # 0x10c445
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testb %al, %al
jns 0x6ffec
leal 0x1(%r14), %ebx
leaq 0x9c47e(%rip), %rcx     # 0x10c455
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x16, %eax
jae 0x70012
leal 0x1(%r14), %ebx
leaq 0x9c469(%rip), %rcx     # 0x10c466
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x17, %eax
jae 0x70038
leal 0x1(%r14), %ebx
leaq 0x9c454(%rip), %rcx     # 0x10c477
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0xa, %eax
jae 0x7005e
leal 0x1(%r14), %ebx
leaq 0x9c440(%rip), %rcx     # 0x10c489
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0xe, %eax
jae 0x70084
leal 0x1(%r14), %ebx
leaq 0x9c42a(%rip), %rcx     # 0x10c499
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0xb, %eax
jae 0x700aa
leal 0x1(%r14), %ebx
leaq 0x9c414(%rip), %rcx     # 0x10c4a9
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
testw %ax, %ax
jns 0x700cf
leal 0x1(%r14), %ebx
leaq 0x9c402(%rip), %rcx     # 0x10c4bc
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x11, %eax
jae 0x700f5
leal 0x1(%r14), %ebx
leaq 0x9c3ef(%rip), %rcx     # 0x10c4cf
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x13, %eax
jae 0x7011b
leal 0x1(%r14), %ebx
leaq 0x9c3d6(%rip), %rcx     # 0x10c4dc
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x18, %eax
jae 0x70141
leal 0x1(%r14), %ebx
leaq 0x9c3c0(%rip), %rcx     # 0x10c4ec
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
btl $0x1c, %eax
jae 0x70167
leal 0x1(%r14), %ebx
leaq 0x9c3ac(%rip), %rcx     # 0x10c4fe
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl (%r12), %eax
movl %ebx, %r14d
movb $0x1, %bl
btl $0x1b, %eax
jae 0x70184
leaq 0x9c398(%rip), %rcx     # 0x10c50e
pushq $0xc
popq %rdx
movl %r14d, %edi
movl %r13d, %esi
callq 0xe2d2
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %ebx, %ebx
jmp 0x70184