// File: lemire[P]validateutf8-experiments/benchmarks/benchstream.cpp
// Function: Benchmark::run(RandomUTF8&)
void run(RandomUTF8 &generator) {
    event_collector collector;
    for (size_t k = 0; k < samples; k++) {
      size_t size = size_t(
          double(k) / double(samples - 1) * (max_size - min_size) + min_size);
      const auto UTF8 = generator.generate(2 * size);
      size_t s1{UTF8.size()};
      size_t volume{size};
      size_t s2{UTF8.size() - volume};
      while (int8_t(UTF8[s2]) < 64) {
        s2 -= 1;
      }
      volume = s1 - s2;
      buffer.resize(s1);
      printf("%zu     ", volume);
      auto mem1 = [&UTF8, &s1]() {
        memcpy(buffer.data(), UTF8.data(), s1);
        return fastvalidate::error_code::SUCCESS;
      };
      auto mem2 = [&UTF8, &s2]() {
        memcpy(buffer.data(), UTF8.data(), s2);
        return fastvalidate::error_code::SUCCESS;
      };
      RUNDIFF("memcpy", mem1, mem2);

      auto fushia1 = [&UTF8, &s1]() {
        return fidl_validate_string(UTF8.data(), s1);
      };
      auto fushia2 = [&UTF8, &s2]() {
        return fidl_validate_string(UTF8.data(), s2);
      };

      RUNDIFF("fushia", fushia1, fushia2);
      auto dfa31 = [&UTF8, &s1]() {
        return shiftless_validate_dfa_utf8_three(
            (const signed char *)UTF8.data(), s1);
      };
      auto dfa32 = [&UTF8, &s2]() {
        return shiftless_validate_dfa_utf8_three(
            (const signed char *)UTF8.data(), s2);
      };
      RUNDIFF("dfa3", dfa31, dfa32);

      auto lookup3avx1 = [&UTF8, &s1]() {
        return active_fastvalidate::lookup3::validate(UTF8.data(), s1);
      };
      auto lookup3avx2 = [&UTF8, &s2]() {
        return active_fastvalidate::lookup3::validate(UTF8.data(), s2);
      };

      RUNDIFF("lookup3avx", lookup3avx1, lookup3avx2);

      auto fushia1_ascii = [&UTF8, &s1]() {
        return fidl_validate_string_ascii(UTF8.data(), s1);
      };
      auto fushia2_ascii = [&UTF8, &s2]() {
        return fidl_validate_string_ascii(UTF8.data(), s2);
      };

      RUNDIFF("fushia_ascii", fushia1_ascii, fushia2_ascii);

      auto lookup4avx1 = [&UTF8, &s1]() {
        return active_fastvalidate::lookup4::validate(UTF8.data(), s1);
      };
      auto lookup4avx2 = [&UTF8, &s2]() {
        return active_fastvalidate::lookup4::validate(UTF8.data(), s2);
      };

      RUNDIFF("lookup4avx", lookup4avx1, lookup4avx2);

      printf("\n");
    }
  }

// Assembly:
subq $0xa98, %rsp            # imm = 0xA98
movq %rdi, 0xa90(%rsp)
movq %rsi, 0xa88(%rsp)
movq 0xa90(%rsp), %rax
movq %rax, 0x220(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf75e0
movq $0x0, 0x998(%rsp)
movq 0x220(%rsp), %rcx
movq 0x998(%rsp), %rax
cmpq (%rcx), %rax
jae 0xfc31b
movq 0x220(%rsp), %rcx
movq 0x998(%rsp), %xmm0
movaps 0x9abf(%rip), %xmm4     # 0x104050
punpckldq %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
movapd 0x9ac3(%rip), %xmm3     # 0x104060
subpd %xmm3, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq (%rcx), %rdx
movq 0x10(%rcx), %rax
decq %rdx
movq %rdx, %xmm1
punpckldq %xmm4, %xmm1    # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1]
subpd %xmm3, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movq 0x18(%rcx), %rcx
subq %rax, %rcx
movq %rcx, %xmm2
punpckldq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]
subpd %xmm3, %xmm2
movaps %xmm2, %xmm1
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm1, %xmm2
movq %rax, %xmm1
punpckldq %xmm4, %xmm1    # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1]
subpd %xmm3, %xmm1
movaps %xmm1, %xmm3
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0x9a48(%rip), %xmm1     # 0x104070
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x990(%rsp)
movq 0xa88(%rsp), %rsi
movq 0x990(%rsp), %rdx
addq %rdx, %rdx
leaq 0x978(%rsp), %rdi
callq 0x1002d0
jmp 0xfa661
leaq 0x978(%rsp), %rdi
callq 0xfc370
movq %rax, 0x960(%rsp)
movq 0x990(%rsp), %rax
movq %rax, 0x958(%rsp)
leaq 0x978(%rsp), %rdi
callq 0xfc370
subq 0x958(%rsp), %rax
movq %rax, 0x950(%rsp)
movq 0x950(%rsp), %rsi
leaq 0x978(%rsp), %rdi
callq 0xfc390
movsbl (%rax), %eax
cmpl $0x40, %eax
jge 0xfa6ef
movq 0x950(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x950(%rsp)
jmp 0xfa6a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfc330
movq 0x960(%rsp), %rax
movq 0x950(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x958(%rsp)
movq 0x960(%rsp), %rsi
leaq 0x10a77(%rip), %rdi     # 0x10b190
callq 0xfc3b0
jmp 0xfa720
movq 0x958(%rsp), %rsi
leaq 0x9b1a(%rip), %rdi      # 0x104249
xorl %eax, %eax
callq 0x2030
jmp 0xfa738
leaq 0x978(%rsp), %rax
movq %rax, 0x940(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x948(%rsp)
movq %rax, 0x930(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x938(%rsp)
leaq 0x8c8(%rsp), %rdi
callq 0xfc450
jmp 0xfa77f
leaq 0x860(%rsp), %rdi
callq 0xfc450
jmp 0xfa78e
movq $0x0, 0x858(%rsp)
movq 0x220(%rsp), %rcx
movq 0x858(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfa9b1
leaq 0x838(%rsp), %rdi
callq 0xf78f0
jmp 0xfa7c3
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfa7d2
leaq 0x940(%rsp), %rdi
callq 0xfc520
movl %eax, 0x21c(%rsp)
jmp 0xfa7e8
movl 0x21c(%rsp), %eax
cmpl $0x0, %eax
je 0xfa890
leaq 0x9a53(%rip), %rdi      # 0x104252
leaq 0x9a54(%rip), %rsi      # 0x10425a
xorl %eax, %eax
callq 0x2030
jmp 0xfa80f
movl $0x7, 0x834(%rsp)
jmp 0xfa97a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfaccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfacc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x838(%rsp), %rdi
callq 0xf8070
jmp 0xfacc0
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x210(%rsp)
jmp 0xfa8a7
movq 0x210(%rsp), %rsi
leaq 0x838(%rsp), %rdi
callq 0xfc5f0
jmp 0xfa8be
leaq 0x8c8(%rsp), %rdi
leaq 0x838(%rsp), %rsi
callq 0xfc630
jmp 0xfa8d5
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfa8e4
leaq 0x930(%rsp), %rdi
callq 0xfc6d0
movl %eax, 0x20c(%rsp)
jmp 0xfa8fa
movl 0x20c(%rsp), %eax
cmpl $0x0, %eax
je 0xfa92a
leaq 0x9945(%rip), %rdi      # 0x104252
leaq 0x9946(%rip), %rsi      # 0x10425a
xorl %eax, %eax
callq 0x2030
jmp 0xfa91d
movl $0x7, 0x834(%rsp)
jmp 0xfa97a
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x200(%rsp)
jmp 0xfa941
movq 0x200(%rsp), %rsi
leaq 0x838(%rsp), %rdi
callq 0xfc5f0
jmp 0xfa958
leaq 0x860(%rsp), %rdi
leaq 0x838(%rsp), %rsi
callq 0xfc630
jmp 0xfa96f
movl $0x0, 0x834(%rsp)
leaq 0x838(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfa996
jmp 0xfa994
jmp 0xfa9b1
jmp 0xfa998
movq 0x858(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x858(%rsp)
jmp 0xfa79a
leaq 0x8f0(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x1f8(%rsp)
jmp 0xfa9c9
leaq 0x888(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x1f0(%rsp)
jmp 0xfa9e1
movsd 0x1f0(%rsp), %xmm1
movsd 0x1f8(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x9652(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x964d(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x828(%rsp)
leaq 0x8f0(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x1e8(%rsp)
jmp 0xfaa47
leaq 0x888(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x1e0(%rsp)
jmp 0xfaa5f
movsd 0x1e0(%rsp), %xmm1
movsd 0x1e8(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x95cb(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x95cf(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x820(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x1d0(%rsp)
leaq 0x8f0(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x1d8(%rsp)
jmp 0xfaaea
leaq 0x888(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x1c8(%rsp)
jmp 0xfab02
movsd 0x1d0(%rsp), %xmm0
movsd 0x1c8(%rsp), %xmm2
movsd 0x1d8(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x818(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x820(%rsp), %xmm0
jbe 0xfab48
xorps %xmm0, %xmm0
movsd %xmm0, 0x820(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0x1c7(%rsp)
jmp 0xfab5e
movb 0x1c7(%rsp), %al
testb $0x1, %al
jne 0xfab6b
jmp 0xfaba4
movsd 0x828(%rsp), %xmm0
movsd 0x820(%rsp), %xmm1
movsd 0x94f3(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x818(%rsp), %xmm2
leaq 0x96c8(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfaba2
jmp 0xfabbf
movsd 0x818(%rsp), %xmm0
leaq 0x96c5(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfabbd
jmp 0xfabbf
leaq 0x860(%rsp), %rdi
callq 0xfc7e0
leaq 0x8c8(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rax
movq %rax, 0x808(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x810(%rsp)
movq %rax, 0x7f8(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x800(%rsp)
leaq 0x790(%rsp), %rdi
callq 0xfc450
jmp 0xfac20
leaq 0x728(%rsp), %rdi
callq 0xfc450
jmp 0xfac2f
movq $0x0, 0x720(%rsp)
movq 0x220(%rsp), %rcx
movq 0x720(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfae58
leaq 0x700(%rsp), %rdi
callq 0xf78f0
jmp 0xfac64
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfac73
leaq 0x808(%rsp), %rdi
callq 0xfc820
movl %eax, 0x1c0(%rsp)
jmp 0xfac89
movl 0x1c0(%rsp), %eax
cmpl $0x0, %eax
je 0xfad37
leaq 0x95b2(%rip), %rdi      # 0x104252
leaq 0x95dd(%rip), %rsi      # 0x104284
xorl %eax, %eax
callq 0x2030
jmp 0xfacb0
movl $0xa, 0x834(%rsp)
jmp 0xfae21
leaq 0x860(%rsp), %rdi
callq 0xfc7e0
leaq 0x8c8(%rsp), %rdi
callq 0xfc7e0
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfb174
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfb167
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x700(%rsp), %rdi
callq 0xf8070
jmp 0xfb167
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x1b8(%rsp)
jmp 0xfad4e
movq 0x1b8(%rsp), %rsi
leaq 0x700(%rsp), %rdi
callq 0xfc5f0
jmp 0xfad65
leaq 0x790(%rsp), %rdi
leaq 0x700(%rsp), %rsi
callq 0xfc630
jmp 0xfad7c
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfad8b
leaq 0x7f8(%rsp), %rdi
callq 0xfc860
movl %eax, 0x1b4(%rsp)
jmp 0xfada1
movl 0x1b4(%rsp), %eax
cmpl $0x0, %eax
je 0xfadd1
leaq 0x949e(%rip), %rdi      # 0x104252
leaq 0x94c9(%rip), %rsi      # 0x104284
xorl %eax, %eax
callq 0x2030
jmp 0xfadc4
movl $0xa, 0x834(%rsp)
jmp 0xfae21
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x1a8(%rsp)
jmp 0xfade8
movq 0x1a8(%rsp), %rsi
leaq 0x700(%rsp), %rdi
callq 0xfc5f0
jmp 0xfadff
leaq 0x728(%rsp), %rdi
leaq 0x700(%rsp), %rsi
callq 0xfc630
jmp 0xfae16
movl $0x0, 0x834(%rsp)
leaq 0x700(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfae3d
jmp 0xfae3b
jmp 0xfae58
jmp 0xfae3f
movq 0x720(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x720(%rsp)
jmp 0xfac3b
leaq 0x7b8(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x1a0(%rsp)
jmp 0xfae70
leaq 0x750(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x198(%rsp)
jmp 0xfae88
movsd 0x198(%rsp), %xmm1
movsd 0x1a0(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x91ab(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x91a6(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x6f8(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x190(%rsp)
jmp 0xfaeee
leaq 0x750(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x188(%rsp)
jmp 0xfaf06
movsd 0x188(%rsp), %xmm1
movsd 0x190(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x9124(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x9128(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x6f0(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x178(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x180(%rsp)
jmp 0xfaf91
leaq 0x750(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x170(%rsp)
jmp 0xfafa9
movsd 0x178(%rsp), %xmm0
movsd 0x170(%rsp), %xmm2
movsd 0x180(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x6e8(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x6f0(%rsp), %xmm0
jbe 0xfafef
xorps %xmm0, %xmm0
movsd %xmm0, 0x6f0(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0x16f(%rsp)
jmp 0xfb005
movb 0x16f(%rsp), %al
testb $0x1, %al
jne 0xfb012
jmp 0xfb04b
movsd 0x6f8(%rsp), %xmm0
movsd 0x6f0(%rsp), %xmm1
movsd 0x904c(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x6e8(%rsp), %xmm2
leaq 0x9221(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfb049
jmp 0xfb066
movsd 0x6e8(%rsp), %xmm0
leaq 0x921e(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfb064
jmp 0xfb066
leaq 0x728(%rsp), %rdi
callq 0xfc7e0
leaq 0x790(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rax
movq %rax, 0x6d8(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x6e0(%rsp)
movq %rax, 0x6c8(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x6d0(%rsp)
leaq 0x660(%rsp), %rdi
callq 0xfc450
jmp 0xfb0c7
leaq 0x5f8(%rsp), %rdi
callq 0xfc450
jmp 0xfb0d6
movq $0x0, 0x5f0(%rsp)
movq 0x220(%rsp), %rcx
movq 0x5f0(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfb2ff
leaq 0x5d0(%rsp), %rdi
callq 0xf78f0
jmp 0xfb10b
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfb11a
leaq 0x6d8(%rsp), %rdi
callq 0xfc8a0
movl %eax, 0x168(%rsp)
jmp 0xfb130
movl 0x168(%rsp), %eax
cmpl $0x0, %eax
je 0xfb1de
leaq 0x910b(%rip), %rdi      # 0x104252
leaq 0x913d(%rip), %rsi      # 0x10428b
xorl %eax, %eax
callq 0x2030
jmp 0xfb157
movl $0xd, 0x834(%rsp)
jmp 0xfb2c8
leaq 0x728(%rsp), %rdi
callq 0xfc7e0
leaq 0x790(%rsp), %rdi
callq 0xfc7e0
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfb61b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfb60e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x5d0(%rsp), %rdi
callq 0xf8070
jmp 0xfb60e
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x160(%rsp)
jmp 0xfb1f5
movq 0x160(%rsp), %rsi
leaq 0x5d0(%rsp), %rdi
callq 0xfc5f0
jmp 0xfb20c
leaq 0x660(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0xfc630
jmp 0xfb223
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfb232
leaq 0x6c8(%rsp), %rdi
callq 0xfc8e0
movl %eax, 0x15c(%rsp)
jmp 0xfb248
movl 0x15c(%rsp), %eax
cmpl $0x0, %eax
je 0xfb278
leaq 0x8ff7(%rip), %rdi      # 0x104252
leaq 0x9029(%rip), %rsi      # 0x10428b
xorl %eax, %eax
callq 0x2030
jmp 0xfb26b
movl $0xd, 0x834(%rsp)
jmp 0xfb2c8
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x150(%rsp)
jmp 0xfb28f
movq 0x150(%rsp), %rsi
leaq 0x5d0(%rsp), %rdi
callq 0xfc5f0
jmp 0xfb2a6
leaq 0x5f8(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0xfc630
jmp 0xfb2bd
movl $0x0, 0x834(%rsp)
leaq 0x5d0(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfb2e4
jmp 0xfb2e2
jmp 0xfb2ff
jmp 0xfb2e6
movq 0x5f0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x5f0(%rsp)
jmp 0xfb0e2
leaq 0x688(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x148(%rsp)
jmp 0xfb317
leaq 0x620(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x140(%rsp)
jmp 0xfb32f
movsd 0x140(%rsp), %xmm1
movsd 0x148(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x8d04(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x8cff(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x5c8(%rsp)
leaq 0x688(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x138(%rsp)
jmp 0xfb395
leaq 0x620(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x130(%rsp)
jmp 0xfb3ad
movsd 0x130(%rsp), %xmm1
movsd 0x138(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x8c7d(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x8c81(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x5c0(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x120(%rsp)
leaq 0x688(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x128(%rsp)
jmp 0xfb438
leaq 0x620(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x118(%rsp)
jmp 0xfb450
movsd 0x120(%rsp), %xmm0
movsd 0x118(%rsp), %xmm2
movsd 0x128(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x5b8(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x5c0(%rsp), %xmm0
jbe 0xfb496
xorps %xmm0, %xmm0
movsd %xmm0, 0x5c0(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0x117(%rsp)
jmp 0xfb4ac
movb 0x117(%rsp), %al
testb $0x1, %al
jne 0xfb4b9
jmp 0xfb4f2
movsd 0x5c8(%rsp), %xmm0
movsd 0x5c0(%rsp), %xmm1
movsd 0x8ba5(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x5b8(%rsp), %xmm2
leaq 0x8d7a(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfb4f0
jmp 0xfb50d
movsd 0x5b8(%rsp), %xmm0
leaq 0x8d77(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfb50b
jmp 0xfb50d
leaq 0x5f8(%rsp), %rdi
callq 0xfc7e0
leaq 0x660(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rax
movq %rax, 0x5a8(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x5b0(%rsp)
movq %rax, 0x598(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x5a0(%rsp)
leaq 0x530(%rsp), %rdi
callq 0xfc450
jmp 0xfb56e
leaq 0x4c8(%rsp), %rdi
callq 0xfc450
jmp 0xfb57d
movq $0x0, 0x4c0(%rsp)
movq 0x220(%rsp), %rcx
movq 0x4c0(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfb7a6
leaq 0x4a0(%rsp), %rdi
callq 0xf78f0
jmp 0xfb5b2
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfb5c1
leaq 0x5a8(%rsp), %rdi
callq 0xfc920
movl %eax, 0x110(%rsp)
jmp 0xfb5d7
movl 0x110(%rsp), %eax
cmpl $0x0, %eax
je 0xfb685
leaq 0x8c64(%rip), %rdi      # 0x104252
leaq 0x8c9b(%rip), %rsi      # 0x104290
xorl %eax, %eax
callq 0x2030
jmp 0xfb5fe
movl $0x10, 0x834(%rsp)
jmp 0xfb76f
leaq 0x5f8(%rsp), %rdi
callq 0xfc7e0
leaq 0x660(%rsp), %rdi
callq 0xfc7e0
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfbac2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfbab5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x4a0(%rsp), %rdi
callq 0xf8070
jmp 0xfbab5
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x108(%rsp)
jmp 0xfb69c
movq 0x108(%rsp), %rsi
leaq 0x4a0(%rsp), %rdi
callq 0xfc5f0
jmp 0xfb6b3
leaq 0x530(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
callq 0xfc630
jmp 0xfb6ca
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfb6d9
leaq 0x598(%rsp), %rdi
callq 0xfc960
movl %eax, 0x104(%rsp)
jmp 0xfb6ef
movl 0x104(%rsp), %eax
cmpl $0x0, %eax
je 0xfb71f
leaq 0x8b50(%rip), %rdi      # 0x104252
leaq 0x8b87(%rip), %rsi      # 0x104290
xorl %eax, %eax
callq 0x2030
jmp 0xfb712
movl $0x10, 0x834(%rsp)
jmp 0xfb76f
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0xf8(%rsp)
jmp 0xfb736
movq 0xf8(%rsp), %rsi
leaq 0x4a0(%rsp), %rdi
callq 0xfc5f0
jmp 0xfb74d
leaq 0x4c8(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
callq 0xfc630
jmp 0xfb764
movl $0x0, 0x834(%rsp)
leaq 0x4a0(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfb78b
jmp 0xfb789
jmp 0xfb7a6
jmp 0xfb78d
movq 0x4c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x4c0(%rsp)
jmp 0xfb589
leaq 0x558(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0xf0(%rsp)
jmp 0xfb7be
leaq 0x4f0(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0xe8(%rsp)
jmp 0xfb7d6
movsd 0xe8(%rsp), %xmm1
movsd 0xf0(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x885d(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x8858(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x498(%rsp)
leaq 0x558(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0xe0(%rsp)
jmp 0xfb83c
leaq 0x4f0(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0xd8(%rsp)
jmp 0xfb854
movsd 0xd8(%rsp), %xmm1
movsd 0xe0(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x87d6(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x87da(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x490(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0xc8(%rsp)
leaq 0x558(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0xd0(%rsp)
jmp 0xfb8df
leaq 0x4f0(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0xc0(%rsp)
jmp 0xfb8f7
movsd 0xc8(%rsp), %xmm0
movsd 0xc0(%rsp), %xmm2
movsd 0xd0(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x488(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x490(%rsp), %xmm0
jbe 0xfb93d
xorps %xmm0, %xmm0
movsd %xmm0, 0x490(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0xbf(%rsp)
jmp 0xfb953
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0xfb960
jmp 0xfb999
movsd 0x498(%rsp), %xmm0
movsd 0x490(%rsp), %xmm1
movsd 0x86fe(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x488(%rsp), %xmm2
leaq 0x88d3(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfb997
jmp 0xfb9b4
movsd 0x488(%rsp), %xmm0
leaq 0x88d0(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfb9b2
jmp 0xfb9b4
leaq 0x4c8(%rsp), %rdi
callq 0xfc7e0
leaq 0x530(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rax
movq %rax, 0x478(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x480(%rsp)
movq %rax, 0x468(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x470(%rsp)
leaq 0x400(%rsp), %rdi
callq 0xfc450
jmp 0xfba15
leaq 0x398(%rsp), %rdi
callq 0xfc450
jmp 0xfba24
movq $0x0, 0x390(%rsp)
movq 0x220(%rsp), %rcx
movq 0x390(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfbc4d
leaq 0x370(%rsp), %rdi
callq 0xf78f0
jmp 0xfba59
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfba68
leaq 0x478(%rsp), %rdi
callq 0xfc9a0
movl %eax, 0xb8(%rsp)
jmp 0xfba7e
movl 0xb8(%rsp), %eax
cmpl $0x0, %eax
je 0xfbb2c
leaq 0x87bd(%rip), %rdi      # 0x104252
leaq 0x87ff(%rip), %rsi      # 0x10429b
xorl %eax, %eax
callq 0x2030
jmp 0xfbaa5
movl $0x13, 0x834(%rsp)
jmp 0xfbc16
leaq 0x4c8(%rsp), %rdi
callq 0xfc7e0
leaq 0x530(%rsp), %rdi
callq 0xfc7e0
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfbf4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfbf3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x370(%rsp), %rdi
callq 0xf8070
jmp 0xfbf3e
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0xb0(%rsp)
jmp 0xfbb43
movq 0xb0(%rsp), %rsi
leaq 0x370(%rsp), %rdi
callq 0xfc5f0
jmp 0xfbb5a
leaq 0x400(%rsp), %rdi
leaq 0x370(%rsp), %rsi
callq 0xfc630
jmp 0xfbb71
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfbb80
leaq 0x468(%rsp), %rdi
callq 0xfc9e0
movl %eax, 0xac(%rsp)
jmp 0xfbb96
movl 0xac(%rsp), %eax
cmpl $0x0, %eax
je 0xfbbc6
leaq 0x86a9(%rip), %rdi      # 0x104252
leaq 0x86eb(%rip), %rsi      # 0x10429b
xorl %eax, %eax
callq 0x2030
jmp 0xfbbb9
movl $0x13, 0x834(%rsp)
jmp 0xfbc16
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0xa0(%rsp)
jmp 0xfbbdd
movq 0xa0(%rsp), %rsi
leaq 0x370(%rsp), %rdi
callq 0xfc5f0
jmp 0xfbbf4
leaq 0x398(%rsp), %rdi
leaq 0x370(%rsp), %rsi
callq 0xfc630
jmp 0xfbc0b
movl $0x0, 0x834(%rsp)
leaq 0x370(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfbc32
jmp 0xfbc30
jmp 0xfbc4d
jmp 0xfbc34
movq 0x390(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x390(%rsp)
jmp 0xfba30
leaq 0x428(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x98(%rsp)
jmp 0xfbc65
leaq 0x3c0(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x90(%rsp)
jmp 0xfbc7d
movsd 0x90(%rsp), %xmm1
movsd 0x98(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x83b6(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x83b1(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x368(%rsp)
leaq 0x428(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x88(%rsp)
jmp 0xfbce3
leaq 0x3c0(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x80(%rsp)
jmp 0xfbcfb
movsd 0x80(%rsp), %xmm1
movsd 0x88(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x832f(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x8333(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x360(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x428(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x78(%rsp)
jmp 0xfbd80
leaq 0x3c0(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x68(%rsp)
jmp 0xfbd95
movsd 0x70(%rsp), %xmm0
movsd 0x68(%rsp), %xmm2
movsd 0x78(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x358(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x360(%rsp), %xmm0
jbe 0xfbdd2
xorps %xmm0, %xmm0
movsd %xmm0, 0x360(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0x67(%rsp)
jmp 0xfbde5
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0xfbdef
jmp 0xfbe28
movsd 0x368(%rsp), %xmm0
movsd 0x360(%rsp), %xmm1
movsd 0x826f(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x358(%rsp), %xmm2
leaq 0x8444(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfbe26
jmp 0xfbe43
movsd 0x358(%rsp), %xmm0
leaq 0x8441(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfbe41
jmp 0xfbe43
leaq 0x398(%rsp), %rdi
callq 0xfc7e0
leaq 0x400(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rax
movq %rax, 0x348(%rsp)
leaq 0x960(%rsp), %rcx
movq %rcx, 0x350(%rsp)
movq %rax, 0x338(%rsp)
leaq 0x950(%rsp), %rax
movq %rax, 0x340(%rsp)
leaq 0x2d0(%rsp), %rdi
callq 0xfc450
jmp 0xfbea4
leaq 0x268(%rsp), %rdi
callq 0xfc450
jmp 0xfbeb3
movq $0x0, 0x260(%rsp)
movq 0x220(%rsp), %rcx
movq 0x260(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0xfc0c4
leaq 0x240(%rsp), %rdi
callq 0xf78f0
jmp 0xfbee8
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfbef7
leaq 0x348(%rsp), %rdi
callq 0xfca20
movl %eax, 0x60(%rsp)
jmp 0xfbf0a
movl 0x60(%rsp), %eax
cmpl $0x0, %eax
je 0xfbfb5
leaq 0x8334(%rip), %rdi      # 0x104252
leaq 0x8383(%rip), %rsi      # 0x1042a8
xorl %eax, %eax
callq 0x2030
jmp 0xfbf2e
movl $0x16, 0x834(%rsp)
jmp 0xfc08d
leaq 0x398(%rsp), %rdi
callq 0xfc7e0
leaq 0x400(%rsp), %rdi
callq 0xfc7e0
jmp 0xfc30c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfc2ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
jmp 0xfc2f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x970(%rsp)
movl %eax, 0x96c(%rsp)
leaq 0x240(%rsp), %rdi
callq 0xf8070
jmp 0xfc2f2
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x58(%rsp)
jmp 0xfbfc9
movq 0x58(%rsp), %rsi
leaq 0x240(%rsp), %rdi
callq 0xfc5f0
jmp 0xfbfdd
leaq 0x2d0(%rsp), %rdi
leaq 0x240(%rsp), %rsi
callq 0xfc630
jmp 0xfbff4
leaq 0x9a0(%rsp), %rdi
callq 0xfc4e0
jmp 0xfc003
leaq 0x338(%rsp), %rdi
callq 0xfca60
movl %eax, 0x54(%rsp)
jmp 0xfc016
movl 0x54(%rsp), %eax
cmpl $0x0, %eax
je 0xfc043
leaq 0x822c(%rip), %rdi      # 0x104252
leaq 0x827b(%rip), %rsi      # 0x1042a8
xorl %eax, %eax
callq 0x2030
jmp 0xfc036
movl $0x16, 0x834(%rsp)
jmp 0xfc08d
leaq 0x9a0(%rsp), %rdi
callq 0xfc580
movq %rax, 0x48(%rsp)
jmp 0xfc057
movq 0x48(%rsp), %rsi
leaq 0x240(%rsp), %rdi
callq 0xfc5f0
jmp 0xfc06b
leaq 0x268(%rsp), %rdi
leaq 0x240(%rsp), %rsi
callq 0xfc630
jmp 0xfc082
movl $0x0, 0x834(%rsp)
leaq 0x240(%rsp), %rdi
callq 0xf8070
movl 0x834(%rsp), %eax
testl %eax, %eax
je 0xfc0a9
jmp 0xfc0a7
jmp 0xfc0c4
jmp 0xfc0ab
movq 0x260(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x260(%rsp)
jmp 0xfbebf
leaq 0x2f8(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x40(%rsp)
jmp 0xfc0d9
leaq 0x290(%rsp), %rdi
callq 0xfc730
movsd %xmm0, 0x38(%rsp)
jmp 0xfc0ee
movsd 0x38(%rsp), %xmm1
movsd 0x40(%rsp), %xmm0
subsd %xmm1, %xmm0
movaps 0x7f4b(%rip), %xmm2     # 0x104050
movq 0x958(%rsp), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x7f46(%rip), %xmm2     # 0x104060
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x238(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x30(%rsp)
jmp 0xfc14b
leaq 0x290(%rsp), %rdi
callq 0xfc770
movsd %xmm0, 0x28(%rsp)
jmp 0xfc160
movsd 0x28(%rsp), %xmm1
movsd 0x30(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x958(%rsp), %xmm3
movaps 0x7ed0(%rip), %xmm2     # 0x104050
punpckldq %xmm2, %xmm3    # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
movapd 0x7ed4(%rip), %xmm1     # 0x104060
subpd %xmm1, %xmm3
movaps %xmm3, %xmm4
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm4, %xmm3
divsd %xmm3, %xmm0
movsd %xmm0, 0x230(%rsp)
movq 0x958(%rsp), %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x20(%rsp)
jmp 0xfc1df
leaq 0x290(%rsp), %rdi
callq 0xfc7b0
movsd %xmm0, 0x10(%rsp)
jmp 0xfc1f4
movsd 0x18(%rsp), %xmm0
movsd 0x10(%rsp), %xmm2
movsd 0x20(%rsp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x228(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x230(%rsp), %xmm0
jbe 0xfc231
xorps %xmm0, %xmm0
movsd %xmm0, 0x230(%rsp)
leaq 0x9a0(%rsp), %rdi
callq 0xf7700
movb %al, 0xf(%rsp)
jmp 0xfc244
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0xfc24e
jmp 0xfc287
movsd 0x238(%rsp), %xmm0
movsd 0x230(%rsp), %xmm1
movsd 0x7e10(%rip), %xmm2     # 0x104078
mulsd %xmm2, %xmm1
movsd 0x228(%rsp), %xmm2
leaq 0x7fe5(%rip), %rdi      # 0x104261
movb $0x3, %al
callq 0x2030
jmp 0xfc285
jmp 0xfc2a2
movsd 0x228(%rsp), %xmm0
leaq 0x7fe2(%rip), %rdi      # 0x104279
movb $0x1, %al
callq 0x2030
jmp 0xfc2a0
jmp 0xfc2a2
leaq 0x268(%rsp), %rdi
callq 0xfc7e0
leaq 0x2d0(%rsp), %rdi
callq 0xfc7e0
leaq 0x7ef7(%rip), %rdi      # 0x1041ba
xorl %eax, %eax
callq 0x2030
jmp 0xfc2cc
leaq 0x978(%rsp), %rdi
callq 0xf7580
movq 0x998(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x998(%rsp)
jmp 0xfa560
leaq 0x268(%rsp), %rdi
callq 0xfc7e0
leaq 0x2d0(%rsp), %rdi
callq 0xfc7e0
leaq 0x978(%rsp), %rdi
callq 0xf7580
jmp 0xfc330
leaq 0x9a0(%rsp), %rdi
callq 0xf7830
addq $0xa98, %rsp            # imm = 0xA98
retq
leaq 0x9a0(%rsp), %rdi
callq 0xf7830
movq 0x970(%rsp), %rdi
callq 0x2280
nopw (%rax,%rax)