LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_store()
void rpn_store()
{
int i;
int sign;

   // save top of stack into a memory location
   sign = msg_field[3];
   i = 0;
   if(isdigit(sign)) i = atoi(&msg_field[3]);
   else if(sign) i = atoi(&msg_field[4]);
   if(i < 0) i = 0 - i;

   sprintf(out, "Memory index out of range 0..%d", RPN_MEM);
   if(i >= RPN_MEM) rpn_error(out);
   else if(sign == '+') rpn_mem[i] += rpn[0];
   else if(sign == '-') rpn_mem[i] -= rpn[0];
   else if(sign == '*') rpn_mem[i] *= rpn[0];
   else if(sign == '/') rpn_mem[i] /= rpn[0];
   else if(sign == '@') {  // indirect
      i = (int) rpn_mem[i];
      i = i % RPN_MEM;
      rpn_mem[i] = rpn[0];
   }
   else rpn_mem[i] = rpn[0];
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
leaq 0x31a628(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
movzbl %al, %r14d
addl $-0x30, %eax
cmpl $0xa, %eax
jae 0x2142e
addq $0x3, %rdi
jmp 0x21437
testl %r14d, %r14d
je 0x214a7
addq $0x4, %rdi
callq 0x95e0
movl %eax, %ebx
negl %ebx
cmovsl %eax, %ebx
leaq 0x31add6(%rip), %rdi    # 0x33c220
leaq 0xec103(%rip), %rsi     # 0x10d554
movl $0x64, %edx
xorl %eax, %eax
callq 0x9060
cmpl $0x64, %ebx
jb 0x21473
leaq 0x31adb7(%rip), %rdi    # 0x33c220
callq 0x20e5c
jmp 0x2155e
leal -0x2a(%r14), %eax
cmpl $0x5, %eax
ja 0x214c5
leaq 0xea6c5(%rip), %rcx     # 0x10bb48
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0x3214dc(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x321563(%rip), %rcx    # 0x342a00
mulsd (%rcx,%rax,8), %xmm0
jmp 0x21559
leaq 0x31ad72(%rip), %rdi    # 0x33c220
leaq 0xec09f(%rip), %rsi     # 0x10d554
xorl %ebx, %ebx
movl $0x64, %edx
xorl %eax, %eax
callq 0x9060
jmp 0x21500
cmpl $0x40, %r14d
jne 0x21500
movl %ebx, %eax
leaq 0x32152c(%rip), %rcx    # 0x342a00
cvttsd2si (%rcx,%rax,8), %eax
cltq
imulq $0x51eb851f, %rax, %rdx # imm = 0x51EB851F
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x64, %edx, %edx
subl %edx, %eax
movsd 0x321474(%rip), %xmm0   # 0x342970
cltq
jmp 0x21559
movsd 0x321468(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x3214ef(%rip), %rcx    # 0x342a00
jmp 0x21559
movl %ebx, %eax
leaq 0x3214e4(%rip), %rcx    # 0x342a00
movsd (%rcx,%rax,8), %xmm0
subsd 0x321447(%rip), %xmm0   # 0x342970
jmp 0x21559
movl %ebx, %eax
leaq 0x3214cc(%rip), %rcx    # 0x342a00
movsd (%rcx,%rax,8), %xmm0
divsd 0x32142f(%rip), %xmm0   # 0x342970
jmp 0x21559
movsd 0x321425(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x3214ac(%rip), %rcx    # 0x342a00
addsd (%rcx,%rax,8), %xmm0
movsd %xmm0, (%rcx,%rax,8)
movl $0x0, 0x3217c8(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_recall()
void rpn_recall()
{
int i;
int sign;

   // push memory location onto stack
   sign = msg_field[3];
   i = 0;
   if(isdigit(sign)) i = atoi(&msg_field[3]);
   else if(sign) i = atoi(&msg_field[4]);
   if(i < 0) i = 0 - i;

   sprintf(out, "Memory index out of range 0..%d", RPN_MEM);
   if(i >= RPN_MEM) rpn_error(out);
   else if(sign == '+') rpn_push(rpn[0]+rpn_mem[i]);
   else if(sign == '-') rpn_push(rpn[0]-rpn_mem[i]);
   else if(sign == '*') rpn_push(rpn[0]*rpn_mem[i]);
   else if(sign == '/') rpn_push(rpn[0]/rpn_mem[i]);
   else if(sign == '@') {  // indirect
      i = (int) rpn_mem[i];
      i = i % RPN_MEM;
      rpn_push(rpn_mem[i]);
   }
   else rpn_push(rpn_mem[i]);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
leaq 0x31a4c5(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
movzbl %al, %r14d
addl $-0x30, %eax
cmpl $0xa, %eax
jae 0x21591
addq $0x3, %rdi
jmp 0x2159a
testl %r14d, %r14d
je 0x21607
addq $0x4, %rdi
callq 0x95e0
movl %eax, %ebx
negl %ebx
cmovsl %eax, %ebx
leaq 0x31ac73(%rip), %rdi    # 0x33c220
leaq 0xebfa0(%rip), %rsi     # 0x10d554
movl $0x64, %edx
xorl %eax, %eax
callq 0x9060
cmpl $0x64, %ebx
jb 0x215d6
leaq 0x31ac54(%rip), %rdi    # 0x33c220
callq 0x20e5c
jmp 0x2166b
leal -0x2a(%r14), %eax
cmpl $0x5, %eax
ja 0x21625
leaq 0xea57a(%rip), %rcx     # 0x10bb60
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0x321379(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x321400(%rip), %rcx    # 0x342a00
mulsd (%rcx,%rax,8), %xmm0
jmp 0x21666
leaq 0x31ac12(%rip), %rdi    # 0x33c220
leaq 0xebf3f(%rip), %rsi     # 0x10d554
xorl %ebx, %ebx
movl $0x64, %edx
xorl %eax, %eax
callq 0x9060
jmp 0x21658
cmpl $0x40, %r14d
jne 0x21658
movl %ebx, %eax
leaq 0x3213cc(%rip), %rcx    # 0x342a00
cvttsd2si (%rcx,%rax,8), %eax
cltq
imulq $0x51eb851f, %rax, %rdx # imm = 0x51EB851F
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x64, %edx, %edx
subl %edx, %eax
cltq
jmp 0x21661
movl %ebx, %eax
leaq 0x32139f(%rip), %rcx    # 0x342a00
movsd (%rcx,%rax,8), %xmm0
callq 0x21256
movl $0x0, 0x3216bb(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
movsd 0x3212ee(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x321375(%rip), %rcx    # 0x342a00
subsd (%rcx,%rax,8), %xmm0
jmp 0x21666
movsd 0x3212d6(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x32135d(%rip), %rcx    # 0x342a00
divsd (%rcx,%rax,8), %xmm0
jmp 0x21666
movsd 0x3212be(%rip), %xmm0   # 0x342970
movl %ebx, %eax
leaq 0x321345(%rip), %rcx    # 0x342a00
addsd (%rcx,%rax,8), %xmm0
jmp 0x21666
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_max()
void rpn_max()
{
double last;
double x0,y0;
double val;

   // maximum of x and y

   last = rpn[0];

   x0 = rpn_top();
   y0 = rpn_top();
   if(x0 > y0) val = x0;
   else        val = y0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movsd 0x321299(%rip), %xmm0   # 0x342970
movl 0x148973(%rip), %ebx    # 0x16a050
movsd %xmm0, -0x20(%rbp)
movapd %xmm0, %xmm1
cmpl $0x2, %ebx
jl 0x2172d
decl %ebx
shlq $0x3, %rbx
leaq 0x321278(%rip), %r14    # 0x342970
leaq 0x321279(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x32125b(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x28(%rbp), %xmm1
xorl %ebx, %ebx
movl %ebx, 0x3215fb(%rip)    # 0x342d30
movsd %xmm1, 0x3215fb(%rip)   # 0x342d38
movsd %xmm1, 0x3215e3(%rip)   # 0x342d28
movsd -0x20(%rbp), %xmm0
maxsd %xmm1, %xmm0
callq 0x21256
movsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x3215c8(%rip)   # 0x342d28
movl %ebx, 0x3215ca(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_min()
void rpn_min()
{
double last;
double x0,y0;
double val;

   // minimum of x and y

   last = rpn[0];

   x0 = rpn_top();
   y0 = rpn_top();
   if(x0 < y0) val = x0;
   else        val = y0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movsd 0x3211ea(%rip), %xmm0   # 0x342970
movl 0x1488c4(%rip), %ebx    # 0x16a050
movsd %xmm0, -0x20(%rbp)
movapd %xmm0, %xmm1
cmpl $0x2, %ebx
jl 0x217dc
decl %ebx
shlq $0x3, %rbx
leaq 0x3211c9(%rip), %r14    # 0x342970
leaq 0x3211ca(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x3211ac(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x28(%rbp), %xmm1
xorl %ebx, %ebx
movl %ebx, 0x32154c(%rip)    # 0x342d30
movsd %xmm1, 0x32154c(%rip)   # 0x342d38
movsd %xmm1, 0x321534(%rip)   # 0x342d28
movsd -0x20(%rbp), %xmm0
minsd %xmm1, %xmm0
callq 0x21256
movsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x321519(%rip)   # 0x342d28
movl %ebx, 0x32151b(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_rtop()
void rpn_rtop()
{
double x, y;

   // rectangular to polar

   last_x = rpn[0];
   x = rpn[0];
   y = rpn[1];
   rpn[0] = sqrt(x*x + y*y);
   rpn[1] = atan2(y,x) * deg_mode;
   last_rpn0 = rpn[0];
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movsd 0x321144(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x3214f4(%rip)   # 0x342d28
movsd 0x32113c(%rip), %xmm0   # 0x342978
movapd %xmm0, %xmm2
mulsd %xmm0, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
addsd %xmm2, %xmm3
xorps %xmm2, %xmm2
sqrtsd %xmm3, %xmm2
movsd %xmm2, 0x321111(%rip)   # 0x342970
callq 0x9050
mulsd 0x1487ec(%rip), %xmm0   # 0x16a058
movsd %xmm0, 0x321104(%rip)   # 0x342978
movsd 0x3210f4(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3214b4(%rip)   # 0x342d38
movl $0x0, 0x3214a2(%rip)    # 0x342d30
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_ptor()
void rpn_ptor()
{
double r, theta;

   // polar to rectangular

   last_x = rpn[0];
   r = rpn[0];
   theta = rpn[1];
   rpn[0] = r * cos(theta/deg_mode);
   rpn[1] = r * sin(theta/deg_mode);
   last_rpn0 = rpn[0];
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x3210d0(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
movsd %xmm0, 0x32147b(%rip)   # 0x342d28
movsd 0x3210c3(%rip), %xmm0   # 0x342978
movsd %xmm0, -0x10(%rbp)
divsd 0x148796(%rip), %xmm0   # 0x16a058
callq 0x9710
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x32109c(%rip)   # 0x342970
movsd -0x10(%rbp), %xmm0
divsd 0x148777(%rip), %xmm0   # 0x16a058
callq 0x9080
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x321085(%rip)   # 0x342978
movsd 0x321075(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x321435(%rip)   # 0x342d38
movl $0x0, 0x321423(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_rn()
void rpn_rn()
{
double temp, ohms;
double val;

   // resistor noise (in nV/sqrt(Hz))
   ohms = rpn_top();
   temp = rpn[0] - ABS_ZERO;

   val = sqrt(4.0 * KB * temp * ohms);
   rpn_set(val*1.0E9);

   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x32104d(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3213fd(%rip)   # 0x342d28
movl 0x14871f(%rip), %edx    # 0x16a050
movapd %xmm0, %xmm1
cmpl $0x2, %edx
jl 0x21965
decl %edx
shlq $0x3, %rdx
leaq 0x321029(%rip), %rdi    # 0x342970
leaq 0x32102a(%rip), %rsi    # 0x342978
movsd %xmm0, -0x8(%rbp)
callq 0x9650
movsd -0x8(%rbp), %xmm0
movsd 0x32100b(%rip), %xmm1   # 0x342970
addsd 0xe9eab(%rip), %xmm1    # 0x10b818
mulsd 0xe9eab(%rip), %xmm1    # 0x10b820
mulsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x21989
sqrtsd %xmm0, %xmm0
jmp 0x2198e
callq 0x9270
mulsd 0xe7692(%rip), %xmm0    # 0x109028
movsd %xmm0, 0x32139a(%rip)   # 0x342d38
movsd %xmm0, 0x320fca(%rip)   # 0x342970
movl $0x0, 0x321380(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_az(int)
void rpn_az(int i)
{
double val;

   // push sat azimuth

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[2])) {
         i = atoi(&msg_field[2]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      val = sat[i].azimuth;
      if(deg_mode == 1.0) val = val * PI / 180.0;
      rpn_push(val);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x219e8
callq 0xae069
movl %eax, %edi
leaq 0x31a072(%rip), %rax    # 0x33ba40
movsbl 0x2(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x219e8
addq $0x2, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a82a(%rip), %rdi    # 0x33c220
leaq 0xebb77(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21a1d
leaq 0x31a808(%rip), %rdi    # 0x33c220
jmp 0x21acb
leaq 0x1f6eac(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21ac4
leaq 0x1f958f(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21a52
leaq 0x2eb977(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21ac4
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21a66
leaq 0x2ebf53(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21ac4
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d53a(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21ac4
addq %rcx, %rax
cvtss2sd 0x208(%rax), %xmm1
movsd 0xe9d98(%rip), %xmm2    # 0x10b828
mulsd %xmm1, %xmm2
divsd 0xe9d94(%rip), %xmm2    # 0x10b830
movsd 0xe75cc(%rip), %xmm0    # 0x109070
cmpeqsd 0x1485ab(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm1, %xmm3
andpd %xmm2, %xmm0
orpd %xmm3, %xmm0
callq 0x21256
jmp 0x21ad0
leaq 0xebac0(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x321256(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_el(int)
void rpn_el(int i)
{
double val;

   // push sat elevation

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[2])) {
         i = atoi(&msg_field[2]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      val = sat[i].elevation;
      if(deg_mode == 1.0) val = val * PI / 180.0;
      rpn_push(val);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21b13
callq 0xae069
movl %eax, %edi
leaq 0x319f47(%rip), %rax    # 0x33ba40
movsbl 0x2(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21b13
addq $0x2, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a6ff(%rip), %rdi    # 0x33c220
leaq 0xeba4c(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21b48
leaq 0x31a6dd(%rip), %rdi    # 0x33c220
jmp 0x21bf6
leaq 0x1f6d81(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21bef
leaq 0x1f9464(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21b7d
leaq 0x2eb84c(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21bef
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21b91
leaq 0x2ebe28(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21bef
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d40f(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21bef
addq %rcx, %rax
cvtss2sd 0x20c(%rax), %xmm1
movsd 0xe9c6d(%rip), %xmm2    # 0x10b828
mulsd %xmm1, %xmm2
divsd 0xe9c69(%rip), %xmm2    # 0x10b830
movsd 0xe74a1(%rip), %xmm0    # 0x109070
cmpeqsd 0x148480(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm1, %xmm3
andpd %xmm2, %xmm0
orpd %xmm3, %xmm0
callq 0x21256
jmp 0x21bfb
leaq 0xeb995(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x32112b(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_sig(int)
void rpn_sig(int i)
{
   // push sat sig level

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[3])) {
         i = atoi(&msg_field[3]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].sig_level);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21c3e
callq 0xae069
movl %eax, %edi
leaq 0x319e1c(%rip), %rax    # 0x33ba40
movsbl 0x3(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21c3e
addq $0x3, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a5d4(%rip), %rdi    # 0x33c220
leaq 0xeb921(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21c70
leaq 0x31a5b2(%rip), %rdi    # 0x33c220
jmp 0x21ce2
leaq 0x1f6c59(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21cdb
leaq 0x1f9340(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21ca1
leaq 0x2eb728(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21cdb
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21cb5
leaq 0x2ebd04(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21cdb
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d2eb(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21cdb
addq %rcx, %rax
cvtss2sd 0x20(%rax), %xmm0
callq 0x21256
jmp 0x21ce7
leaq 0xeb8a9(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x32103f(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_doppler(int)
void rpn_doppler(int i)
{
   // push sat doppler

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[7])) {
         i = atoi(&msg_field[7]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].doppler);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21d2a
callq 0xae069
movl %eax, %edi
leaq 0x319d30(%rip), %rax    # 0x33ba40
movsbl 0x7(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21d2a
addq $0x7, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a4e8(%rip), %rdi    # 0x33c220
leaq 0xeb835(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21d5c
leaq 0x31a4c6(%rip), %rdi    # 0x33c220
jmp 0x21dce
leaq 0x1f6b6d(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21dc7
leaq 0x1f9254(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21d8d
leaq 0x2eb63c(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21dc7
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21da1
leaq 0x2ebc18(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21dc7
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d1ff(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21dc7
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
callq 0x21256
jmp 0x21dd3
leaq 0xeb7bd(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x320f53(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_range(int)
void rpn_range(int i)
{
   // push sat pseudorange

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[5])) {
         i = atoi(&msg_field[5]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].range);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21e16
callq 0xae069
movl %eax, %edi
leaq 0x319c44(%rip), %rax    # 0x33ba40
movsbl 0x5(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21e16
addq $0x5, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a3fc(%rip), %rdi    # 0x33c220
leaq 0xeb749(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21e48
leaq 0x31a3da(%rip), %rdi    # 0x33c220
jmp 0x21eba
leaq 0x1f6a81(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21eb3
leaq 0x1f9168(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21e79
leaq 0x2eb550(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21eb3
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21e8d
leaq 0x2ebb2c(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21eb3
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d113(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21eb3
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
callq 0x21256
jmp 0x21ebf
leaq 0xeb6d1(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x320e67(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_phase(int)
void rpn_phase(int i)
{
   // push sat code or carrier phase

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[5])) {
         i = atoi(&msg_field[5]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 1..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(i <= 0) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].code_phase);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movl %edi, %ebx
testl %edi, %edi
jne 0x21f02
callq 0xae069
movl %eax, %ebx
leaq 0x319b55(%rip), %rdi    # 0x33ba40
movsbl 0x5(%rdi), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x21f02
addq $0x5, %rdi
callq 0x95e0
movl %eax, %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
leaq 0x31a30d(%rip), %rdi    # 0x33c220
leaq 0xeb68e(%rip), %rsi     # 0x10d5a8
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %r14d           # imm = 0x3EA
jae 0x21f9f
testl %ebx, %ebx
je 0x21f9f
leaq 0x1f6996(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21fa8
leaq 0x1f907d(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21f64
leaq 0x2eb465(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21fa8
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21f78
leaq 0x2eba41(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21fa8
movl %r14d, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d027(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21fa8
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
callq 0x21256
jmp 0x21fb4
leaq 0x31a27a(%rip), %rdi    # 0x33c220
jmp 0x21faf
leaq 0xeb5dc(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x320d72(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_prn(int)
void rpn_prn(int i)
{
   // push all info for a sat prn onto the stack

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[3])) {
         i = atoi(&msg_field[3]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if((i == 0) || (i > SUN_MOON_PRN)) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      rpn_phase(i);
      rpn_range(i);
      rpn_doppler(i);
      rpn_sig(i);
      rpn_el(i);
      rpn_az(i);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movl %edi, %r14d
testl %edi, %edi
jne 0x21ff8
callq 0xae069
movl %eax, %r14d
leaq 0x319a60(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x21ff8
addq $0x3, %rdi
callq 0x95e0
movl %eax, %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
leaq 0x31a218(%rip), %rdi    # 0x33c220
leaq 0xeb565(%rip), %rsi     # 0x10d574
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
testl %r14d, %r14d
setne %al
cmpl $0x3ea, %ebx            # imm = 0x3EA
setb %cl
testb %cl, %al
jne 0x2203a
leaq 0x31a1eb(%rip), %rdi    # 0x33c220
jmp 0x220c9
leaq 0x1f688f(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x220c2
leaq 0x1f8f76(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x2206b
leaq 0x2eb35e(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x220c2
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x2207f
leaq 0x2eb93a(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x220c2
movl %ebx, %eax
imulq $0x348, %rax, %rax      # imm = 0x348
leaq 0x21cf21(%rip), %rcx    # 0x23efb0
cmpl $0x0, 0x1c(%rcx,%rax)
je 0x220c2
movl %ebx, %edi
callq 0x21ed0
movl %ebx, %edi
callq 0x21de4
movl %ebx, %edi
callq 0x21cf8
movl %ebx, %edi
callq 0x21c0c
movl %ebx, %edi
callq 0x21ae1
movl %ebx, %edi
callq 0x219b6
jmp 0x220ce
leaq 0xeb4c2(%rip), %rdi     # 0x10d58b
callq 0x20e5c
movl $0x0, 0x320c58(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dist()
void rpn_dist()
{
double last;
double x0,y0;
double x1,y1;
double val;

   // linear distance between two points

   last = rpn[0];
   x0 = rpn_top();
   y0 = rpn_top();
   x1 = rpn_top();
   y1 = rpn_top();

   x0 -= x1;
   y0 -= y1;
   val = sqrt(x0*x0 + y0*y0);
   rpn_new(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movsd 0x32087e(%rip), %xmm1   # 0x342970
movl 0x147f58(%rip), %ebx    # 0x16a050
movapd %xmm1, %xmm2
movapd %xmm1, %xmm3
movapd %xmm1, %xmm0
cmpl $0x2, %ebx
jl 0x22199
decl %ebx
shlq $0x3, %rbx
leaq 0x320856(%rip), %r14    # 0x342970
leaq 0x320857(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
movsd %xmm1, -0x38(%rbp)
callq 0x9650
movsd 0x320834(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x30(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x320819(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x3207fe(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x20(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x20(%rbp), %xmm0
movsd -0x28(%rbp), %xmm3
movsd -0x30(%rbp), %xmm2
movsd -0x38(%rbp), %xmm1
subsd %xmm0, %xmm2
movapd %xmm1, %xmm0
subsd %xmm3, %xmm0
mulsd %xmm2, %xmm2
mulsd %xmm0, %xmm0
addsd %xmm2, %xmm0
sqrtsd %xmm0, %xmm0
movsd %xmm0, 0x320b7b(%rip)   # 0x342d38
movsd %xmm0, 0x3207ab(%rip)   # 0x342970
movsd %xmm1, 0x320b5b(%rip)   # 0x342d28
movl $0x0, 0x320b59(%rip)    # 0x342d30
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_gcd()
void rpn_gcd()
{
double last;
double x0,y0;
double x1,y1;
double val;
double az;

   // great circle distance between two locations (lat,lon = R,Z and Y,X)
   // also calculate azimuth angle

   last = rpn[0];

   x0 = rpn_top() / deg_mode;
   y0 = rpn_top() / deg_mode;
   x1 = rpn_top() / deg_mode;
   y1 = rpn_top() / deg_mode;

   val = greatcircle(y0,x0, y1,x1) * 1000.0;

   az = az_angle(y1,x1, y0,x0);
   if(deg_mode == 1.0) az = az * PI / 180.0;
   rpn_push(az);
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movsd 0x320779(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x40(%rbp)
movl 0x147e4e(%rip), %ebx    # 0x16a050
cmpl $0x1, %ebx
jle 0x222c6
decl %ebx
shlq $0x3, %rbx
leaq 0x320758(%rip), %r14    # 0x342970
leaq 0x320759(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x147e23(%rip), %xmm0   # 0x16a058
movsd %xmm0, -0x20(%rbp)
movsd 0x32072e(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x30(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x30(%rbp), %xmm0
divsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd 0x320704(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x28(%rbp), %xmm0
divsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movsd 0x3206da(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x38(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x38(%rbp), %xmm3
movsd -0x40(%rbp), %xmm1
movsd -0x20(%rbp), %xmm0
divsd %xmm0, %xmm1
movapd %xmm3, %xmm2
divsd %xmm0, %xmm2
jmp 0x222e9
movsd -0x40(%rbp), %xmm0
movapd %xmm0, %xmm2
divsd 0x147d81(%rip), %xmm2   # 0x16a058
movapd %xmm2, %xmm1
movapd %xmm0, %xmm3
movsd %xmm2, -0x28(%rbp)
movsd %xmm2, -0x30(%rbp)
xorl %ebx, %ebx
movl %ebx, 0x320a3f(%rip)    # 0x342d30
movsd %xmm3, 0x320a3f(%rip)   # 0x342d38
movsd %xmm3, 0x320a27(%rip)   # 0x342d28
movsd -0x30(%rbp), %xmm0
movsd %xmm1, -0x38(%rbp)
movsd %xmm2, -0x48(%rbp)
movsd -0x28(%rbp), %xmm3
callq 0xe9fe2
movsd %xmm0, -0x20(%rbp)
movsd -0x48(%rbp), %xmm0
movsd -0x28(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
movsd -0x38(%rbp), %xmm3
callq 0xea0f3
movsd 0xe94e8(%rip), %xmm2    # 0x10b828
mulsd %xmm0, %xmm2
divsd 0xe94e4(%rip), %xmm2    # 0x10b830
movsd 0xe6d1c(%rip), %xmm1    # 0x109070
cmpeqsd 0x147cfb(%rip), %xmm1   # 0x16a058
movapd %xmm1, %xmm3
andnpd %xmm0, %xmm3
andpd %xmm2, %xmm1
orpd %xmm3, %xmm1
movsd -0x20(%rbp), %xmm0
mulsd 0xe6cbe(%rip), %xmm0    # 0x109038
movsd %xmm0, -0x20(%rbp)
movapd %xmm1, %xmm0
callq 0x21256
movsd -0x20(%rbp), %xmm0
callq 0x21256
movsd -0x40(%rbp), %xmm0
movsd %xmm0, 0x320989(%rip)   # 0x342d28
movl %ebx, 0x32098b(%rip)    # 0x342d30
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_bearing()
void rpn_bearing()
{
double last;
double x0,y0;
double x1,y1;
double az;

   // calculate azimuth angle between two points

   last = rpn[0];

   x0 = rpn_top() / deg_mode;
   y0 = rpn_top() / deg_mode;
   x1 = rpn_top() / deg_mode;
   y1 = rpn_top() / deg_mode;

   az = az_angle(y1,x1, y0,x0);
   if(deg_mode == 1.0) az = az * PI / 180.0;
   rpn_push(az);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movsd 0x3205ab(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x38(%rbp)
movl 0x147c80(%rip), %ebx    # 0x16a050
cmpl $0x1, %ebx
jle 0x2249e
decl %ebx
shlq $0x3, %rbx
leaq 0x32058a(%rip), %r14    # 0x342970
leaq 0x32058b(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x147c55(%rip), %xmm0   # 0x16a058
movsd %xmm0, -0x30(%rbp)
movsd 0x320560(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x28(%rbp), %xmm0
divsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movsd 0x320536(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x20(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x20(%rbp), %xmm0
divsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd 0x32050c(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x40(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x40(%rbp), %xmm5
movsd -0x20(%rbp), %xmm1
movsd -0x28(%rbp), %xmm2
movsd -0x38(%rbp), %xmm3
movsd -0x30(%rbp), %xmm4
divsd %xmm4, %xmm3
movapd %xmm5, %xmm0
divsd %xmm4, %xmm0
jmp 0x224bf
movsd -0x38(%rbp), %xmm1
movapd %xmm1, %xmm0
divsd 0x147ba9(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
movapd %xmm1, %xmm5
movapd %xmm0, %xmm1
movapd %xmm0, %xmm2
xorl %ebx, %ebx
movl %ebx, 0x320869(%rip)    # 0x342d30
movsd %xmm5, 0x320869(%rip)   # 0x342d38
movsd %xmm5, 0x320851(%rip)   # 0x342d28
callq 0xea0f3
movsd 0xe9344(%rip), %xmm2    # 0x10b828
mulsd %xmm0, %xmm2
divsd 0xe9340(%rip), %xmm2    # 0x10b830
movsd 0xe6b78(%rip), %xmm1    # 0x109070
cmpeqsd 0x147b57(%rip), %xmm1   # 0x16a058
movapd %xmm1, %xmm3
andnpd %xmm0, %xmm3
andpd %xmm2, %xmm1
orpd %xmm3, %xmm1
movapd %xmm1, %xmm0
callq 0x21256
movsd -0x38(%rbp), %xmm0
movsd %xmm0, 0x320801(%rip)   # 0x342d28
movl %ebx, 0x320803(%rip)    # 0x342d30
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_secs()
void rpn_secs()
{
double val;
double last;

   // convert hours minutes sseconds in top 3 stack entries to seconds

   last = rpn[0];

   val = rpn_top();
   val += rpn_top() * 60.0;
   val += rpn_top() * 3600.0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movsd 0x320423(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movl 0x147af8(%rip), %ebx    # 0x16a050
cmpl $0x1, %ebx
jle 0x225d8
decl %ebx
shlq $0x3, %rbx
leaq 0x320406(%rip), %r14    # 0x342970
leaq 0x320407(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x3203e9(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x20(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x20(%rbp), %xmm0
mulsd 0xe6a61(%rip), %xmm0    # 0x109008
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd 0x3203b7(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x30(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x30(%rbp), %xmm0
movsd -0x20(%rbp), %xmm1
jmp 0x225ed
movsd 0xe6a28(%rip), %xmm1    # 0x109008
movsd -0x28(%rbp), %xmm0
mulsd %xmm0, %xmm1
addsd %xmm0, %xmm1
xorl %ebx, %ebx
movl %ebx, 0x32073b(%rip)    # 0x342d30
movsd %xmm0, 0x32073b(%rip)   # 0x342d38
movsd %xmm0, 0x320723(%rip)   # 0x342d28
mulsd 0xe6a03(%rip), %xmm0    # 0x109010
addsd %xmm1, %xmm0
callq 0x21256
movsd -0x28(%rbp), %xmm0
movsd %xmm0, 0x320705(%rip)   # 0x342d28
movl %ebx, 0x320707(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dow()
void rpn_dow()
{
double val;
double last;
int year,month,day;

   // convert year month day in top 3 stack entries to day-of-week (0..6)

   last = rpn[0];

   day = (int) rpn_top();
   month = (int) rpn_top();
   year = (int) rpn_top();

   val = day_of_week(year,month,day);
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movsd 0x320327(%rip), %xmm0   # 0x342970
movl 0x147a01(%rip), %ebx    # 0x16a050
movapd %xmm0, %xmm1
movsd %xmm0, -0x20(%rbp)
cmpl $0x2, %ebx
jl 0x226bf
decl %ebx
shlq $0x3, %rbx
leaq 0x320306(%rip), %r14    # 0x342970
leaq 0x320307(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x3202e9(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x30(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x3202ce(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x28(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x28(%rbp), %xmm0
movsd -0x30(%rbp), %xmm1
xorl %ebx, %ebx
movl %ebx, 0x320669(%rip)    # 0x342d30
movsd %xmm0, 0x320669(%rip)   # 0x342d38
movsd %xmm0, 0x320651(%rip)   # 0x342d28
cvttsd2si -0x20(%rbp), %edx
cvttsd2si %xmm1, %esi
cvttsd2si %xmm0, %edi
callq 0xe07cd
movzbl %al, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
callq 0x21256
movsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x320623(%rip)   # 0x342d28
movl %ebx, 0x320625(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dms()
void rpn_dms()
{
double last;
double val;
double degs, mins, secs;
double sign;

   // break up X into degrees minutes seconds

   last = rpn[0];

   val = rpn_top();
   if(deg_mode == 1.0) {
      val = val * 180.0 / PI;
   }
   if(val < 0) {
      sign = (-1.0);
      val = 0.0 - val;
   }
   else sign = 1.0;

   degs = (double) (int) val;

   val = (val - degs) * 60.0;
   mins = (double) (int) val;

   val = (val - mins) * 60.0;
   secs = val;

   rpn_push(degs*sign);
   rpn_push(mins);
   rpn_push(secs);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movsd 0x32024a(%rip), %xmm0   # 0x342970
movl $0x0, 0x320600(%rip)    # 0x342d30
movsd %xmm0, 0x320600(%rip)   # 0x342d38
movaps %xmm0, -0x10(%rbp)
movsd %xmm0, 0x3205e4(%rip)   # 0x342d28
movl 0x147906(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x22768
decl %edx
shlq $0x3, %rdx
leaq 0x320214(%rip), %rdi    # 0x342970
leaq 0x320215(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0xe90c0(%rip), %xmm0    # 0x10b830
movapd -0x10(%rbp), %xmm3
mulsd %xmm3, %xmm0
divsd 0xe90a7(%rip), %xmm0    # 0x10b828
movsd 0xe68e7(%rip), %xmm1    # 0x109070
cmpeqsd 0x1478c6(%rip), %xmm1   # 0x16a058
movapd %xmm1, %xmm2
andnpd %xmm3, %xmm2
andpd %xmm0, %xmm1
orpd %xmm2, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm1, %xmm0
xorpd %xmm2, %xmm2
subsd %xmm1, %xmm2
movapd %xmm1, %xmm3
cmpltsd %xmm0, %xmm3
andpd %xmm3, %xmm2
andnpd %xmm1, %xmm3
orpd %xmm2, %xmm3
cvttpd2dq %xmm3, %xmm0
cvtdq2pd %xmm0, %xmm0
subsd %xmm0, %xmm3
movsd 0xe682d(%rip), %xmm1    # 0x109008
mulsd %xmm1, %xmm3
cvttpd2dq %xmm3, %xmm2
cvtdq2pd %xmm2, %xmm2
movapd %xmm2, -0x20(%rbp)
subsd %xmm2, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm3, -0x30(%rbp)
jbe 0x22803
xorpd 0xe69ad(%rip), %xmm0    # 0x1091b0
callq 0x21256
movaps -0x20(%rbp), %xmm0
callq 0x21256
movaps -0x30(%rbp), %xmm0
callq 0x21256
movaps -0x10(%rbp), %xmm0
movsd %xmm0, 0x320502(%rip)   # 0x342d28
movl $0x0, 0x320500(%rip)    # 0x342d30
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_time()
void rpn_time()
{
double last;

   // put current displayed time on stack

   last = rpn[0];

   rpn_push((double) pri_hours);
   rpn_push((double) pri_minutes);
   rpn_push((double) pri_seconds + pri_frac);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x32012a(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
leaq 0x2eacb6(%rip), %rax    # 0x30d508
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2eac9f(%rip), %rax    # 0x30d504
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2eac88(%rip), %rax    # 0x30d500
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
leaq 0x2eac92(%rip), %rax    # 0x30d518
addsd (%rax), %xmm0
callq 0x21256
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x32048c(%rip)   # 0x342d28
movl $0x0, 0x32048a(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_date()
void rpn_date()
{
double last;

   // put current displayed date on stack

   last = rpn[0];

   rpn_push((double) pri_year);
   rpn_push((double) pri_month);
   rpn_push((double) pri_day);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x3200b4(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
leaq 0x2eac4c(%rip), %rax    # 0x30d514
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2eac35(%rip), %rax    # 0x30d510
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2eac1e(%rip), %rax    # 0x30d50c
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x320421(%rip)   # 0x342d28
movl $0x0, 0x32041f(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_gregorian()
void rpn_gregorian()
{
double last;

   // convert rpn[0] julian date to gregorian date / time

   last = rpn[0];
   gregorian(0, rpn[0]);

   rpn_push((double) g_year);
   rpn_push((double) g_month);
   rpn_push((double) g_day);

   rpn_push((double) g_hours);
   rpn_push((double) g_minutes);
   rpn_push((double) g_seconds + g_frac);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x320049(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
xorl %edi, %edi
callq 0xd12da
leaq 0x2ead6a(%rip), %rax    # 0x30d6a4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2ead4f(%rip), %rax    # 0x30d69c
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2ead40(%rip), %rax    # 0x30d6a0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2ead35(%rip), %rax    # 0x30d6a8
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2ead26(%rip), %rax    # 0x30d6ac
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21256
leaq 0x2ead17(%rip), %rax    # 0x30d6b0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
leaq 0x2ead11(%rip), %rax    # 0x30d6b8
addsd (%rax), %xmm0
callq 0x21256
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x32036b(%rip)   # 0x342d28
movl $0x0, 0x320369(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dec()
void rpn_dec()
{
double last;
double val;
double degs, mins, secs;
double sign;

   // convert X,Y,Z degrees minutes seconds to decimal

   last = rpn[0];

   secs = rpn_top();
   mins = rpn_top();
   degs = rpn_top();
   if(degs < 0.0) {
      sign = (-1.0);
      degs = 0.0 - degs;
   }
   else sign = 1.0;

   secs = fabs(secs) * sign;
   mins = fabs(mins) * sign;
   degs *= sign;

   val = degs + (mins/60.0) + (secs/3600.0);

   if(deg_mode == 1.0) {
      val = val * PI / 180.0;
   }

   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movsd 0x31ff8e(%rip), %xmm0   # 0x342970
movl 0x147668(%rip), %ebx    # 0x16a050
movapd %xmm0, %xmm3
movapd %xmm0, -0x30(%rbp)
movapd %xmm0, %xmm4
cmpl $0x2, %ebx
jl 0x22a5b
decl %ebx
shlq $0x3, %rbx
leaq 0x31ff69(%rip), %r14    # 0x342970
leaq 0x31ff6a(%rip), %r15    # 0x342978
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x31ff4c(%rip), %xmm0   # 0x342970
movaps %xmm0, -0x40(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd 0x31ff32(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x20(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x9650
movsd -0x20(%rbp), %xmm4
movapd -0x40(%rbp), %xmm3
xorl %ebx, %ebx
movl %ebx, 0x3202cd(%rip)    # 0x342d30
movsd %xmm4, 0x3202cd(%rip)   # 0x342d38
movsd %xmm4, 0x3202b5(%rip)   # 0x342d28
xorpd %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm4, %xmm0
seta %cl
jbe 0x22a8a
subsd %xmm4, %xmm0
movapd %xmm0, %xmm4
movb %cl, %al
leaq 0xea45d(%rip), %rcx     # 0x10cef0
movsd (%rcx,%rax,8), %xmm0
movapd 0xe66f0(%rip), %xmm1    # 0x109190
movapd -0x30(%rbp), %xmm2
andpd %xmm1, %xmm2
mulsd %xmm0, %xmm2
andpd %xmm1, %xmm3
mulsd %xmm0, %xmm3
mulsd %xmm0, %xmm4
divsd 0xe6547(%rip), %xmm3    # 0x109008
addsd %xmm4, %xmm3
divsd 0xe6543(%rip), %xmm2    # 0x109010
addsd %xmm3, %xmm2
movsd 0xe8d4f(%rip), %xmm1    # 0x10b828
mulsd %xmm2, %xmm1
divsd 0xe8d4b(%rip), %xmm1    # 0x10b830
movsd 0xe6583(%rip), %xmm0    # 0x109070
cmpeqsd 0x147562(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm2, %xmm3
andpd %xmm1, %xmm0
orpd %xmm3, %xmm0
callq 0x21256
movaps -0x30(%rbp), %xmm0
movsd %xmm0, 0x320211(%rip)   # 0x342d28
movl %ebx, 0x320213(%rip)    # 0x342d30
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_shr()
void rpn_shr()
{
int count;
s32 val;

   // shift right

   if(isdigit(msg_field[2])) count = atoi(&msg_field[2]);
   else if(msg_field[2] == '-') count = atoi(&msg_field[2]);
   else count = 1;

   val = (int) rpn[0];
   if(count > 0) {
      val >>= count;
   }
   else if(count < 0) {
      count = 0-count;
      val <<= count;
   }

   last_x = rpn[0];
   rpn[0] = (double) val;
   last_was_clx = 0;
}

// Assembly:
leaq 0x318f11(%rip), %rdi    # 0x33ba40
movsbl 0x2(%rdi), %eax
cmpl $0x2d, %eax
sete %cl
addl $-0x30, %eax
cmpl $0xa, %eax
setb %al
orb %cl, %al
je 0x22b6e
pushq %rbp
movq %rsp, %rbp
addq $0x2, %rdi
callq 0x95e0
movl %eax, %ecx
movsd 0x31fe13(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
testl %ecx, %ecx
popq %rbp
jg 0x22b7f
jns 0x22b81
negb %cl
shll %cl, %eax
jmp 0x22b81
movsd 0x31fdfa(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
movl $0x1, %ecx
sarl %cl, %eax
movsd %xmm0, 0x32019f(%rip)   # 0x342d28
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x31fdd8(%rip)   # 0x342970
movl $0x0, 0x32018e(%rip)    # 0x342d30
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_shl()
void rpn_shl()
{
int count;
s32 val;

   // shift left

   if(isdigit(msg_field[2])) count = atoi(&msg_field[2]);
   else if(msg_field[2] == '-') count = atoi(&msg_field[2]);
   else count = 1;

   val = (int) rpn[0];
   if(count > 0) {
      val <<= count;
   }
   else if(count < 0) {
      count = 0-count;
      val >>= count;
   }

   last_x = rpn[0];
   rpn[0] = (double) val;
   last_was_clx = 0;
}

// Assembly:
leaq 0x318e96(%rip), %rdi    # 0x33ba40
movsbl 0x2(%rdi), %eax
cmpl $0x2d, %eax
sete %cl
addl $-0x30, %eax
cmpl $0xa, %eax
setb %al
orb %cl, %al
je 0x22be9
pushq %rbp
movq %rsp, %rbp
addq $0x2, %rdi
callq 0x95e0
movl %eax, %ecx
movsd 0x31fd98(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
testl %ecx, %ecx
popq %rbp
jg 0x22bfa
jns 0x22bfc
negb %cl
sarl %cl, %eax
jmp 0x22bfc
movsd 0x31fd7f(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
movl $0x1, %ecx
shll %cl, %eax
movsd %xmm0, 0x320124(%rip)   # 0x342d28
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x31fd5d(%rip)   # 0x342970
movl $0x0, 0x320113(%rip)    # 0x342d30
retq
// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_size()
void rpn_size()
{
int count;

   // set stack size

   count = 6;
   if(isdigit(msg_field[4])) count = atoi(&msg_field[4]);
   if((count < 4) || (count > MAX_RPN_SIZE)) {
      sprintf(out, "Stack size must be 4..%d", MAX_RPN_SIZE);
      rpn_error(out);
      return;
   }
   RPN_SIZE = count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x318e15(%rip), %rdi    # 0x33ba40
movsbl 0x4(%rdi), %ecx
addl $-0x30, %ecx
movl $0x6, %eax
cmpl $0x9, %ecx
ja 0x22c7a
addq $0x4, %rdi
callq 0x95e0
movl %eax, %ecx
addl $-0x11, %ecx
cmpl $-0xe, %ecx
ja 0x22c7a
leaq 0x3195ca(%rip), %rbx    # 0x33c220
leaq 0xea962(%rip), %rsi     # 0x10d5bf
movq %rbx, %rdi
movl $0x10, %edx
xorl %eax, %eax
callq 0x9060
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x20e5c
movl %eax, 0x1473d0(%rip)    # 0x16a050
addq $0x8, %rsp
popq %rbx
popq %rbp
retq