// File: /workspace/github_cpp_makefile_star2_O1/aronszanto[P]strassen/main.cpp
// Function: testStrasMult()
void testStrasMult(){
    convThreshold = 2;
    //First test
    Matrix* A = new Matrix();
    initMatrix(A,2);
    Matrix* B = new Matrix();
    initMatrix(B,2);
    Matrix* C = new Matrix();
    initMatrix(C,2);
    Matrix* D = new Matrix();
    initMatrix(D,2);
    
    A->matrix = {{1,2},{3,1}};
    B->matrix = {{2,1},{3,1}};
    C->matrix = {{8,3},{9,4}};
    
    multiply(A, B, D, 0, 0, 0, 0, 0, 0, 2);
    assert(isEqual(D, C));
    free(A);
    free(B);
    free(C);


    //second test powers of 2
    Matrix* E = new Matrix();
    initMatrix(E,8);
    Matrix* F = new Matrix();
    initMatrix(F,8);
    Matrix* G = new Matrix();
    initMatrix(G,8);
    Matrix* H = new Matrix();
    initMatrix(H,8);
    
    E->matrix = {{9, 3, 5, 7, 5, 7, 13, 18}, {1, 9, 0, 4, 17, 2, 5, 8}, {4, 8, 6, 7,5, 12, 3, 2},
                    {11, 2, 4, 11, 19, 13, 3, 4}, {17, 17, 16, 1, 1, 6, 3,1}, {15, 11, 5, 20, 17, 3, 7, 16},
                    {10, 7, 2, 6, 18, 15, 17,15}, {17, 4, 16, 19, 2, 15, 11, 0}};
    F->matrix = {{3, 9, 0, 1, 11, 12, 19, 11}, {5, 10, 8, 14, 12, 10, 14, 12}, {13,
        11, 12, 4, 4, 13, 5, 7}, {8, 0, 18, 8, 0, 2, 8, 16}, {6, 0, 7, 18,
            2, 5, 20, 6}, {17, 17, 0, 17, 5, 4, 9, 1}, {12, 8, 3, 9, 10, 3, 6,
                3}, {15, 3, 18, 12, 7, 14, 17, 16}};
    
    G->matrix = {{738, 443, 608, 669, 456, 561, 841, 646}, {396, 197, 422, 640, 269,
        330, 701, 430}, {486, 416, 342, 541, 278, 330, 534, 377}, {614, 420,
            476, 781, 322, 438, 928, 549}, {511, 628, 380, 486, 524, 636, 758,
                556}, {802, 455, 936, 961, 548, 737, 1305, 1034}, {931, 618, 635,
                    1076, 588, 639, 1198, 718}, {830, 712, 613, 679, 488, 593, 852,
                        711}};
    
    multiply(E,F,H,0,0,0,0,0,0,8);
    assert(isEqual(H,G));
    free(E);
    free(F);
    free(G);
    free(H);
    
    Matrix* I = new Matrix();
    initMatrix(I,4);
    Matrix* J = new Matrix();
    initMatrix(J,4);
    Matrix* K = new Matrix();
    initMatrix(K,4);
    Matrix* L = new Matrix();
    initMatrix(L,4);
    
    I->matrix = {{16, 9, 0, 5}, {19, 6, 9, 4}, {12, 11, 16, 12}, {20, 6, 16, 2}};
    J->matrix = {{7, 12, 11, 13}, {8, 5, 13, 20}, {18, 13, 7, 4}, {6, 1, 19, 11}};
    
    K->matrix = {{214, 242, 388, 443}, {367, 379, 426, 447}, {532, 419, 615,
        572}, {488, 480, 448, 466}};
    
    multiply(I,J,L,0,0,0,0,0,0,4);
    
    assert(isEqual(K, L));
    free(I);
    free(J);
    free(K);
    free(L);


    //third test non powers of 2, positive and negative
    Matrix* M = new Matrix();
    initMatrix(M,14);
    Matrix* N = new Matrix();
    initMatrix(N,14);
    Matrix* O = new Matrix();
    initMatrix(O,14);
    
    M->matrix = {{-12, -2, -18, 12, 6, -13, -15, 12, -17, -18, 
  5, -19, -13, -7}, {14, -11, 20, 9, 2, -4, 11, -5, 12, 11, 1, 15, 0, 
  11}, {7, 18, 6, 12, 13, -14, 4, 9, 3, 13, -1, -12, 11, 
  18}, {17, -12, 19, 1, -16, 10, 20, -15, 1, 
  13, -15, -12, -13, -4}, {-4, -12, -9, 7, 14, 4, 6, 15, 4, 11, 
  19, -8, 11, -20}, {0, -3, 9, -4, 0, 19, -9, 15, 20, 0, -3, 8, -13, 
  17}, {2, 19, 15, -2, 16, -7, -11, 17, 8, -20, 17, -13, 9, 3}, {-15, 
  13, 10, 14, -1, 19, 19, -6, 1, -3, -6, -10, -19, 
  11}, {-13, -18, -12, -6, -5, -5, 14, -8, 5, 6, 10, 19, -15, 
  13}, {9, -18, 6, 10, 8, -3, -18, -5, 18, 17, 16, 
  6, -18, -12}, {-13, -15, -2, -13, 0, 20, -1, -16, 1, 3, 15, 13, 6, 
  10}, {4, -9, 5, 11, -17, -4, -1, 10, 17, 8, 17, 1, -7, 18}, {1, -18,
   1, -2, 7, -7, -1, 2, -20, 7, 7, -13, -16, 9}, {10, -1, 
  16, -20, -4, -1, -17, -1, -15, 16, 1, 9, 16, 13}};
    
    N->matrix = {{-10, 6, 4, -16, 9, 12, 0, -2, 4, -15, 18, 10, -3, -6}, {12, 14, 
  0, -3, 2, -17, 8, -19, 20, -14, -20, -6, 7, 17}, {7, -15, -14, 
  13, -12, 18, 3, 6, -18, -12, -10, -6, 19, -13}, {7, 19, 12, 4, -1, 
  5, -16, 13, 4, 12, -18, -4, 16, 8}, {-18, 8, -15, -4, 7, 0, -3, 
  6, -14, -18, 8, 10, 14, 6}, {-11, 17, 4, -11, -5, -3, 6, -20, 4, 
  18, -5, -16, 2, 8}, {6, 6, -9, 18, -4, 5, -9, 18, -19, 4, -5, 15, 3,
   16}, {-11, -7, -10, 1, 12, -9, -8, -1, -20, 6, 
  14, -13, -18, -15}, {-19, 8, -15, -8, -6, 13, -20, -17, 3, 
  11, -4, -15, 2, -7}, {-7, -9, -5, 2, -15, 17, -19, 5, -15, -5, 11, 
  17, 12, -15}, {16, 14, 12, -12, -13, 0, -16, -12, 20, -20, -8, 16, 
  16, 4}, {3, 7, 13, 11, 6, -1, -17, -10, -14, -5, -14, 15, 
  11, -12}, {4, 16, -2, -9, -6, 7, 6, 17, 13, -9, 10, -16, 
  0, -19}, {18, -17, -12, 2, 7, -15, 9, -7, 10, 17, 14, 10, 20, 3}};
    
    O->matrix = {{161, -75, 489, -193, 625, -1012, 465, 281, 539, 134, 12, -279, -850,
   743}, {14, -221, -371, 435, -298, 1035, -882, 325, -850, -113, 30, 
  722, 1105, -620}, {285, -62, -805, -38, 56, 6, -120, 464, 119, -446,
   439, 159, 789, -54}, {-221, -608, -278, 489, -550, 1175, 56, 
  555, -859, 510, 91, 253, 74, 101}, {-732, 846, 23, -431, -415, 
  536, -998, 536, -378, -436, 
  299, -36, -223, -310}, {-579, -412, -577, -131, 
  175, -138, -271, -1222, -402, 928, 142, -504, 247, -367}, {146, 
  323, -604, -596, 193, -431, 352, -458, 720, -973, -76, -787, 216, 
  15}, {461, 69, -348, 659, -245, -385, 192, -273, -144, 
  1045, -1049, -193, 719, 1361}, {359, -451, 189, 
  623, -120, -91, -831, -163, -482, 613, -111, 1260, 406, 165}, {-833,
   15, 247, -398, -465, 1107, -1383, -416, -393, -414, -64, 578, 
  585, -630}, {238, 149, 256, -152, -532, 20, -73, -552, 305, 
  280, -72, 372, 634, -103}, {390, -357, -54, -38, -297, 
  300, -938, -422, 177, 599, 85, 229, 540, -450}, {192, -1007, -74, 
  185, 80, -51, 182, 568, -490, -76, 777, 943, 96, 
  149}, {366, -870, -119, -188, -165, 237, 567, -60, -6, -821, 888, 
  346, 393, -1238}};
    
    Matrix* P = multiply(M,N);
    
    assert(isEqual(O, P));
    
    free(M);
    free(N);
    free(O);
    free(P);


    
    cout << "all Strassen tests pass" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4f8, %rsp            # imm = 0x4F8
movl $0x2, 0x9dec(%rip)      # 0xe1a0
movl $0x20, %edi
callq 0x21b0
movq %rax, %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x2, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x2, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x2, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %rbp
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x2, %esi
callq 0x245c
movabsq $0x200000001, %rax      # imm = 0x200000001
leaq 0x240(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x30(%rsp), %rbx
leaq 0x1c0(%rsp), %rcx
movl $0x2, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %r12
movabsq $0x100000003, %rax      # imm = 0x100000003
leaq 0x200(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x180(%rsp), %rcx
movl $0x2, %edx
movq %r12, %rdi
callq 0x7bbe
movq %rbp, 0x28(%rsp)
movq %r14, 0x20(%rsp)
leaq 0x8(%r14), %rdi
leaq 0x60(%rsp), %rdx
leaq 0x30(%rsp), %rsi
callq 0x8322
movq %r13, %r14
addq $0x8, %r14
movq %r15, %rbp
addq $0x8, %rbp
movl $0x18, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x44e1
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x44d2
movabsq $0x100000002, %rax      # imm = 0x100000002
leaq 0x240(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x30(%rsp), %r12
leaq 0x1c0(%rsp), %rcx
movl $0x2, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbx
leaq 0x200(%rsp), %rsi
movabsq $0x100000003, %rax      # imm = 0x100000003
movq %rax, (%rsi)
leaq 0x180(%rsp), %rcx
movl $0x2, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x8322
movl $0x18, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x456f
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4560
movabsq $0x300000008, %rax      # imm = 0x300000008
leaq 0x240(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x30(%rsp), %rbx
leaq 0x1c0(%rsp), %rcx
movl $0x2, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbx
movabsq $0x400000009, %rax      # imm = 0x400000009
leaq 0x200(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x180(%rsp), %rcx
movl $0x2, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %r12
leaq 0x30(%rsp), %rsi
movq %rbp, %rdi
movq %r12, %rdx
callq 0x8322
movl $0x18, %ebx
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %rbp
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x460a
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x45fb
xorl %eax, %eax
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x2
pushq %rax
pushq %rax
pushq %rax
callq 0x2eb7
addq $0x20, %rsp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x257a
testb %al, %al
je 0x5f88
movq %r14, %rdi
callq 0x21d0
movq %r13, %rdi
callq 0x21d0
movq %r15, %rdi
callq 0x21d0
movl $0x20, %edi
callq 0x21b0
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, 0x20(%rsp)
movq %rax, %rdi
movl $0x8, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x8, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x8, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x8, %esi
callq 0x245c
movups 0x555b(%rip), %xmm0     # 0x9c54
leaq 0x240(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5538(%rip), %xmm0     # 0x9c44
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rbp
leaq 0x4c0(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %r14
movups 0x553f(%rip), %xmm0     # 0x9c74
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x551c(%rip), %xmm0     # 0x9c64
movaps %xmm0, (%rsi)
leaq 0x480(%rsp), %rcx
movl $0x8, %edx
movq %r14, %rdi
callq 0x7bbe
movups 0x552d(%rip), %xmm0     # 0x9c94
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x550a(%rip), %xmm0     # 0x9c84
movaps %xmm0, (%rsi)
leaq 0x440(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %r12
movups 0x5516(%rip), %xmm0     # 0x9cb4
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x54f3(%rip), %xmm0     # 0x9ca4
movaps %xmm0, (%rsi)
leaq 0x400(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %r12
movups 0x54fc(%rip), %xmm0     # 0x9cd4
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x54d9(%rip), %xmm0     # 0x9cc4
movaps %xmm0, (%rsi)
leaq 0x3c0(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %r12
movups 0x54e2(%rip), %xmm0     # 0x9cf4
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x54bf(%rip), %xmm0     # 0x9ce4
movaps %xmm0, (%rsi)
leaq 0x380(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %r12
movups 0x54c8(%rip), %xmm0     # 0x9d14
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x54a5(%rip), %xmm0     # 0x9d04
movaps %xmm0, (%rsi)
leaq 0xb(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %r12
movups 0x56b1(%rip), %xmm0     # 0x9f34
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x568e(%rip), %xmm0     # 0x9f24
movaps %xmm0, (%rsi)
leaq 0xa(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
movq 0x20(%rsp), %rax
leaq 0x8(%rax), %rdi
leaq 0xf0(%rsp), %rdx
leaq 0x30(%rsp), %rsi
callq 0x8322
movq %rbx, %r14
addq $0x8, %r14
movq %r15, %rax
addq $0x8, %rax
movq %rax, 0x28(%rsp)
movl $0xa8, %r12d
movq 0x30(%rsp,%r12), %rdi
testq %rdi, %rdi
je 0x48ee
callq 0x2190
addq $-0x18, %r12
cmpq $-0x18, %r12
jne 0x48df
movups 0x5435(%rip), %xmm0     # 0x9d34
leaq 0x240(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5412(%rip), %xmm0     # 0x9d24
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rbp
leaq 0x4c0(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %r12
movups 0x5419(%rip), %xmm0     # 0x9d54
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x53f6(%rip), %xmm0     # 0x9d44
movaps %xmm0, (%rsi)
leaq 0x480(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %r12
movups 0x5402(%rip), %xmm0     # 0x9d74
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x53df(%rip), %xmm0     # 0x9d64
movaps %xmm0, (%rsi)
leaq 0x440(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %r12
movups 0x53eb(%rip), %xmm0     # 0x9d94
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x53c8(%rip), %xmm0     # 0x9d84
movaps %xmm0, (%rsi)
leaq 0x400(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %r12
movups 0x53d1(%rip), %xmm0     # 0x9db4
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x53ae(%rip), %xmm0     # 0x9da4
movaps %xmm0, (%rsi)
leaq 0x3c0(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %r12
movups 0x53b7(%rip), %xmm0     # 0x9dd4
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5394(%rip), %xmm0     # 0x9dc4
movaps %xmm0, (%rsi)
leaq 0x380(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %r12
movups 0x539d(%rip), %xmm0     # 0x9df4
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x537a(%rip), %xmm0     # 0x9de4
movaps %xmm0, (%rsi)
leaq 0xb(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %r12
movups 0x5386(%rip), %xmm0     # 0x9e14
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5363(%rip), %xmm0     # 0x9e04
movaps %xmm0, (%rsi)
leaq 0xa(%rsp), %rcx
movl $0x8, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0xf0(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x8322
movl $0xa8, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x4ae0
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x4ad1
movups 0x5343(%rip), %xmm0     # 0x9e34
leaq 0x240(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5320(%rip), %xmm0     # 0x9e24
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %r14
leaq 0x4c0(%rsp), %rcx
movl $0x8, %edx
movq %r14, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbp
movups 0x5327(%rip), %xmm0     # 0x9e54
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5304(%rip), %xmm0     # 0x9e44
movaps %xmm0, (%rsi)
leaq 0x480(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rbp
movups 0x5310(%rip), %xmm0     # 0x9e74
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x52ed(%rip), %xmm0     # 0x9e64
movaps %xmm0, (%rsi)
leaq 0x440(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %rbp
movups 0x52f9(%rip), %xmm0     # 0x9e94
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x52d6(%rip), %xmm0     # 0x9e84
movaps %xmm0, (%rsi)
leaq 0x400(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %rbp
movups 0x52df(%rip), %xmm0     # 0x9eb4
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x52bc(%rip), %xmm0     # 0x9ea4
movaps %xmm0, (%rsi)
leaq 0x3c0(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %rbp
movups 0x52c5(%rip), %xmm0     # 0x9ed4
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x52a2(%rip), %xmm0     # 0x9ec4
movaps %xmm0, (%rsi)
leaq 0x380(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %rbp
movups 0x52ab(%rip), %xmm0     # 0x9ef4
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5288(%rip), %xmm0     # 0x9ee4
movaps %xmm0, (%rsi)
leaq 0xb(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %rbp
movups 0x5294(%rip), %xmm0     # 0x9f14
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5271(%rip), %xmm0     # 0x9f04
movaps %xmm0, (%rsi)
leaq 0xa(%rsp), %rcx
movl $0x8, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xf0(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdi
movq %rdx, 0x18(%rsp)
callq 0x8322
movl $0xa8, %r14d
movq 0x20(%rsp), %r12
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x4cde
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x4ccf
xorl %eax, %eax
movq %r12, %rdi
movq %rbx, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x8
pushq %rax
pushq %rax
pushq %rax
callq 0x2eb7
addq $0x20, %rsp
movq %r13, %rdi
movq %r15, %rsi
callq 0x257a
testb %al, %al
je 0x5fa7
movq %r12, %rdi
callq 0x21d0
movq %rbx, %rdi
callq 0x21d0
movq %r15, %rdi
callq 0x21d0
movq %r13, %rdi
callq 0x21d0
movl $0x20, %edi
callq 0x21b0
movq %rax, %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x4, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %rbp
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x4, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x4, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0x4, %esi
callq 0x245c
movaps 0x424d(%rip), %xmm0     # 0x9020
leaq 0x240(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rbx
leaq 0x340(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %r15
movaps 0x422c(%rip), %xmm0     # 0x9030
leaq 0x200(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x300(%rsp), %rcx
movl $0x4, %edx
movq %r15, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %r15
movaps 0x4210(%rip), %xmm0     # 0x9040
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x2c0(%rsp), %rcx
movl $0x4, %edx
movq %r15, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %r15
movaps 0x41f4(%rip), %xmm0     # 0x9050
leaq 0x180(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x280(%rsp), %rcx
movl $0x4, %edx
movq %r15, %rdi
callq 0x7bbe
movq %r14, 0x20(%rsp)
leaq 0x8(%r14), %rdi
leaq 0x90(%rsp), %rdx
leaq 0x30(%rsp), %rsi
callq 0x8322
movq %rbp, %r14
addq $0x8, %r14
movq %r12, %r15
addq $0x8, %r15
movl $0x48, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x4eb9
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4eaa
movq %rbp, 0x28(%rsp)
movaps 0x4191(%rip), %xmm0     # 0x9060
leaq 0x240(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rbx
leaq 0x340(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbp
movaps 0x4170(%rip), %xmm0     # 0x9070
leaq 0x200(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x300(%rsp), %rcx
movl $0x4, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rbp
movaps 0x4154(%rip), %xmm0     # 0x9080
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x2c0(%rsp), %rcx
movl $0x4, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %rbp
movaps 0x4138(%rip), %xmm0     # 0x9090
leaq 0x180(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x280(%rsp), %rcx
movl $0x4, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x8322
movl $0x48, %ebx
movq 0x20(%rsp), %r14
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x4fa6
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4f97
movaps 0x40e9(%rip), %xmm0     # 0x90a0
leaq 0x240(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rbx
leaq 0x340(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbx
movaps 0x40c8(%rip), %xmm0     # 0x90b0
leaq 0x200(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x300(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rbx
movaps 0x40ac(%rip), %xmm0     # 0x90c0
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x2c0(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %rbx
movaps 0x4090(%rip), %xmm0     # 0x90d0
leaq 0x180(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x280(%rsp), %rcx
movl $0x4, %edx
movq %rbx, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %rbp
leaq 0x30(%rsp), %rsi
movq %r15, %rdi
movq %rbp, %rdx
callq 0x8322
movl $0x48, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x508c
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x507d
xorl %eax, %eax
movq %r14, %rdi
movq 0x28(%rsp), %rbx
movq %rbx, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x4
pushq %rax
pushq %rax
pushq %rax
callq 0x2eb7
addq $0x20, %rsp
movq %r12, %rdi
movq %r13, %rsi
callq 0x257a
testb %al, %al
je 0x5fc6
movq %r14, %rdi
callq 0x21d0
movq %rbx, %rdi
callq 0x21d0
movq %r12, %rdi
callq 0x21d0
movq %r13, %rdi
callq 0x21d0
movl $0x20, %edi
callq 0x21b0
movq %rax, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0xe, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0xe, %esi
callq 0x245c
movl $0x20, %edi
callq 0x21b0
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl $0xe, %esi
callq 0x245c
movups 0x400e(%rip), %xmm0     # 0x9170
leaq 0x240(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3feb(%rip), %xmm0     # 0x9160
movaps %xmm0, 0x10(%rsi)
movups 0x3fd0(%rip), %xmm0     # 0x9150
movaps %xmm0, (%rsi)
movabsq $-0x60000000d, %rax     # imm = 0xFFFFFFF9FFFFFFF3
movq %rax, 0x30(%rsi)
leaq 0x30(%rsp), %r14
leaq 0xb(%rsp), %rcx
movl $0xe, %edx
movq %r14, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %r12
movups 0x3ff4(%rip), %xmm0     # 0x91a8
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fd1(%rip), %xmm0     # 0x9198
movaps %xmm0, 0x10(%rsi)
movups 0x3fb6(%rip), %xmm0     # 0x9188
movaps %xmm0, (%rsi)
movabsq $0xb00000000, %rax      # imm = 0xB00000000
movq %rax, 0x30(%rsi)
leaq 0xa(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %r12
movups 0x3fdf(%rip), %xmm0     # 0x91e0
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fbc(%rip), %xmm0     # 0x91d0
movaps %xmm0, 0x10(%rsi)
movups 0x3fa1(%rip), %xmm0     # 0x91c0
movaps %xmm0, (%rsi)
movabsq $0x120000000b, %rax     # imm = 0x120000000B
movq %rax, 0x30(%rsi)
leaq 0x17(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %r12
movups 0x3fca(%rip), %xmm0     # 0x9218
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fa7(%rip), %xmm0     # 0x9208
movaps %xmm0, 0x10(%rsi)
movups 0x3f8c(%rip), %xmm0     # 0x91f8
movaps %xmm0, (%rsi)
movabsq $-0x30000000d, %rax     # imm = 0xFFFFFFFCFFFFFFF3
movq %rax, 0x30(%rsi)
leaq 0x16(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
movups 0x3fba(%rip), %xmm0     # 0x9250
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f97(%rip), %xmm0     # 0x9240
movaps %xmm0, 0x10(%rsi)
movups 0x3f7c(%rip), %xmm0     # 0x9230
movaps %xmm0, (%rsi)
movabsq $-0x13fffffff5, %rax    # imm = 0xFFFFFFEC0000000B
movq %rax, 0x30(%rsi)
leaq 0x15(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %rbp
movups 0x3fa2(%rip), %xmm0     # 0x9288
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f7f(%rip), %xmm0     # 0x9278
movaps %xmm0, 0x10(%rsi)
movups 0x3f64(%rip), %xmm0     # 0x9268
movaps %xmm0, (%rsi)
movabsq $0x11fffffff3, %rax     # imm = 0x11FFFFFFF3
movq %rax, 0x30(%rsi)
leaq 0x14(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %rbp
movups 0x3f8a(%rip), %xmm0     # 0x92c0
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f67(%rip), %xmm0     # 0x92b0
movaps %xmm0, 0x10(%rsi)
movups 0x3f4c(%rip), %xmm0     # 0x92a0
movaps %xmm0, (%rsi)
movabsq $0x300000009, %rax      # imm = 0x300000009
movq %rax, 0x30(%rsi)
leaq 0x13(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %rbp
movups 0x3f72(%rip), %xmm0     # 0x92f8
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f4f(%rip), %xmm0     # 0x92e8
movaps %xmm0, 0x10(%rsi)
movups 0x3f34(%rip), %xmm0     # 0x92d8
movaps %xmm0, (%rsi)
movabsq $0xbffffffed, %rax      # imm = 0xBFFFFFFED
movq %rax, 0x30(%rsi)
leaq 0x12(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
movups 0x3f62(%rip), %xmm0     # 0x9330
leaq 0x4c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f3f(%rip), %xmm0     # 0x9320
movaps %xmm0, 0x10(%rsi)
movups 0x3f24(%rip), %xmm0     # 0x9310
movaps %xmm0, (%rsi)
movabsq $0xdfffffff1, %rax      # imm = 0xDFFFFFFF1
movq %rax, 0x30(%rsi)
leaq 0x11(%rsp), %rcx
movl $0xe, %edx
leaq 0xf0(%rsp), %rdi
callq 0x7bbe
leaq 0x108(%rsp), %r12
movups 0x3f45(%rip), %xmm0     # 0x9368
leaq 0x480(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f22(%rip), %xmm0     # 0x9358
movaps %xmm0, 0x10(%rsi)
movups 0x3f07(%rip), %xmm0     # 0x9348
movaps %xmm0, (%rsi)
movabsq $-0xb00000012, %rax     # imm = 0xFFFFFFF4FFFFFFEE
movq %rax, 0x30(%rsi)
leaq 0x10(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x120(%rsp), %r12
movups 0x3f2d(%rip), %xmm0     # 0x93a0
leaq 0x440(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f0a(%rip), %xmm0     # 0x9390
movaps %xmm0, 0x10(%rsi)
movups 0x3eef(%rip), %xmm0     # 0x9380
movaps %xmm0, (%rsi)
movabsq $0xa00000006, %rax      # imm = 0xA00000006
movq %rax, 0x30(%rsi)
leaq 0xf(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x138(%rsp), %r12
movups 0x3f15(%rip), %xmm0     # 0x93d8
leaq 0x400(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3ef2(%rip), %xmm0     # 0x93c8
movaps %xmm0, 0x10(%rsi)
movups 0x3ed7(%rip), %xmm0     # 0x93b8
movaps %xmm0, (%rsi)
movabsq $0x12fffffff9, %rax     # imm = 0x12FFFFFFF9
movq %rax, 0x30(%rsi)
leaq 0xe(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x150(%rsp), %r12
movups 0x3efd(%rip), %xmm0     # 0x9410
leaq 0x3c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3eda(%rip), %xmm0     # 0x9400
movaps %xmm0, 0x10(%rsi)
movups 0x3ebf(%rip), %xmm0     # 0x93f0
movaps %xmm0, (%rsi)
movabsq $0x9fffffff0, %rax      # imm = 0x9FFFFFFF0
movq %rax, 0x30(%rsi)
leaq 0xd(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x168(%rsp), %r12
movups 0x3ee5(%rip), %xmm0     # 0x9448
leaq 0x380(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3ec2(%rip), %xmm0     # 0x9438
movaps %xmm0, 0x10(%rsi)
movups 0x3ea7(%rip), %xmm0     # 0x9428
movaps %xmm0, (%rsi)
movabsq $0xd00000010, %rax      # imm = 0xD00000010
movq %rax, 0x30(%rsi)
leaq 0xc(%rsp), %rcx
movl $0xe, %edx
movq %r12, %rdi
callq 0x7bbe
leaq 0x8(%rbx), %rdi
leaq 0x180(%rsp), %rdx
leaq 0x30(%rsp), %rsi
callq 0x8322
movq %r13, %r14
addq $0x8, %r14
movq %r15, %r12
addq $0x8, %r12
movl $0x138, %ebp            # imm = 0x138
movq 0x30(%rsp,%rbp), %rdi
testq %rdi, %rdi
je 0x55dc
callq 0x2190
addq $-0x18, %rbp
cmpq $-0x18, %rbp
jne 0x55cd
movabsq $-0x500000003, %rax     # imm = 0xFFFFFFFAFFFFFFFD
leaq 0x240(%rsp), %rsi
movq %rax, 0x30(%rsi)
movups 0x3e7d(%rip), %xmm0     # 0x9480
movaps %xmm0, 0x20(%rsi)
movups 0x3e62(%rip), %xmm0     # 0x9470
movaps %xmm0, 0x10(%rsi)
movups 0x3e47(%rip), %xmm0     # 0x9460
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %rdi
leaq 0xb(%rsp), %rcx
movl $0xe, %edx
callq 0x7bbe
leaq 0x48(%rsp), %rbp
movups 0x3e7c(%rip), %xmm0     # 0x94b8
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3e59(%rip), %xmm0     # 0x94a8
movaps %xmm0, 0x10(%rsi)
movups 0x3e3e(%rip), %xmm0     # 0x9498
movaps %xmm0, (%rsi)
movabsq $0x1100000007, %rax     # imm = 0x1100000007
movq %rax, 0x30(%rsi)
leaq 0xa(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rbp
movups 0x3e67(%rip), %xmm0     # 0x94f0
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3e44(%rip), %xmm0     # 0x94e0
movaps %xmm0, 0x10(%rsi)
movups 0x3e29(%rip), %xmm0     # 0x94d0
movaps %xmm0, (%rsi)
movabsq $-0xcffffffed, %rax     # imm = 0xFFFFFFF300000013
movq %rax, 0x30(%rsi)
leaq 0x17(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %rbp
movups 0x3e52(%rip), %xmm0     # 0x9528
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3e2f(%rip), %xmm0     # 0x9518
movaps %xmm0, 0x10(%rsi)
movups 0x3e14(%rip), %xmm0     # 0x9508
movaps %xmm0, (%rsi)
movabsq $0x800000010, %rax      # imm = 0x800000010
movq %rax, 0x30(%rsi)
leaq 0x16(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %rbp
movups 0x3e3a(%rip), %xmm0     # 0x9560
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3e17(%rip), %xmm0     # 0x9550
movaps %xmm0, 0x10(%rsi)
movups 0x3dfc(%rip), %xmm0     # 0x9540
movaps %xmm0, (%rsi)
movabsq $0x60000000e, %rax      # imm = 0x60000000E
movq %rax, 0x30(%rsi)
leaq 0x15(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %rbp
movups 0x3e22(%rip), %xmm0     # 0x9598
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3dff(%rip), %xmm0     # 0x9588
movaps %xmm0, 0x10(%rsi)
movups 0x3de4(%rip), %xmm0     # 0x9578
movaps %xmm0, (%rsi)
movabsq $0x800000002, %rax      # imm = 0x800000002
movq %rax, 0x30(%rsi)
leaq 0x14(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %rbp
movups 0x3e0a(%rip), %xmm0     # 0x95d0
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3de7(%rip), %xmm0     # 0x95c0
movaps %xmm0, 0x10(%rsi)
movups 0x3dcc(%rip), %xmm0     # 0x95b0
movaps %xmm0, (%rsi)
movabsq $0x1000000003, %rax     # imm = 0x1000000003
movq %rax, 0x30(%rsi)
leaq 0x13(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %rbp
movups 0x3df2(%rip), %xmm0     # 0x9608
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3dcf(%rip), %xmm0     # 0x95f8
movaps %xmm0, 0x10(%rsi)
movups 0x3db4(%rip), %xmm0     # 0x95e8
movaps %xmm0, (%rsi)
movabsq $-0xe00000012, %rax     # imm = 0xFFFFFFF1FFFFFFEE
movq %rax, 0x30(%rsi)
leaq 0x12(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xf0(%rsp), %rbp
movups 0x3dda(%rip), %xmm0     # 0x9640
leaq 0x4c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3db7(%rip), %xmm0     # 0x9630
movaps %xmm0, 0x10(%rsi)
movups 0x3d9c(%rip), %xmm0     # 0x9620
movaps %xmm0, (%rsi)
movabsq $-0x6fffffffe, %rax     # imm = 0xFFFFFFF900000002
movq %rax, 0x30(%rsi)
leaq 0x11(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x108(%rsp), %rbp
movups 0x3dc2(%rip), %xmm0     # 0x9678
leaq 0x480(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3d9f(%rip), %xmm0     # 0x9668
movaps %xmm0, 0x10(%rsi)
movups 0x3d84(%rip), %xmm0     # 0x9658
movaps %xmm0, (%rsi)
movabsq $-0xefffffff4, %rax     # imm = 0xFFFFFFF10000000C
movq %rax, 0x30(%rsi)
leaq 0x10(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x120(%rsp), %rbp
movups 0x3daa(%rip), %xmm0     # 0x96b0
leaq 0x440(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3d87(%rip), %xmm0     # 0x96a0
movaps %xmm0, 0x10(%rsi)
movups 0x3d6c(%rip), %xmm0     # 0x9690
movaps %xmm0, (%rsi)
movabsq $0x400000010, %rax      # imm = 0x400000010
movq %rax, 0x30(%rsi)
leaq 0xf(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x138(%rsp), %rbp
movups 0x3d92(%rip), %xmm0     # 0x96e8
leaq 0x400(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3d6f(%rip), %xmm0     # 0x96d8
movaps %xmm0, 0x10(%rsi)
movups 0x3d54(%rip), %xmm0     # 0x96c8
movaps %xmm0, (%rsi)
movabsq $-0xbfffffff5, %rax     # imm = 0xFFFFFFF40000000B
movq %rax, 0x30(%rsi)
leaq 0xe(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x150(%rsp), %rbp
movups 0x3d7a(%rip), %xmm0     # 0x9720
leaq 0x3c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3d57(%rip), %xmm0     # 0x9710
movaps %xmm0, 0x10(%rsi)
movups 0x3d3c(%rip), %xmm0     # 0x9700
movaps %xmm0, (%rsi)
movabsq $-0x1300000000, %rax    # imm = 0xFFFFFFED00000000
movq %rax, 0x30(%rsi)
leaq 0xd(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x168(%rsp), %rbp
movups 0x3d62(%rip), %xmm0     # 0x9758
leaq 0x380(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3d3f(%rip), %xmm0     # 0x9748
movaps %xmm0, 0x10(%rsi)
movups 0x3d24(%rip), %xmm0     # 0x9738
movaps %xmm0, (%rsi)
movabsq $0x300000014, %rax      # imm = 0x300000014
movq %rax, 0x30(%rsi)
leaq 0xc(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x180(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x8322
movl $0x138, %r14d           # imm = 0x138
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x5a61
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x5a52
movabsq $0x2e7fffffcae, %rax    # imm = 0x2E7FFFFFCAE
leaq 0x240(%rsp), %rsi
movq %rax, 0x30(%rsi)
movups 0x3d08(%rip), %xmm0     # 0x9790
movaps %xmm0, 0x20(%rsi)
movups 0x3ced(%rip), %xmm0     # 0x9780
movaps %xmm0, 0x10(%rsi)
movups 0x3cd2(%rip), %xmm0     # 0x9770
movaps %xmm0, (%rsi)
leaq 0x30(%rsp), %r14
leaq 0xb(%rsp), %rcx
movl $0xe, %edx
movq %r14, %rdi
callq 0x7bbe
leaq 0x48(%rsp), %rbp
movups 0x3d04(%rip), %xmm0     # 0x97c8
leaq 0x200(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3ce1(%rip), %xmm0     # 0x97b8
movaps %xmm0, 0x10(%rsi)
movups 0x3cc6(%rip), %xmm0     # 0x97a8
movaps %xmm0, (%rsi)
movabsq $-0x26bfffffbaf, %rax   # imm = 0xFFFFFD9400000451
movq %rax, 0x30(%rsi)
leaq 0xa(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x60(%rsp), %rbp
movups 0x3cef(%rip), %xmm0     # 0x9800
leaq 0x1c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3ccc(%rip), %xmm0     # 0x97f0
movaps %xmm0, 0x10(%rsi)
movups 0x3cb1(%rip), %xmm0     # 0x97e0
movaps %xmm0, (%rsi)
movabsq $-0x35fffffceb, %rax    # imm = 0xFFFFFFCA00000315
movq %rax, 0x30(%rsi)
leaq 0x17(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x78(%rsp), %rbp
movups 0x3cda(%rip), %xmm0     # 0x9838
leaq 0x180(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3cb7(%rip), %xmm0     # 0x9828
movaps %xmm0, 0x10(%rsi)
movups 0x3c9c(%rip), %xmm0     # 0x9818
movaps %xmm0, (%rsi)
movabsq $0x650000004a, %rax     # imm = 0x650000004A
movq %rax, 0x30(%rsi)
leaq 0x16(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x90(%rsp), %rbp
movups 0x3cc2(%rip), %xmm0     # 0x9870
leaq 0x340(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c9f(%rip), %xmm0     # 0x9860
movaps %xmm0, 0x10(%rsi)
movups 0x3c84(%rip), %xmm0     # 0x9850
movaps %xmm0, (%rsi)
movabsq $-0x135000000df, %rax   # imm = 0xFFFFFECAFFFFFF21
movq %rax, 0x30(%rsi)
leaq 0x15(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xa8(%rsp), %rbp
movups 0x3caa(%rip), %xmm0     # 0x98a8
leaq 0x300(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c87(%rip), %xmm0     # 0x9898
movaps %xmm0, 0x10(%rsi)
movups 0x3c6c(%rip), %xmm0     # 0x9888
movaps %xmm0, (%rsi)
movabsq $-0x16effffff09, %rax   # imm = 0xFFFFFE91000000F7
movq %rax, 0x30(%rsi)
leaq 0x14(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xc0(%rsp), %rbp
movups 0x3c92(%rip), %xmm0     # 0x98e0
leaq 0x2c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c6f(%rip), %xmm0     # 0x98d0
movaps %xmm0, 0x10(%rsi)
movups 0x3c54(%rip), %xmm0     # 0x98c0
movaps %xmm0, (%rsi)
movabsq $0xf000000d8, %rax      # imm = 0xF000000D8
movq %rax, 0x30(%rsi)
leaq 0x13(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xd8(%rsp), %rbp
movups 0x3c7a(%rip), %xmm0     # 0x9918
leaq 0x280(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c57(%rip), %xmm0     # 0x9908
movaps %xmm0, 0x10(%rsi)
movups 0x3c3c(%rip), %xmm0     # 0x98f8
movaps %xmm0, (%rsi)
movabsq $0x551000002cf, %rax    # imm = 0x551000002CF
movq %rax, 0x30(%rsi)
leaq 0x12(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0xf0(%rsp), %rbp
movups 0x3c62(%rip), %xmm0     # 0x9950
leaq 0x4c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c3f(%rip), %xmm0     # 0x9940
movaps %xmm0, 0x10(%rsi)
movups 0x3c24(%rip), %xmm0     # 0x9930
movaps %xmm0, (%rsi)
movabsq $0xa500000196, %rax     # imm = 0xA500000196
movq %rax, 0x30(%rsi)
leaq 0x11(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x108(%rsp), %rbp
movups 0x3c4a(%rip), %xmm0     # 0x9988
leaq 0x480(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c27(%rip), %xmm0     # 0x9978
movaps %xmm0, 0x10(%rsi)
movups 0x3c0c(%rip), %xmm0     # 0x9968
movaps %xmm0, (%rsi)
movabsq $-0x275fffffdb7, %rax   # imm = 0xFFFFFD8A00000249
movq %rax, 0x30(%rsi)
leaq 0x10(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x120(%rsp), %rbp
movups 0x3c32(%rip), %xmm0     # 0x99c0
leaq 0x440(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3c0f(%rip), %xmm0     # 0x99b0
movaps %xmm0, 0x10(%rsi)
movups 0x3bf4(%rip), %xmm0     # 0x99a0
movaps %xmm0, (%rsi)
movabsq $-0x66fffffd86, %rax    # imm = 0xFFFFFF990000027A
movq %rax, 0x30(%rsi)
leaq 0xf(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x138(%rsp), %rbp
movups 0x3c1a(%rip), %xmm0     # 0x99f8
leaq 0x400(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3bf7(%rip), %xmm0     # 0x99e8
movaps %xmm0, 0x10(%rsi)
movups 0x3bdc(%rip), %xmm0     # 0x99d8
movaps %xmm0, (%rsi)
movabsq $-0x1c1fffffde4, %rax   # imm = 0xFFFFFE3E0000021C
movq %rax, 0x30(%rsi)
leaq 0xe(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x150(%rsp), %rbp
movups 0x3c02(%rip), %xmm0     # 0x9a30
leaq 0x3c0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3bdf(%rip), %xmm0     # 0x9a20
movaps %xmm0, 0x10(%rsi)
movups 0x3bc4(%rip), %xmm0     # 0x9a10
movaps %xmm0, (%rsi)
movabsq $0x9500000060, %rax     # imm = 0x9500000060
movq %rax, 0x30(%rsi)
leaq 0xd(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x168(%rsp), %rbp
movups 0x3bea(%rip), %xmm0     # 0x9a68
leaq 0x380(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3bc7(%rip), %xmm0     # 0x9a58
movaps %xmm0, 0x10(%rsi)
movups 0x3bac(%rip), %xmm0     # 0x9a48
movaps %xmm0, (%rsi)
movabsq $-0x4d5fffffe77, %rax   # imm = 0xFFFFFB2A00000189
movq %rax, 0x30(%rsi)
leaq 0xc(%rsp), %rcx
movl $0xe, %edx
movq %rbp, %rdi
callq 0x7bbe
leaq 0x180(%rsp), %rdx
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq 0x8322
movl $0x138, %r14d           # imm = 0x138
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x5ee9
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x5eda
movq %rbx, %rdi
movq %r13, %rsi
callq 0x38df
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
callq 0x257a
testb %al, %al
je 0x5fe5
movq %rbx, %rdi
callq 0x21d0
movq %r13, %rdi
callq 0x21d0
movq %r15, %rdi
callq 0x21d0
movq %r14, %rdi
callq 0x21d0
movq 0x809d(%rip), %rbx      # 0xdfd8
leaq 0x3bc5(%rip), %rsi      # 0x9b07
movl $0x17, %edx
movq %rbx, %rdi
callq 0x21c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
addq $0x4f8, %rsp            # imm = 0x4F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3af3(%rip), %rdi      # 0x9a82
leaq 0x3afa(%rip), %rsi      # 0x9a90
leaq 0x3b2c(%rip), %rcx      # 0x9ac9
movl $0x1f2, %edx            # imm = 0x1F2
callq 0x2100
leaq 0x3b30(%rip), %rdi      # 0x9ade
leaq 0x3adb(%rip), %rsi      # 0x9a90
leaq 0x3b0d(%rip), %rcx      # 0x9ac9
movl $0x212, %edx            # imm = 0x212
callq 0x2100
leaq 0x3b1e(%rip), %rdi      # 0x9aeb
leaq 0x3abc(%rip), %rsi      # 0x9a90
leaq 0x3aee(%rip), %rcx      # 0x9ac9
movl $0x229, %edx            # imm = 0x229
callq 0x2100
leaq 0x3b0d(%rip), %rdi      # 0x9af9
leaq 0x3a9d(%rip), %rsi      # 0x9a90
leaq 0x3acf(%rip), %rcx      # 0x9ac9
movl $0x26b, %edx            # imm = 0x26B
callq 0x2100
movq %rax, %r13
movl $0x138, %ebx            # imm = 0x138
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x601b
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x600c
movb $0x1, %al
jmp 0x6046
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
jmp 0x6041
movq %rax, %r13
xorl %eax, %eax
cmpq %rbp, %r14
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x606f
callq 0x2190
addq $-0x18, %rbp
cmpq %rbx, %rbp
jne 0x6061
jmp 0x656e
movq %rax, %r13
xorl %eax, %eax
movq %r14, %rbp
jmp 0x6046
movq %rax, %r13
movl $0x138, %ebx            # imm = 0x138
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x609e
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x608f
movb $0x1, %al
jmp 0x60c9
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
jmp 0x60c4
movq %rax, %r13
xorl %eax, %eax
leaq 0x30(%rsp), %rcx
cmpq %rbp, %rcx
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x60f7
callq 0x2190
addq $-0x18, %rbp
cmpq %rbx, %rbp
jne 0x60e9
jmp 0x656e
movq %rax, %r13
xorl %eax, %eax
leaq 0x30(%rsp), %rbp
jmp 0x60c9
movq %r12, 0x18(%rsp)
movq %rax, %r13
movl $0x138, %ebx            # imm = 0x138
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x612d
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x611e
movb $0x1, %al
jmp 0x614d
jmp 0x6143
jmp 0x6143
jmp 0x6143
jmp 0x6143
movq %r12, 0x18(%rsp)
movq %rax, %r13
xorl %eax, %eax
movq 0x18(%rsp), %rbp
jmp 0x6161
jmp 0x6148
jmp 0x615c
jmp 0x615c
jmp 0x615c
movq %rax, %r13
xorl %eax, %eax
movq %rbp, %r12
jmp 0x6179
jmp 0x616a
jmp 0x616a
movq %rax, %r13
xorl %eax, %eax
jmp 0x6179
movq %rax, %r13
xorl %eax, %eax
movq %r14, %r12
cmpq %r12, %r14
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x61a3
callq 0x2190
addq $-0x18, %r12
cmpq %rbx, %r12
jne 0x6194
jmp 0x656e
movq %rax, %r13
movl $0x48, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x61c9
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x61ba
movb $0x1, %al
jmp 0x61e2
jmp 0x61dd
jmp 0x61dd
jmp 0x61dd
movq %rax, %r13
xorl %eax, %eax
leaq 0x30(%rsp), %rcx
cmpq %rbx, %rcx
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %r14
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x6208
callq 0x2190
addq $-0x18, %rbx
cmpq %r14, %rbx
jne 0x61fa
jmp 0x656e
movq %rax, %r13
movl $0x48, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x622e
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x621f
movb $0x1, %al
jmp 0x624f
jmp 0x6240
jmp 0x6240
movq %rax, %r13
xorl %eax, %eax
jmp 0x624f
movq %rax, %r13
xorl %eax, %eax
movq %rbx, %rbp
cmpq %rbp, %rbx
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x6270
callq 0x2190
addq $-0x18, %rbp
cmpq %rbx, %rbp
jne 0x6262
jmp 0x656e
movq %rax, %r13
movl $0x48, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x6296
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x6287
movb $0x1, %al
jmp 0x62b7
jmp 0x62a8
jmp 0x62a8
movq %rax, %r13
xorl %eax, %eax
jmp 0x62b7
movq %rax, %r13
xorl %eax, %eax
movq %rbx, %r15
cmpq %r15, %rbx
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%r15), %rdi
testq %rdi, %rdi
je 0x62d8
callq 0x2190
addq $-0x18, %r15
cmpq %rbx, %r15
jne 0x62ca
jmp 0x656e
movq %rax, %r13
movl $0xa8, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x62fd
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x62ee
movb $0x1, %al
jmp 0x631c
jmp 0x6317
jmp 0x6317
jmp 0x6317
jmp 0x6317
jmp 0x6317
jmp 0x6317
movq %rax, %r13
xorl %eax, %eax
cmpq %rbp, %r14
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x6345
callq 0x2190
addq $-0x18, %rbp
cmpq %rbx, %rbp
jne 0x6337
jmp 0x656e
movq %rax, %r13
xorl %eax, %eax
movq %r14, %rbp
jmp 0x631c
movq %rax, %r13
movl $0xa8, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x6374
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x6365
movb $0x1, %al
jmp 0x6393
jmp 0x638e
jmp 0x638e
jmp 0x638e
jmp 0x638e
jmp 0x638e
jmp 0x638e
movq %rax, %r13
xorl %eax, %eax
cmpq %r12, %rbp
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x63bd
callq 0x2190
addq $-0x18, %r12
cmpq %rbx, %r12
jne 0x63ae
jmp 0x656e
movq %rax, %r13
xorl %eax, %eax
movq %rbp, %r12
jmp 0x6393
movq %rax, %r13
movl $0xa8, %ebx
movq 0x30(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x63ec
callq 0x2190
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x63dd
movb $0x1, %al
jmp 0x6409
jmp 0x6404
jmp 0x6404
jmp 0x6404
jmp 0x6404
jmp 0x6404
movq %rax, %r13
xorl %eax, %eax
movq %r12, %r14
cmpq %r14, %rbp
sete %cl
testb %al, %al
jne 0x656e
testb %cl, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%r14), %rdi
testq %rdi, %rdi
je 0x6435
callq 0x2190
addq $-0x18, %r14
cmpq %rbx, %r14
jne 0x6427
jmp 0x656e
movq %rax, %r13
xorl %eax, %eax
jmp 0x640c
movq %rax, %r13
xorl %eax, %eax
movq %rbp, %r14
jmp 0x640c
movq %rax, %r13
movl $0x18, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x646c
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x645d
movb $0x1, %al
jmp 0x6481
jmp 0x647c
movq %rax, %r13
xorl %eax, %eax
leaq 0x30(%rsp), %rcx
cmpq %rbx, %rcx
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %r14
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x64a7
callq 0x2190
addq $-0x18, %rbx
cmpq %r14, %rbx
jne 0x6499
jmp 0x656e
movq %rax, %r13
movl $0x18, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x64cd
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x64be
movb $0x1, %al
jmp 0x64ea
movq %rax, %r13
xorl %eax, %eax
jmp 0x64ea
movq %rax, %r13
xorl %eax, %eax
movq %r12, %rbx
cmpq %rbx, %r12
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %r14
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x6507
callq 0x2190
addq $-0x18, %rbx
cmpq %r14, %rbx
jne 0x64f9
jmp 0x656e
movq %rax, %r13
movl $0x18, %r14d
movq 0x30(%rsp,%r14), %rdi
testq %rdi, %rdi
je 0x652a
callq 0x2190
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x651b
movb $0x1, %al
jmp 0x6547
movq %rax, %r13
xorl %eax, %eax
jmp 0x6547
movq %rax, %r13
xorl %eax, %eax
movq %rbx, %r12
cmpq %r12, %rbx
sete %cl
orb %al, %cl
jne 0x656e
leaq 0x30(%rsp), %rbx
movq -0x18(%r12), %rdi
testq %rdi, %rdi
je 0x6565
callq 0x2190
addq $-0x18, %r12
cmpq %rbx, %r12
jne 0x6556
movq %r13, %rdi
callq 0x22b0