// File: /workspace/github_cpp_makefile_star2_O1/canzarlab[P]Trajan/src/EditDist.cpp
// Function: PrintMatching(std::vector<std::vector<std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>, std::allocator<std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>>>, std::allocator<std::vector<std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>, std::allocator<std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>>&, std::tuple<int, int, int, int>, bool, std::basic_ofstream<char, std::char_traits<char>>&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
void PrintMatching(vvvvi& BP, vvi& L1, vvi& L2, vvi& T1, vvi& T2, vvi& D1, vvi& D2, i4 r, bool swp, 
                   ofstream& myfile, std::map<string, string> & t1Label2Node, std::map<string, string> & t2Label2Node)
{
    int i, j, k, l;
    tie(i, j, k, l) = r;
    int n = L1.size() - 1, m = L2.size() - 1;
    switch (BP[i][j][k][l])
    {
        case INS_TREE:
            for (int nl = l + 1; nl <= m - k; ++nl)
                cout << (!swp ? "INS " : "DEL ") << L2[k][nl] << '\n';
            break;
        case DEL_TREE:
            for (int nj = j + 1; nj <= n - i; ++nj)
                cout << (!swp ? "DEL " : "INS ") << L1[i][nj] << '\n';
            break;
        case MATCH:
        {
            int xs = L1[i][j + 1], ys = L2[k][l + 1];
            int p = D1[i][j + 1], q = D2[k][l + 1];
            int x = n - p - T1[i][j + 1], y = m - q - T2[k][l + 1];
            cout << "MATCH " << (swp ? ys : xs) << ' ' << (swp ? xs : ys) << '\n';
            myfile << (swp ? t2Label2Node[std::to_string(ys)] : t1Label2Node[std::to_string(xs)]) << ' ' << (swp ? t1Label2Node[std::to_string(xs)] : t2Label2Node[std::to_string(ys)]) << '\n';
            PrintMatching(BP, L1, L2, T1, T2, D1, D2, {i, j + T1[i][j + 1], k, l + T2[k][l + 1]}, swp, myfile, t1Label2Node, t2Label2Node);
            PrintMatching(BP, L1, L2, T1, T2, D1, D2, {p + 1, x, q + 1, y}, swp, myfile, t1Label2Node, t2Label2Node);
            break;
        }
        case DEL_NODE:
            cout << (!swp ? "DEL " : "INS ") << L1[i][j + 1] << '\n';
            PrintMatching(BP, L1, L2, T1, T2, D1, D2, {i, j + 1, k, l}, swp, myfile, t1Label2Node, t2Label2Node);
            break;
        case INS_NODE:
            cout << (!swp ? "INS " : "DEL ") << L2[k][l + 1] << '\n';
            PrintMatching(BP, L1, L2, T1, T2, D1, D2, {i, j, k, l + 1}, swp, myfile, t1Label2Node, t2Label2Node);
            break;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %r8, 0x38(%rsp)
movq %rcx, 0x28(%rsp)
movq %rdx, %r12
movq %rsi, %rbx
movq 0x188(%rsp), %rax
movl 0xc(%rax), %ecx
movl 0x8(%rax), %r11d
movslq %r11d, %r8
movl (%rax), %r15d
movl 0x4(%rax), %ebp
movslq %ecx, %rax
movq (%rdi), %rdx
leaq (%rax,%rax,2), %r13
movq (%rdx,%r13,8), %rsi
leaq (%r8,%r8,2), %rdx
movq (%rsi,%rdx,8), %rdx
movslq %ebp, %r10
leaq (%r10,%r10,2), %rsi
movq (%rdx,%rsi,8), %rdx
movslq %r15d, %r14
movl (%rdx,%r14,4), %edx
addl $0x2, %edx
cmpl $0x4, %edx
ja 0x56b30
movq %rdi, 0x68(%rsp)
movq %r9, 0x70(%rsp)
movl %ebp, 0xc(%rsp)
movq %r14, 0x48(%rsp)
movq %r8, 0x50(%rsp)
movq %rsi, 0x60(%rsp)
movq %r13, 0x40(%rsp)
movb 0x190(%rsp), %r9b
movq (%rbx), %rsi
movq 0x8(%rbx), %rdi
subq %rsi, %rdi
shrq $0x3, %rdi
imull $0xaaaaaaab, %edi, %ebp # imm = 0xAAAAAAAB
decl %ebp
movq (%r12), %rdi
movq 0x8(%r12), %r8
subq %rdi, %r8
shrq $0x3, %r8
imull $0xaaaaaaab, %r8d, %r13d # imm = 0xAAAAAAAB
decl %r13d
leaq 0x1b709(%rip), %r8      # 0x718e0
movslq (%r8,%rdx,4), %rdx
addq %r8, %rdx
movq %rbx, %r14
jmpq *%rdx
subl 0xc(%rsp), %r13d
cmpl %r13d, %r15d
movq %r12, 0x58(%rsp)
movq 0x60(%rsp), %r12
movq 0x48(%rsp), %rbp
jge 0x56b30
leaq 0x1b706(%rip), %rax     # 0x7190d
leaq 0x1b6fa(%rip), %r14     # 0x71908
testb %r9b, %r9b
cmovneq %rax, %r14
movslq %r13d, %r13
movq 0x31da1(%rip), %r15     # 0x87fc0
leaq 0x1(%rbp), %rbx
movl $0x4, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x93a0
movq 0x58(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r12,8), %rax
movl 0x4(%rax,%rbp,4), %esi
movq %r15, %rdi
callq 0x9640
movb $0xa, 0xb0(%rsp)
movl $0x1, %edx
movq %rax, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x93a0
movq %rbx, %rbp
cmpq %r13, %rbx
jl 0x5621f
jmp 0x56b30
leaq 0x1b691(%rip), %rax     # 0x7190d
leaq 0x1b685(%rip), %rsi     # 0x71908
testb %r9b, %r9b
cmovneq %rax, %rsi
movq 0x31d2f(%rip), %r15     # 0x87fc0
movl $0x4, %edx
movq %r15, %rdi
movl %ecx, 0x20(%rsp)
movq %r11, %rbx
callq 0x93a0
movq (%r12), %rax
movq %r14, 0x30(%rsp)
movq 0x48(%rsp), %rdx
movq %rdx, %r14
incq %r14
movq 0x60(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x4(%rax,%rdx,4), %esi
movq %r15, %rdi
movq 0x68(%rsp), %r15
movb 0x190(%rsp), %r13b
movq 0x28(%rsp), %rbp
callq 0x9640
leaq 0xb0(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x93a0
movq %rbx, %rsi
movl 0x20(%rsp), %ecx
movl 0xc(%rsp), %edx
leaq 0x108(%rsp), %rax
movl %r14d, (%rax)
movq 0x30(%rsp), %r14
movq 0x38(%rsp), %r8
movq 0x198(%rsp), %rbx
jmp 0x56af0
movl %r13d, 0x18(%rsp)
movl %ebp, 0x8c(%rsp)
movl %r15d, 0x1c(%rsp)
movq %r11, 0xe0(%rsp)
movl %ecx, 0x20(%rsp)
movq %r12, 0x58(%rsp)
shlq $0x3, %rax
leaq (%rax,%rax,2), %rax
movq (%rsi,%rax), %rdx
movq 0x50(%rsp), %r8
movl 0x4(%rdx,%r8,4), %ebx
shlq $0x3, %r10
leaq (%r10,%r10,2), %rsi
movq (%rdi,%rsi), %rdx
movq 0x48(%rsp), %rdi
movl 0x4(%rdx,%rdi,4), %ebp
movq 0x70(%rsp), %rcx
movq (%rcx), %rdx
movq (%rdx,%rax), %rdx
movl %r9d, %r13d
movl 0x4(%rdx,%r8,4), %r9d
movq 0x180(%rsp), %rdx
movq (%rdx), %rdx
movq (%rdx,%rsi), %rdx
movl 0x4(%rdx,%rdi,4), %r10d
movq 0x28(%rsp), %rcx
movq (%rcx), %rdx
movq (%rdx,%rax), %rax
movl 0x4(%rax,%r8,4), %eax
movl %r9d, 0x88(%rsp)
addl %r9d, %eax
movl %eax, 0x80(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rsi), %rax
movl 0x4(%rax,%rdi,4), %eax
movl %r10d, 0x84(%rsp)
addl %r10d, %eax
movl %eax, 0x7c(%rsp)
movq 0x31bdd(%rip), %r15     # 0x87fc0
leaq 0x1b528(%rip), %rsi     # 0x71912
movl $0x6, %edx
movq %r15, %rdi
callq 0x93a0
testb %r13b, %r13b
movl %ebx, %esi
cmovnel %ebp, %esi
movl %ebp, %r12d
cmovnel %ebx, %r12d
movq %r15, %rdi
callq 0x9640
leaq 0xb0(%rsp), %r15
movb $0x20, (%r15)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x93a0
movq %rax, %rdi
movl %r12d, %esi
callq 0x9640
movb $0xa, (%r15)
leaq 0xb0(%rsp), %rsi
movl $0x1, %edx
movq %rax, %rdi
callq 0x93a0
testb %r13b, %r13b
movq %r14, 0x30(%rsp)
movq %rbp, 0xd0(%rsp)
je 0x56607
movl %ebp, %r15d
negl %r15d
cmovsl %ebp, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x5667c
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x5666d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x56679
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x5667c
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x5648c
addl $-0x3, %r12d
jmp 0x5667c
leaq 0x1b433(%rip), %rax     # 0x71908
leaq 0x1b431(%rip), %rsi     # 0x7190d
testb %r9b, %r9b
cmovneq %rax, %rsi
movl %r15d, 0x1c(%rsp)
movq 0x31ad1(%rip), %r15     # 0x87fc0
movl $0x4, %edx
movq %r15, %rdi
movl %ecx, %ebp
callq 0x93a0
movq (%r14), %rax
movq 0x50(%rsp), %rdx
movq %rdx, %r13
incq %r13
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x4(%rax,%rdx,4), %esi
movq %r15, %rdi
movq 0x28(%rsp), %rbx
callq 0x9640
leaq 0xb0(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x93a0
movq %r13, %rsi
movb 0x190(%rsp), %r13b
movl %ebp, %ecx
movq %rbx, %rbp
movl 0xc(%rsp), %edx
leaq 0x118(%rsp), %rax
movl 0x1c(%rsp), %edi
movl %edi, (%rax)
movq 0x198(%rsp), %rbx
movq 0x68(%rsp), %r15
movq 0x38(%rsp), %r8
jmp 0x56af0
subl %ecx, %ebp
cmpl %ebp, %r11d
movq %r14, 0x30(%rsp)
movq 0x40(%rsp), %r12
movq 0x50(%rsp), %r14
jge 0x56b30
leaq 0x1b370(%rip), %rax     # 0x71908
leaq 0x1b36e(%rip), %rbx     # 0x7190d
testb %r9b, %r9b
cmovneq %rax, %rbx
movslq %ebp, %r13
movq 0x31a10(%rip), %r15     # 0x87fc0
leaq 0x1(%r14), %rbp
movl $0x4, %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x93a0
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq (%rax,%r12,8), %rax
movl 0x4(%rax,%r14,4), %esi
movq %r15, %rdi
callq 0x9640
movb $0xa, 0xb0(%rsp)
movl $0x1, %edx
movq %rax, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x93a0
movq %rbp, %r14
cmpq %r13, %rbp
jl 0x565b0
jmp 0x56b30
movl %ebx, %r15d
negl %r15d
movq %rbx, %rbp
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x566e9
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x56673
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x566e6
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x566e9
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x56632
addl $-0x3, %r12d
jmp 0x566e9
addl $-0x2, %r12d
jmp 0x5667c
addl $-0x2, %r12d
jmp 0x566e9
decl %r12d
movq %rbx, 0x10(%rsp)
shrl $0x1f, %ebp
movl %ebp, %esi
addl %r12d, %esi
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xb0(%rsp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x93b0
movq (%r13), %rdi
addq %rbp, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0xd818
movq 0x1a8(%rsp), %rdi
movq %r13, %rsi
callq 0x58148
movb 0x190(%rsp), %bpl
movl %ebp, %r12d
movq 0x198(%rsp), %rdi
movq 0x10(%rsp), %rbp
jmp 0x5674f
decl %r12d
movl %r13d, %ebx
movl %ebp, %r13d
shrl $0x1f, %r13d
leal (%r12,%r13), %esi
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xe8(%rsp), %rdi
movl $0x2d, %edx
callq 0x93b0
leaq 0xe8(%rsp), %r14
addq (%r14), %r13
movq %r13, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0xd818
movb $0x1, %r13b
xorl %r15d, %r15d
movq 0x1a0(%rsp), %rdi
movq %r14, %rsi
callq 0x58148
movq 0x198(%rsp), %rdi
movl %ebx, %r12d
movl %r12d, %r13d
xorb $0x1, %r13b
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movl %r12d, %r15d
callq 0x93a0
leaq 0x90(%rsp), %rsi
movb $0x20, (%rsi)
movl $0x1, %edx
movl %r12d, %r15d
movq %rax, %rdi
callq 0x93a0
testb %r12b, %r12b
movb %r13b, 0x10(%rsp)
movq %rax, 0xd8(%rsp)
je 0x567f9
movl %ebp, %r15d
negl %r15d
cmovsl %ebp, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x56873
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x56864
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x56870
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x56873
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x567ba
addl $-0x3, %r12d
jmp 0x56873
movq 0xd0(%rsp), %rbx
movl %ebx, %r15d
negl %r15d
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x568d0
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x5686a
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x568cd
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x568d0
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x56829
addl $-0x3, %r12d
jmp 0x568d0
addl $-0x2, %r12d
jmp 0x56873
addl $-0x2, %r12d
jmp 0x568d0
decl %r12d
shrl $0x1f, %ebp
leal (%r12,%rbp), %esi
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x90(%rsp), %rdi
movl $0x2d, %edx
callq 0x93b0
movl %ebp, %edi
leaq 0x90(%rsp), %r13
addq (%r13), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0xd818
movq 0x1a0(%rsp), %rdi
movq %r13, %rsi
callq 0x58148
movq 0x38(%rsp), %r14
movq 0x40(%rsp), %r13
jmp 0x56935
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x90(%rsp), %rdi
movl $0x2d, %edx
callq 0x93b0
movl %ebx, %edi
leaq 0x90(%rsp), %r13
addq (%r13), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0xd818
movb $0x1, %bpl
xorl %ebx, %ebx
movq 0x1a8(%rsp), %rdi
movq %r13, %rsi
movb 0x190(%rsp), %r15b
callq 0x58148
movq 0x38(%rsp), %r14
movq 0x40(%rsp), %r13
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movb 0x190(%rsp), %r15b
movl %r15d, %ebx
movb 0x10(%rsp), %r12b
movl %r12d, %ebp
movq 0xd8(%rsp), %rdi
callq 0x93a0
leaq 0x27(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movl %r15d, %ebx
movl %r12d, %ebp
movq %rax, %rdi
callq 0x93a0
movl 0x18(%rsp), %eax
subl 0x7c(%rsp), %eax
movl %eax, 0x18(%rsp)
leaq 0xa0(%rsp), %rax
testb %r15b, %r15b
je 0x569ce
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x58(%rsp), %r12
movq 0x28(%rsp), %rbp
je 0x569b3
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x9340
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56a12
movq 0xc0(%rsp), %rsi
jmp 0x56a0a
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x58(%rsp), %r12
movq 0x28(%rsp), %rbp
je 0x569f1
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x9340
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56a12
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x9340
movl 0x8c(%rsp), %ebx
subl 0x80(%rsp), %ebx
movq (%rbp), %rax
movq (%rax,%r13,8), %rax
movq 0xe0(%rsp), %rcx
movq 0x50(%rsp), %rdx
addl 0x4(%rax,%rdx,4), %ecx
movq (%r14), %rax
movq 0x60(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movl 0x1c(%rsp), %edx
movq 0x48(%rsp), %rsi
addl 0x4(%rax,%rsi,4), %edx
leaq 0x138(%rsp), %rax
movl %edx, (%rax)
movl 0xc(%rsp), %edx
movl %edx, 0x4(%rax)
movl %ecx, 0x8(%rax)
movl 0x20(%rsp), %ecx
movl %ecx, 0xc(%rax)
movb 0x190(%rsp), %r13b
movzbl %r13b, %r10d
movq 0x68(%rsp), %r15
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
movq %rbp, %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
pushq 0x1a8(%rsp)
pushq 0x1a8(%rsp)
movq 0x1a8(%rsp), %rbp
pushq %rbp
pushq %r10
pushq %rax
pushq 0x1a8(%rsp)
callq 0x56109
addq $0x30, %rsp
movl 0x88(%rsp), %ecx
incl %ecx
movl 0x84(%rsp), %edx
incl %edx
leaq 0x128(%rsp), %rax
movl 0x18(%rsp), %esi
movl %esi, (%rax)
movl %ebx, %esi
movq %rbp, %rbx
movq 0x28(%rsp), %rbp
movq %r14, %r8
movq 0x30(%rsp), %r14
movl %edx, 0x4(%rax)
movl %esi, 0x8(%rax)
movl %ecx, 0xc(%rax)
movzbl %r13b, %r10d
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %rbp, %rcx
movq 0x70(%rsp), %r9
pushq 0x1a8(%rsp)
pushq 0x1a8(%rsp)
pushq %rbx
pushq %r10
pushq %rax
pushq 0x1a8(%rsp)
callq 0x56109
addq $0x30, %rsp
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb 0x190(%rsp), %r15b
movq %rax, %r14
movb $0x1, %bl
jmp 0x56bb9
movb 0x190(%rsp), %r15b
movq %rax, %r14
movb $0x1, %bpl
xorl %ebx, %ebx
jmp 0x56bb6
movb 0x190(%rsp), %r15b
movq %rax, %r14
movb $0x1, %bl
jmp 0x56bde
movq %rax, %r14
movb $0x1, 0x10(%rsp)
xorl %r15d, %r15d
jmp 0x56c12
movq %rax, %r14
movb $0x1, %r15b
jmp 0x56c17
movq %rax, %r14
testb %bpl, %bpl
je 0x56bb6
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56bb6
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x9340
testb %bpl, %bpl
testb %bl, %bl
je 0x56bde
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56bde
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x9340
testb %bl, %bl
jmp 0x56bea
movb %r13b, 0x10(%rsp)
movq %rax, %r14
cmpb $0x0, 0x10(%rsp)
je 0x56c12
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56c12
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x9340
cmpb $0x0, 0x10(%rsp)
testb %r15b, %r15b
je 0x56c29
leaq 0xb0(%rsp), %rdi
callq 0x9c4d
movq %r14, %rdi
callq 0x9670