// File: Merulo[P]CompilerJFTT/src/Calculators/MathOperations.cpp
// Function: MathOperations::generateMultiplication(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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Line)
std::vector<Line> MathOperations::generateMultiplication(std::string registerB, std::string registerC, std::string registerD, Line l)
{
    std::vector<Line> lines;
    std::string labelInCaseOfZero = generateLabel();
    //check if either registerB or registerC is zero.

    lines.push_back({"JZERO", registerB, labelInCaseOfZero});
    lines.push_back({"JZERO", registerC, labelInCaseOfZero});

    //compare so that we multiply by smaller
    lines.push_back({"COPY", registerD, registerC});
    lines.push_back({"COPY", registerD, registerB});
    std::string labelInCaseNoSwapNeeded = generateLabel();

    lines.push_back({"JZERO", registerD, labelInCaseNoSwapNeeded});
    
    //swap
    lines.push_back({"COPY", registerD, registerC});
    lines.push_back({"COPY", registerC, registerB});
    lines.push_back({"COPY", registerB, registerD});

    lines.push_back({labelInCaseNoSwapNeeded});
    lines.push_back({"SUB", registerD, registerD});

    std::string skipOddC = generateLabel();
    std::string mainLoopLabel = generateLabel();

    lines.push_back({mainLoopLabel});
    lines.push_back({"JODD", registerC, skipOddC});

    std::string handleOddC = generateLabel();
    lines.push_back({handleOddC});
    
    lines.push_back({"ADD", registerB, registerB});
    lines.push_back({"HALF", registerC});

    std::string exitLabel = generateLabel();
    lines.push_back({"JZERO", registerC, exitLabel});
    lines.push_back({"JUMP", "",mainLoopLabel});

    lines.push_back({skipOddC});
    lines.push_back({"ADD", registerD, registerB});
    lines.push_back({"JUMP", "", handleOddC});

    //in case this is zero
    lines.push_back({labelInCaseOfZero});
    lines.push_back({"SUB", registerD, registerD});
    lines.push_back({exitLabel});

    return lines;
}

// Assembly:
subq $0x1528, %rsp           # imm = 0x1528
movq %rcx, 0x108(%rsp)
movq %rdx, 0x110(%rsp)
movq %rsi, 0x118(%rsp)
movq %rdi, 0x120(%rsp)
movq %rdi, %rax
movq %rax, 0x128(%rsp)
movq %rdi, 0x1520(%rsp)
movq %rsi, 0x1518(%rsp)
movq %rdx, 0x1510(%rsp)
movq %rcx, 0x1508(%rsp)
movq %r8, 0x1500(%rsp)
movb $0x0, 0x14ff(%rsp)
callq 0xda20
leaq 0x14d8(%rsp), %rdi
callq 0x15910
jmp 0x131c6
leaq 0x143f(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x4600
movq 0x100(%rsp), %rdx
leaq 0x3dfca(%rip), %rsi     # 0x511b4
leaq 0x1440(%rsp), %rdi
callq 0x4f10
jmp 0x131f9
movq 0x118(%rsp), %rsi
leaq 0x1418(%rsp), %rdi
callq 0x4180
jmp 0x13210
leaq 0x13f8(%rsp), %rdi
leaq 0x14d8(%rsp), %rsi
callq 0x4180
jmp 0x13227
leaq 0x1460(%rsp), %rdi
leaq 0x1440(%rsp), %rsi
leaq 0x1418(%rsp), %rdx
leaq 0x13f8(%rsp), %rcx
callq 0xd3b0
jmp 0x1324e
movq 0x120(%rsp), %rdi
leaq 0x1460(%rsp), %rsi
callq 0xd380
jmp 0x13265
leaq 0x1460(%rsp), %rdi
callq 0xd490
leaq 0x13f8(%rsp), %rdi
callq 0x46e8
leaq 0x1418(%rsp), %rdi
callq 0x46e8
leaq 0x1440(%rsp), %rdi
callq 0x46e8
leaq 0x143f(%rsp), %rdi
callq 0x43b0
leaq 0x136f(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x4600
movq 0xf8(%rsp), %rdx
leaq 0x3deea(%rip), %rsi     # 0x511b4
leaq 0x1370(%rsp), %rdi
callq 0x4f10
jmp 0x132d9
movq 0x110(%rsp), %rsi
leaq 0x1348(%rsp), %rdi
callq 0x4180
jmp 0x132f0
leaq 0x1328(%rsp), %rdi
leaq 0x14d8(%rsp), %rsi
callq 0x4180
jmp 0x13307
leaq 0x1390(%rsp), %rdi
leaq 0x1370(%rsp), %rsi
leaq 0x1348(%rsp), %rdx
leaq 0x1328(%rsp), %rcx
callq 0xd3b0
jmp 0x1332e
movq 0x120(%rsp), %rdi
leaq 0x1390(%rsp), %rsi
callq 0xd380
jmp 0x13345
leaq 0x1390(%rsp), %rdi
callq 0xd490
leaq 0x1328(%rsp), %rdi
callq 0x46e8
leaq 0x1348(%rsp), %rdi
callq 0x46e8
leaq 0x1370(%rsp), %rdi
callq 0x46e8
leaq 0x136f(%rsp), %rdi
callq 0x43b0
leaq 0x129f(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x4600
movq 0xf0(%rsp), %rdx
leaq 0x3dd53(%rip), %rsi     # 0x510fd
leaq 0x12a0(%rsp), %rdi
callq 0x4f10
jmp 0x133b9
movq 0x108(%rsp), %rsi
leaq 0x1278(%rsp), %rdi
callq 0x4180
jmp 0x133d0
movq 0x110(%rsp), %rsi
leaq 0x1258(%rsp), %rdi
callq 0x4180
jmp 0x133e7
leaq 0x12c0(%rsp), %rdi
leaq 0x12a0(%rsp), %rsi
leaq 0x1278(%rsp), %rdx
leaq 0x1258(%rsp), %rcx
callq 0xd3b0
jmp 0x1340e
movq 0x120(%rsp), %rdi
leaq 0x12c0(%rsp), %rsi
callq 0xd380
jmp 0x13425
leaq 0x12c0(%rsp), %rdi
callq 0xd490
leaq 0x1258(%rsp), %rdi
callq 0x46e8
leaq 0x1278(%rsp), %rdi
callq 0x46e8
leaq 0x12a0(%rsp), %rdi
callq 0x46e8
leaq 0x129f(%rsp), %rdi
callq 0x43b0
leaq 0x11cf(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x4600
movq 0xe8(%rsp), %rdx
leaq 0x3dc73(%rip), %rsi     # 0x510fd
leaq 0x11d0(%rsp), %rdi
callq 0x4f10
jmp 0x13499
movq 0x108(%rsp), %rsi
leaq 0x11a8(%rsp), %rdi
callq 0x4180
jmp 0x134b0
movq 0x118(%rsp), %rsi
leaq 0x1188(%rsp), %rdi
callq 0x4180
jmp 0x134c7
leaq 0x11f0(%rsp), %rdi
leaq 0x11d0(%rsp), %rsi
leaq 0x11a8(%rsp), %rdx
leaq 0x1188(%rsp), %rcx
callq 0xd3b0
jmp 0x134ee
movq 0x120(%rsp), %rdi
leaq 0x11f0(%rsp), %rsi
callq 0xd380
jmp 0x13505
leaq 0x11f0(%rsp), %rdi
callq 0xd490
leaq 0x1188(%rsp), %rdi
callq 0x46e8
leaq 0x11a8(%rsp), %rdi
callq 0x46e8
leaq 0x11d0(%rsp), %rdi
callq 0x46e8
leaq 0x11cf(%rsp), %rdi
callq 0x43b0
leaq 0x1168(%rsp), %rdi
callq 0x15910
jmp 0x13555
leaq 0x10df(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x4600
movq 0xe0(%rsp), %rdx
leaq 0x3dc3b(%rip), %rsi     # 0x511b4
leaq 0x10e0(%rsp), %rdi
callq 0x4f10
jmp 0x13588
movq 0x108(%rsp), %rsi
leaq 0x10b8(%rsp), %rdi
callq 0x4180
jmp 0x1359f
leaq 0x1098(%rsp), %rdi
leaq 0x1168(%rsp), %rsi
callq 0x4180
jmp 0x135b6
leaq 0x1100(%rsp), %rdi
leaq 0x10e0(%rsp), %rsi
leaq 0x10b8(%rsp), %rdx
leaq 0x1098(%rsp), %rcx
callq 0xd3b0
jmp 0x135dd
movq 0x120(%rsp), %rdi
leaq 0x1100(%rsp), %rsi
callq 0xd380
jmp 0x135f4
leaq 0x1100(%rsp), %rdi
callq 0xd490
leaq 0x1098(%rsp), %rdi
callq 0x46e8
leaq 0x10b8(%rsp), %rdi
callq 0x46e8
leaq 0x10e0(%rsp), %rdi
callq 0x46e8
leaq 0x10df(%rsp), %rdi
callq 0x43b0
leaq 0x100f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x4600
movq 0xd8(%rsp), %rdx
leaq 0x3daa4(%rip), %rsi     # 0x510fd
leaq 0x1010(%rsp), %rdi
callq 0x4f10
jmp 0x13668
movq 0x108(%rsp), %rsi
leaq 0xfe8(%rsp), %rdi
callq 0x4180
jmp 0x1367f
movq 0x110(%rsp), %rsi
leaq 0xfc8(%rsp), %rdi
callq 0x4180
jmp 0x13696
leaq 0x1030(%rsp), %rdi
leaq 0x1010(%rsp), %rsi
leaq 0xfe8(%rsp), %rdx
leaq 0xfc8(%rsp), %rcx
callq 0xd3b0
jmp 0x136bd
movq 0x120(%rsp), %rdi
leaq 0x1030(%rsp), %rsi
callq 0xd380
jmp 0x136d4
leaq 0x1030(%rsp), %rdi
callq 0xd490
leaq 0xfc8(%rsp), %rdi
callq 0x46e8
leaq 0xfe8(%rsp), %rdi
callq 0x46e8
leaq 0x1010(%rsp), %rdi
callq 0x46e8
leaq 0x100f(%rsp), %rdi
callq 0x43b0
leaq 0xf3f(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x4600
movq 0xd0(%rsp), %rdx
leaq 0x3d9c4(%rip), %rsi     # 0x510fd
leaq 0xf40(%rsp), %rdi
callq 0x4f10
jmp 0x13748
movq 0x110(%rsp), %rsi
leaq 0xf18(%rsp), %rdi
callq 0x4180
jmp 0x1375f
movq 0x118(%rsp), %rsi
leaq 0xef8(%rsp), %rdi
callq 0x4180
jmp 0x13776
leaq 0xf60(%rsp), %rdi
leaq 0xf40(%rsp), %rsi
leaq 0xf18(%rsp), %rdx
leaq 0xef8(%rsp), %rcx
callq 0xd3b0
jmp 0x1379d
movq 0x120(%rsp), %rdi
leaq 0xf60(%rsp), %rsi
callq 0xd380
jmp 0x137b4
leaq 0xf60(%rsp), %rdi
callq 0xd490
leaq 0xef8(%rsp), %rdi
callq 0x46e8
leaq 0xf18(%rsp), %rdi
callq 0x46e8
leaq 0xf40(%rsp), %rdi
callq 0x46e8
leaq 0xf3f(%rsp), %rdi
callq 0x43b0
leaq 0xe6f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x4600
movq 0xc8(%rsp), %rdx
leaq 0x3d8e4(%rip), %rsi     # 0x510fd
leaq 0xe70(%rsp), %rdi
callq 0x4f10
jmp 0x13828
movq 0x118(%rsp), %rsi
leaq 0xe48(%rsp), %rdi
callq 0x4180
jmp 0x1383f
movq 0x108(%rsp), %rsi
leaq 0xe28(%rsp), %rdi
callq 0x4180
jmp 0x13856
leaq 0xe90(%rsp), %rdi
leaq 0xe70(%rsp), %rsi
leaq 0xe48(%rsp), %rdx
leaq 0xe28(%rsp), %rcx
callq 0xd3b0
jmp 0x1387d
movq 0x120(%rsp), %rdi
leaq 0xe90(%rsp), %rsi
callq 0xd380
jmp 0x13894
leaq 0xe90(%rsp), %rdi
callq 0xd490
leaq 0xe28(%rsp), %rdi
callq 0x46e8
leaq 0xe48(%rsp), %rdi
callq 0x46e8
leaq 0xe70(%rsp), %rdi
callq 0x46e8
leaq 0xe6f(%rsp), %rdi
callq 0x43b0
leaq 0xda0(%rsp), %rdi
leaq 0x1168(%rsp), %rsi
callq 0x4180
jmp 0x138ec
leaq 0xd7f(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x4600
movq 0xc0(%rsp), %rdx
leaq 0x3d80b(%rip), %rsi     # 0x5111b
leaq 0xd80(%rsp), %rdi
callq 0x4f10
jmp 0x1391f
leaq 0xd57(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x4600
movq 0xb8(%rsp), %rdx
leaq 0x3d7d8(%rip), %rsi     # 0x5111b
leaq 0xd58(%rsp), %rdi
callq 0x4f10
jmp 0x13952
leaq 0xdc0(%rsp), %rdi
leaq 0xda0(%rsp), %rsi
leaq 0xd80(%rsp), %rdx
leaq 0xd58(%rsp), %rcx
callq 0xd3b0
jmp 0x13979
movq 0x120(%rsp), %rdi
leaq 0xdc0(%rsp), %rsi
callq 0xd380
jmp 0x13990
leaq 0xdc0(%rsp), %rdi
callq 0xd490
leaq 0xd58(%rsp), %rdi
callq 0x46e8
leaq 0xd57(%rsp), %rdi
callq 0x43b0
leaq 0xd80(%rsp), %rdi
callq 0x46e8
leaq 0xd7f(%rsp), %rdi
callq 0x43b0
leaq 0xda0(%rsp), %rdi
callq 0x46e8
leaq 0xcc7(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x4600
movq 0xb0(%rsp), %rdx
leaq 0x3d6cc(%rip), %rsi     # 0x510ce
leaq 0xcc8(%rsp), %rdi
callq 0x4f10
jmp 0x13a11
movq 0x108(%rsp), %rsi
leaq 0xca0(%rsp), %rdi
callq 0x4180
jmp 0x13a28
movq 0x108(%rsp), %rsi
leaq 0xc80(%rsp), %rdi
callq 0x4180
jmp 0x13a3f
leaq 0xce8(%rsp), %rdi
leaq 0xcc8(%rsp), %rsi
leaq 0xca0(%rsp), %rdx
leaq 0xc80(%rsp), %rcx
callq 0xd3b0
jmp 0x13a66
movq 0x120(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0xd380
jmp 0x13a7d
leaq 0xce8(%rsp), %rdi
callq 0xd490
leaq 0xc80(%rsp), %rdi
callq 0x46e8
leaq 0xca0(%rsp), %rdi
callq 0x46e8
leaq 0xcc8(%rsp), %rdi
callq 0x46e8
leaq 0xcc7(%rsp), %rdi
callq 0x43b0
leaq 0xc60(%rsp), %rdi
callq 0x15910
jmp 0x13acd
leaq 0xc40(%rsp), %rdi
callq 0x15910
jmp 0x13adc
leaq 0xbb8(%rsp), %rdi
leaq 0xc40(%rsp), %rsi
callq 0x4180
jmp 0x13af3
leaq 0xb97(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x4600
movq 0xa8(%rsp), %rdx
leaq 0x3d604(%rip), %rsi     # 0x5111b
leaq 0xb98(%rsp), %rdi
callq 0x4f10
jmp 0x13b26
leaq 0xb6f(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x4600
movq 0xa0(%rsp), %rdx
leaq 0x3d5d1(%rip), %rsi     # 0x5111b
leaq 0xb70(%rsp), %rdi
callq 0x4f10
jmp 0x13b59
leaq 0xbd8(%rsp), %rdi
leaq 0xbb8(%rsp), %rsi
leaq 0xb98(%rsp), %rdx
leaq 0xb70(%rsp), %rcx
callq 0xd3b0
jmp 0x13b80
movq 0x120(%rsp), %rdi
leaq 0xbd8(%rsp), %rsi
callq 0xd380
jmp 0x13b97
leaq 0xbd8(%rsp), %rdi
callq 0xd490
leaq 0xb70(%rsp), %rdi
callq 0x46e8
leaq 0xb6f(%rsp), %rdi
callq 0x43b0
leaq 0xb98(%rsp), %rdi
callq 0x46e8
leaq 0xb97(%rsp), %rdi
callq 0x43b0
leaq 0xbb8(%rsp), %rdi
callq 0x46e8
leaq 0xadf(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x4600
movq 0x98(%rsp), %rdx
leaq 0x3d5b1(%rip), %rsi     # 0x511ba
leaq 0xae0(%rsp), %rdi
callq 0x4f10
jmp 0x13c18
movq 0x110(%rsp), %rsi
leaq 0xab8(%rsp), %rdi
callq 0x4180
jmp 0x13c2f
leaq 0xa98(%rsp), %rdi
leaq 0xc60(%rsp), %rsi
callq 0x4180
jmp 0x13c46
leaq 0xb00(%rsp), %rdi
leaq 0xae0(%rsp), %rsi
leaq 0xab8(%rsp), %rdx
leaq 0xa98(%rsp), %rcx
callq 0xd3b0
jmp 0x13c6d
movq 0x120(%rsp), %rdi
leaq 0xb00(%rsp), %rsi
callq 0xd380
jmp 0x13c84
leaq 0xb00(%rsp), %rdi
callq 0xd490
leaq 0xa98(%rsp), %rdi
callq 0x46e8
leaq 0xab8(%rsp), %rdi
callq 0x46e8
leaq 0xae0(%rsp), %rdi
callq 0x46e8
leaq 0xadf(%rsp), %rdi
callq 0x43b0
leaq 0xa78(%rsp), %rdi
callq 0x15910
jmp 0x13cd4
leaq 0x9f0(%rsp), %rdi
leaq 0xa78(%rsp), %rsi
callq 0x4180
jmp 0x13ceb
leaq 0x9cf(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x4600
movq 0x90(%rsp), %rdx
leaq 0x3d40c(%rip), %rsi     # 0x5111b
leaq 0x9d0(%rsp), %rdi
callq 0x4f10
jmp 0x13d1e
leaq 0x9a7(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x4600
movq 0x88(%rsp), %rdx
leaq 0x3d3d9(%rip), %rsi     # 0x5111b
leaq 0x9a8(%rsp), %rdi
callq 0x4f10
jmp 0x13d51
leaq 0xa10(%rsp), %rdi
leaq 0x9f0(%rsp), %rsi
leaq 0x9d0(%rsp), %rdx
leaq 0x9a8(%rsp), %rcx
callq 0xd3b0
jmp 0x13d78
movq 0x120(%rsp), %rdi
leaq 0xa10(%rsp), %rsi
callq 0xd380
jmp 0x13d8f
leaq 0xa10(%rsp), %rdi
callq 0xd490
leaq 0x9a8(%rsp), %rdi
callq 0x46e8
leaq 0x9a7(%rsp), %rdi
callq 0x43b0
leaq 0x9d0(%rsp), %rdi
callq 0x46e8
leaq 0x9cf(%rsp), %rdi
callq 0x43b0
leaq 0x9f0(%rsp), %rdi
callq 0x46e8
leaq 0x917(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x4600
movq 0x80(%rsp), %rdx
leaq 0x3d2d9(%rip), %rsi     # 0x510da
leaq 0x918(%rsp), %rdi
callq 0x4f10
jmp 0x13e10
movq 0x118(%rsp), %rsi
leaq 0x8f0(%rsp), %rdi
callq 0x4180
jmp 0x13e27
movq 0x118(%rsp), %rsi
leaq 0x8d0(%rsp), %rdi
callq 0x4180
jmp 0x13e3e
leaq 0x938(%rsp), %rdi
leaq 0x918(%rsp), %rsi
leaq 0x8f0(%rsp), %rdx
leaq 0x8d0(%rsp), %rcx
callq 0xd3b0
jmp 0x13e65
movq 0x120(%rsp), %rdi
leaq 0x938(%rsp), %rsi
callq 0xd380
jmp 0x13e7c
leaq 0x938(%rsp), %rdi
callq 0xd490
leaq 0x8d0(%rsp), %rdi
callq 0x46e8
leaq 0x8f0(%rsp), %rdi
callq 0x46e8
leaq 0x918(%rsp), %rdi
callq 0x46e8
leaq 0x917(%rsp), %rdi
callq 0x43b0
leaq 0x847(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x4600
movq 0x78(%rsp), %rdx
leaq 0x3d2e4(%rip), %rsi     # 0x511bf
leaq 0x848(%rsp), %rdi
callq 0x4f10
jmp 0x13eea
movq 0x110(%rsp), %rsi
leaq 0x820(%rsp), %rdi
callq 0x4180
jmp 0x13f01
leaq 0x7ff(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x4600
movq 0x70(%rsp), %rdx
leaq 0x3d1fc(%rip), %rsi     # 0x5111b
leaq 0x800(%rsp), %rdi
callq 0x4f10
jmp 0x13f2e
leaq 0x868(%rsp), %rdi
leaq 0x848(%rsp), %rsi
leaq 0x820(%rsp), %rdx
leaq 0x800(%rsp), %rcx
callq 0xd3b0
jmp 0x13f55
movq 0x120(%rsp), %rdi
leaq 0x868(%rsp), %rsi
callq 0xd380
jmp 0x13f6c
leaq 0x868(%rsp), %rdi
callq 0xd490
leaq 0x800(%rsp), %rdi
callq 0x46e8
leaq 0x7ff(%rsp), %rdi
callq 0x43b0
leaq 0x820(%rsp), %rdi
callq 0x46e8
leaq 0x848(%rsp), %rdi
callq 0x46e8
leaq 0x847(%rsp), %rdi
callq 0x43b0
leaq 0x7d8(%rsp), %rdi
callq 0x15910
jmp 0x13fc9
leaq 0x74f(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x4600
movq 0x68(%rsp), %rdx
leaq 0x3d1cd(%rip), %rsi     # 0x511b4
leaq 0x750(%rsp), %rdi
callq 0x4f10
jmp 0x13ff6
movq 0x110(%rsp), %rsi
leaq 0x728(%rsp), %rdi
callq 0x4180
jmp 0x1400d
leaq 0x708(%rsp), %rdi
leaq 0x7d8(%rsp), %rsi
callq 0x4180
jmp 0x14024
leaq 0x770(%rsp), %rdi
leaq 0x750(%rsp), %rsi
leaq 0x728(%rsp), %rdx
leaq 0x708(%rsp), %rcx
callq 0xd3b0
jmp 0x1404b
movq 0x120(%rsp), %rdi
leaq 0x770(%rsp), %rsi
callq 0xd380
jmp 0x14062
leaq 0x770(%rsp), %rdi
callq 0xd490
leaq 0x708(%rsp), %rdi
callq 0x46e8
leaq 0x728(%rsp), %rdi
callq 0x46e8
leaq 0x750(%rsp), %rdi
callq 0x46e8
leaq 0x74f(%rsp), %rdi
callq 0x43b0
leaq 0x67f(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x4600
movq 0x60(%rsp), %rdx
leaq 0x3d103(%rip), %rsi     # 0x511c4
leaq 0x680(%rsp), %rdi
callq 0x4f10
jmp 0x140d0
leaq 0x657(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x4600
movq 0x58(%rsp), %rdx
leaq 0x3d02d(%rip), %rsi     # 0x5111b
leaq 0x658(%rsp), %rdi
callq 0x4f10
jmp 0x140fd
leaq 0x630(%rsp), %rdi
leaq 0xc40(%rsp), %rsi
callq 0x4180
jmp 0x14114
leaq 0x6a0(%rsp), %rdi
leaq 0x680(%rsp), %rsi
leaq 0x658(%rsp), %rdx
leaq 0x630(%rsp), %rcx
callq 0xd3b0
jmp 0x1413b
movq 0x120(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
callq 0xd380
jmp 0x14152
leaq 0x6a0(%rsp), %rdi
callq 0xd490
leaq 0x630(%rsp), %rdi
callq 0x46e8
leaq 0x658(%rsp), %rdi
callq 0x46e8
leaq 0x657(%rsp), %rdi
callq 0x43b0
leaq 0x680(%rsp), %rdi
callq 0x46e8
leaq 0x67f(%rsp), %rdi
callq 0x43b0
leaq 0x5a8(%rsp), %rdi
leaq 0xc60(%rsp), %rsi
callq 0x4180
jmp 0x141b7
leaq 0x587(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x4600
movq 0x50(%rsp), %rdx
leaq 0x3cf46(%rip), %rsi     # 0x5111b
leaq 0x588(%rsp), %rdi
callq 0x4f10
jmp 0x141e4
leaq 0x55f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x4600
movq 0x48(%rsp), %rdx
leaq 0x3cf19(%rip), %rsi     # 0x5111b
leaq 0x560(%rsp), %rdi
callq 0x4f10
jmp 0x14211
leaq 0x5c8(%rsp), %rdi
leaq 0x5a8(%rsp), %rsi
leaq 0x588(%rsp), %rdx
leaq 0x560(%rsp), %rcx
callq 0xd3b0
jmp 0x14238
movq 0x120(%rsp), %rdi
leaq 0x5c8(%rsp), %rsi
callq 0xd380
jmp 0x1424f
leaq 0x5c8(%rsp), %rdi
callq 0xd490
leaq 0x560(%rsp), %rdi
callq 0x46e8
leaq 0x55f(%rsp), %rdi
callq 0x43b0
leaq 0x588(%rsp), %rdi
callq 0x46e8
leaq 0x587(%rsp), %rdi
callq 0x43b0
leaq 0x5a8(%rsp), %rdi
callq 0x46e8
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x4600
movq 0x40(%rsp), %rdx
leaq 0x3ce1f(%rip), %rsi     # 0x510da
leaq 0x4d0(%rsp), %rdi
callq 0x4f10
jmp 0x142ca
movq 0x108(%rsp), %rsi
leaq 0x4a8(%rsp), %rdi
callq 0x4180
jmp 0x142e1
movq 0x118(%rsp), %rsi
leaq 0x488(%rsp), %rdi
callq 0x4180
jmp 0x142f8
leaq 0x4f0(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
leaq 0x4a8(%rsp), %rdx
leaq 0x488(%rsp), %rcx
callq 0xd3b0
jmp 0x1431f
movq 0x120(%rsp), %rdi
leaq 0x4f0(%rsp), %rsi
callq 0xd380
jmp 0x14336
leaq 0x4f0(%rsp), %rdi
callq 0xd490
leaq 0x488(%rsp), %rdi
callq 0x46e8
leaq 0x4a8(%rsp), %rdi
callq 0x46e8
leaq 0x4d0(%rsp), %rdi
callq 0x46e8
leaq 0x4cf(%rsp), %rdi
callq 0x43b0
leaq 0x3ff(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x4600
movq 0x38(%rsp), %rdx
leaq 0x3ce2f(%rip), %rsi     # 0x511c4
leaq 0x400(%rsp), %rdi
callq 0x4f10
jmp 0x143a4
leaq 0x3d7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x4600
movq 0x30(%rsp), %rdx
leaq 0x3cd59(%rip), %rsi     # 0x5111b
leaq 0x3d8(%rsp), %rdi
callq 0x4f10
jmp 0x143d1
leaq 0x3b0(%rsp), %rdi
leaq 0xa78(%rsp), %rsi
callq 0x4180
jmp 0x143e8
leaq 0x420(%rsp), %rdi
leaq 0x400(%rsp), %rsi
leaq 0x3d8(%rsp), %rdx
leaq 0x3b0(%rsp), %rcx
callq 0xd3b0
jmp 0x1440f
movq 0x120(%rsp), %rdi
leaq 0x420(%rsp), %rsi
callq 0xd380
jmp 0x14426
leaq 0x420(%rsp), %rdi
callq 0xd490
leaq 0x3b0(%rsp), %rdi
callq 0x46e8
leaq 0x3d8(%rsp), %rdi
callq 0x46e8
leaq 0x3d7(%rsp), %rdi
callq 0x43b0
leaq 0x400(%rsp), %rdi
callq 0x46e8
leaq 0x3ff(%rsp), %rdi
callq 0x43b0
leaq 0x328(%rsp), %rdi
leaq 0x14d8(%rsp), %rsi
callq 0x4180
jmp 0x1448b
leaq 0x307(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x4600
movq 0x28(%rsp), %rdx
leaq 0x3cc72(%rip), %rsi     # 0x5111b
leaq 0x308(%rsp), %rdi
callq 0x4f10
jmp 0x144b8
leaq 0x2df(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x4600
movq 0x20(%rsp), %rdx
leaq 0x3cc45(%rip), %rsi     # 0x5111b
leaq 0x2e0(%rsp), %rdi
callq 0x4f10
jmp 0x144e5
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
leaq 0x308(%rsp), %rdx
leaq 0x2e0(%rsp), %rcx
callq 0xd3b0
jmp 0x1450c
movq 0x120(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0xd380
jmp 0x14523
leaq 0x348(%rsp), %rdi
callq 0xd490
leaq 0x2e0(%rsp), %rdi
callq 0x46e8
leaq 0x2df(%rsp), %rdi
callq 0x43b0
leaq 0x308(%rsp), %rdi
callq 0x46e8
leaq 0x307(%rsp), %rdi
callq 0x43b0
leaq 0x328(%rsp), %rdi
callq 0x46e8
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x4600
movq 0x18(%rsp), %rdx
leaq 0x3cb3f(%rip), %rsi     # 0x510ce
leaq 0x250(%rsp), %rdi
callq 0x4f10
jmp 0x1459e
movq 0x108(%rsp), %rsi
leaq 0x228(%rsp), %rdi
callq 0x4180
jmp 0x145b5
movq 0x108(%rsp), %rsi
leaq 0x208(%rsp), %rdi
callq 0x4180
jmp 0x145cc
leaq 0x270(%rsp), %rdi
leaq 0x250(%rsp), %rsi
leaq 0x228(%rsp), %rdx
leaq 0x208(%rsp), %rcx
callq 0xd3b0
jmp 0x145f3
movq 0x120(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0xd380
jmp 0x1460a
leaq 0x270(%rsp), %rdi
callq 0xd490
leaq 0x208(%rsp), %rdi
callq 0x46e8
leaq 0x228(%rsp), %rdi
callq 0x46e8
leaq 0x250(%rsp), %rdi
callq 0x46e8
leaq 0x24f(%rsp), %rdi
callq 0x43b0
leaq 0x180(%rsp), %rdi
leaq 0x7d8(%rsp), %rsi
callq 0x4180
jmp 0x14662
leaq 0x15f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x4600
movq 0x10(%rsp), %rdx
leaq 0x3ca9b(%rip), %rsi     # 0x5111b
leaq 0x160(%rsp), %rdi
callq 0x4f10
jmp 0x1468f
leaq 0x137(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x4600
movq 0x8(%rsp), %rdx
leaq 0x3ca6e(%rip), %rsi     # 0x5111b
leaq 0x138(%rsp), %rdi
callq 0x4f10
jmp 0x146bc
leaq 0x1a0(%rsp), %rdi
leaq 0x180(%rsp), %rsi
leaq 0x160(%rsp), %rdx
leaq 0x138(%rsp), %rcx
callq 0xd3b0
jmp 0x146e3
movq 0x120(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0xd380
jmp 0x146fa
leaq 0x1a0(%rsp), %rdi
callq 0xd490
leaq 0x138(%rsp), %rdi
callq 0x46e8
leaq 0x137(%rsp), %rdi
callq 0x43b0
leaq 0x160(%rsp), %rdi
callq 0x46e8
leaq 0x15f(%rsp), %rdi
callq 0x43b0
leaq 0x180(%rsp), %rdi
callq 0x46e8
movb $0x1, 0x14ff(%rsp)
leaq 0x7d8(%rsp), %rdi
callq 0x46e8
leaq 0xa78(%rsp), %rdi
callq 0x46e8
leaq 0xc40(%rsp), %rdi
callq 0x46e8
leaq 0xc60(%rsp), %rdi
callq 0x46e8
leaq 0x1168(%rsp), %rdi
callq 0x46e8
leaq 0x14d8(%rsp), %rdi
callq 0x46e8
testb $0x1, 0x14ff(%rsp)
jne 0x158da
jmp 0x158cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x158ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1486d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14853
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14846
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x1460(%rsp), %rdi
callq 0xd490
leaq 0x13f8(%rsp), %rdi
callq 0x46e8
leaq 0x1418(%rsp), %rdi
callq 0x46e8
leaq 0x1440(%rsp), %rdi
callq 0x46e8
leaq 0x143f(%rsp), %rdi
callq 0x43b0
jmp 0x158be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14922
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14915
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14908
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x148fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x1390(%rsp), %rdi
callq 0xd490
leaq 0x1328(%rsp), %rdi
callq 0x46e8
leaq 0x1348(%rsp), %rdi
callq 0x46e8
leaq 0x1370(%rsp), %rdi
callq 0x46e8
leaq 0x136f(%rsp), %rdi
callq 0x43b0
jmp 0x158be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x149d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x149ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x149bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x149b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x12c0(%rsp), %rdi
callq 0xd490
leaq 0x1258(%rsp), %rdi
callq 0x46e8
leaq 0x1278(%rsp), %rdi
callq 0x46e8
leaq 0x12a0(%rsp), %rdi
callq 0x46e8
leaq 0x129f(%rsp), %rdi
callq 0x43b0
jmp 0x158be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14a8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14a7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14a72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14a65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x11f0(%rsp), %rdi
callq 0xd490
leaq 0x1188(%rsp), %rdi
callq 0x46e8
leaq 0x11a8(%rsp), %rdi
callq 0x46e8
leaq 0x11d0(%rsp), %rdi
callq 0x46e8
leaq 0x11cf(%rsp), %rdi
callq 0x43b0
jmp 0x158be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x158be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14b5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14b4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14b40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14b33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x1100(%rsp), %rdi
callq 0xd490
leaq 0x1098(%rsp), %rdi
callq 0x46e8
leaq 0x10b8(%rsp), %rdi
callq 0x46e8
leaq 0x10e0(%rsp), %rdi
callq 0x46e8
leaq 0x10df(%rsp), %rdi
callq 0x43b0
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14c0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14c02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14bf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14be8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x1030(%rsp), %rdi
callq 0xd490
leaq 0xfc8(%rsp), %rdi
callq 0x46e8
leaq 0xfe8(%rsp), %rdi
callq 0x46e8
leaq 0x1010(%rsp), %rdi
callq 0x46e8
leaq 0x100f(%rsp), %rdi
callq 0x43b0
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14cc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14cb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14caa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14c9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xf60(%rsp), %rdi
callq 0xd490
leaq 0xef8(%rsp), %rdi
callq 0x46e8
leaq 0xf18(%rsp), %rdi
callq 0x46e8
leaq 0xf40(%rsp), %rdi
callq 0x46e8
leaq 0xf3f(%rsp), %rdi
callq 0x43b0
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14d79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14d6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14d5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14d52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xe90(%rsp), %rdi
callq 0xd490
leaq 0xe28(%rsp), %rdi
callq 0x46e8
leaq 0xe48(%rsp), %rdi
callq 0x46e8
leaq 0xe70(%rsp), %rdi
callq 0x46e8
leaq 0xe6f(%rsp), %rdi
callq 0x43b0
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14e2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14e14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xdc0(%rsp), %rdi
callq 0xd490
leaq 0xd58(%rsp), %rdi
callq 0x46e8
leaq 0xd57(%rsp), %rdi
callq 0x43b0
leaq 0xd80(%rsp), %rdi
callq 0x46e8
leaq 0xd7f(%rsp), %rdi
callq 0x43b0
leaq 0xda0(%rsp), %rdi
callq 0x46e8
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14ef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14ee3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14ed6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14ec9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xce8(%rsp), %rdi
callq 0xd490
leaq 0xc80(%rsp), %rdi
callq 0x46e8
leaq 0xca0(%rsp), %rdi
callq 0x46e8
leaq 0xcc8(%rsp), %rdi
callq 0x46e8
leaq 0xcc7(%rsp), %rdi
callq 0x43b0
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x158a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15897
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14fbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14fa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x14f97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xbd8(%rsp), %rdi
callq 0xd490
leaq 0xb70(%rsp), %rdi
callq 0x46e8
leaq 0xb6f(%rsp), %rdi
callq 0x43b0
leaq 0xb98(%rsp), %rdi
callq 0x46e8
leaq 0xb97(%rsp), %rdi
callq 0x43b0
leaq 0xbb8(%rsp), %rdi
callq 0x46e8
jmp 0x15897
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15066
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15059
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xb00(%rsp), %rdi
callq 0xd490
leaq 0xa98(%rsp), %rdi
callq 0x46e8
leaq 0xab8(%rsp), %rdi
callq 0x46e8
leaq 0xae0(%rsp), %rdi
callq 0x46e8
leaq 0xadf(%rsp), %rdi
callq 0x43b0
jmp 0x15897
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1588a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15135
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1511b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1510e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0xa10(%rsp), %rdi
callq 0xd490
leaq 0x9a8(%rsp), %rdi
callq 0x46e8
leaq 0x9a7(%rsp), %rdi
callq 0x43b0
leaq 0x9d0(%rsp), %rdi
callq 0x46e8
leaq 0x9cf(%rsp), %rdi
callq 0x43b0
leaq 0x9f0(%rsp), %rdi
callq 0x46e8
jmp 0x1588a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x151f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x151ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x151dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x151d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x938(%rsp), %rdi
callq 0xd490
leaq 0x8d0(%rsp), %rdi
callq 0x46e8
leaq 0x8f0(%rsp), %rdi
callq 0x46e8
leaq 0x918(%rsp), %rdi
callq 0x46e8
leaq 0x917(%rsp), %rdi
callq 0x43b0
jmp 0x1588a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x152b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x152ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15292
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15285
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x868(%rsp), %rdi
callq 0xd490
leaq 0x800(%rsp), %rdi
callq 0x46e8
leaq 0x7ff(%rsp), %rdi
callq 0x43b0
leaq 0x820(%rsp), %rdi
callq 0x46e8
leaq 0x848(%rsp), %rdi
callq 0x46e8
leaq 0x847(%rsp), %rdi
callq 0x43b0
jmp 0x1588a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1536e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15361
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15354
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15347
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x770(%rsp), %rdi
callq 0xd490
leaq 0x708(%rsp), %rdi
callq 0x46e8
leaq 0x728(%rsp), %rdi
callq 0x46e8
leaq 0x750(%rsp), %rdi
callq 0x46e8
leaq 0x74f(%rsp), %rdi
callq 0x43b0
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15430
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15416
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15409
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x153fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x6a0(%rsp), %rdi
callq 0xd490
leaq 0x630(%rsp), %rdi
callq 0x46e8
leaq 0x658(%rsp), %rdi
callq 0x46e8
leaq 0x657(%rsp), %rdi
callq 0x43b0
leaq 0x680(%rsp), %rdi
callq 0x46e8
leaq 0x67f(%rsp), %rdi
callq 0x43b0
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x154e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x154cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x154be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x5c8(%rsp), %rdi
callq 0xd490
leaq 0x560(%rsp), %rdi
callq 0x46e8
leaq 0x55f(%rsp), %rdi
callq 0x43b0
leaq 0x588(%rsp), %rdi
callq 0x46e8
leaq 0x587(%rsp), %rdi
callq 0x43b0
leaq 0x5a8(%rsp), %rdi
callq 0x46e8
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x155a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1559a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1558d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15580
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x4f0(%rsp), %rdi
callq 0xd490
leaq 0x488(%rsp), %rdi
callq 0x46e8
leaq 0x4a8(%rsp), %rdi
callq 0x46e8
leaq 0x4d0(%rsp), %rdi
callq 0x46e8
leaq 0x4cf(%rsp), %rdi
callq 0x43b0
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15669
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1564f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15642
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15635
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x420(%rsp), %rdi
callq 0xd490
leaq 0x3b0(%rsp), %rdi
callq 0x46e8
leaq 0x3d8(%rsp), %rdi
callq 0x46e8
leaq 0x3d7(%rsp), %rdi
callq 0x43b0
leaq 0x400(%rsp), %rdi
callq 0x46e8
leaq 0x3ff(%rsp), %rdi
callq 0x43b0
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15705
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x156eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x156de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x348(%rsp), %rdi
callq 0xd490
leaq 0x2e0(%rsp), %rdi
callq 0x46e8
leaq 0x2df(%rsp), %rdi
callq 0x43b0
leaq 0x308(%rsp), %rdi
callq 0x46e8
leaq 0x307(%rsp), %rdi
callq 0x43b0
leaq 0x328(%rsp), %rdi
callq 0x46e8
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x157c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x157ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x157ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x157a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x270(%rsp), %rdi
callq 0xd490
leaq 0x208(%rsp), %rdi
callq 0x46e8
leaq 0x228(%rsp), %rdi
callq 0x46e8
leaq 0x250(%rsp), %rdi
callq 0x46e8
leaq 0x24f(%rsp), %rdi
callq 0x43b0
jmp 0x1587d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15863
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x15849
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
jmp 0x1583c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x14d0(%rsp)
movl %eax, 0x14cc(%rsp)
leaq 0x1a0(%rsp), %rdi
callq 0xd490
leaq 0x138(%rsp), %rdi
callq 0x46e8
leaq 0x137(%rsp), %rdi
callq 0x43b0
leaq 0x160(%rsp), %rdi
callq 0x46e8
leaq 0x15f(%rsp), %rdi
callq 0x43b0
leaq 0x180(%rsp), %rdi
callq 0x46e8
leaq 0x7d8(%rsp), %rdi
callq 0x46e8
leaq 0xa78(%rsp), %rdi
callq 0x46e8
leaq 0xc40(%rsp), %rdi
callq 0x46e8
leaq 0xc60(%rsp), %rdi
callq 0x46e8
leaq 0x1168(%rsp), %rdi
callq 0x46e8
leaq 0x14d8(%rsp), %rdi
callq 0x46e8
jmp 0x158ea
movq 0x120(%rsp), %rdi
callq 0xd550
movq 0x128(%rsp), %rax
addq $0x1528, %rsp           # imm = 0x1528
retq
movq 0x120(%rsp), %rdi
callq 0xd550
movq 0x14d0(%rsp), %rdi
callq 0x45f0
nopw %cs:(%rax,%rax)