// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_const()
int rpn_const()
{
int i;
double val;

   // perform a calculator command

   // We break the command parser into rpn_const() and rpn_math() in order
   // to get around a compiler if() chain limit.

   i = find_rpn_def(msg_field);
   if(i >= 0) {  // user defined command
      if(rpn_exec_level >= RPN_EXEC_DEPTH) {
         edit_error("DEFINE expansion nested too deep!");
         rpn_break = 1;
         rpn_exec_level = 0;
         return 0;
      }

      rpn_nest();  // save where we are in the current line

      // switch to decoding the DEFINE string
      strcpy(nmea_msg, rpn_defs[i]);
      msg_col = strlen(msg_field)+1;
      return 1;
   }

   // constants
   val = 0.0;
   if     (!strcmp(msg_field,  "lastx"))      { rpn_push(last_x); }
   else if(!strcmp(msg_field,  "last"))       { rpn_push(last_x); }
   else if(!strcmp(msg_field,  "c"))          { rpn_push(LIGHTSPEED*1000.0); }
   else if(!strcmp(msg_field,  "e"))          { rpn_push(E_VALUE); }
   else if(!strcmp(msg_field,  "h"))          { rpn_push(KH); }
   else if(!strcmp(msg_field,  "k"))          { rpn_push(KB); }
   else if(!strcmp(msg_field,  "pi"))         { rpn_push(PI); }
   else if(!strcmp(msg_field,  "\\"))         { rpn_push(PI); }
   else if(!strcmp(msg_field,  "rn"))         { rpn_rn(); }
   else if(!strcmp(msg_field,  "spd"))        { rpn_push(24.0*60.0*60.0); }
   else if(!strcmp(msg_field,  "spw"))        { rpn_push(24.0*60.0*60.0*7.0); }
   else if(!strcmp(msg_field,  "t0"))         { rpn_push(ABS_ZERO); }

   else if(!strcmp(msg_field,  "lat"))        { rpn_push(lat*deg_mode); }
   else if(!strcmp(msg_field,  "lon"))        { rpn_push(lon*deg_mode); }
   else if(!strcmp(msg_field,  "alt"))        { rpn_push(alt); }
   else if(!strcmp(msg_field,  "lla"))        { rpn_push(lat*deg_mode); rpn_push(lon*deg_mode); rpn_push(alt); }
   else if(!strcmp(msg_field,  "dac"))        { rpn_push(dac_voltage); }
   else if(!strcmp(msg_field,  "pps"))        { rpn_push(pps_offset); }
   else if(!strcmp(msg_field,  "osc"))        { rpn_push(osc_offset); }
   else if(!strcmp(msg_field,  "temp"))       { rpn_push(temperature); }

   else if(!strcmp(msg_field,  "amu"))        { rpn_push(amu_mask); }
   else if(!strcmp(msg_field,  "cable"))      { rpn_push(cable_delay*1.0E9); }
   else if(!strcmp(msg_field,  "elmask"))     { rpn_push(el_mask*PI/180.0*deg_mode); }
   else if(!strcmp(msg_field,  "ffom"))       { rpn_push(ffom); }
   else if(!strcmp(msg_field,  "leap"))       { rpn_push(utc_offset); }
   else if(!strcmp(msg_field,  "tfom"))       { rpn_push(tfom); }

   else if(!strcmp(msg_field,  "dop"))        { rpn_push(average_dop()); }
   else if(!strcmp(msg_field,  "edop"))       { rpn_push(edop); }
   else if(!strcmp(msg_field,  "gdop"))       { rpn_push(gdop); }
   else if(!strcmp(msg_field,  "hdop"))       { rpn_push(hdop); }
   else if(!strcmp(msg_field,  "pdop"))       { rpn_push(pdop); }
   else if(!strcmp(msg_field,  "tdop"))       { rpn_push(tdop); }
   else if(!strcmp(msg_field,  "vdop"))       { rpn_push(vdop); }
   else if(!strcmp(msg_field,  "xdop"))       { rpn_push(xdop); }
   else if(!strcmp(msg_field,  "ydop"))       { rpn_push(ydop); }

   else if(!strcmp(msg_field,  "damp"))       { rpn_push(damping_factor); }
   else if(!strcmp(msg_field,  "gain"))       { rpn_push(osc_gain); }
   else if(!strcmp(msg_field,  "initv"))      { rpn_push(initial_voltage); }
   else if(!strcmp(msg_field,  "tc"))         { rpn_push(time_constant); }

   else if(!strncmp(msg_field, "prn", 3))     { rpn_prn(0); }
   else if(!strncmp(msg_field, "az", 2))      { rpn_az(0); }
   else if(!strncmp(msg_field, "el", 2))      { rpn_el(0); }
   else if(!strncmp(msg_field, "sig", 3))     { rpn_sig(0); }
   else if(!strncmp(msg_field, "doppler", 7)) { rpn_doppler(0); }
   else if(!strncmp(msg_field, "range", 5))   { rpn_range(0); }
   else if(!strncmp(msg_field, "phase", 5))   { rpn_phase(0); }

   // time related constants
   else if(!strcmp(msg_field,  "time"))       { rpn_time(); }
   else if(!strcmp(msg_field,  "date"))       { rpn_date(); }
   else if(!strcmp(msg_field,  "local"))      { rpn_push(jd_local); }
   else if(!strcmp(msg_field,  "utc"))        { rpn_push(jd_utc); }
   else if(!strcmp(msg_field,  "gps"))        { rpn_push(jd_gps); }
   else if(!strcmp(msg_field,  "mjd"))        { rpn_push(jd_utc-JD_MJD); }
   else if(!strcmp(msg_field,  "tzjd"))       { rpn_push(time_zone()); }
   else if(!strcmp(msg_field,  "tz"))         { rpn_push(time_zone()*24.0); }
   else if(!strcmp(msg_field,  "tow"))        { rpn_push((double) tow); }
   else if(!strcmp(msg_field,  "week"))       { rpn_push((double) gps_week); }
   else if(!strcmp(msg_field,  "epoch"))      { rpn_push(GPS_EPOCH); }
   else if(!strcmp(msg_field,  "gtime"))      { rpn_push(jd_utc - GPS_EPOCH); }
   else if(!strcmp(msg_field,  "utime"))      { rpn_push(jd_utc - LINUX_EPOCH); }
   else if(!strcmp(msg_field,  "greg"))       { rpn_gregorian(); }
   else if(!strcmp(msg_field,  "gregorian"))  { rpn_gregorian(); }
   else if(!strcmp(msg_field,  "dow"))        { rpn_dow(); }
   else if(!strcmp(msg_field,  "ti"))         { rpn_push(jd_elapsed?((jd_utc-jd_elapsed)*24.0*60.0*60.0+0.00001):0.0); }
   else if(!strcmp(msg_field,  "rise"))       { rpn_push(sunrise_time + time_zone()); }
   else if(!strcmp(msg_field,  "noon"))       { rpn_push(solar_noon + time_zone()); }
   else if(!strcmp(msg_field,  "set"))        { rpn_push(sunset_time + time_zone()); }

   // conditionals
   else if(!strcmp(msg_field, "x=y"))       { if(rpn[0] == rpn[1]) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strcmp(msg_field, "x<y"))       { if(rpn[0] < rpn[1])  skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strcmp(msg_field, "x>y"))       { if(rpn[0] > rpn[1])  skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strcmp(msg_field, "x<>y"))      { if(rpn[0] != rpn[1]) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strcmp(msg_field, "x>=y"))      { if(rpn[0] >= rpn[1]) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strcmp(msg_field, "x<=y"))      { if(rpn[0] <= rpn[1]) skip_next_rpn = (2); else skip_next_rpn = 1; }

   else if(!strncmp(msg_field, "x=", 2))    { val=atof(&msg_field[2]); if(rpn[0] == val) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strncmp(msg_field, "x<", 2))    { val=atof(&msg_field[2]); if(rpn[0] < val)  skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strncmp(msg_field, "x>", 2))    { val=atof(&msg_field[2]); if(rpn[0] > val)  skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strncmp(msg_field, "x<>", 3))   { val=atof(&msg_field[3]); if(rpn[0] != val) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strncmp(msg_field, "x>=", 3))   { val=atof(&msg_field[3]); if(rpn[0] >= val) skip_next_rpn = (2); else skip_next_rpn = 1; }
   else if(!strncmp(msg_field, "x<=", 3))   { val=atof(&msg_field[3]); if(rpn[0] <= val) skip_next_rpn = (2); else skip_next_rpn = 1; }

   else if(!strcmp(msg_field, "break"))     { skip_next_rpn = (-1); }
   else if(!strcmp(msg_field, "dsz"))       { rpn_inc(-1.0); }
   else if(!strcmp(msg_field, "isz"))       { rpn_inc(+1.0); }
   else if(!strcmp(msg_field, "nop"))       { }
   else if(!strcmp(msg_field, "again"))     { // loop back to start of line
      msg_col = 0;      // loop back to start of line
      update_pwm();     // if doing pwm temperature control
      serve_os_queue(); // so keypress check works
      if(KBHIT()) {
         nmea_msg[0] = 0;
         msg_col = 0;
         msg_field[0] = 0;
         rpn_error("Calculator loop interrupted!");
      }
   }

   else return 0;  // unknown command

   return 1;   // command processed
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
leaq 0x302d91(%rip), %rdi    # 0x325a40
callq 0x21259
testl %eax, %eax
js 0x22ce9
cmpl $0xa, 0x30ba55(%rip)    # 0x32e714
jl 0x22d49
leaq 0xd4c4f(%rip), %rdi     # 0xf791b
callq 0x214df
movl $0x1, 0x30a075(%rip)    # 0x32cd50
andl $0x0, 0x30ba32(%rip)    # 0x32e714
xorl %eax, %eax
jmp 0x22d92
leaq 0x302d50(%rip), %rdi    # 0x325a40
leaq 0xd4c46(%rip), %rsi     # 0xf793d
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x22d82
leaq 0x302d36(%rip), %rbx    # 0x325a40
leaq 0xd4c32(%rip), %rsi     # 0xf7943
pushq $0x5
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x22d82
movzwl (%rbx), %ebx
leal -0x63(%rbx), %eax
cmpl $0x8, %eax
ja 0x22dbb
leaq 0xd2eba(%rip), %rcx     # 0xf5bf0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xd2ba1(%rip), %xmm0    # 0xf58e8
jmp 0x22d8a
movl %eax, %ebx
callq 0x21d4a
movl %ebx, %eax
leaq 0x30a007(%rip), %rcx    # 0x32cd60
movq (%rcx,%rax,8), %rsi
leaq 0x302acc(%rip), %rdi    # 0x325830
callq 0x9330
leaq 0x302cd0(%rip), %rdi    # 0x325a40
callq 0x9120
incl %eax
leaq 0x302ec6(%rip), %rcx    # 0x325c44
movl %eax, (%rcx)
jmp 0x22d8f
movsd 0x309f9e(%rip), %xmm0   # 0x32cd28
callq 0x1fcb6
pushq $0x1
popq %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movsd 0xd2b33(%rip), %xmm0    # 0xf58d8
jmp 0x22d8a
movsd 0xd2b31(%rip), %xmm0    # 0xf58e0
jmp 0x22d8a
movsd 0xd2b17(%rip), %xmm0    # 0xf58d0
jmp 0x22d8a
leaq 0x302c7e(%rip), %rdi    # 0x325a40
leaq 0xe52a3(%rip), %rsi     # 0x10806c
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x22ddb
cmpw $0x5c, %bx
jne 0x22de5
movsd 0xd2abd(%rip), %xmm0    # 0xf58a0
jmp 0x22d8a
leaq 0x302c54(%rip), %rbx    # 0x325a40
leaq 0xf3bdc(%rip), %rsi     # 0x1169cf
pushq $0x3
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x22e24
movl (%rbx), %r14d
cmpl $0x777073, %r14d        # imm = 0x777073
je 0x22e2e
cmpl $0x647073, %r14d        # imm = 0x647073
jne 0x22e3b
movsd 0xd01f9(%rip), %xmm0    # 0xf3018
jmp 0x22d8a
callq 0x2025c
jmp 0x22d8f
movsd 0xd2aba(%rip), %xmm0    # 0xf58f0
jmp 0x22d8a
leaq 0x302bfe(%rip), %rdi    # 0x325a40
leaq 0xd4aff(%rip), %rsi     # 0xf7948
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x22ea5
cmpl $0x616c6c, %r14d        # imm = 0x616C6C
je 0x22ed6
cmpl $0x636164, %r14d        # imm = 0x636164
je 0x22f4b
cmpl $0x63736f, %r14d        # imm = 0x63736F
je 0x22f42
cmpl $0x6e6f6c, %r14d        # imm = 0x6E6F6C
je 0x22eb2
cmpl $0x737070, %r14d        # imm = 0x737070
je 0x22eca
cmpl $0x746c61, %r14d        # imm = 0x746C61
je 0x22f06
cmpl $0x74616c, %r14d        # imm = 0x74616C
jne 0x22f0f
leaq 0x2d412d(%rip), %rax    # 0x2f6fd0
jmp 0x22eb9
movsd 0xd2a6b(%rip), %xmm0    # 0xf5918
jmp 0x22d8a
leaq 0x2d411f(%rip), %rax    # 0x2f6fd8
movsd (%rax), %xmm0
mulsd 0x131193(%rip), %xmm0   # 0x154058
jmp 0x22d8a
leaq 0x2d38e7(%rip), %rax    # 0x2f67b8
jmp 0x22f5b
leaq 0x2d40f3(%rip), %rax    # 0x2f6fd0
movsd (%rax), %xmm0
mulsd 0x13116f(%rip), %xmm0   # 0x154058
callq 0x1fcb6
leaq 0x2d40e3(%rip), %rax    # 0x2f6fd8
movsd (%rax), %xmm0
mulsd 0x131157(%rip), %xmm0   # 0x154058
callq 0x1fcb6
leaq 0x2d40d3(%rip), %rax    # 0x2f6fe0
jmp 0x22f5b
leaq 0x302b2a(%rip), %rdi    # 0x325a40
leaq 0xec661(%rip), %rsi     # 0x10f57e
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x22f54
cmpl $0x756d61, %r14d        # imm = 0x756D61
jne 0x22f64
leaq 0x2d417f(%rip), %rax    # 0x2f70b8
cvtss2sd (%rax), %xmm0
jmp 0x22d8a
leaq 0x2d3877(%rip), %rax    # 0x2f67c0
jmp 0x22f5b
leaq 0x2d3aae(%rip), %rax    # 0x2f6a00
jmp 0x22f5b
leaq 0x2d3abd(%rip), %rax    # 0x2f6a18
movsd (%rax), %xmm0
jmp 0x22d8a
leaq 0x302ad5(%rip), %rdi    # 0x325a40
leaq 0xebf56(%rip), %rsi     # 0x10eec8
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x22ff9
leaq 0x302abb(%rip), %rdi    # 0x325a40
leaq 0xeb493(%rip), %rsi     # 0x10e41f
pushq $0x7
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23011
leaq 0x302aa1(%rip), %rdi    # 0x325a40
leaq 0xec1b3(%rip), %rsi     # 0x10f159
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23031
leaq 0x302a87(%rip), %rdi    # 0x325a40
leaq 0xd498b(%rip), %rsi     # 0xf794b
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2303a
leaq 0x302a6d(%rip), %rdi    # 0x325a40
leaq 0xd4976(%rip), %rsi     # 0xf7950
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23043
cmpl $0x706f64, %r14d        # imm = 0x706F64
jne 0x23053
callq 0x52755
jmp 0x22d8a
leaq 0x2d4dc8(%rip), %rax    # 0x2f7dc8
movsd (%rax), %xmm0
mulsd 0xd001c(%rip), %xmm0    # 0xf3028
jmp 0x22d8a
leaq 0x2d409c(%rip), %rax    # 0x2f70b4
cvtss2sd (%rax), %xmm0
mulsd 0xd287c(%rip), %xmm0    # 0xf58a0
divsd 0xd287c(%rip), %xmm0    # 0xf58a8
jmp 0x22ebd
leaq 0x2d3c20(%rip), %rax    # 0x2f6c58
jmp 0x2304a
leaq 0x2d46e7(%rip), %rax    # 0x2f7728
jmp 0x2304a
leaq 0x2d3c06(%rip), %rax    # 0x2f6c50
cvtsi2sdl (%rax), %xmm0
jmp 0x22d8a
leaq 0x3029e6(%rip), %rdi    # 0x325a40
leaq 0xd48f4(%rip), %rsi     # 0xf7955
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23202
leaq 0x3029c8(%rip), %rdi    # 0x325a40
leaq 0xd48db(%rip), %rsi     # 0xf795a
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2320e
leaq 0x3029aa(%rip), %rdi    # 0x325a40
leaq 0xd48c2(%rip), %rsi     # 0xf795f
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2321a
leaq 0x30298c(%rip), %rdi    # 0x325a40
leaq 0xd48a9(%rip), %rsi     # 0xf7964
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23226
leaq 0x30296e(%rip), %rdi    # 0x325a40
leaq 0xd4890(%rip), %rsi     # 0xf7969
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23232
leaq 0x302950(%rip), %rdi    # 0x325a40
leaq 0xd4877(%rip), %rsi     # 0xf796e
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2323e
leaq 0x302932(%rip), %rdi    # 0x325a40
leaq 0xd485e(%rip), %rsi     # 0xf7973
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2324a
leaq 0x302914(%rip), %rdi    # 0x325a40
leaq 0xd4229(%rip), %rsi     # 0xf735c
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23256
leaq 0x3028f6(%rip), %rdi    # 0x325a40
leaq 0xd4827(%rip), %rsi     # 0xf7978
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23262
leaq 0x3028d8(%rip), %rdi    # 0x325a40
leaq 0xd4867(%rip), %rsi     # 0xf79d6
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2326e
leaq 0x3028ba(%rip), %rdi    # 0x325a40
leaq 0xd4205(%rip), %rsi     # 0xf7392
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2327a
leaq 0x30289c(%rip), %rdi    # 0x325a40
leaq 0xebe73(%rip), %rsi     # 0x10f01e
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23286
leaq 0x30287e(%rip), %rdi    # 0x325a40
leaq 0xde9fa(%rip), %rsi     # 0x101bc3
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23292
cmpw $0x6c65, %r14w          # imm = 0x6C65
je 0x2329e
movzwl %r14w, %r15d
cmpl $0x7a61, %r15d          # imm = 0x7A61
jne 0x232aa
xorl %edi, %edi
callq 0x202bb
jmp 0x22d8f
leaq 0x1ea30f(%rip), %rax    # 0x20d518
jmp 0x22f5b
leaq 0x1ea2eb(%rip), %rax    # 0x20d500
jmp 0x22f5b
leaq 0x1ea2cf(%rip), %rax    # 0x20d4f0
jmp 0x22f5b
leaq 0x1ea2bb(%rip), %rax    # 0x20d4e8
jmp 0x22f5b
leaq 0x1ea2cf(%rip), %rax    # 0x20d508
jmp 0x22f5b
leaq 0x1ea2b3(%rip), %rax    # 0x20d4f8
jmp 0x22f5b
leaq 0x1ea2cf(%rip), %rax    # 0x20d520
jmp 0x22f5b
leaq 0x1ea2cb(%rip), %rax    # 0x20d528
jmp 0x22f5b
leaq 0x2d3e97(%rip), %rax    # 0x2f7100
jmp 0x22f5b
leaq 0x2d3e93(%rip), %rax    # 0x2f7108
jmp 0x22f5b
leaq 0x2d3ecf(%rip), %rax    # 0x2f7150
jmp 0x22f5b
leaq 0x2d3e63(%rip), %rax    # 0x2f70f0
jmp 0x22f5b
xorl %edi, %edi
callq 0x208b6
jmp 0x22d8f
xorl %edi, %edi
callq 0x203e3
jmp 0x22d8f
leaq 0x30278f(%rip), %rdi    # 0x325a40
leaq 0xd70e4(%rip), %rsi     # 0xfa39c
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2339f
leaq 0x302771(%rip), %rdi    # 0x325a40
leaq 0xd46a7(%rip), %rsi     # 0xf797d
pushq $0x7
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233ab
leaq 0x302753(%rip), %rdi    # 0x325a40
leaq 0xdb072(%rip), %rsi     # 0xfe366
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233b7
leaq 0x302735(%rip), %rdi    # 0x325a40
leaq 0xd66ce(%rip), %rsi     # 0xf99e0
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233c3
leaq 0x302717(%rip), %rdi    # 0x325a40
leaq 0xd4bbb(%rip), %rsi     # 0xf7eeb
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233cf
leaq 0x3026f9(%rip), %rdi    # 0x325a40
leaq 0xec6da(%rip), %rsi     # 0x10fa28
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233d9
leaq 0x3026df(%rip), %rdi    # 0x325a40
leaq 0xd461d(%rip), %rsi     # 0xf7985
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x233e3
cmpl $0x737067, %r14d        # imm = 0x737067
je 0x233ef
cmpl $0x646a6d, %r14d        # imm = 0x646A6D
je 0x233fb
cmpl $0x637475, %r14d        # imm = 0x637475
jne 0x23413
leaq 0x2d4196(%rip), %rax    # 0x2f7530
jmp 0x22f5b
xorl %edi, %edi
callq 0x2050b
jmp 0x22d8f
xorl %edi, %edi
callq 0x205f4
jmp 0x22d8f
xorl %edi, %edi
callq 0x206dd
jmp 0x22d8f
xorl %edi, %edi
callq 0x207c6
jmp 0x22d8f
callq 0x20dcc
jmp 0x22d8f
callq 0x20e36
jmp 0x22d8f
leaq 0x2d415e(%rip), %rax    # 0x2f7548
jmp 0x22f5b
leaq 0x2d4142(%rip), %rax    # 0x2f7538
jmp 0x22f5b
leaq 0x2d412e(%rip), %rax    # 0x2f7530
movsd (%rax), %xmm0
addsd 0xd24ea(%rip), %xmm0    # 0xf58f8
jmp 0x22d8a
leaq 0x302626(%rip), %rdi    # 0x325a40
leaq 0xd456a(%rip), %rsi     # 0xf798b
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23463
leaq 0x30260c(%rip), %rdi    # 0x325a40
leaq 0xfb65b(%rip), %rsi     # 0x11ea96
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2346d
cmpl $0x776f74, %r14d        # imm = 0x776F74
jne 0x2347f
leaq 0x2d42e5(%rip), %rax    # 0x2f773c
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
jmp 0x22d8a
callq 0xce627
jmp 0x22d8a
callq 0xce627
mulsd 0xcfbc6(%rip), %xmm0    # 0xf3040
jmp 0x22d8a
leaq 0x3025ba(%rip), %rdi    # 0x325a40
leaq 0xd4503(%rip), %rsi     # 0xf7990
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2353e
leaq 0x30259c(%rip), %rdi    # 0x325a40
leaq 0xd44ea(%rip), %rsi     # 0xf7995
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23551
leaq 0x30257e(%rip), %rdi    # 0x325a40
leaq 0xd44d2(%rip), %rsi     # 0xf799b
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2355e
leaq 0x302560(%rip), %rdi    # 0x325a40
leaq 0xf57d1(%rip), %rsi     # 0x118cb8
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23580
leaq 0x302542(%rip), %rdi    # 0x325a40
leaq 0xd449c(%rip), %rsi     # 0xf79a1
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23576
leaq 0x302528(%rip), %rdi    # 0x325a40
leaq 0xd4487(%rip), %rsi     # 0xf79a6
pushq $0xa
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23576
cmpl $0x776f64, %r14d        # imm = 0x776F64
jne 0x23598
callq 0x20c84
jmp 0x22d8f
leaq 0x2d41f3(%rip), %rax    # 0x2f7738
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
jmp 0x22d8a
movsd 0xd23b7(%rip), %xmm0    # 0xf5910
jmp 0x22d8a
leaq 0x2d3fcb(%rip), %rax    # 0x2f7530
movsd (%rax), %xmm0
addsd 0xd2397(%rip), %xmm0    # 0xf5908
jmp 0x22d8a
callq 0x20e95
jmp 0x22d8f
leaq 0x2d3fa9(%rip), %rax    # 0x2f7530
movsd (%rax), %xmm0
addsd 0xcfab5(%rip), %xmm0    # 0xf3048
jmp 0x22d8a
leaq 0x3024a1(%rip), %rdi    # 0x325a40
leaq 0xd3e39(%rip), %rsi     # 0xf73df
pushq $0x3
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2362b
leaq 0x302487(%rip), %rdi    # 0x325a40
leaq 0xd43f0(%rip), %rsi     # 0xf79b0
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x2367a
leaq 0x302469(%rip), %rdi    # 0x325a40
leaq 0xd43d7(%rip), %rsi     # 0xf79b5
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23683
cmpl $0x793e78, %r14d        # imm = 0x793E78
je 0x236a2
cmpl $0x793c78, %r14d        # imm = 0x793C78
je 0x236b6
cmpl $0x793d78, %r14d        # imm = 0x793D78
je 0x236d7
cmpl $0x746573, %r14d        # imm = 0x746573
jne 0x236fa
leaq 0x2d3fff(%rip), %rax    # 0x2f7628
jmp 0x2368a
leaq 0x1e1dc6(%rip), %rax    # 0x2053f8
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x23646
jnp 0x22d8a
leaq 0x2d3ee3(%rip), %rax    # 0x2f7530
movsd (%rax), %xmm0
subsd %xmm1, %xmm0
mulsd 0xcf9e3(%rip), %xmm0    # 0xf3040
movsd 0xcf9a3(%rip), %xmm1    # 0xf3008
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
addsd 0xd228b(%rip), %xmm0    # 0xf5900
jmp 0x22d8a
leaq 0x2d3f77(%rip), %rax    # 0x2f75f8
jmp 0x2368a
leaq 0x2d3fd6(%rip), %rax    # 0x2f7660
movsd (%rax), %xmm0
movsd %xmm0, -0x20(%rbp)
callq 0xce627
addsd -0x20(%rbp), %xmm0
jmp 0x22d8a
movsd 0x3092c6(%rip), %xmm0   # 0x32c970
ucomisd 0x3092c6(%rip), %xmm0   # 0x32c978
jbe 0x236c8
jmp 0x236eb
movsd 0x3092ba(%rip), %xmm0   # 0x32c978
ucomisd 0x3092aa(%rip), %xmm0   # 0x32c970
ja 0x236eb
movl $0x1, 0x30967a(%rip)    # 0x32cd4c
jmp 0x22d8f
movsd 0x309291(%rip), %xmm0   # 0x32c970
ucomisd 0x309291(%rip), %xmm0   # 0x32c978
jne 0x236c8
jp 0x236c8
movl $0x2, 0x309657(%rip)    # 0x32cd4c
jmp 0x22d8f
leaq 0x30233f(%rip), %rdi    # 0x325a40
leaq 0xd42b2(%rip), %rsi     # 0xf79ba
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23792
leaq 0x302325(%rip), %rdi    # 0x325a40
leaq 0xd429d(%rip), %rsi     # 0xf79bf
pushq $0x5
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x237b3
leaq 0x302307(%rip), %rbx    # 0x325a40
leaq 0xd4284(%rip), %rsi     # 0xf79c4
pushq $0x5
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x237ce
cmpw $0x3c78, %r14w          # imm = 0x3C78
je 0x237e9
cmpl $0x3e78, %r15d          # imm = 0x3E78
je 0x237fa
cmpl $0x3d78, %r15d          # imm = 0x3D78
jne 0x2381d
addq $0x2, %rbx
movq %rbx, %rdi
callq 0x9470
movsd 0x3091e7(%rip), %xmm1   # 0x32c970
ucomisd %xmm0, %xmm1
jmp 0x236e7
movsd 0x3091d6(%rip), %xmm0   # 0x32c970
ucomisd 0x3091d6(%rip), %xmm0   # 0x32c978
jne 0x236eb
jp 0x236eb
jmp 0x236c8
movsd 0x3091b5(%rip), %xmm0   # 0x32c970
ucomisd 0x3091b5(%rip), %xmm0   # 0x32c978
jb 0x236c8
jmp 0x236eb
movsd 0x3091a2(%rip), %xmm0   # 0x32c978
ucomisd 0x309192(%rip), %xmm0   # 0x32c970
jb 0x236c8
jmp 0x236eb
addq $0x2, %rbx
movq %rbx, %rdi
callq 0x9470
jmp 0x236be
addq $0x2, %rbx
movq %rbx, %rdi
callq 0x9470
movsd 0x309162(%rip), %xmm1   # 0x32c970
ucomisd %xmm0, %xmm1
jbe 0x236c8
jmp 0x236eb
leaq 0x30221c(%rip), %rbx    # 0x325a40
leaq 0xd419e(%rip), %rsi     # 0xf79c9
pushq $0x3
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x238c7
leaq 0x3021fb(%rip), %rbx    # 0x325a40
leaq 0xd4181(%rip), %rsi     # 0xf79cd
pushq $0x3
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x238e4
leaq 0x3021da(%rip), %rbx    # 0x325a40
leaq 0xd4164(%rip), %rsi     # 0xf79d1
pushq $0x3
popq %rdx
movq %rbx, %rdi
callq 0x9380
testl %eax, %eax
je 0x23907
leaq 0x3021b9(%rip), %rdi    # 0x325a40
leaq 0xd1b24(%rip), %rsi     # 0xf53b2
pushq $0x6
popq %rdx
callq 0x9380
testl %eax, %eax
je 0x23918
pushq $0x1
popq %r15
cmpl $0x706f6e, %r14d        # imm = 0x706F6E
je 0x23993
cmpl $0x7a7369, %r14d        # imm = 0x7A7369
je 0x23924
cmpl $0x7a7364, %r14d        # imm = 0x7A7364
jne 0x23933
movsd 0xcf833(%rip), %xmm0    # 0xf30f8
jmp 0x2392c
addq $0x3, %rbx
movq %rbx, %rdi
callq 0x9470
movsd 0x309095(%rip), %xmm1   # 0x32c970
ucomisd %xmm0, %xmm1
jmp 0x237a2
addq $0x3, %rbx
movq %rbx, %rdi
callq 0x9470
movsd 0x309078(%rip), %xmm1   # 0x32c970
ucomisd %xmm0, %xmm1
jb 0x236c8
jmp 0x236eb
addq $0x3, %rbx
movq %rbx, %rdi
callq 0x9470
jmp 0x237d6
orl $-0x1, 0x30942d(%rip)   # 0x32cd4c
jmp 0x22d8f
movsd 0xcf744(%rip), %xmm0    # 0xf3070
callq 0x1fcfd
jmp 0x23993
leaq 0x302106(%rip), %rbx    # 0x325a40
leaq 0xd4094(%rip), %rsi     # 0xf79d5
pushq $0x6
popq %rdx
movq %rbx, %rdi
callq 0x9380
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jne 0x22d92
leaq 0x3022e5(%rip), %r14    # 0x325c44
andl $0x0, (%r14)
callq 0xc067d
callq 0x1bca4
callq 0xd1b9
testl %eax, %eax
je 0x23993
leaq 0x301eb3(%rip), %rax    # 0x325830
xorl %ecx, %ecx
movb %cl, (%rax)
andl $0x0, (%r14)
movb %cl, (%rbx)
leaq 0xd404d(%rip), %rdi     # 0xf79db
callq 0x1f963
movl %r15d, %eax
jmp 0x22d92