// File: dsharlet[P]array/test/ein_reduce.cpp
// Function: nda::test_make_ein_sum_outer_body()
TEST(make_ein_sum_outer) {
  constexpr index_t N = 64;
  constexpr index_t M = 40;
  vector<int, N> x;
  vector<int, M> y;
  fill_pattern(x);
  fill_pattern(y, 8);

  // Compute the outer product x^T*y.
  auto outer = make_ein_sum<int, i, j>(ein<i>(x) * ein<j>(y));

  ASSERT_EQ(outer.rank(), 2);
  ASSERT_EQ(outer.rows(), x.i().extent());
  ASSERT_EQ(outer.columns(), y.i().extent());
  for (index_t i : outer.i()) {
    for (index_t j : outer.j()) {
      ASSERT_EQ(outer(i, j), x(i) * y(j));
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xcc0, %rsp            # imm = 0xCC0
movq $0x40, -0x200(%rbp)
movq $0x28, -0x208(%rbp)
leaq -0x238(%rbp), %rdi
callq 0xc6dd0
leaq -0x268(%rbp), %rdi
callq 0xc74b0
jmp 0xaf9cb
leaq -0x238(%rbp), %rdi
xorl %esi, %esi
callq 0xc6ee0
jmp 0xaf9db
leaq -0x268(%rbp), %rdi
movl $0x8, %esi
callq 0xc74e0
jmp 0xaf9ee
leaq -0x300(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0xc6e00
jmp 0xafa03
leaq -0x318(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xc7c30
jmp 0xafa18
leaq -0x2e8(%rbp), %rdi
leaq -0x300(%rbp), %rsi
leaq -0x318(%rbp), %rdx
callq 0xc7be0
jmp 0xafa34
movl $0x0, -0x31c(%rbp)
leaq -0x31d(%rbp), %rdi
movq %rdi, -0xa78(%rbp)
callq 0x10e30
movq -0xa78(%rbp), %rax
leaq -0x2b8(%rbp), %rcx
movq %rcx, -0x78(%rbp)
leaq -0x2e8(%rbp), %rcx
movq %rcx, -0x80(%rbp)
leaq -0x31c(%rbp), %rcx
movq %rcx, -0x88(%rbp)
movq %rax, -0x90(%rbp)
movq -0x80(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
callq 0xba6b0
jmp 0xafa95
movq -0x88(%rbp), %rdx
movq -0x90(%rbp), %rcx
leaq -0xf0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xd69d0
jmp 0xafab8
movq -0x80(%rbp), %rax
movq %rax, -0xa80(%rbp)
leaq -0x170(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xd6a10
jmp 0xafad8
movq -0xa80(%rbp), %rdx
leaq -0x148(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xd6a50
jmp 0xafaf4
leaq -0x1a8(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq -0x148(%rbp), %rax
movq %rax, -0x10(%rbp)
movq $0x2, -0x18(%rbp)
movq -0x10(%rbp), %rdx
movq %rdx, %r8
addq $0x28, %r8
leaq -0x38(%rbp), %rdi
leaq -0x39(%rbp), %rsi
leaq -0x3a(%rbp), %rcx
callq 0xbb4c0
jmp 0xafb30
movq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0xbbce0
jmp 0xafb3f
movq -0x10(%rbp), %rsi
leaq -0x1a8(%rbp), %rdi
movl $0x28, %edx
callq 0x31c0
leaq -0x2b8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xd6a90
jmp 0xafba6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x178(%rbp)
movl %eax, -0x17c(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xc7d50
movq -0x178(%rbp), %rcx
movl -0x17c(%rbp), %eax
movq %rcx, -0xa90(%rbp)
movl %eax, -0xa84(%rbp)
jmp 0xb065c
leaq -0xf0(%rbp), %rdi
callq 0xc7d50
leaq -0x31d(%rbp), %rdi
callq 0x10e50
callq 0xc7c70
movq %rax, -0xa98(%rbp)
jmp 0xafbcc
movq -0xa98(%rbp), %rax
subq $0x2, %rax
sete %al
movb %al, -0xaa1(%rbp)
leaq -0x4d1(%rbp), %rdi
movq %rdi, -0xaa0(%rbp)
callq 0x33b0
movq -0xaa0(%rbp), %rdx
leaq 0x139fe7(%rip), %rsi    # 0x1e9be8
leaq -0x4d0(%rbp), %rdi
callq 0x10a90
jmp 0xafc0f
movb -0xaa1(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x4b0(%rbp), %rdi
leaq -0x4d0(%rbp), %rdx
callq 0x10f80
jmp 0xafc30
leaq 0x12cbae(%rip), %rsi    # 0x1dc7e5
leaq -0x4b0(%rbp), %rdi
callq 0x34320
movq %rax, -0xab0(%rbp)
jmp 0xafc4c
movq -0xab0(%rbp), %rdi
leaq 0x139fa0(%rip), %rsi    # 0x1e9bfa
callq 0x346f0
movq %rax, -0xab8(%rbp)
jmp 0xafc68
movq -0xab8(%rbp), %rdi
leaq 0x130b36(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xac0(%rbp)
jmp 0xafc84
callq 0xc7c70
movq %rax, -0xac8(%rbp)
jmp 0xafc92
movq -0xac0(%rbp), %rdi
movq -0xac8(%rbp), %rax
movq %rax, -0x4e0(%rbp)
leaq -0x4e0(%rbp), %rsi
callq 0x355c0
movq %rax, -0xad0(%rbp)
jmp 0xafcbc
movq -0xad0(%rbp), %rdi
leaq 0x12cb1b(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xad8(%rbp)
jmp 0xafcd8
movq -0xad8(%rbp), %rdi
leaq 0x135a0b(%rip), %rsi    # 0x1e56f1
callq 0x34320
movq %rax, -0xae0(%rbp)
jmp 0xafcf4
movq -0xae0(%rbp), %rdi
leaq 0x130aaa(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xae8(%rbp)
jmp 0xafd10
movq -0xae8(%rbp), %rdi
movl $0x2, -0x4e4(%rbp)
leaq -0x4e4(%rbp), %rsi
callq 0x343a0
movq %rax, -0xaf0(%rbp)
jmp 0xafd36
movq -0xaf0(%rbp), %rdi
leaq 0x146737(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0xafd4b
leaq -0x4b0(%rbp), %rdi
callq 0x10ff0
jmp 0xafd59
leaq -0x4d0(%rbp), %rdi
callq 0x3100
leaq -0x4d1(%rbp), %rdi
callq 0x3290
leaq -0x2b8(%rbp), %rdi
callq 0xc7c80
movq %rax, -0xaf8(%rbp)
jmp 0xafd86
leaq -0x238(%rbp), %rdi
callq 0xc6c00
movq %rax, -0xb00(%rbp)
jmp 0xafd9b
movq -0xb00(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x60(%rbp)
movq -0xaf8(%rbp), %rax
subq $0x40, %rax
sete %al
movb %al, -0xb09(%rbp)
leaq -0x699(%rbp), %rdi
movq %rdi, -0xb08(%rbp)
callq 0x33b0
movq -0xb08(%rbp), %rdx
leaq 0x139e1a(%rip), %rsi    # 0x1e9c07
leaq -0x698(%rbp), %rdi
callq 0x10a90
jmp 0xafdfb
movb -0xb09(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x678(%rbp), %rdi
leaq -0x698(%rbp), %rdx
callq 0x10f80
jmp 0xafe1c
leaq 0x12c9c2(%rip), %rsi    # 0x1dc7e5
leaq -0x678(%rbp), %rdi
callq 0x34320
movq %rax, -0xb18(%rbp)
jmp 0xafe38
movq -0xb18(%rbp), %rdi
leaq 0x139de0(%rip), %rsi    # 0x1e9c26
callq 0x346f0
movq %rax, -0xb20(%rbp)
jmp 0xafe54
movq -0xb20(%rbp), %rdi
leaq 0x13094a(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xb28(%rbp)
jmp 0xafe70
leaq -0x2b8(%rbp), %rdi
callq 0xc7c80
movq %rax, -0xb30(%rbp)
jmp 0xafe85
movq -0xb28(%rbp), %rdi
movq -0xb30(%rbp), %rax
movq %rax, -0x6a8(%rbp)
leaq -0x6a8(%rbp), %rsi
callq 0x34510
movq %rax, -0xb38(%rbp)
jmp 0xafeaf
movq -0xb38(%rbp), %rdi
leaq 0x12c928(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xb40(%rbp)
jmp 0xafecb
movq -0xb40(%rbp), %rdi
leaq 0x139d3e(%rip), %rsi    # 0x1e9c17
callq 0x36fb0
movq %rax, -0xb48(%rbp)
jmp 0xafee7
movq -0xb48(%rbp), %rdi
leaq 0x1308b7(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xb50(%rbp)
jmp 0xaff03
leaq -0x238(%rbp), %rdi
callq 0xc6c00
movq %rax, -0xb58(%rbp)
jmp 0xaff18
movq -0xb58(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x58(%rbp)
movq -0xb50(%rbp), %rdi
movq $0x40, -0x6b0(%rbp)
leaq -0x6b0(%rbp), %rsi
callq 0x34510
movq %rax, -0xb60(%rbp)
jmp 0xaff5c
movq -0xb60(%rbp), %rdi
leaq 0x146511(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0xaff71
leaq -0x678(%rbp), %rdi
callq 0x10ff0
jmp 0xaff7f
leaq -0x698(%rbp), %rdi
callq 0x3100
leaq -0x699(%rbp), %rdi
callq 0x3290
leaq -0x2b8(%rbp), %rdi
callq 0xc7ca0
movq %rax, -0xb68(%rbp)
jmp 0xaffac
leaq -0x268(%rbp), %rdi
callq 0xc7680
movq %rax, -0xb70(%rbp)
jmp 0xaffc1
movq -0xb70(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x50(%rbp)
movq -0xb68(%rbp), %rax
subq $0x28, %rax
sete %al
movb %al, -0xb79(%rbp)
leaq -0x861(%rbp), %rdi
movq %rdi, -0xb78(%rbp)
callq 0x33b0
movq -0xb78(%rbp), %rdx
leaq 0x139c26(%rip), %rsi    # 0x1e9c33
leaq -0x860(%rbp), %rdi
callq 0x10a90
jmp 0xb001b
movb -0xb79(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x840(%rbp), %rdi
leaq -0x860(%rbp), %rdx
callq 0x10f80
jmp 0xb003c
leaq 0x12c7a2(%rip), %rsi    # 0x1dc7e5
leaq -0x840(%rbp), %rdi
callq 0x34320
movq %rax, -0xb88(%rbp)
jmp 0xb0058
movq -0xb88(%rbp), %rdi
leaq 0x139bef(%rip), %rsi    # 0x1e9c55
callq 0x969a0
movq %rax, -0xb90(%rbp)
jmp 0xb0074
movq -0xb90(%rbp), %rdi
leaq 0x13072a(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xb98(%rbp)
jmp 0xb0090
leaq -0x2b8(%rbp), %rdi
callq 0xc7ca0
movq %rax, -0xba0(%rbp)
jmp 0xb00a5
movq -0xb98(%rbp), %rdi
movq -0xba0(%rbp), %rax
movq %rax, -0x870(%rbp)
leaq -0x870(%rbp), %rsi
callq 0x34510
movq %rax, -0xba8(%rbp)
jmp 0xb00cf
movq -0xba8(%rbp), %rdi
leaq 0x12c708(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xbb0(%rbp)
jmp 0xb00eb
movq -0xbb0(%rbp), %rdi
leaq 0x139b4d(%rip), %rsi    # 0x1e9c46
callq 0x36fb0
movq %rax, -0xbb8(%rbp)
jmp 0xb0107
movq -0xbb8(%rbp), %rdi
leaq 0x130697(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xbc0(%rbp)
jmp 0xb0123
leaq -0x268(%rbp), %rdi
callq 0xc7680
movq %rax, -0xbc8(%rbp)
jmp 0xb0138
movq -0xbc8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
movq -0xbc0(%rbp), %rdi
movq $0x28, -0x878(%rbp)
leaq -0x878(%rbp), %rsi
callq 0x34510
movq %rax, -0xbd0(%rbp)
jmp 0xb0176
movq -0xbd0(%rbp), %rdi
leaq 0x1462f7(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0xb018b
leaq -0x840(%rbp), %rdi
callq 0x10ff0
jmp 0xb0199
leaq -0x860(%rbp), %rdi
callq 0x3100
leaq -0x861(%rbp), %rdi
callq 0x3290
leaq -0x2b8(%rbp), %rdi
callq 0xc7cc0
movq %rax, -0xbd8(%rbp)
jmp 0xb01c6
movq -0xbd8(%rbp), %rax
movq %rax, -0x880(%rbp)
movq -0x880(%rbp), %rdi
callq 0xc6c40
movq %rax, -0xbe0(%rbp)
jmp 0xb01e9
movq -0xbe0(%rbp), %rax
movq %rax, -0x888(%rbp)
movq -0x880(%rbp), %rdi
callq 0xc6c70
movq %rax, -0xbe8(%rbp)
jmp 0xb020c
movq -0xbe8(%rbp), %rax
movq %rax, -0x890(%rbp)
leaq -0x888(%rbp), %rax
movq %rax, -0x1d0(%rbp)
leaq -0x890(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d0(%rbp), %rax
movq (%rax), %rax
movq -0x1d8(%rbp), %rcx
cmpq (%rcx), %rax
setne %al
movb %al, -0xbe9(%rbp)
movb -0xbe9(%rbp), %al
testb $0x1, %al
jne 0xb0262
jmp 0xb085d
leaq -0x888(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xbf8(%rbp)
movq -0xbf8(%rbp), %rax
movq %rax, -0x898(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0xc7ce0
movq %rax, -0xc00(%rbp)
jmp 0xb02a4
movq -0xc00(%rbp), %rax
movq %rax, -0x8a0(%rbp)
movq -0x8a0(%rbp), %rdi
callq 0xc76a0
movq %rax, -0xc08(%rbp)
jmp 0xb02c7
movq -0xc08(%rbp), %rax
movq %rax, -0x8a8(%rbp)
movq -0x8a0(%rbp), %rdi
callq 0xc76d0
movq %rax, -0xc10(%rbp)
jmp 0xb02ea
movq -0xc10(%rbp), %rax
movq %rax, -0x8b0(%rbp)
leaq -0x8a8(%rbp), %rax
movq %rax, -0x1e0(%rbp)
leaq -0x8b0(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x1e0(%rbp), %rax
movq (%rax), %rax
movq -0x1e8(%rbp), %rcx
cmpq (%rcx), %rax
setne %al
movb %al, -0xc11(%rbp)
movb -0xc11(%rbp), %al
testb $0x1, %al
jne 0xb0340
jmp 0xb0837
leaq -0x8a8(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc20(%rbp)
movq -0xc20(%rbp), %rax
movq %rax, -0x8b8(%rbp)
movq -0x898(%rbp), %rsi
movq -0x8b8(%rbp), %rdx
leaq -0x2b8(%rbp), %rdi
callq 0xc7d00
movq %rax, -0xc28(%rbp)
jmp 0xb0390
movq -0xc28(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xc34(%rbp)
movq -0x898(%rbp), %rsi
leaq -0x238(%rbp), %rdi
callq 0xc6cc0
movq %rax, -0xc30(%rbp)
jmp 0xb03bb
movq -0xc30(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xc44(%rbp)
movq -0x8b8(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0xc7720
movq %rax, -0xc40(%rbp)
jmp 0xb03e6
movl -0xc34(%rbp), %eax
movl -0xc44(%rbp), %ecx
movq -0xc40(%rbp), %rdx
movl (%rdx), %edx
imull %edx, %ecx
subl %ecx, %eax
sete %al
movb %al, -0xc51(%rbp)
leaq -0xa69(%rbp), %rdi
movq %rdi, -0xc50(%rbp)
callq 0x33b0
movq -0xc50(%rbp), %rdx
leaq 0x13983b(%rip), %rsi    # 0x1e9c65
leaq -0xa68(%rbp), %rdi
callq 0x10a90
jmp 0xb0438
movb -0xc51(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xa48(%rbp), %rdi
leaq -0xa68(%rbp), %rdx
callq 0x10f80
jmp 0xb0459
leaq 0x12c385(%rip), %rsi    # 0x1dc7e5
leaq -0xa48(%rbp), %rdi
callq 0x34320
movq %rax, -0xc60(%rbp)
jmp 0xb0475
movq -0xc60(%rbp), %rdi
leaq 0x1397fd(%rip), %rsi    # 0x1e9c80
callq 0xc7360
movq %rax, -0xc68(%rbp)
jmp 0xb0491
movq -0xc68(%rbp), %rdi
leaq 0x13030d(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xc70(%rbp)
jmp 0xb04ad
movq -0x898(%rbp), %rsi
movq -0x8b8(%rbp), %rdx
leaq -0x2b8(%rbp), %rdi
callq 0xc7d00
movq %rax, -0xc78(%rbp)
jmp 0xb04d0
movq -0xc78(%rbp), %rsi
movq -0xc70(%rbp), %rdi
callq 0x343a0
movq %rax, -0xc80(%rbp)
jmp 0xb04ec
movq -0xc80(%rbp), %rdi
leaq 0x12c2eb(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xc88(%rbp)
jmp 0xb0508
movq -0xc88(%rbp), %rdi
leaq 0x13975e(%rip), %rsi    # 0x1e9c74
callq 0xc7360
movq %rax, -0xc90(%rbp)
jmp 0xb0524
movq -0xc90(%rbp), %rdi
leaq 0x13027a(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xc98(%rbp)
jmp 0xb0540
movq -0x898(%rbp), %rsi
leaq -0x238(%rbp), %rdi
callq 0xc6cc0
movq %rax, -0xca0(%rbp)
jmp 0xb055c
movq -0xca0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xcac(%rbp)
movq -0x8b8(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0xc7720
movq %rax, -0xca8(%rbp)
jmp 0xb0587
movq -0xc98(%rbp), %rdi
movl -0xcac(%rbp), %eax
movq -0xca8(%rbp), %rcx
movl (%rcx), %ecx
imull %ecx, %eax
movl %eax, -0xa70(%rbp)
leaq -0xa70(%rbp), %rsi
callq 0x343a0
movq %rax, -0xcb8(%rbp)
jmp 0xb05bb
movq -0xcb8(%rbp), %rdi
leaq 0x145eb2(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0xb05d0
leaq -0xa48(%rbp), %rdi
callq 0x10ff0
jmp 0xb05de
leaq -0xa68(%rbp), %rdi
callq 0x3100
leaq -0xa69(%rbp), %rdi
callq 0x3290
leaq -0x8a8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0xb02f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb08a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb0896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa90(%rbp)
movl %eax, -0xa84(%rbp)
jmp 0xb065c
movq -0xa90(%rbp), %rcx
movl -0xa84(%rbp), %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x31d(%rbp), %rdi
callq 0x10e50
jmp 0xb0896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb088a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb06f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb06e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x4b0(%rbp), %rdi
callq 0x10ff0
jmp 0xb06e6
jmp 0xb06e8
leaq -0x4d0(%rbp), %rdi
callq 0x3100
leaq -0x4d1(%rbp), %rdi
callq 0x3290
jmp 0xb088a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb075b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb074f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x10ff0
jmp 0xb074d
jmp 0xb074f
leaq -0x698(%rbp), %rdi
callq 0x3100
leaq -0x699(%rbp), %rdi
callq 0x3290
jmp 0xb088a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb07c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb07b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x840(%rbp), %rdi
callq 0x10ff0
jmp 0xb07b4
jmp 0xb07b6
leaq -0x860(%rbp), %rdi
callq 0x3100
leaq -0x861(%rbp), %rdi
callq 0x3290
jmp 0xb088a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb0829
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0xb081d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0xa48(%rbp), %rdi
callq 0x10ff0
jmp 0xb081b
jmp 0xb081d
leaq -0xa68(%rbp), %rdi
callq 0x3100
leaq -0xa69(%rbp), %rdi
callq 0x3290
jmp 0xb088a
jmp 0xb0839
leaq -0x888(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0xb021a
leaq -0x2b8(%rbp), %rdi
callq 0xc7d50
leaq -0x268(%rbp), %rdi
callq 0xc7760
leaq -0x238(%rbp), %rdi
callq 0xc6d50
addq $0xcc0, %rsp            # imm = 0xCC0
popq %rbp
retq
leaq -0x2b8(%rbp), %rdi
callq 0xc7d50
leaq -0x268(%rbp), %rdi
callq 0xc7760
leaq -0x238(%rbp), %rdi
callq 0xc6d50
movq -0x270(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw %cs:(%rax,%rax)