// File: /workspace/github_cpp_makefile_star2_O2/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 $0x518, %rsp            # imm = 0x518
movl $0x2, 0xb0c8(%rip)      # 0xf170
pushq $0x20
popq %r15
movq %r15, %rdi
callq 0x2190
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
pushq $0x2
popq %rbp
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %r15, %rdi
callq 0x2190
movq %rax, %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %r15, %rdi
callq 0x2190
movq %rax, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %r15, %rdi
callq 0x2190
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movabsq $0x200000001, %rax      # imm = 0x200000001
leaq 0x260(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x50(%rsp), %rdi
pushq $0x2
popq %rdx
leaq 0x1e0(%rsp), %rcx
callq 0x716a
leaq 0x68(%rsp), %rdi
movabsq $0x100000003, %rax      # imm = 0x100000003
leaq 0x220(%rsp), %rsi
movq %rax, (%rsi)
pushq $0x2
popq %rdx
leaq 0x1a0(%rsp), %rcx
callq 0x716a
movq %r12, 0x28(%rsp)
leaq 0x8(%r12), %rdi
leaq 0x80(%rsp), %rdx
leaq 0x50(%rsp), %rsi
callq 0x86b8
movq %r14, %r12
addq $0x8, %r12
movq %rbx, %r15
addq $0x8, %r15
pushq $0x18
popq %rbp
leaq (%rsp,%rbp), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbp
cmpq $-0x18, %rbp
jne 0x41ac
movabsq $0x100000002, %rax      # imm = 0x100000002
leaq 0x260(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x50(%rsp), %rdi
pushq $0x2
popq %rdx
leaq 0x1e0(%rsp), %rcx
callq 0x716a
leaq 0x68(%rsp), %rdi
leaq 0x220(%rsp), %rsi
movabsq $0x100000003, %rax      # imm = 0x100000003
movq %rax, (%rsi)
pushq $0x2
popq %rdx
leaq 0x1a0(%rsp), %rcx
callq 0x716a
leaq 0x80(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq %r12, %rdi
callq 0x86b8
pushq $0x18
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %r12
cmpq $-0x18, %r12
jne 0x4230
movabsq $0x300000008, %rax      # imm = 0x300000008
leaq 0x260(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x50(%rsp), %rdi
pushq $0x2
popq %rdx
leaq 0x1e0(%rsp), %rcx
callq 0x716a
leaq 0x68(%rsp), %r12
movabsq $0x400000009, %rax      # imm = 0x400000009
leaq 0x220(%rsp), %rsi
movq %rax, (%rsi)
pushq $0x2
popq %rdx
leaq 0x1a0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbp
leaq 0x50(%rsp), %rsi
movq %r15, %rdi
movq %rbp, %rdx
callq 0x86b8
pushq $0x18
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %r15
cmpq $-0x18, %r15
jne 0x42ba
andl $0x0, 0x10(%rsp)
andl $0x0, 0x8(%rsp)
andl $0x0, (%rsp)
movl $0x2, 0x18(%rsp)
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2d93
movq %r13, %rdi
movq %rbx, %rsi
callq 0x24a3
testb %al, %al
je 0x5ba7
movq %r15, %rdi
callq 0x21a0
movq %r14, %rdi
callq 0x21a0
movq %rbx, %rdi
callq 0x21a0
pushq $0x20
popq %r13
movq %r13, %rdi
callq 0x2190
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
pushq $0x8
popq %rbx
movq %rax, 0x28(%rsp)
movq %rax, %rdi
movl %ebx, %esi
callq 0x23cc
movq %r13, %rdi
callq 0x2190
movq %rax, %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebx, %esi
callq 0x23cc
movq %r13, %rdi
callq 0x2190
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebx, %esi
callq 0x23cc
movq %r13, %rdi
callq 0x2190
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebx, %esi
callq 0x23cc
movups 0x58a7(%rip), %xmm0     # 0x9c60
leaq 0x260(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5884(%rip), %xmm0     # 0x9c50
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %rdi
pushq $0x8
popq %rdx
leaq 0x4e0(%rsp), %rcx
callq 0x716a
movups 0x5895(%rip), %xmm0     # 0x9c80
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5872(%rip), %xmm0     # 0x9c70
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x4a0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
movups 0x5885(%rip), %xmm0     # 0x9ca0
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5862(%rip), %xmm0     # 0x9c90
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x460(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbp
movups 0x586d(%rip), %xmm0     # 0x9cc0
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x584a(%rip), %xmm0     # 0x9cb0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x420(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rbp
movups 0x5855(%rip), %xmm0     # 0x9ce0
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5832(%rip), %xmm0     # 0x9cd0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3e0(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xc8(%rsp), %rbp
movups 0x583d(%rip), %xmm0     # 0x9d00
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x581a(%rip), %xmm0     # 0x9cf0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3a0(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xe0(%rsp), %rbp
movups 0x5825(%rip), %xmm0     # 0x9d20
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5802(%rip), %xmm0     # 0x9d10
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x33(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xf8(%rsp), %rbp
movups 0x5a10(%rip), %xmm0     # 0x9f40
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x59ed(%rip), %xmm0     # 0x9f30
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x32(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
movq 0x28(%rsp), %rax
leaq 0x8(%rax), %rdi
leaq 0x110(%rsp), %rdx
leaq 0x50(%rsp), %rsi
callq 0x86b8
movq %r14, %rbp
addq $0x8, %rbp
movq %r15, %rax
addq $0x8, %rax
movq %rax, 0x48(%rsp)
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4589
movups 0x5799(%rip), %xmm0     # 0x9d40
leaq 0x260(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5776(%rip), %xmm0     # 0x9d30
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %rdi
pushq $0x8
popq %rdx
leaq 0x4e0(%rsp), %rcx
callq 0x716a
leaq 0x68(%rsp), %r12
movups 0x5782(%rip), %xmm0     # 0x9d60
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x575f(%rip), %xmm0     # 0x9d50
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x4a0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0x80(%rsp), %r12
movups 0x576a(%rip), %xmm0     # 0x9d80
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5747(%rip), %xmm0     # 0x9d70
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x460(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0x98(%rsp), %r12
movups 0x5752(%rip), %xmm0     # 0x9da0
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x572f(%rip), %xmm0     # 0x9d90
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x420(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0xb0(%rsp), %r12
movups 0x573a(%rip), %xmm0     # 0x9dc0
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5717(%rip), %xmm0     # 0x9db0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3e0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0xc8(%rsp), %r12
movups 0x5722(%rip), %xmm0     # 0x9de0
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x56ff(%rip), %xmm0     # 0x9dd0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3a0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0xe0(%rsp), %r12
movups 0x570a(%rip), %xmm0     # 0x9e00
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x56e7(%rip), %xmm0     # 0x9df0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x33(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0xf8(%rsp), %r12
movups 0x56f5(%rip), %xmm0     # 0x9e20
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x56d2(%rip), %xmm0     # 0x9e10
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x32(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0x110(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq %rbp, %rdi
callq 0x86b8
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x476b
movups 0x56b7(%rip), %xmm0     # 0x9e40
leaq 0x260(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5694(%rip), %xmm0     # 0x9e30
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %r12
pushq $0x8
popq %rdx
leaq 0x4e0(%rsp), %rcx
movq %r12, %rdi
callq 0x716a
leaq 0x68(%rsp), %rbp
movups 0x569d(%rip), %xmm0     # 0x9e60
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x567a(%rip), %xmm0     # 0x9e50
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x4a0(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbp
movups 0x5685(%rip), %xmm0     # 0x9e80
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5662(%rip), %xmm0     # 0x9e70
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x460(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbp
movups 0x566d(%rip), %xmm0     # 0x9ea0
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x564a(%rip), %xmm0     # 0x9e90
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x420(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rbp
movups 0x5655(%rip), %xmm0     # 0x9ec0
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5632(%rip), %xmm0     # 0x9eb0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3e0(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xc8(%rsp), %rbp
movups 0x563d(%rip), %xmm0     # 0x9ee0
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x561a(%rip), %xmm0     # 0x9ed0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x3a0(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xe0(%rsp), %rbp
movups 0x5625(%rip), %xmm0     # 0x9f00
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x5602(%rip), %xmm0     # 0x9ef0
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x33(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xf8(%rsp), %rbp
movups 0x5610(%rip), %xmm0     # 0x9f20
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0x55ed(%rip), %xmm0     # 0x9f10
movaps %xmm0, (%rsi)
pushq $0x8
popq %rdx
leaq 0x32(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x110(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq 0x48(%rsp), %rdi
movq %rdx, 0x40(%rsp)
callq 0x86b8
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4957
andl $0x0, 0x10(%rsp)
andl $0x0, 0x8(%rsp)
andl $0x0, (%rsp)
movl $0x8, 0x18(%rsp)
movq 0x28(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2d93
movq %r13, %rdi
movq %r15, %rsi
callq 0x24a3
testb %al, %al
je 0x5bc6
movq %rbx, %rdi
callq 0x21a0
movq %r14, %rdi
callq 0x21a0
movq %r15, %rdi
callq 0x21a0
movq %r13, %rdi
callq 0x21a0
pushq $0x20
popq %rbx
movq %rbx, %rdi
callq 0x2190
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
pushq $0x4
popq %rbp
movq %rax, 0x28(%rsp)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %rbx, %rdi
callq 0x2190
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, 0x48(%rsp)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %rbx, %rdi
callq 0x2190
movq %rax, %r12
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movq %rbx, %rdi
callq 0x2190
movq %rax, %r13
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %ebp, %esi
callq 0x23cc
movaps 0x45c1(%rip), %xmm0     # 0x9020
leaq 0x260(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %r15
pushq $0x4
popq %rdx
leaq 0x360(%rsp), %rcx
movq %r15, %rdi
callq 0x716a
leaq 0x68(%rsp), %r14
movaps 0x45a2(%rip), %xmm0     # 0x9030
leaq 0x220(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x320(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x80(%rsp), %r14
movaps 0x4585(%rip), %xmm0     # 0x9040
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2e0(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x98(%rsp), %r14
movaps 0x4568(%rip), %xmm0     # 0x9050
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2a0(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
movq 0x28(%rsp), %rax
leaq 0x8(%rax), %rdi
leaq 0xb0(%rsp), %rdx
leaq 0x50(%rsp), %rsi
callq 0x86b8
movq 0x48(%rsp), %r14
addq $0x8, %r14
movq %r12, %r15
addq $0x8, %r15
pushq $0x48
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4b34
movaps 0x450e(%rip), %xmm0     # 0x9060
leaq 0x260(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %rbp
pushq $0x4
popq %rdx
leaq 0x360(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x68(%rsp), %rbx
movaps 0x44ef(%rip), %xmm0     # 0x9070
leaq 0x220(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x320(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbx
movaps 0x44d2(%rip), %xmm0     # 0x9080
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2e0(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbx
movaps 0x44b5(%rip), %xmm0     # 0x9090
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2a0(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq %r14, %rdi
callq 0x86b8
pushq $0x48
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4c11
movaps 0x4471(%rip), %xmm0     # 0x90a0
leaq 0x260(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %rbp
pushq $0x4
popq %rdx
leaq 0x360(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x68(%rsp), %rbx
movaps 0x4452(%rip), %xmm0     # 0x90b0
leaq 0x220(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x320(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbx
movaps 0x4435(%rip), %xmm0     # 0x90c0
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2e0(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbx
movaps 0x4418(%rip), %xmm0     # 0x90d0
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, (%rsi)
pushq $0x4
popq %rdx
leaq 0x2a0(%rsp), %rcx
movq %rbx, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rbp
leaq 0x50(%rsp), %rsi
movq %r15, %rdi
movq %rbp, %rdx
callq 0x86b8
pushq $0x48
popq %rbx
movq 0x28(%rsp), %r14
movq 0x48(%rsp), %r15
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x4cfb
andl $0x0, 0x10(%rsp)
andl $0x0, 0x8(%rsp)
andl $0x0, (%rsp)
movl $0x4, 0x18(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2d93
movq %r12, %rdi
movq %r13, %rsi
callq 0x24a3
testb %al, %al
je 0x5be5
movq %r14, %rdi
callq 0x21a0
movq %r15, %rdi
callq 0x21a0
movq %r12, %rdi
callq 0x21a0
movq %r13, %rdi
callq 0x21a0
pushq $0x20
popq %r14
movq %r14, %rdi
callq 0x2190
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
pushq $0xe
popq %r12
movq %rax, 0x28(%rsp)
movq %rax, %rdi
movl %r12d, %esi
callq 0x23cc
movq %r14, %rdi
callq 0x2190
movq %rax, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %r12d, %esi
callq 0x23cc
movq %r14, %rdi
callq 0x2190
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, (%rax)
movaps %xmm0, 0x10(%rax)
movq %rax, %rdi
movl %r12d, %esi
callq 0x23cc
movups 0x435e(%rip), %xmm0     # 0x9140
leaq 0x260(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x433b(%rip), %xmm0     # 0x9130
movaps %xmm0, 0x10(%rsi)
movups 0x4320(%rip), %xmm0     # 0x9120
movaps %xmm0, (%rsi)
movabsq $-0x60000000d, %rax     # imm = 0xFFFFFFF9FFFFFFF3
movq %rax, 0x30(%rsi)
leaq 0x50(%rsp), %r13
pushq $0xe
popq %rdx
leaq 0x33(%rsp), %rcx
movq %r13, %rdi
callq 0x716a
leaq 0x68(%rsp), %r14
movups 0x4346(%rip), %xmm0     # 0x9178
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4323(%rip), %xmm0     # 0x9168
movaps %xmm0, 0x10(%rsi)
movups 0x4308(%rip), %xmm0     # 0x9158
movaps %xmm0, (%rsi)
movabsq $0xb00000000, %rax      # imm = 0xB00000000
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x32(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x80(%rsp), %r14
movups 0x4330(%rip), %xmm0     # 0x91b0
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x430d(%rip), %xmm0     # 0x91a0
movaps %xmm0, 0x10(%rsi)
movups 0x42f2(%rip), %xmm0     # 0x9190
movaps %xmm0, (%rsi)
movabsq $0x120000000b, %rax     # imm = 0x120000000B
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3f(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x98(%rsp), %r14
movups 0x431a(%rip), %xmm0     # 0x91e8
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x42f7(%rip), %xmm0     # 0x91d8
movaps %xmm0, 0x10(%rsi)
movups 0x42dc(%rip), %xmm0     # 0x91c8
movaps %xmm0, (%rsi)
movabsq $-0x30000000d, %rax     # imm = 0xFFFFFFFCFFFFFFF3
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3e(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
movups 0x430c(%rip), %xmm0     # 0x9220
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x42e9(%rip), %xmm0     # 0x9210
movaps %xmm0, 0x10(%rsi)
movups 0x42ce(%rip), %xmm0     # 0x9200
movaps %xmm0, (%rsi)
movabsq $-0x13fffffff5, %rax    # imm = 0xFFFFFFEC0000000B
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3d(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xc8(%rsp), %rbp
movups 0x42f6(%rip), %xmm0     # 0x9258
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x42d3(%rip), %xmm0     # 0x9248
movaps %xmm0, 0x10(%rsi)
movups 0x42b8(%rip), %xmm0     # 0x9238
movaps %xmm0, (%rsi)
movabsq $0x11fffffff3, %rax     # imm = 0x11FFFFFFF3
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3c(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xe0(%rsp), %rbp
movups 0x42e0(%rip), %xmm0     # 0x9290
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x42bd(%rip), %xmm0     # 0x9280
movaps %xmm0, 0x10(%rsi)
movups 0x42a2(%rip), %xmm0     # 0x9270
movaps %xmm0, (%rsi)
movabsq $0x300000009, %rax      # imm = 0x300000009
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3b(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xf8(%rsp), %rbp
movups 0x42ca(%rip), %xmm0     # 0x92c8
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x42a7(%rip), %xmm0     # 0x92b8
movaps %xmm0, 0x10(%rsi)
movups 0x428c(%rip), %xmm0     # 0x92a8
movaps %xmm0, (%rsi)
movabsq $0xbffffffed, %rax      # imm = 0xBFFFFFFED
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3a(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
movups 0x42bc(%rip), %xmm0     # 0x9300
leaq 0x4e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4299(%rip), %xmm0     # 0x92f0
movaps %xmm0, 0x10(%rsi)
movups 0x427e(%rip), %xmm0     # 0x92e0
movaps %xmm0, (%rsi)
movabsq $0xdfffffff1, %rax      # imm = 0xDFFFFFFF1
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x39(%rsp), %rcx
leaq 0x110(%rsp), %rdi
callq 0x716a
leaq 0x128(%rsp), %r14
movups 0x42a1(%rip), %xmm0     # 0x9338
leaq 0x4a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x427e(%rip), %xmm0     # 0x9328
movaps %xmm0, 0x10(%rsi)
movups 0x4263(%rip), %xmm0     # 0x9318
movaps %xmm0, (%rsi)
movabsq $-0xb00000012, %rax     # imm = 0xFFFFFFF4FFFFFFEE
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x38(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x140(%rsp), %r14
movups 0x428b(%rip), %xmm0     # 0x9370
leaq 0x460(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4268(%rip), %xmm0     # 0x9360
movaps %xmm0, 0x10(%rsi)
movups 0x424d(%rip), %xmm0     # 0x9350
movaps %xmm0, (%rsi)
movabsq $0xa00000006, %rax      # imm = 0xA00000006
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x37(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x158(%rsp), %r14
movups 0x4275(%rip), %xmm0     # 0x93a8
leaq 0x420(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4252(%rip), %xmm0     # 0x9398
movaps %xmm0, 0x10(%rsi)
movups 0x4237(%rip), %xmm0     # 0x9388
movaps %xmm0, (%rsi)
movabsq $0x12fffffff9, %rax     # imm = 0x12FFFFFFF9
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x36(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x170(%rsp), %r14
movups 0x425f(%rip), %xmm0     # 0x93e0
leaq 0x3e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x423c(%rip), %xmm0     # 0x93d0
movaps %xmm0, 0x10(%rsi)
movups 0x4221(%rip), %xmm0     # 0x93c0
movaps %xmm0, (%rsi)
movabsq $0x9fffffff0, %rax      # imm = 0x9FFFFFFF0
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x35(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
leaq 0x188(%rsp), %r14
movups 0x4249(%rip), %xmm0     # 0x9418
leaq 0x3a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4226(%rip), %xmm0     # 0x9408
movaps %xmm0, 0x10(%rsi)
movups 0x420b(%rip), %xmm0     # 0x93f8
movaps %xmm0, (%rsi)
movabsq $0xd00000010, %rax      # imm = 0xD00000010
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x34(%rsp), %rcx
movq %r14, %rdi
callq 0x716a
movq 0x28(%rsp), %rax
leaq 0x8(%rax), %rdi
leaq 0x1a0(%rsp), %rdx
leaq 0x50(%rsp), %rsi
callq 0x86b8
movq %rbx, %r14
addq $0x8, %r14
movq %r15, %r12
addq $0x8, %r12
movl $0x138, %r13d           # imm = 0x138
leaq (%rsp,%r13), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %r13
cmpq $-0x18, %r13
jne 0x523d
movabsq $-0x500000003, %rax     # imm = 0xFFFFFFFAFFFFFFFD
leaq 0x260(%rsp), %rsi
movq %rax, 0x30(%rsi)
movups 0x41df(%rip), %xmm0     # 0x9450
movaps %xmm0, 0x20(%rsi)
movups 0x41c4(%rip), %xmm0     # 0x9440
movaps %xmm0, 0x10(%rsi)
movups 0x41a9(%rip), %xmm0     # 0x9430
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
pushq $0xe
popq %rdx
leaq 0x33(%rsp), %rcx
movq %r13, %rdi
callq 0x716a
leaq 0x68(%rsp), %rbp
movups 0x41dd(%rip), %xmm0     # 0x9488
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x41ba(%rip), %xmm0     # 0x9478
movaps %xmm0, 0x10(%rsi)
movups 0x419f(%rip), %xmm0     # 0x9468
movaps %xmm0, (%rsi)
movabsq $0x1100000007, %rax     # imm = 0x1100000007
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x32(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbp
movups 0x41c7(%rip), %xmm0     # 0x94c0
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x41a4(%rip), %xmm0     # 0x94b0
movaps %xmm0, 0x10(%rsi)
movups 0x4189(%rip), %xmm0     # 0x94a0
movaps %xmm0, (%rsi)
movabsq $-0xcffffffed, %rax     # imm = 0xFFFFFFF300000013
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3f(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbp
movups 0x41b1(%rip), %xmm0     # 0x94f8
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x418e(%rip), %xmm0     # 0x94e8
movaps %xmm0, 0x10(%rsi)
movups 0x4173(%rip), %xmm0     # 0x94d8
movaps %xmm0, (%rsi)
movabsq $0x800000010, %rax      # imm = 0x800000010
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3e(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rbp
movups 0x419b(%rip), %xmm0     # 0x9530
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4178(%rip), %xmm0     # 0x9520
movaps %xmm0, 0x10(%rsi)
movups 0x415d(%rip), %xmm0     # 0x9510
movaps %xmm0, (%rsi)
movabsq $0x60000000e, %rax      # imm = 0x60000000E
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3d(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xc8(%rsp), %rbp
movups 0x4185(%rip), %xmm0     # 0x9568
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4162(%rip), %xmm0     # 0x9558
movaps %xmm0, 0x10(%rsi)
movups 0x4147(%rip), %xmm0     # 0x9548
movaps %xmm0, (%rsi)
movabsq $0x800000002, %rax      # imm = 0x800000002
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3c(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xe0(%rsp), %rbp
movups 0x416f(%rip), %xmm0     # 0x95a0
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x414c(%rip), %xmm0     # 0x9590
movaps %xmm0, 0x10(%rsi)
movups 0x4131(%rip), %xmm0     # 0x9580
movaps %xmm0, (%rsi)
movabsq $0x1000000003, %rax     # imm = 0x1000000003
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3b(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xf8(%rsp), %rbp
movups 0x4159(%rip), %xmm0     # 0x95d8
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4136(%rip), %xmm0     # 0x95c8
movaps %xmm0, 0x10(%rsi)
movups 0x411b(%rip), %xmm0     # 0x95b8
movaps %xmm0, (%rsi)
movabsq $-0xe00000012, %rax     # imm = 0xFFFFFFF1FFFFFFEE
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3a(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x110(%rsp), %rbp
movups 0x4143(%rip), %xmm0     # 0x9610
leaq 0x4e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4120(%rip), %xmm0     # 0x9600
movaps %xmm0, 0x10(%rsi)
movups 0x4105(%rip), %xmm0     # 0x95f0
movaps %xmm0, (%rsi)
movabsq $-0x6fffffffe, %rax     # imm = 0xFFFFFFF900000002
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x39(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x128(%rsp), %rbp
movups 0x412d(%rip), %xmm0     # 0x9648
leaq 0x4a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x410a(%rip), %xmm0     # 0x9638
movaps %xmm0, 0x10(%rsi)
movups 0x40ef(%rip), %xmm0     # 0x9628
movaps %xmm0, (%rsi)
movabsq $-0xefffffff4, %rax     # imm = 0xFFFFFFF10000000C
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x38(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x140(%rsp), %rbp
movups 0x4117(%rip), %xmm0     # 0x9680
leaq 0x460(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x40f4(%rip), %xmm0     # 0x9670
movaps %xmm0, 0x10(%rsi)
movups 0x40d9(%rip), %xmm0     # 0x9660
movaps %xmm0, (%rsi)
movabsq $0x400000010, %rax      # imm = 0x400000010
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x37(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x158(%rsp), %rbp
movups 0x4101(%rip), %xmm0     # 0x96b8
leaq 0x420(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x40de(%rip), %xmm0     # 0x96a8
movaps %xmm0, 0x10(%rsi)
movups 0x40c3(%rip), %xmm0     # 0x9698
movaps %xmm0, (%rsi)
movabsq $-0xbfffffff5, %rax     # imm = 0xFFFFFFF40000000B
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x36(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x170(%rsp), %rbp
movups 0x40eb(%rip), %xmm0     # 0x96f0
leaq 0x3e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x40c8(%rip), %xmm0     # 0x96e0
movaps %xmm0, 0x10(%rsi)
movups 0x40ad(%rip), %xmm0     # 0x96d0
movaps %xmm0, (%rsi)
movabsq $-0x1300000000, %rax    # imm = 0xFFFFFFED00000000
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x35(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x188(%rsp), %rbp
movups 0x40d5(%rip), %xmm0     # 0x9728
leaq 0x3a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x40b2(%rip), %xmm0     # 0x9718
movaps %xmm0, 0x10(%rsi)
movups 0x4097(%rip), %xmm0     # 0x9708
movaps %xmm0, (%rsi)
movabsq $0x300000014, %rax      # imm = 0x300000014
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x34(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x1a0(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq %r14, %rdi
callq 0x86b8
movl $0x138, %r14d           # imm = 0x138
leaq (%rsp,%r14), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x56ad
movabsq $0x2e7fffffcae, %rax    # imm = 0x2E7FFFFFCAE
leaq 0x260(%rsp), %rsi
movq %rax, 0x30(%rsi)
movups 0x407f(%rip), %xmm0     # 0x9760
movaps %xmm0, 0x20(%rsi)
movups 0x4064(%rip), %xmm0     # 0x9750
movaps %xmm0, 0x10(%rsi)
movups 0x4049(%rip), %xmm0     # 0x9740
movaps %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
pushq $0xe
popq %rdx
leaq 0x33(%rsp), %rcx
movq %r13, %rdi
callq 0x716a
leaq 0x68(%rsp), %rbp
movups 0x407d(%rip), %xmm0     # 0x9798
leaq 0x220(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x405a(%rip), %xmm0     # 0x9788
movaps %xmm0, 0x10(%rsi)
movups 0x403f(%rip), %xmm0     # 0x9778
movaps %xmm0, (%rsi)
movabsq $-0x26bfffffbaf, %rax   # imm = 0xFFFFFD9400000451
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x32(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x80(%rsp), %rbp
movups 0x4067(%rip), %xmm0     # 0x97d0
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4044(%rip), %xmm0     # 0x97c0
movaps %xmm0, 0x10(%rsi)
movups 0x4029(%rip), %xmm0     # 0x97b0
movaps %xmm0, (%rsi)
movabsq $-0x35fffffceb, %rax    # imm = 0xFFFFFFCA00000315
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3f(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x98(%rsp), %rbp
movups 0x4051(%rip), %xmm0     # 0x9808
leaq 0x1a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x402e(%rip), %xmm0     # 0x97f8
movaps %xmm0, 0x10(%rsi)
movups 0x4013(%rip), %xmm0     # 0x97e8
movaps %xmm0, (%rsi)
movabsq $0x650000004a, %rax     # imm = 0x650000004A
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3e(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xb0(%rsp), %rbp
movups 0x403b(%rip), %xmm0     # 0x9840
leaq 0x360(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4018(%rip), %xmm0     # 0x9830
movaps %xmm0, 0x10(%rsi)
movups 0x3ffd(%rip), %xmm0     # 0x9820
movaps %xmm0, (%rsi)
movabsq $-0x135000000df, %rax   # imm = 0xFFFFFECAFFFFFF21
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3d(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xc8(%rsp), %rbp
movups 0x4025(%rip), %xmm0     # 0x9878
leaq 0x320(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x4002(%rip), %xmm0     # 0x9868
movaps %xmm0, 0x10(%rsi)
movups 0x3fe7(%rip), %xmm0     # 0x9858
movaps %xmm0, (%rsi)
movabsq $-0x16effffff09, %rax   # imm = 0xFFFFFE91000000F7
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3c(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xe0(%rsp), %rbp
movups 0x400f(%rip), %xmm0     # 0x98b0
leaq 0x2e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fec(%rip), %xmm0     # 0x98a0
movaps %xmm0, 0x10(%rsi)
movups 0x3fd1(%rip), %xmm0     # 0x9890
movaps %xmm0, (%rsi)
movabsq $0xf000000d8, %rax      # imm = 0xF000000D8
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3b(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0xf8(%rsp), %rbp
movups 0x3ff9(%rip), %xmm0     # 0x98e8
leaq 0x2a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fd6(%rip), %xmm0     # 0x98d8
movaps %xmm0, 0x10(%rsi)
movups 0x3fbb(%rip), %xmm0     # 0x98c8
movaps %xmm0, (%rsi)
movabsq $0x551000002cf, %rax    # imm = 0x551000002CF
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x3a(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x110(%rsp), %rbp
movups 0x3fe3(%rip), %xmm0     # 0x9920
leaq 0x4e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3fc0(%rip), %xmm0     # 0x9910
movaps %xmm0, 0x10(%rsi)
movups 0x3fa5(%rip), %xmm0     # 0x9900
movaps %xmm0, (%rsi)
movabsq $0xa500000196, %rax     # imm = 0xA500000196
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x39(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x128(%rsp), %rbp
movups 0x3fcd(%rip), %xmm0     # 0x9958
leaq 0x4a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3faa(%rip), %xmm0     # 0x9948
movaps %xmm0, 0x10(%rsi)
movups 0x3f8f(%rip), %xmm0     # 0x9938
movaps %xmm0, (%rsi)
movabsq $-0x275fffffdb7, %rax   # imm = 0xFFFFFD8A00000249
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x38(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x140(%rsp), %rbp
movups 0x3fb7(%rip), %xmm0     # 0x9990
leaq 0x460(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f94(%rip), %xmm0     # 0x9980
movaps %xmm0, 0x10(%rsi)
movups 0x3f79(%rip), %xmm0     # 0x9970
movaps %xmm0, (%rsi)
movabsq $-0x66fffffd86, %rax    # imm = 0xFFFFFF990000027A
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x37(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x158(%rsp), %rbp
movups 0x3fa1(%rip), %xmm0     # 0x99c8
leaq 0x420(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f7e(%rip), %xmm0     # 0x99b8
movaps %xmm0, 0x10(%rsi)
movups 0x3f63(%rip), %xmm0     # 0x99a8
movaps %xmm0, (%rsi)
movabsq $-0x1c1fffffde4, %rax   # imm = 0xFFFFFE3E0000021C
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x36(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x170(%rsp), %rbp
movups 0x3f8b(%rip), %xmm0     # 0x9a00
leaq 0x3e0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f68(%rip), %xmm0     # 0x99f0
movaps %xmm0, 0x10(%rsi)
movups 0x3f4d(%rip), %xmm0     # 0x99e0
movaps %xmm0, (%rsi)
movabsq $0x9500000060, %rax     # imm = 0x9500000060
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x35(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x188(%rsp), %rbp
movups 0x3f75(%rip), %xmm0     # 0x9a38
leaq 0x3a0(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movups 0x3f52(%rip), %xmm0     # 0x9a28
movaps %xmm0, 0x10(%rsi)
movups 0x3f37(%rip), %xmm0     # 0x9a18
movaps %xmm0, (%rsi)
movabsq $-0x4d5fffffe77, %rax   # imm = 0xFFFFFB2A00000189
movq %rax, 0x30(%rsi)
pushq $0xe
popq %rdx
leaq 0x34(%rsp), %rcx
movq %rbp, %rdi
callq 0x716a
leaq 0x1a0(%rsp), %rdx
leaq 0x50(%rsp), %rsi
movq %r12, %rdi
callq 0x86b8
movl $0x138, %r14d           # imm = 0x138
leaq (%rsp,%r14), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %r14
cmpq $-0x18, %r14
jne 0x5b1d
movq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x3762
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
callq 0x24a3
testb %al, %al
je 0x5c04
movq %r12, %rdi
callq 0x21a0
movq %rbx, %rdi
callq 0x21a0
movq %r15, %rdi
callq 0x21a0
movq %r14, %rdi
callq 0x21a0
movq 0x944f(%rip), %rdi      # 0xefd0
leaq 0x3f4f(%rip), %rsi      # 0x9ad7
callq 0x2180
movq %rax, %rdi
callq 0x20e0
addq $0x518, %rsp            # imm = 0x518
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3ea4(%rip), %rdi      # 0x9a52
leaq 0x3eab(%rip), %rsi      # 0x9a60
leaq 0x3edd(%rip), %rcx      # 0x9a99
movl $0x1f2, %edx            # imm = 0x1F2
callq 0x2110
leaq 0x3ee1(%rip), %rdi      # 0x9aae
leaq 0x3e8c(%rip), %rsi      # 0x9a60
leaq 0x3ebe(%rip), %rcx      # 0x9a99
movl $0x212, %edx            # imm = 0x212
callq 0x2110
leaq 0x3ecf(%rip), %rdi      # 0x9abb
leaq 0x3e6d(%rip), %rsi      # 0x9a60
leaq 0x3e9f(%rip), %rcx      # 0x9a99
movl $0x229, %edx            # imm = 0x229
callq 0x2110
leaq 0x3ebe(%rip), %rdi      # 0x9ac9
leaq 0x3e4e(%rip), %rsi      # 0x9a60
leaq 0x3e80(%rip), %rcx      # 0x9a99
movl $0x26b, %edx            # imm = 0x26B
callq 0x2110
movq %rax, 0x28(%rsp)
movl $0x138, %ebx            # imm = 0x138
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5c2d
movb $0x1, %al
jmp 0x5c67
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
jmp 0x5c60
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq %rbp, %r13
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
addq $-0x18, %rbp
movq %rbp, %rdi
callq 0x8634
cmpq %r13, %rbp
jne 0x5c7d
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
movl $0x138, %ebx            # imm = 0x138
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5ca2
movb $0x1, %al
jmp 0x5cdc
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
jmp 0x5cd5
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq %rbp, %r13
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
addq $-0x18, %rbp
movq %rbp, %rdi
callq 0x8634
cmpq %r13, %rbp
jne 0x5cf2
jmp 0x6051
jmp 0x604c
movq %r14, 0x40(%rsp)
movq %rax, 0x28(%rsp)
movl $0x138, %ebx            # imm = 0x138
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5d1c
movb $0x1, %al
jmp 0x5d4b
jmp 0x5d3f
jmp 0x5d3f
jmp 0x5d3f
jmp 0x5d3f
movq %r14, 0x40(%rsp)
movq %rax, 0x28(%rsp)
xorl %eax, %eax
movq 0x40(%rsp), %rbp
jmp 0x5d61
jmp 0x5d44
jmp 0x5d5a
jmp 0x5d5a
jmp 0x5d5a
movq %rax, 0x28(%rsp)
xorl %eax, %eax
movq %rbp, %r14
jmp 0x5d71
jmp 0x5d6a
jmp 0x5d6a
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq %r14, %r13
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
addq $-0x18, %r14
movq %r14, %rdi
callq 0x8634
cmpq %r13, %r14
jne 0x5d87
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x48
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5daa
jmp 0x6051
jmp 0x5dca
jmp 0x5dca
movq %rax, 0x28(%rsp)
addq $-0x18, %rbx
movq %rbx, %rdi
callq 0x8634
cmpq %rbp, %rbx
jne 0x5dcf
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x48
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5df2
jmp 0x6051
jmp 0x5e12
jmp 0x5e12
movq %rax, 0x28(%rsp)
addq $-0x18, %rbx
movq %rbx, %rdi
callq 0x8634
cmpq %rbp, %rbx
jne 0x5e17
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x48
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5e3a
jmp 0x6051
jmp 0x5e5a
jmp 0x5e5a
movq %rax, 0x28(%rsp)
addq $-0x18, %r14
movq %r14, %rdi
callq 0x8634
cmpq %r15, %r14
jne 0x5e5f
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5e84
movb $0x1, %al
jmp 0x5eb2
jmp 0x5eab
jmp 0x5eab
jmp 0x5eab
jmp 0x5eab
jmp 0x5eab
jmp 0x5eab
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq %rbp, %r12
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
addq $-0x18, %rbp
movq %rbp, %rdi
callq 0x8634
cmpq %r12, %rbp
jne 0x5ec8
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5eed
movb $0x1, %al
jmp 0x5f1b
jmp 0x5f14
jmp 0x5f14
jmp 0x5f14
jmp 0x5f14
jmp 0x5f14
jmp 0x5f14
movq %rax, 0x28(%rsp)
xorl %eax, %eax
leaq 0x50(%rsp), %rcx
cmpq %r12, %rcx
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
leaq 0x50(%rsp), %rbx
addq $-0x18, %r12
movq %r12, %rdi
callq 0x8634
cmpq %rbx, %r12
jne 0x5f3b
jmp 0x6051
jmp 0x604c
movq %rax, 0x28(%rsp)
movl $0xa8, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5f60
movb $0x1, %al
jmp 0x5f8c
jmp 0x5f85
jmp 0x5f85
jmp 0x5f85
jmp 0x5f85
jmp 0x5f85
movq %rax, 0x28(%rsp)
xorl %eax, %eax
movq %rbp, %r12
leaq 0x50(%rsp), %rcx
cmpq %r12, %rcx
sete %cl
testb %al, %al
jne 0x6051
testb %cl, %cl
jne 0x6051
leaq 0x50(%rsp), %rbx
addq $-0x18, %r12
movq %r12, %rdi
callq 0x8634
cmpq %rbx, %r12
jne 0x5faf
jmp 0x6051
movq %rax, 0x28(%rsp)
xorl %eax, %eax
jmp 0x5f8f
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x18
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5fd8
jmp 0x6051
jmp 0x603b
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x18
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x5ffd
jmp 0x6051
jmp 0x603b
jmp 0x604c
movq %rax, 0x28(%rsp)
pushq $0x18
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x8634
addq $-0x18, %rbx
cmpq $-0x18, %rbx
jne 0x6022
jmp 0x6051
movq %rax, 0x28(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x8634
jmp 0x6051
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
callq 0x2270