// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_math()
int rpn_math()
{
double val;
ITYPE ival;

   // basic math
   if     (!strcmp(msg_field, "+"))     { val=rpn_top()+rpn[0]; rpn_set(val); }
   else if(!strcmp(msg_field, "*"))     { val=rpn_top()*rpn[0]; rpn_set(val); }
   else if(!strcmp(msg_field, "-"))     { val=rpn[1]-rpn[0]; rpn_top(); rpn_set(val); }
   else if(!strcmp(msg_field, "/"))     { val=rpn[1]/rpn[0]; rpn_top(); rpn_set(val); }
   else if(!strcmp(msg_field, "mod"))   { val=rpn_top(); rpn_set(fmod(rpn[0],val)); }
   else if(!strcmp(msg_field, "chs"))   { val=last_x; rpn_new(0.0-rpn[0]); last_x=val; }
   else if(!strcmp(msg_field, "inv"))   { rpn_new(1.0/rpn[0]); }
   else if(!strcmp(msg_field, "abs"))   { rpn_new(fabs(rpn[0])); }
   else if(!strcmp(msg_field, "int"))   { rpn_new((double) (int) rpn[0]); }
   else if(!strcmp(msg_field, "frac"))  { rpn_new(rpn[0]-(double) (int) rpn[0]); }
   else if(!strcmp(msg_field, "ctof"))  { rpn_new((rpn[0]*1.8)+32.0); }
   else if(!strcmp(msg_field, "ftoc"))  { rpn_new((rpn[0]-32.0)*(5.0/9.0)); }
   else if(!strcmp(msg_field, "ftom"))  { rpn_new(rpn[0]/FEET_PER_METER); }
   else if(!strcmp(msg_field, "mtof"))  { rpn_new(rpn[0]*FEET_PER_METER); }
   else if(!strcmp(msg_field, "max"))   { rpn_max(); }
   else if(!strcmp(msg_field, "min"))   { rpn_min(); }

   // logical operations
   else if(!strcmp(msg_field, "&"))     { ival=(ITYPE)rpn[1] & (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "|"))     { ival=(ITYPE)rpn[1] | (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "^"))     { ival=(ITYPE)rpn[1] ^ (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "~"))     { ival=(ITYPE)rpn[0]; rpn_top(); rpn_set((double) (~ival)); }
   else if(!strncmp(msg_field, ">>",2)) { rpn_shr(); }
   else if(!strncmp(msg_field, "<<",2)) { rpn_shl(); }

   // trig
   else if(!strcmp(msg_field, "deg"))   { deg_mode = 180.0/PI; }
   else if(!strcmp(msg_field, "rad"))   { deg_mode = 1.0; }
   else if(!strcmp(msg_field, "sin"))   { rpn_new(sin(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "cos"))   { rpn_new(cos(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "tan"))   { rpn_new(tan(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "asin"))  { rpn_new(asin(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "acos"))  { rpn_new(acos(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "atan"))  { rpn_new(atan(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "atan2")) { val=rpn_top(); rpn_set(atan2(rpn[0],val)*deg_mode); }
   else if(!strcmp(msg_field, "rtod"))  { rpn_new(rpn[0]*180.0/PI); }
   else if(!strcmp(msg_field, "dtor"))  { rpn_new(rpn[0]*PI/180.0); }
   else if(!strcmp(msg_field, "rtop"))  { rpn_rtop(); } // rectangular to polar
   else if(!strcmp(msg_field, "ptor"))  { rpn_ptor(); } // to polar rectangular
   else if(!strcmp(msg_field, "diag"))  { val=rpn_top(); val=sqrt(val*val+rpn[0]*rpn[0]); rpn_set(val); }
   else if(!strcmp(msg_field, "dist"))  { rpn_dist(); }
   else if(!strcmp(msg_field, "dms"))   { rpn_dms(); }
   else if(!strcmp(msg_field, "secs"))  { rpn_secs(); }
   else if(!strcmp(msg_field, "dec"))   { rpn_dec(); }
   else if(!strcmp(msg_field, "gcd"))   { rpn_gcd(); }
   else if(!strcmp(msg_field, "bearing"))   { rpn_bearing(); }

   // logs and powers
   else if(!strcmp(msg_field, "ln"))    { rpn_new(log(rpn[0])); }
   else if(!strcmp(msg_field, "log"))   { rpn_new(log10(rpn[0])); }
   else if(!strcmp(msg_field, "sqrt"))  { rpn_new(sqrt(rpn[0])); }
   else if(!strcmp(msg_field, "sqr"))   { rpn_new(rpn[0]*rpn[0]); }
   else if(!strcmp(msg_field, "exp"))   { rpn_new(pow(E_VALUE, rpn[0])); }
   else if(!strcmp(msg_field, "powe"))  { rpn_new(pow(E_VALUE, rpn[0])); }
   else if(!strcmp(msg_field, "pow10")) { rpn_new(pow(10.0, rpn[0])); }
   else if(!strcmp(msg_field, "pow"))   { val=rpn_top(); rpn_set(pow(rpn[0],val)); }
   else if(!strcmp(msg_field, "**"))    { val=rpn_top(); rpn_set(pow(rpn[0],val)); }

   // stack manipulation
   else if(!strcmp(msg_field,  "ex"))       { val=rpn[0]; rpn[0]=rpn[1]; rpn[1]=val; }
   else if(!strcmp(msg_field,  "ent"))      { rpn_push(rpn[0]); }
   else if(!strcmp(msg_field,  "enter"))    { rpn_push(rpn[0]); }
   else if(!strcmp(msg_field,  "clx"))      { rpn[0]=0.0; last_was_clx=1; }
   else if(!strcmp(msg_field,  "cls"))      { rpn_clear(1); }
   else if(!strcmp(msg_field,  "clm"))      { rpn_clear(2); }
   else if(!strcmp(msg_field,  "clear"))    { rpn_clear(3); }
   else if(!strncmp(msg_field, "drop", 4))  { rpn_drop(); }
   else if(!strncmp(msg_field, "roll", 4))  { rpn_down(); }
   else if(!strncmp(msg_field, "down", 4))  { rpn_down(); }
   else if(!strncmp(msg_field, "up", 2))    { rpn_up(); }
   else if(!strncmp(msg_field, "sto", 3))   { rpn_store(); }
   else if(!strncmp(msg_field, "rcl", 3))   { rpn_recall(); }
   else if(!strncmp(msg_field, "stack", 5)) { rpn_stack(); }
   else if(!strncmp(msg_field, "swap", 4))  { rpn_swap(); }
   else if(!strncmp(msg_field, "size", 4))  { rpn_size(); }

   // display formatting
   else if(!strncmp(msg_field, "fix", 3))   { hex_mode = 0;  eng_mode = 0; rpn_digits(1); }
   else if(!strncmp(msg_field, "sci", 3))   { hex_mode = 0;  eng_mode = 0; rpn_digits(-1); }
   else if(!strncmp(msg_field, "eng", 3))   { hex_mode = 0;  eng_mode = 1; rpn_digits(-1); }
   else if(!strncmp(msg_field, "hex", 3))   { hex_mode = 16; rpn_digits(1); }    // show stack top as hex integer
   else if(!strncmp(msg_field, "oct", 3))   { hex_mode = 8;  rpn_digits(1); }    // show stack top as octal integer
   else if(!strncmp(msg_field, "bin", 3))   { hex_mode = 2;  rpn_digits(1); }    // show stack top as octal integer
   else if(!strncmp(msg_field, "comma", 5)) { rpn_comma(); }    // format integer part with commas

   // user defined operations
   else if(!strcmp(msg_field,  "define"))   { rpn_define(0); }
   else if(!strcmp(msg_field,  "edit"))     { rpn_edit(); }
   else if(!strcmp(msg_field,  "savedefs")) { rpn_save(0); }
   else if(!strcmp(msg_field,  "saveall"))  { rpn_save(1); }
   else if(!strcmp(msg_field,  "run"))      { rpn_run(); }

   else if(!strcmp(msg_field,  "exit"))     { shut_down(987); }

   else return 0;  // unknown command

   return 1;  // command processed
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x31657e(%rip), %rax    # 0x33ba40
movzwl (%rax), %ecx
addl $-0x2a, %ecx
cmpl $0x5, %ecx
ja 0x2560c
leaq 0xe66c4(%rip), %rdx     # 0x10bb9c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movsd 0x31d487(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x31d837(%rip)   # 0x342d28
movl 0x144b59(%rip), %edx    # 0x16a050
movapd %xmm1, %xmm0
cmpl $0x2, %edx
jl 0x2552b
decl %edx
shlq $0x3, %rdx
leaq 0x31d463(%rip), %rdi    # 0x342970
leaq 0x31d464(%rip), %rsi    # 0x342978
movsd %xmm1, -0x10(%rbp)
callq 0x9650
movsd -0x10(%rbp), %xmm1
movsd 0x31d445(%rip), %xmm0   # 0x342970
mulsd %xmm0, %xmm1
jmp 0x255e4
movsd 0x31d43c(%rip), %xmm1   # 0x342978
movsd 0x31d42c(%rip), %xmm0   # 0x342970
subsd %xmm0, %xmm1
jmp 0x255ae
movsd 0x31d41e(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x31d7ce(%rip)   # 0x342d28
movl 0x144af0(%rip), %edx    # 0x16a050
movapd %xmm1, %xmm0
cmpl $0x2, %edx
jl 0x25594
decl %edx
shlq $0x3, %rdx
leaq 0x31d3fa(%rip), %rdi    # 0x342970
leaq 0x31d3fb(%rip), %rsi    # 0x342978
movsd %xmm1, -0x10(%rbp)
callq 0x9650
movsd -0x10(%rbp), %xmm1
movsd 0x31d3dc(%rip), %xmm0   # 0x342970
addsd %xmm0, %xmm1
jmp 0x255e4
movsd 0x31d3d6(%rip), %xmm1   # 0x342978
movsd 0x31d3c6(%rip), %xmm0   # 0x342970
divsd %xmm0, %xmm1
movsd %xmm0, 0x31d772(%rip)   # 0x342d28
movl 0x144a94(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x255e4
decl %edx
shlq $0x3, %rdx
leaq 0x31d3a2(%rip), %rdi    # 0x342970
leaq 0x31d3a3(%rip), %rsi    # 0x342978
movsd %xmm1, -0x10(%rbp)
callq 0x9650
movsd -0x10(%rbp), %xmm1
movsd %xmm1, 0x31d74c(%rip)   # 0x342d38
movsd %xmm1, 0x31d37c(%rip)   # 0x342970
movl $0x0, 0x31d732(%rip)    # 0x342d30
movl $0x1, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movl (%rax), %ecx
cmpl $0x736862, %ecx         # imm = 0x736862
jle 0x25650
cmpl $0x736863, %ecx         # imm = 0x736863
je 0x2567a
cmpl $0x746e69, %ecx         # imm = 0x746E69
je 0x2568b
cmpl $0x766e69, %ecx         # imm = 0x766E69
jne 0x2570c
movsd 0x31d336(%rip), %xmm0   # 0x342970
movsd 0xe3a2e(%rip), %xmm1    # 0x109070
divsd %xmm0, %xmm1
movsd %xmm0, 0x31d6da(%rip)   # 0x342d28
jmp 0x255e4
cmpl $0x646f6d, %ecx         # imm = 0x646F6D
je 0x256b8
cmpl $0x736261, %ecx         # imm = 0x736261
jne 0x2570c
movsd 0x31d304(%rip), %xmm0   # 0x342970
movapd 0xe3b1c(%rip), %xmm1    # 0x109190
andpd %xmm0, %xmm1
jmp 0x2569b
xorpd %xmm0, %xmm0
subsd 0x31d2ea(%rip), %xmm0   # 0x342970
jmp 0x257a5
movsd 0x31d2dd(%rip), %xmm0   # 0x342970
cvttpd2dq %xmm0, %xmm1
cvtdq2pd %xmm1, %xmm1
movsd %xmm0, 0x31d685(%rip)   # 0x342d28
movlpd %xmm1, 0x31d68d(%rip)   # 0x342d38
movlpd %xmm1, 0x31d2bd(%rip)   # 0x342970
jmp 0x255f4
movsd 0x31d2b0(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x31d660(%rip)   # 0x342d28
movl 0x144982(%rip), %edx    # 0x16a050
movapd %xmm1, %xmm0
cmpl $0x2, %edx
jl 0x25702
decl %edx
shlq $0x3, %rdx
leaq 0x31d28c(%rip), %rdi    # 0x342970
leaq 0x31d28d(%rip), %rsi    # 0x342978
movsd %xmm1, -0x10(%rbp)
callq 0x9650
movsd -0x10(%rbp), %xmm1
movsd 0x31d26e(%rip), %xmm0   # 0x342970
callq 0x94d0
jmp 0x257a5
movl $0x63617266, %edx       # imm = 0x63617266
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25789
movl $0x666f7463, %edx       # imm = 0x666F7463
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x257ba
movl $0x636f7466, %edx       # imm = 0x636F7466
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x257db
movl $0x6d6f7466, %edx       # imm = 0x6D6F7466
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x257fc
movl $0x666f746d, %edx       # imm = 0x666F746D
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25816
cmpl $0x6e696d, %ecx         # imm = 0x6E696D
je 0x2582f
cmpl $0x78616d, %ecx         # imm = 0x78616D
jne 0x25839
callq 0x216c2
jmp 0x255fe
movsd 0x31d1df(%rip), %xmm0   # 0x342970
cvttpd2dq %xmm0, %xmm1
cvtdq2pd %xmm1, %xmm1
movsd %xmm0, 0x31d587(%rip)   # 0x342d28
subsd %xmm1, %xmm0
movsd %xmm0, 0x31d58b(%rip)   # 0x342d38
movsd %xmm0, 0x31d1bb(%rip)   # 0x342970
jmp 0x255f4
movsd 0x31d1ae(%rip), %xmm0   # 0x342970
movsd 0xe38b6(%rip), %xmm1    # 0x109080
mulsd %xmm0, %xmm1
addsd 0xe38da(%rip), %xmm1    # 0x1090b0
jmp 0x25646
movsd 0x31d18d(%rip), %xmm0   # 0x342970
movsd 0xe60c5(%rip), %xmm1    # 0x10b8b0
addsd %xmm0, %xmm1
mulsd 0xe60c1(%rip), %xmm1    # 0x10b8b8
jmp 0x25646
movsd 0x31d16c(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x31d51c(%rip)   # 0x342d28
divsd 0xe6094(%rip), %xmm0    # 0x10b8a8
jmp 0x257a5
movsd 0x31d152(%rip), %xmm0   # 0x342970
movsd 0xe6082(%rip), %xmm1    # 0x10b8a8
mulsd %xmm0, %xmm1
jmp 0x25646
callq 0x21771
jmp 0x255fe
movzwl %cx, %edx
cmpl $0x7d, %edx
jg 0x258ba
cmpl $0x26, %edx
je 0x258e5
cmpl $0x5e, %edx
je 0x259e8
cmpl $0x7c, %edx
jne 0x2599e
movsd 0x31d114(%rip), %xmm0   # 0x342978
cvttsd2si %xmm0, %rax
movsd 0xe5fcf(%rip), %xmm1    # 0x10b840
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rcx, %rdx
movsd 0x31d0e4(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %rcx
movsd %xmm0, 0x31d48f(%rip)   # 0x342d28
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
orq %rax, %rdx
movq %rcx, %rbx
sarq $0x3f, %rbx
andq %rsi, %rbx
orq %rcx, %rbx
orq %rdx, %rbx
jmp 0x25a41
cmpl $0x7e, %edx
je 0x25943
cmpl $0x3c3c, %edx           # imm = 0x3C3C
je 0x25a87
cmpl $0x3e3e, %edx           # imm = 0x3E3E
jne 0x2599e
callq 0x22b28
jmp 0x255fe
movsd 0x31d08b(%rip), %xmm0   # 0x342978
cvttsd2si %xmm0, %rax
movsd 0xe5f46(%rip), %xmm1    # 0x10b840
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rcx, %rdx
movsd 0x31d05b(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %rcx
movsd %xmm0, 0x31d406(%rip)   # 0x342d28
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
orq %rax, %rdx
movq %rcx, %rbx
sarq $0x3f, %rbx
andq %rsi, %rbx
orq %rcx, %rbx
andq %rdx, %rbx
jmp 0x25a41
movsd 0x31d025(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %rax
movq %rax, %rcx
sarq $0x3f, %rcx
movsd %xmm0, 0x31d3c9(%rip)   # 0x342d28
subsd 0xe5ed9(%rip), %xmm0    # 0x10b840
cvttsd2si %xmm0, %rbx
andq %rcx, %rbx
orq %rax, %rbx
movl 0x1446d8(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x25996
decl %edx
shlq $0x3, %rdx
leaq 0x31cfe6(%rip), %rdi    # 0x342970
leaq 0x31cfe7(%rip), %rsi    # 0x342978
callq 0x9650
notq %rbx
jmp 0x25a65
cmpl $0x6e6173, %ecx         # imm = 0x6E6173
jle 0x25a91
cmpl $0x6e6174, %ecx         # imm = 0x6E6174
je 0x25aad
cmpl $0x6e6973, %ecx         # imm = 0x6E6973
je 0x25ac7
cmpl $0x736f63, %ecx         # imm = 0x736F63
jne 0x25af7
movsd 0x31cf9a(%rip), %xmm0   # 0x342970
divsd 0x14467a(%rip), %xmm0   # 0x16a058
callq 0x9710
jmp 0x25bfe
movsd 0x31cf88(%rip), %xmm0   # 0x342978
cvttsd2si %xmm0, %rax
movsd 0xe5e43(%rip), %xmm1    # 0x10b840
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rcx, %rdx
movsd 0x31cf58(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %rcx
movsd %xmm0, 0x31d303(%rip)   # 0x342d28
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
orq %rax, %rdx
movq %rcx, %rbx
sarq $0x3f, %rbx
andq %rsi, %rbx
orq %rcx, %rbx
xorq %rdx, %rbx
movl 0x144609(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x25a65
decl %edx
shlq $0x3, %rdx
leaq 0x31cf17(%rip), %rdi    # 0x342970
leaq 0x31cf18(%rip), %rsi    # 0x342978
callq 0x9650
movq %rbx, %xmm0
punpckldq 0xe748e(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0xe7496(%rip), %xmm0    # 0x10cf10
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
jmp 0x25594
callq 0x22ba3
jmp 0x255fe
cmpl $0x646172, %ecx         # imm = 0x646172
je 0x25ae1
cmpl $0x676564, %ecx         # imm = 0x676564
jne 0x25af7
movabsq $0x404ca5dc1a63c1f8, %rax # imm = 0x404CA5DC1A63C1F8
jmp 0x25aeb
movsd 0x31cebb(%rip), %xmm0   # 0x342970
divsd 0x14459b(%rip), %xmm0   # 0x16a058
callq 0x91b0
jmp 0x25bfe
movsd 0x31cea1(%rip), %xmm0   # 0x342970
divsd 0x144581(%rip), %xmm0   # 0x16a058
callq 0x9080
jmp 0x25bfe
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x144566(%rip)    # 0x16a058
jmp 0x255fe
movl $0x6e697361, %edx       # imm = 0x6E697361
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25bcb
movl $0x736f6361, %edx       # imm = 0x736F6361
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25bda
movl $0x6e617461, %edx       # imm = 0x6E617461
movl (%rax), %esi
xorl %edx, %esi
movzbl 0x4(%rax), %edi
orl %esi, %edi
je 0x25be9
xorl (%rax), %edx
movzwl 0x4(%rax), %esi
xorl $0x32, %esi
orl %edx, %esi
je 0x25c13
movl $0x646f7472, %edx       # imm = 0x646F7472
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25c6b
movl $0x726f7464, %edx       # imm = 0x726F7464
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25c8c
movl $0x706f7472, %edx       # imm = 0x706F7472
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25cad
movl $0x726f7470, %edx       # imm = 0x726F7470
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25cb7
movl $0x67616964, %edx       # imm = 0x67616964
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25cc1
movl $0x74736964, %edx       # imm = 0x74736964
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25d1f
cmpl $0x736d64, %ecx         # imm = 0x736D64
jne 0x25d29
callq 0x22716
jmp 0x255fe
movsd 0x31cd9d(%rip), %xmm0   # 0x342970
callq 0x9660
jmp 0x25bf6
movsd 0x31cd8e(%rip), %xmm0   # 0x342970
callq 0x9350
jmp 0x25bf6
movsd 0x31cd7f(%rip), %xmm0   # 0x342970
callq 0x92d0
mulsd 0x14445a(%rip), %xmm0   # 0x16a058
movsd 0x31cd6a(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x31d11a(%rip)   # 0x342d28
jmp 0x257a5
movsd 0x31cd55(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x31d105(%rip)   # 0x342d28
movl 0x144427(%rip), %edx    # 0x16a050
movsd %xmm0, -0x10(%rbp)
cmpl $0x2, %edx
jl 0x25c54
decl %edx
shlq $0x3, %rdx
leaq 0x31cd30(%rip), %rdi    # 0x342970
leaq 0x31cd31(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0x31cd1c(%rip), %xmm0   # 0x342970
movsd -0x10(%rbp), %xmm1
callq 0x9050
mulsd 0x1443f2(%rip), %xmm0   # 0x16a058
jmp 0x257a5
movsd 0x31ccfd(%rip), %xmm0   # 0x342970
movsd 0xe5bb5(%rip), %xmm1    # 0x10b830
mulsd %xmm0, %xmm1
divsd 0xe5ba1(%rip), %xmm1    # 0x10b828
jmp 0x25646
movsd 0x31ccdc(%rip), %xmm0   # 0x342970
movsd 0xe5b8c(%rip), %xmm1    # 0x10b828
mulsd %xmm0, %xmm1
divsd 0xe5b88(%rip), %xmm1    # 0x10b830
jmp 0x25646
callq 0x21820
jmp 0x255fe
callq 0x21890
jmp 0x255fe
movsd 0x31cca7(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x31d057(%rip)   # 0x342d28
movl 0x144379(%rip), %edx    # 0x16a050
movsd %xmm0, -0x10(%rbp)
cmpl $0x2, %edx
jl 0x25d02
decl %edx
shlq $0x3, %rdx
leaq 0x31cc82(%rip), %rdi    # 0x342970
leaq 0x31cc83(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0x31cc6e(%rip), %xmm0   # 0x342970
mulsd %xmm0, %xmm0
movsd -0x10(%rbp), %xmm1
mulsd %xmm1, %xmm1
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
jmp 0x257a5
callq 0x220dd
jmp 0x255fe
movl $0x73636573, %edx       # imm = 0x73636573
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25d52
cmpl $0x646367, %ecx         # imm = 0x646367
je 0x25d5c
cmpl $0x636564, %ecx         # imm = 0x636564
jne 0x25d66
callq 0x229cd
jmp 0x255fe
callq 0x22538
jmp 0x255fe
callq 0x221e2
jmp 0x255fe
movq (%rax), %rcx
movabsq $0x676e6972616562, %rdx # imm = 0x676E6972616562
cmpq %rdx, %rcx
jne 0x25d82
callq 0x223b0
jmp 0x255fe
movl $0x6e6c, %edx           # imm = 0x6E6C
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
orw %dx, %si
je 0x25dac
cmpl $0x676f6c, %ecx         # imm = 0x676F6C
jne 0x25dbe
movsd 0x31cbce(%rip), %xmm0   # 0x342970
callq 0x9160
jmp 0x25bfe
movsd 0x31cbbc(%rip), %xmm0   # 0x342970
callq 0x9290
jmp 0x25bfe
movl $0x74727173, %edx       # imm = 0x74727173
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25dfa
cmpl $0x707865, %ecx         # imm = 0x707865
je 0x25ed6
cmpl $0x727173, %ecx         # imm = 0x727173
jne 0x25e19
movsd 0x31cb87(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x31cf37(%rip)   # 0x342d28
mulsd %xmm0, %xmm0
jmp 0x257a5
movsd 0x31cb6e(%rip), %xmm0   # 0x342970
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x25ef0
sqrtsd %xmm0, %xmm0
jmp 0x25bfe
movl $0x65776f70, %edx       # imm = 0x65776F70
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x25ed6
movl $0x31776f70, %edx       # imm = 0x31776F70
xorl (%rax), %edx
movzwl 0x4(%rax), %esi
xorl $0x30, %esi
orl %edx, %esi
je 0x25f4a
cmpl $0x776f70, %ecx         # imm = 0x776F70
je 0x25efa
movl $0x2a2a, %edx           # imm = 0x2A2A
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
orw %dx, %si
je 0x25efa
movl $0x7865, %edx           # imm = 0x7865
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
orw %dx, %si
je 0x25f6e
cmpl $0x746e65, %ecx         # imm = 0x746E65
je 0x25f5c
movl $0x65746e65, %edx       # imm = 0x65746E65
xorl (%rax), %edx
movzwl 0x4(%rax), %esi
xorl $0x72, %esi
orl %edx, %esi
je 0x25f5c
cmpl $0x6d6c63, %ecx         # imm = 0x6D6C63
je 0x26018
cmpl $0x736c63, %ecx         # imm = 0x736C63
je 0x25f93
cmpl $0x786c63, %ecx         # imm = 0x786C63
jne 0x25fc6
movq $0x0, 0x31caa9(%rip) # 0x342970
movl $0x1, 0x31ce5f(%rip)    # 0x342d30
jmp 0x255fe
movsd 0x31ca92(%rip), %xmm1   # 0x342970
movsd 0xe5982(%rip), %xmm0    # 0x10b868
callq 0x96b0
jmp 0x25bfe
callq 0x9270
jmp 0x25bfe
movsd 0x31ca6e(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x31ce1e(%rip)   # 0x342d28
movl 0x144140(%rip), %edx    # 0x16a050
movsd %xmm0, -0x10(%rbp)
cmpl $0x2, %edx
jl 0x25f3b
decl %edx
shlq $0x3, %rdx
leaq 0x31ca49(%rip), %rdi    # 0x342970
leaq 0x31ca4a(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0x31ca35(%rip), %xmm0   # 0x342970
movsd -0x10(%rbp), %xmm1
callq 0x96b0
jmp 0x257a5
movsd 0x31ca1e(%rip), %xmm1   # 0x342970
movsd 0xe314e(%rip), %xmm0    # 0x1090a8
jmp 0x25ee6
movsd 0x31ca0c(%rip), %xmm0   # 0x342970
callq 0x21256
jmp 0x255fe
movsd 0x31c9fa(%rip), %xmm0   # 0x342970
movsd 0x31c9fa(%rip), %xmm1   # 0x342978
movsd %xmm1, 0x31c9ea(%rip)   # 0x342970
movsd %xmm0, 0x31c9ea(%rip)   # 0x342978
jmp 0x255fe
movslq 0x1440b6(%rip), %rdx    # 0x16a050
testq %rdx, %rdx
jle 0x25fb1
shlq $0x3, %rdx
leaq 0x31c9c6(%rip), %rdi    # 0x342970
xorl %esi, %esi
callq 0x91a0
xorl %eax, %eax
movq %rax, 0x31cd6e(%rip)    # 0x342d28
movq %rax, 0x31cd77(%rip)    # 0x342d38
jmp 0x255f4
movl $0x61656c63, %edx       # imm = 0x61656C63
xorl (%rax), %edx
movzwl 0x4(%rax), %esi
xorl $0x72, %esi
orl %edx, %esi
je 0x25ffa
cmpl $0x6c6c6f72, %ecx       # imm = 0x6C6C6F72
je 0x26040
cmpl $0x6e776f64, %ecx       # imm = 0x6E776F64
je 0x26040
cmpl $0x706f7264, %ecx       # imm = 0x706F7264
jne 0x2604a
callq 0x21184
jmp 0x255fe
movslq 0x14404f(%rip), %rdx    # 0x16a050
testq %rdx, %rdx
jle 0x26018
shlq $0x3, %rdx
leaq 0x31c95f(%rip), %rdi    # 0x342970
xorl %esi, %esi
callq 0x91a0
leaq 0x31c9e1(%rip), %rdi    # 0x342a00
xorl %ebx, %ebx
movl $0x320, %edx            # imm = 0x320
xorl %esi, %esi
callq 0x91a0
movq %rbx, 0x31ccf4(%rip)    # 0x342d28
movq %rbx, 0x31ccfd(%rip)    # 0x342d38
jmp 0x255f4
callq 0x20ff6
jmp 0x255fe
movzwl %cx, %edx
cmpl $0x7075, %edx           # imm = 0x7075
jne 0x2605f
callq 0x2109c
jmp 0x255fe
movl $0x7473, %edx           # imm = 0x7473
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x6f, %esi
orw %dx, %si
je 0x260b1
movl $0x6372, %edx           # imm = 0x6372
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x6c, %esi
orw %dx, %si
je 0x260bb
movl $0x63617473, %edx       # imm = 0x63617473
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
xorl $0x6b, %esi
orl %edx, %esi
je 0x260c5
cmpl $0x657a6973, %ecx       # imm = 0x657A6973
je 0x260cf
cmpl $0x70617773, %ecx       # imm = 0x70617773
jne 0x260d9
callq 0x21352
jmp 0x255fe
callq 0x2140a
jmp 0x255fe
callq 0x2156d
jmp 0x255fe
callq 0x212e0
jmp 0x255fe
callq 0x22c1e
jmp 0x255fe
movl $0x6966, %edx           # imm = 0x6966
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x78, %esi
orw %dx, %si
je 0x261e4
movl $0x6373, %edx           # imm = 0x6373
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x69, %esi
orw %dx, %si
je 0x26206
movl $0x6e65, %edx           # imm = 0x6E65
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x67, %esi
orw %dx, %si
je 0x26216
movl $0x6568, %edx           # imm = 0x6568
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x78, %esi
orw %dx, %si
je 0x26239
movl $0x636f, %edx           # imm = 0x636F
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x74, %esi
orw %dx, %si
je 0x26245
movl $0x6962, %edx           # imm = 0x6962
xorl (%rax), %edx
movzbl 0x2(%rax), %esi
xorl $0x6e, %esi
orw %dx, %si
je 0x26251
movl $0x6d6d6f63, %edx       # imm = 0x6D6D6F63
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
xorl $0x61, %esi
orl %edx, %esi
je 0x2625d
movl $0x69666564, %edx       # imm = 0x69666564
xorl (%rax), %edx
movl $0x656e69, %esi         # imm = 0x656E69
xorl 0x3(%rax), %esi
orl %edx, %esi
je 0x26285
movl $0x74696465, %edx       # imm = 0x74696465
xorl (%rax), %edx
movzbl 0x4(%rax), %esi
orl %edx, %esi
je 0x26291
movabsq $0x7366656465766173, %rdx # imm = 0x7366656465766173
xorq (%rax), %rdx
movzbl 0x8(%rax), %esi
orq %rdx, %rsi
je 0x2629b
movabsq $0x6c6c6165766173, %rdx # imm = 0x6C6C6165766173
cmpq %rdx, %rcx
jne 0x262a7
movl $0x1, %ebx
movl $0x1, %edi
callq 0x239d5
jmp 0x25603
xorl %eax, %eax
movl %eax, 0x31cb54(%rip)    # 0x342d40
movl %eax, 0x31cb56(%rip)    # 0x342d48
movl $0x1, %ebx
movl $0x1, %edi
callq 0x22c87
jmp 0x25603
xorl %eax, %eax
movl %eax, 0x31cb32(%rip)    # 0x342d40
movl %eax, 0x31cb34(%rip)    # 0x342d48
jmp 0x2622a
movl $0x0, 0x31cb20(%rip)    # 0x342d40
movl $0x1, 0x31cb1e(%rip)    # 0x342d48
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x22c87
jmp 0x255fe
movl $0x10, 0x31cafd(%rip)   # 0x342d40
jmp 0x261f2
movl $0x8, 0x31caf1(%rip)    # 0x342d40
jmp 0x261f2
movl $0x2, 0x31cae5(%rip)    # 0x342d40
jmp 0x261f2
shrq $0x28, %rcx
xorl %eax, %eax
cmpl $0x0, 0x31cada(%rip)    # 0x342d44
movl $0x2c, %edx
cmovnel %eax, %edx
testb %cl, %cl
movsbl %cl, %eax
cmovel %edx, %eax
movl %eax, 0x31cac4(%rip)    # 0x342d44
jmp 0x255fe
xorl %edi, %edi
callq 0x22dfe
jmp 0x255fe
callq 0x237f1
jmp 0x255fe
xorl %edi, %edi
callq 0x239d5
jmp 0x255fe
cmpl $0x6e7572, %ecx         # imm = 0x6E7572
jne 0x262b9
callq 0x23b27
jmp 0x255fe
movl $0x74697865, %ecx       # imm = 0x74697865
xorl (%rax), %ecx
movzbl 0x4(%rax), %eax
xorl %ebx, %ebx
orl %ecx, %eax
jne 0x25603
movl $0x3db, %edi            # imm = 0x3DB
callq 0xdcff
jmp 0x255fe