// File: /workspace/github_cpp_makefile_star2_O2/cphinton42[P]hinton-language/src/stb/stb_sprintf.h
// Function: stbsp__real_to_str(char const**, unsigned int*, char*, int*, double, unsigned int)
static stbsp__int32 stbsp__real_to_str( char const * * start, stbsp__uint32 * len, char *out, stbsp__int32 * decimal_pos, double value, stbsp__uint32 frac_digits )
{
  double d;
  stbsp__int64 bits = 0;
  stbsp__int32 expo, e, ng, tens;

  d = value;
  STBSP__COPYFP(bits,d);
  expo = (stbsp__int32) ((bits >> 52) & 2047);
  ng = (stbsp__int32)(bits >> 63);
  if (ng) d=-d;

  if ( expo == 2047 ) // is nan or inf?
  {
    *start = (bits&((((stbsp__uint64)1)<<52)-1)) ? "NaN" : "Inf";
    *decimal_pos =  STBSP__SPECIAL;
    *len = 3;
    return ng;
  } 

  if ( expo == 0 ) // is zero or denormal
  {
    if ((bits<<1)==0) // do zero
    {
      *decimal_pos = 1; 
      *start = out;
      out[0] = '0'; *len = 1;
      return ng;
    }
    // find the right expo for denormals
    {
      stbsp__int64 v = ((stbsp__uint64)1)<<51;
      while ((bits&v)==0) { --expo; v >>= 1; }
    }
  }

  // find the decimal exponent as well as the decimal bits of the value
  {
    double ph,pl;

    // log10 estimate - very specifically tweaked to hit or undershoot by no more than 1 of log10 of all expos 1..2046
    tens=expo-1023; tens = (tens<0)?((tens*617)/2048):(((tens*1233)/4096)+1);

    // move the significant bits into position and stick them into an int 
    stbsp__raise_to_power10( &ph, &pl, d, 18-tens );

    // get full as much precision from double-double as possible
    stbsp__ddtoS64( bits, ph,pl );

    // check if we undershot
    if ( ((stbsp__uint64)bits) >= stbsp__tento19th ) ++tens; 
  }

  // now do the rounding in integer land
  frac_digits = ( frac_digits & 0x80000000 ) ? ( (frac_digits&0x7ffffff) + 1 ) : ( tens + frac_digits );
  if ( ( frac_digits < 24 ) )
  {
    stbsp__uint32 dg = 1; if ((stbsp__uint64)bits >= stbsp__powten[9] ) dg=10; while( (stbsp__uint64)bits >= stbsp__powten[dg] ) { ++dg; if (dg==20) goto noround; }
    if ( frac_digits < dg )
    {
      stbsp__uint64 r;
      // add 0.5 at the right position and round
      e = dg - frac_digits;
      if ( (stbsp__uint32)e >= 24 ) goto noround;
      r = stbsp__powten[e];
      bits = bits + (r/2);
      if ( (stbsp__uint64)bits >= stbsp__powten[dg] ) ++tens;
      bits /= r;
    } 
    noround:;
  }

  // kill long trailing runs of zeros
  if ( bits )
  {
    stbsp__uint32 n;
    for(;;) { if ( bits<=0xffffffff ) break; if (bits%1000) goto donez; bits/=1000; }
    n = (stbsp__uint32)bits;
    while ((n%1000)==0) n/=1000;
    bits=n;
    donez:;
  }

  // convert to string
  out += 64;
  e = 0; 
  for(;;)
  {
    stbsp__uint32 n;
    char * o = out-8;
    // do the conversion in chunks of U32s (avoid most 64-bit divides, worth it, constant denomiators be damned)
    if (bits>=100000000) { n = (stbsp__uint32)( bits % 100000000);  bits /= 100000000; } else {n = (stbsp__uint32)bits; bits = 0; }
    while(n) { out-=2; *(stbsp__uint16*)out=*(stbsp__uint16*)&stbsp__digitpair[(n%100)*2]; n/=100; e+=2; }
    if (bits==0) { if ((e) && (out[0]=='0')) { ++out; --e; } break; }
    while( out!=o ) { *--out ='0'; ++e; }
  }
  
  *decimal_pos = tens;
  *start = out;
  *len = e;
  return ng;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rcx, %r15
movq %rdx, %r9
andq $0x0, -0x28(%rsp)
movq %rsi, %r14
movsd %xmm0, -0x20(%rsp)
xorl %eax, %eax
cmpq $0x8, %rax
je 0xa593
movb -0x20(%rsp,%rax), %cl
movb %cl, -0x28(%rsp,%rax)
incq %rax
jmp 0xa580
movq -0x28(%rsp), %rax
movq %rax, %rdx
shrq $0x34, %rdx
andl $0x7ff, %edx            # imm = 0x7FF
testq %rax, %rax
jns 0xa5b8
xorpd 0x45be(%rip), %xmm0     # 0xeb70
movlpd %xmm0, -0x20(%rsp)
testl %edx, %edx
je 0xa5f1
cmpl $0x7ff, %edx            # imm = 0x7FF
jne 0xa61a
movq %rax, %rcx
shlq $0xc, %rcx
leaq 0x5b53(%rip), %rdx      # 0x10125
leaq 0x5b48(%rip), %rcx      # 0x10121
cmoveq %rdx, %rcx
movq %rcx, (%rdi)
movl $0x7000, (%r15)         # imm = 0x7000
movl $0x3, %ecx
jmp 0xae9a
leaq (,%rax,2), %rcx
testq %rcx, %rcx
je 0xa7f2
xorl %edx, %edx
movabsq $0x8000000000000, %rcx  # imm = 0x8000000000000
testq %rax, %rcx
jne 0xa61a
decl %edx
shrq %rcx
jmp 0xa60e
leal -0x3ff(%rdx), %ecx
cmpl $0x3fe, %edx            # imm = 0x3FE
jg 0xa638
imull $0xfffffd97, %ecx, %r12d # imm = 0xFFFFFD97
shrl $0xb, %r12d
negl %r12d
jmp 0xa646
imull $0x4d1, %ecx, %r12d     # imm = 0x4D1
shrl $0xc, %r12d
incl %r12d
movq %rax, -0x18(%rsp)
movq %rdi, -0x10(%rsp)
movl $0x12, %eax
subl %r12d, %eax
movsd %xmm0, -0x40(%rsp)
cmpl $0x16, %eax
ja 0xa699
andq $0x0, -0x48(%rsp)
andq $0x0, -0x50(%rsp)
movl %eax, %eax
leaq 0x40c8(%rip), %rcx      # 0xe740
leaq (%rcx,%rax,8), %rax
movsd (%rax), %xmm1
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xa710
movb -0x40(%rsp,%rcx), %dl
movb %dl, -0x60(%rsp,%rcx)
incq %rcx
jmp 0xa682
movl %eax, %edx
negl %edx
cmovsl %eax, %edx
imull $0x2c9, %edx, %eax      # imm = 0x2C9
shrl $0xe, %eax
cmpl $0xd, %eax
movl $0xd, %ecx
cmovbl %eax, %ecx
imull $-0x17, %ecx, %r11d
addl %edx, %r11d
movl %ecx, %eax
cmpl $0x13, %r12d
jl 0xa7a7
testl %r11d, %r11d
je 0xa963
movslq %r11d, %rsi
andq $0x0, -0x48(%rsp)
andq $0x0, -0x50(%rsp)
leaq 0x411a(%rip), %rcx      # 0xe800
leaq (%rcx,%rsi,8), %rcx
addq $-0x8, %rcx
decq %rsi
movsd (%rcx), %xmm2
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa80a
movb -0x40(%rsp,%rdi), %r10b
movb %r10b, -0x60(%rsp,%rdi)
incq %rdi
jmp 0xa6f7
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xa72d
movb -0x60(%rsp,%rcx), %dl
movb %dl, -0x48(%rsp,%rcx)
incq %rcx
jmp 0xa71a
movsd -0x48(%rsp), %xmm2
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xa747
movb (%rax,%rcx), %dl
movb %dl, -0x60(%rsp,%rcx)
incq %rcx
jmp 0xa735
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %eax, %eax
cmpq $0x8, %rax
je 0xa764
movb -0x60(%rsp,%rax), %cl
movb %cl, -0x50(%rsp,%rax)
incq %rax
jmp 0xa751
movapd %xmm0, %xmm3
mulsd %xmm1, %xmm3
subsd %xmm2, %xmm0
movsd -0x50(%rsp), %xmm4
subsd %xmm4, %xmm1
movapd %xmm2, %xmm5
mulsd %xmm4, %xmm5
subsd %xmm3, %xmm5
mulsd %xmm1, %xmm2
addsd %xmm5, %xmm2
mulsd %xmm0, %xmm4
addsd %xmm2, %xmm4
mulsd %xmm0, %xmm1
addsd %xmm4, %xmm1
movapd %xmm3, %xmm0
jmp 0xac67
testl %r11d, %r11d
je 0xaa65
cmpl $0x16, %r11d
movl $0x16, %ebx
cmovll %r11d, %ebx
andq $0x0, -0x48(%rsp)
andq $0x0, -0x50(%rsp)
movslq %ebx, %rcx
leaq 0x3f6d(%rip), %rsi      # 0xe740
leaq (%rsi,%rcx,8), %rcx
movsd (%rcx), %xmm1
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa829
movb -0x40(%rsp,%rdi), %r10b
movb %r10b, -0x60(%rsp,%rdi)
incq %rdi
jmp 0xa7dd
movl $0x1, (%r15)
movq %r9, (%rdi)
movb $0x30, (%r9)
movl $0x1, %ecx
jmp 0xae9a
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa848
movb -0x60(%rsp,%rdi), %r10b
movb %r10b, -0x48(%rsp,%rdi)
incq %rdi
jmp 0xa814
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa864
movb -0x60(%rsp,%rdi), %r10b
movb %r10b, -0x48(%rsp,%rdi)
incq %rdi
jmp 0xa833
movsd -0x48(%rsp), %xmm1
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa880
movb (%rcx,%rdi), %r10b
movb %r10b, -0x60(%rsp,%rdi)
incq %rdi
jmp 0xa850
movsd -0x48(%rsp), %xmm2
xorl %edi, %edi
cmpq $0x8, %rdi
je 0xa89f
movb (%rcx,%rdi), %r10b
movb %r10b, -0x60(%rsp,%rdi)
incq %rdi
jmp 0xa86c
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xa8c6
movb -0x60(%rsp,%rcx), %dil
movb %dil, -0x50(%rsp,%rcx)
incq %rcx
jmp 0xa88a
movapd %xmm0, %xmm4
mulsd %xmm1, %xmm4
andl $0xf8000000, -0x60(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xa91e
movb -0x60(%rsp,%rcx), %dil
movb %dil, -0x50(%rsp,%rcx)
incq %rcx
jmp 0xa8b1
movapd %xmm0, %xmm3
mulsd %xmm2, %xmm3
movapd %xmm0, %xmm4
subsd %xmm1, %xmm4
movsd -0x50(%rsp), %xmm5
subsd %xmm5, %xmm2
movapd %xmm1, %xmm6
mulsd %xmm5, %xmm6
subsd %xmm3, %xmm6
mulsd %xmm2, %xmm1
addsd %xmm6, %xmm1
mulsd %xmm4, %xmm5
addsd %xmm1, %xmm5
mulsd %xmm4, %xmm2
leaq 0x3fa9(%rip), %rcx      # 0xe8b0
mulsd (%rcx,%rsi,8), %xmm0
addsd %xmm5, %xmm2
movapd %xmm0, %xmm1
addsd %xmm2, %xmm1
movapd %xmm3, %xmm0
jmp 0xa967
subsd %xmm2, %xmm0
movsd -0x50(%rsp), %xmm3
subsd %xmm3, %xmm1
movapd %xmm2, %xmm5
mulsd %xmm3, %xmm5
subsd %xmm4, %xmm5
mulsd %xmm1, %xmm2
addsd %xmm5, %xmm2
mulsd %xmm0, %xmm3
addsd %xmm2, %xmm3
mulsd %xmm0, %xmm1
addsd %xmm3, %xmm1
cmpl $0x17, %r11d
jge 0xaa6e
movapd %xmm4, %xmm0
jmp 0xab59
xorpd %xmm1, %xmm1
cmpl $0x17, %edx
jb 0xac67
movapd %xmm0, %xmm2
addsd %xmm1, %xmm2
movsd %xmm2, -0x48(%rsp)
andq $0x0, -0x50(%rsp)
andq $0x0, -0x60(%rsp)
leaq 0x3fcf(%rip), %rcx      # 0xe960
leaq (%rcx,%rax,8), %rcx
addq $-0x8, %rcx
decq %rax
movsd (%rcx), %xmm3
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xa9b7
movb -0x48(%rsp,%rdx), %sil
movb %sil, -0x58(%rsp,%rdx)
incq %rdx
jmp 0xa9a2
movapd %xmm2, %xmm5
subsd %xmm0, %xmm5
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xa9de
movb -0x58(%rsp,%rdx), %sil
movb %sil, -0x50(%rsp,%rdx)
incq %rdx
jmp 0xa9c9
movsd -0x50(%rsp), %xmm4
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xa9fa
movb (%rcx,%rdx), %sil
movb %sil, -0x58(%rsp,%rdx)
incq %rdx
jmp 0xa9e6
subsd %xmm5, %xmm1
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xaa1b
movb -0x58(%rsp,%rcx), %dl
movb %dl, -0x60(%rsp,%rcx)
incq %rcx
jmp 0xaa08
movapd %xmm2, %xmm0
mulsd %xmm3, %xmm0
movapd %xmm2, %xmm5
subsd %xmm4, %xmm5
movsd -0x60(%rsp), %xmm6
mulsd %xmm3, %xmm1
subsd %xmm6, %xmm3
movapd %xmm4, %xmm7
mulsd %xmm6, %xmm7
subsd %xmm0, %xmm7
mulsd %xmm3, %xmm4
addsd %xmm7, %xmm4
mulsd %xmm5, %xmm6
addsd %xmm4, %xmm6
mulsd %xmm5, %xmm3
leaq 0x3f70(%rip), %rcx      # 0xe9d0
jmp 0xac52
xorpd %xmm1, %xmm1
jmp 0xab59
subl %ebx, %r11d
movapd %xmm4, %xmm2
addsd %xmm1, %xmm2
andq $0x0, -0x50(%rsp)
movsd %xmm2, -0x48(%rsp)
andq $0x0, -0x60(%rsp)
movslq %r11d, %rcx
leaq (%rsi,%rcx,8), %rcx
movsd (%rcx), %xmm3
xorl %esi, %esi
cmpq $0x8, %rsi
je 0xaaad
movb -0x48(%rsp,%rsi), %dil
movb %dil, -0x58(%rsp,%rsi)
incq %rsi
jmp 0xaa98
movapd %xmm2, %xmm0
subsd %xmm4, %xmm0
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %esi, %esi
cmpq $0x8, %rsi
je 0xaad4
movb -0x58(%rsp,%rsi), %dil
movb %dil, -0x50(%rsp,%rsi)
incq %rsi
jmp 0xaabf
movsd -0x50(%rsp), %xmm4
xorl %esi, %esi
cmpq $0x8, %rsi
je 0xaaf0
movb (%rcx,%rsi), %dil
movb %dil, -0x58(%rsp,%rsi)
incq %rsi
jmp 0xaadc
subsd %xmm0, %xmm1
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xab13
movb -0x58(%rsp,%rcx), %sil
movb %sil, -0x60(%rsp,%rcx)
incq %rcx
jmp 0xaafe
movapd %xmm2, %xmm0
mulsd %xmm3, %xmm0
subsd %xmm4, %xmm2
movsd -0x60(%rsp), %xmm5
movapd %xmm3, %xmm6
subsd %xmm5, %xmm6
movapd %xmm4, %xmm7
mulsd %xmm5, %xmm7
subsd %xmm0, %xmm7
mulsd %xmm6, %xmm4
addsd %xmm7, %xmm4
mulsd %xmm2, %xmm5
addsd %xmm4, %xmm5
mulsd %xmm2, %xmm6
addsd %xmm5, %xmm6
mulsd %xmm3, %xmm1
addsd %xmm6, %xmm1
cmpl $0x17, %edx
jb 0xac67
movapd %xmm0, %xmm2
addsd %xmm1, %xmm2
movsd %xmm2, -0x48(%rsp)
andq $0x0, -0x50(%rsp)
andq $0x0, -0x60(%rsp)
leaq 0x3ebd(%rip), %rcx      # 0xea40
leaq (%rcx,%rax,8), %rcx
addq $-0x8, %rcx
decq %rax
movsd (%rcx), %xmm3
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xaba9
movb -0x48(%rsp,%rdx), %sil
movb %sil, -0x58(%rsp,%rdx)
incq %rdx
jmp 0xab94
movapd %xmm2, %xmm5
subsd %xmm0, %xmm5
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xabd0
movb -0x58(%rsp,%rdx), %sil
movb %sil, -0x50(%rsp,%rdx)
incq %rdx
jmp 0xabbb
movsd -0x50(%rsp), %xmm4
xorl %edx, %edx
cmpq $0x8, %rdx
je 0xabec
movb (%rcx,%rdx), %sil
movb %sil, -0x58(%rsp,%rdx)
incq %rdx
jmp 0xabd8
subsd %xmm5, %xmm1
andl $0xf8000000, -0x58(%rsp) # imm = 0xF8000000
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0xac0d
movb -0x58(%rsp,%rcx), %dl
movb %dl, -0x60(%rsp,%rcx)
incq %rcx
jmp 0xabfa
movapd %xmm2, %xmm0
mulsd %xmm3, %xmm0
movapd %xmm2, %xmm5
subsd %xmm4, %xmm5
movsd -0x60(%rsp), %xmm6
mulsd %xmm3, %xmm1
subsd %xmm6, %xmm3
movapd %xmm4, %xmm7
mulsd %xmm6, %xmm7
subsd %xmm0, %xmm7
mulsd %xmm3, %xmm4
addsd %xmm7, %xmm4
mulsd %xmm5, %xmm6
addsd %xmm4, %xmm6
mulsd %xmm5, %xmm3
leaq 0x3e5e(%rip), %rcx      # 0xeab0
mulsd (%rcx,%rax,8), %xmm2
addsd %xmm6, %xmm3
addsd %xmm1, %xmm2
addsd %xmm3, %xmm2
movapd %xmm2, %xmm1
movapd %xmm0, %xmm2
addsd %xmm1, %xmm2
movapd %xmm2, %xmm3
subsd %xmm0, %xmm3
cvttsd2si %xmm2, %rcx
subsd %xmm3, %xmm1
cvtsi2sd %rcx, %xmm0
movapd %xmm2, %xmm3
subsd %xmm0, %xmm3
movapd %xmm3, %xmm4
subsd %xmm2, %xmm4
movapd %xmm3, %xmm5
subsd %xmm4, %xmm5
subsd %xmm5, %xmm2
addsd %xmm0, %xmm4
subsd %xmm4, %xmm2
addsd %xmm3, %xmm2
addsd %xmm1, %xmm2
cvttsd2si %xmm2, %rax
addq %rcx, %rax
movabsq $0xde0b6b3a763ffff, %rcx # imm = 0xDE0B6B3A763FFFF
xorl %edx, %edx
cmpq %rcx, %rax
seta %dl
addl %edx, %r12d
movl %r8d, %edx
andl $0x7ffffff, %edx        # imm = 0x7FFFFFF
incl %edx
leal (%r12,%r8), %ecx
testl %r8d, %r8d
cmovsl %edx, %ecx
cmpl $0x17, %ecx
ja 0xad4e
xorl %edx, %edx
cmpq $0x3b9aca00, %rax       # imm = 0x3B9ACA00
setae %dl
leal (%rdx,%rdx,8), %esi
leaq 0x39a3(%rip), %rdx      # 0xe6a0
leaq (%rdx,%rsi,8), %r8
addq $0x8, %r8
notl %esi
movq (%r8), %rdi
cmpq %rdi, %rax
jb 0xad1c
decl %esi
addq $0x8, %r8
cmpl $-0x14, %esi
jne 0xad07
jmp 0xad4e
movl %esi, %r8d
negl %r8d
cmpl %r8d, %ecx
jae 0xad4e
addl %esi, %ecx
negl %ecx
cmpl $0x17, %ecx
ja 0xad4e
movl %ecx, %ecx
movq (%rdx,%rcx,8), %rcx
movq %rcx, %rdx
shrq %rdx
addq %rax, %rdx
cmpq %rdi, %rdx
sbbl $-0x1, %r12d
movq %rdx, %rax
xorl %edx, %edx
divq %rcx
testq %rax, %rax
je 0xad79
movabsq $0x100000000, %rcx      # imm = 0x100000000
movl $0x3e8, %esi            # imm = 0x3E8
movq %rax, %r8
cmpq %rcx, %rax
jl 0xad7e
movq %r8, %rax
xorl %edx, %edx
divq %rsi
testq %rdx, %rdx
je 0xad62
jmp 0xad97
xorl %r8d, %r8d
jmp 0xad97
movl $0x3e8, %ecx            # imm = 0x3E8
movl %r8d, %r11d
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %eax, %r8d
testl %edx, %edx
je 0xad83
movl %r11d, %r8d
movq %r12, -0x38(%rsp)
movq %r15, -0x30(%rsp)
movq %r14, -0x8(%rsp)
leaq 0x3f(%r9), %rcx
movl $0xfffffff8, %ebp       # imm = 0xFFFFFFF8
xorl %r14d, %r14d
movl $0x5f5e100, %r12d       # imm = 0x5F5E100
movabsq $-0x8, %rdi
movl $0x64, %ebx
leaq 0x5672(%rip), %rsi      # 0x10440
cmpq $0x5f5e100, %r8         # imm = 0x5F5E100
jl 0xade7
movq %r8, %rax
xorl %edx, %edx
divq %r12
movq %rax, %r11
movq %rdx, %r8
jmp 0xadea
xorl %r11d, %r11d
movq %rcx, %r15
movq %rdi, %r13
xorl %r10d, %r10d
testl %r8d, %r8d
je 0xae1a
movl %r8d, %eax
xorl %edx, %edx
divl %ebx
movzwl (%rsi,%rdx,2), %edx
movw %dx, 0x3e(%r9,%r10)
addq $-0x2, %r10
addq $0x2, %r13
addq $-0x2, %r15
movl %eax, %r8d
jmp 0xadf3
testq %r11, %r11
je 0xae44
testq %r13, %r13
je 0xae30
movb $0x30, (%r15)
incq %r13
decq %r15
jmp 0xae1f
addq $0x8, %r14
addl $0x8, %ebp
addq $-0x8, %r9
addq $-0x8, %rcx
movq %r11, %r8
jmp 0xadce
leaq (%r9,%r10), %rax
addq $0x40, %rax
xorl %ecx, %ecx
cmpl %r14d, %r10d
jne 0xae5f
movq -0x30(%rsp), %rdx
movq -0x38(%rsp), %rsi
jmp 0xae86
cmpb $0x30, (%rax)
movq -0x30(%rsp), %rdx
movq -0x38(%rsp), %rsi
jne 0xae80
leaq (%r9,%r10), %rax
addq $0x41, %rax
subl %r10d, %ebp
addl $0x7, %ebp
movl %ebp, %ecx
jmp 0xae86
subq %r10, %r14
movl %r14d, %ecx
movl %esi, (%rdx)
movq -0x10(%rsp), %rdx
movq %rax, (%rdx)
movq -0x8(%rsp), %r14
movq -0x18(%rsp), %rax
movl %ecx, (%r14)
sarq $0x3f, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq