// File: chuckwolber[P]Cube/test/test_algorithm.cpp
// Function: test_hidden_triples()
void test_hidden_triples() {
    std::cout << "Testing hidden triples... ";
    
    Algorithm alg_1;
    alg_1.addTurn({Layer::B, false});
    alg_1.addTurn({Layer::F, true});
    alg_1.addTurn({Layer::B, true});
    alg_1.addTurn({Layer::B, true});
    assert(!alg_1.hasHiddenTriple());

    Algorithm alg_2;
    alg_2.addTurn({Layer::B, true});
    alg_2.addTurn({Layer::F, true});
    alg_2.addTurn({Layer::B, true});
    alg_2.addTurn({Layer::B, true});
    assert(alg_2.hasHiddenTriple());

    Algorithm alg_3;
    alg_3.addTurn({Layer::B, true});
    alg_3.addTurn({Layer::F, true});
    alg_3.addTurn({Layer::F, true});
    alg_3.addTurn({Layer::B, true});
    alg_3.addTurn({Layer::B, true});
    assert(alg_3.hasHiddenTriple());

    Algorithm alg_4;
    alg_4.addTurn({Layer::B, true});
    alg_4.addTurn({Layer::F, true});
    alg_4.addTurn({Layer::B, true});
    alg_4.addTurn({Layer::F, true});
    alg_4.addTurn({Layer::B, true});
    assert(alg_4.hasHiddenTriple());

    /* 0:1 - X X (Y | Y') X */
    Algorithm alg_5;
    alg_5.addTurn({Layer::U, true});
    alg_5.addTurn({Layer::L, true});
    alg_5.addTurn({Layer::L, true});
    alg_5.addTurn({Layer::R, false});
    alg_5.addTurn({Layer::L, true});
    assert(alg_5.hasHiddenTriple());

    Algorithm alg_6;
    alg_6.addTurn({Layer::U, true});
    alg_6.addTurn({Layer::L, true});
    alg_6.addTurn({Layer::R, true});
    alg_6.addTurn({Layer::R, false});
    alg_6.addTurn({Layer::L, true});
    assert(!alg_6.hasHiddenTriple());

    /* 1:0 - X (Y | Y') X X */
    Algorithm alg_7;
    alg_7.addTurn({Layer::U, true});
    alg_7.addTurn({Layer::R, true});
    alg_7.addTurn({Layer::L, true});
    alg_7.addTurn({Layer::R, true});
    alg_7.addTurn({Layer::R, true});
    assert(alg_7.hasHiddenTriple());

    Algorithm alg_8;
    alg_8.addTurn({Layer::U, true});
    alg_8.addTurn({Layer::R, true});
    alg_8.addTurn({Layer::L, true});
    alg_8.addTurn({Layer::R, false});
    alg_8.addTurn({Layer::R, true});
    assert(!alg_8.hasHiddenTriple());

    /* 0:2 - X X (Y | Y') (Y | Y') X */
    Algorithm alg_9;
    alg_9.addTurn({Layer::U, true});
    alg_9.addTurn({Layer::R, true});
    alg_9.addTurn({Layer::R, true});
    alg_9.addTurn({Layer::L, true});
    alg_9.addTurn({Layer::L, false});
    alg_9.addTurn({Layer::R, true});
    assert(alg_9.hasHiddenTriple());

    Algorithm alg_10;
    alg_10.addTurn({Layer::U, true});
    alg_10.addTurn({Layer::R, true});
    alg_10.addTurn({Layer::R, true});
    alg_10.addTurn({Layer::L, true});
    alg_10.addTurn({Layer::L, false});
    alg_10.addTurn({Layer::R, false});
    assert(!alg_10.hasHiddenTriple());

    /* 1:1 - X (Y | Y') X (Y | Y') X */
    Algorithm alg_11;
    alg_11.addTurn({Layer::U, true});
    alg_11.addTurn({Layer::R, true});
    alg_11.addTurn({Layer::L, true});
    alg_11.addTurn({Layer::R, true});
    alg_11.addTurn({Layer::L, false});
    alg_11.addTurn({Layer::R, true});
    assert(alg_11.hasHiddenTriple());

    Algorithm alg_12;
    alg_12.addTurn({Layer::U, true});
    alg_12.addTurn({Layer::R, true});
    alg_12.addTurn({Layer::L, true});
    alg_12.addTurn({Layer::R, true});
    alg_12.addTurn({Layer::L, false});
    alg_12.addTurn({Layer::R, false});
    assert(!alg_12.hasHiddenTriple());

    /* 2:0 - X (Y | Y') (Y | Y') X X */
    Algorithm alg_13;
    alg_13.addTurn({Layer::U, true});
    alg_13.addTurn({Layer::R, false});
    alg_13.addTurn({Layer::L, false});
    alg_13.addTurn({Layer::L, true});
    alg_13.addTurn({Layer::R, false});
    alg_13.addTurn({Layer::R, false});
    assert(alg_13.hasHiddenTriple());

    Algorithm alg_14;
    alg_14.addTurn({Layer::U, true});
    alg_14.addTurn({Layer::R, true});
    alg_14.addTurn({Layer::L, true});
    alg_14.addTurn({Layer::L, true});
    alg_14.addTurn({Layer::R, false});
    alg_14.addTurn({Layer::R, false});
    assert(!alg_14.hasHiddenTriple());

    /* 1:2 - X (Y | Y') X (Y | Y') (Y | Y') X */
    Algorithm alg_15;
    alg_15.addTurn({Layer::F, true});
    alg_15.addTurn({Layer::D, false});
    alg_15.addTurn({Layer::U, false});
    alg_15.addTurn({Layer::D, false});
    alg_15.addTurn({Layer::U, false});
    alg_15.addTurn({Layer::U, true});
    alg_15.addTurn({Layer::D, false});
    assert(alg_15.hasHiddenTriple());

    Algorithm alg_16;
    alg_16.addTurn({Layer::F, true});
    alg_16.addTurn({Layer::D, true});
    alg_16.addTurn({Layer::U, true});
    alg_16.addTurn({Layer::D, true});
    alg_16.addTurn({Layer::R, false});
    alg_16.addTurn({Layer::U, false});
    alg_16.addTurn({Layer::D, true});
    assert(!alg_16.hasHiddenTriple());

    /* 2:1 - X (Y | Y') (Y | Y') X (Y | Y') X */
    Algorithm alg_17;
    alg_17.addTurn({Layer::F, true});
    alg_17.addTurn({Layer::D, false});
    alg_17.addTurn({Layer::U, false});
    alg_17.addTurn({Layer::U, false});
    alg_17.addTurn({Layer::D, false});
    alg_17.addTurn({Layer::U, true});
    alg_17.addTurn({Layer::D, false});
    assert(alg_17.hasHiddenTriple());

    Algorithm alg_18;
    alg_18.addTurn({Layer::L, true});
    alg_18.addTurn({Layer::D, true});
    alg_18.addTurn({Layer::U, true});
    alg_18.addTurn({Layer::U, true});
    alg_18.addTurn({Layer::D, true});
    alg_18.addTurn({Layer::L, false});
    alg_18.addTurn({Layer::D, true});
    assert(!alg_18.hasHiddenTriple());

    /* 2:2 - X (Y | Y') (Y | Y') X (Y | Y') (Y | Y') X */
    Algorithm alg_19;
    alg_19.addTurn({Layer::U, true});
    alg_19.addTurn({Layer::F, false});
    alg_19.addTurn({Layer::B, false});
    alg_19.addTurn({Layer::B, true});
    alg_19.addTurn({Layer::F, false});
    alg_19.addTurn({Layer::B, true});
    alg_19.addTurn({Layer::B, false});
    alg_19.addTurn({Layer::F, false});
    assert(alg_19.hasHiddenTriple());

    Algorithm alg_20;
    alg_20.addTurn({Layer::R, true});
    alg_20.addTurn({Layer::F, true});
    alg_20.addTurn({Layer::B, false});
    alg_20.addTurn({Layer::B, false});
    alg_20.addTurn({Layer::F, true});
    alg_20.addTurn({Layer::L, false});
    alg_20.addTurn({Layer::B, true});
    alg_20.addTurn({Layer::F, true});
    assert(!alg_20.hasHiddenTriple());

    std::cout << "Passed" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x710, %rsp            # imm = 0x710
movq 0x8fd6(%rip), %rdi      # 0x15fd8
leaq 0x36a0(%rip), %rsi      # 0x106a9
callq 0x2190
leaq -0x28(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x2420
movq -0x6e8(%rbp), %rdi
movl $0x7, -0x30(%rbp)
movb $0x0, -0x2c(%rbp)
movq -0x30(%rbp), %rsi
callq 0x2490
jmp 0xd03b
movl $0x5, -0x44(%rbp)
movb $0x1, -0x40(%rbp)
movq -0x44(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2490
jmp 0xd055
movl $0x7, -0x4c(%rbp)
movb $0x1, -0x48(%rbp)
movq -0x4c(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2490
jmp 0xd06f
movl $0x7, -0x54(%rbp)
movb $0x1, -0x50(%rbp)
movq -0x54(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2490
jmp 0xd089
leaq -0x28(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6e9(%rbp)
jmp 0xd09a
movb -0x6e9(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xd0a8
jmp 0xd0aa
jmp 0xd0da
leaq 0x3613(%rip), %rdi      # 0x106c4
leaq 0x3221(%rip), %rsi      # 0x102d9
movl $0x188, %edx            # imm = 0x188
leaq 0x3619(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeae9
leaq -0x80(%rbp), %rdi
callq 0x2420
jmp 0xd0e5
movl $0x7, -0x88(%rbp)
movb $0x1, -0x84(%rbp)
movq -0x88(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x2490
jmp 0xd108
movl $0x5, -0x90(%rbp)
movb $0x1, -0x8c(%rbp)
movq -0x90(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x2490
jmp 0xd12b
movl $0x7, -0x98(%rbp)
movb $0x1, -0x94(%rbp)
movq -0x98(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x2490
jmp 0xd14e
movl $0x7, -0xa0(%rbp)
movb $0x1, -0x9c(%rbp)
movq -0xa0(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x2490
jmp 0xd171
leaq -0x80(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6ea(%rbp)
jmp 0xd182
movb -0x6ea(%rbp), %al
testb $0x1, %al
jne 0xd18e
jmp 0xd190
jmp 0xd1c0
leaq 0x3561(%rip), %rdi      # 0x106f8
leaq 0x313b(%rip), %rsi      # 0x102d9
movl $0x18f, %edx            # imm = 0x18F
leaq 0x3533(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeae0
leaq -0xc8(%rbp), %rdi
callq 0x2420
jmp 0xd1ce
movl $0x7, -0xd0(%rbp)
movb $0x1, -0xcc(%rbp)
movq -0xd0(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2490
jmp 0xd1f4
movl $0x5, -0xd8(%rbp)
movb $0x1, -0xd4(%rbp)
movq -0xd8(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2490
jmp 0xd21a
movl $0x5, -0xe0(%rbp)
movb $0x1, -0xdc(%rbp)
movq -0xe0(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2490
jmp 0xd240
movl $0x7, -0xe8(%rbp)
movb $0x1, -0xe4(%rbp)
movq -0xe8(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2490
jmp 0xd266
movl $0x7, -0xf0(%rbp)
movb $0x1, -0xec(%rbp)
movq -0xf0(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2490
jmp 0xd28c
leaq -0xc8(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6eb(%rbp)
jmp 0xd2a0
movb -0x6eb(%rbp), %al
testb $0x1, %al
jne 0xd2ac
jmp 0xd2ae
jmp 0xd2de
leaq 0x345b(%rip), %rdi      # 0x10710
leaq 0x301d(%rip), %rsi      # 0x102d9
movl $0x197, %edx            # imm = 0x197
leaq 0x3415(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xead4
leaq -0x118(%rbp), %rdi
callq 0x2420
jmp 0xd2ec
movl $0x7, -0x120(%rbp)
movb $0x1, -0x11c(%rbp)
movq -0x120(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x2490
jmp 0xd312
movl $0x5, -0x128(%rbp)
movb $0x1, -0x124(%rbp)
movq -0x128(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x2490
jmp 0xd338
movl $0x7, -0x130(%rbp)
movb $0x1, -0x12c(%rbp)
movq -0x130(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x2490
jmp 0xd35e
movl $0x5, -0x138(%rbp)
movb $0x1, -0x134(%rbp)
movq -0x138(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x2490
jmp 0xd384
movl $0x7, -0x140(%rbp)
movb $0x1, -0x13c(%rbp)
movq -0x140(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x2490
jmp 0xd3aa
leaq -0x118(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6ec(%rbp)
jmp 0xd3be
movb -0x6ec(%rbp), %al
testb $0x1, %al
jne 0xd3ca
jmp 0xd3cc
jmp 0xd3fc
leaq 0x3355(%rip), %rdi      # 0x10728
leaq 0x2eff(%rip), %rsi      # 0x102d9
movl $0x19f, %edx            # imm = 0x19F
leaq 0x32f7(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeac8
leaq -0x168(%rbp), %rdi
callq 0x2420
jmp 0xd40a
movl $0x1, -0x170(%rbp)
movb $0x1, -0x16c(%rbp)
movq -0x170(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2490
jmp 0xd430
movl $0x4, -0x178(%rbp)
movb $0x1, -0x174(%rbp)
movq -0x178(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2490
jmp 0xd456
movl $0x4, -0x180(%rbp)
movb $0x1, -0x17c(%rbp)
movq -0x180(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2490
jmp 0xd47c
movl $0x6, -0x188(%rbp)
movb $0x0, -0x184(%rbp)
movq -0x188(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2490
jmp 0xd4a2
movl $0x4, -0x190(%rbp)
movb $0x1, -0x18c(%rbp)
movq -0x190(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x2490
jmp 0xd4c8
leaq -0x168(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6ed(%rbp)
jmp 0xd4dc
movb -0x6ed(%rbp), %al
testb $0x1, %al
jne 0xd4e8
jmp 0xd4ea
jmp 0xd51a
leaq 0x324f(%rip), %rdi      # 0x10740
leaq 0x2de1(%rip), %rsi      # 0x102d9
movl $0x1a8, %edx            # imm = 0x1A8
leaq 0x31d9(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeabc
leaq -0x1b8(%rbp), %rdi
callq 0x2420
jmp 0xd528
movl $0x1, -0x1c0(%rbp)
movb $0x1, -0x1bc(%rbp)
movq -0x1c0(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x2490
jmp 0xd54e
movl $0x4, -0x1c8(%rbp)
movb $0x1, -0x1c4(%rbp)
movq -0x1c8(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x2490
jmp 0xd574
movl $0x6, -0x1d0(%rbp)
movb $0x1, -0x1cc(%rbp)
movq -0x1d0(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x2490
jmp 0xd59a
movl $0x6, -0x1d8(%rbp)
movb $0x0, -0x1d4(%rbp)
movq -0x1d8(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x2490
jmp 0xd5c0
movl $0x4, -0x1e0(%rbp)
movb $0x1, -0x1dc(%rbp)
movq -0x1e0(%rbp), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0x2490
jmp 0xd5e6
leaq -0x1b8(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6ee(%rbp)
jmp 0xd5fa
movb -0x6ee(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xd608
jmp 0xd60a
jmp 0xd63a
leaq 0x3147(%rip), %rdi      # 0x10758
leaq 0x2cc1(%rip), %rsi      # 0x102d9
movl $0x1b0, %edx            # imm = 0x1B0
leaq 0x30b9(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeab0
leaq -0x208(%rbp), %rdi
callq 0x2420
jmp 0xd648
movl $0x1, -0x210(%rbp)
movb $0x1, -0x20c(%rbp)
movq -0x210(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2490
jmp 0xd66e
movl $0x6, -0x218(%rbp)
movb $0x1, -0x214(%rbp)
movq -0x218(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2490
jmp 0xd694
movl $0x4, -0x220(%rbp)
movb $0x1, -0x21c(%rbp)
movq -0x220(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2490
jmp 0xd6ba
movl $0x6, -0x228(%rbp)
movb $0x1, -0x224(%rbp)
movq -0x228(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2490
jmp 0xd6e0
movl $0x6, -0x230(%rbp)
movb $0x1, -0x22c(%rbp)
movq -0x230(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x2490
jmp 0xd706
leaq -0x208(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6ef(%rbp)
jmp 0xd71a
movb -0x6ef(%rbp), %al
testb $0x1, %al
jne 0xd726
jmp 0xd728
jmp 0xd758
leaq 0x3042(%rip), %rdi      # 0x10771
leaq 0x2ba3(%rip), %rsi      # 0x102d9
movl $0x1b9, %edx            # imm = 0x1B9
leaq 0x2f9b(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xeaa4
leaq -0x258(%rbp), %rdi
callq 0x2420
jmp 0xd766
movl $0x1, -0x260(%rbp)
movb $0x1, -0x25c(%rbp)
movq -0x260(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x2490
jmp 0xd78c
movl $0x6, -0x268(%rbp)
movb $0x1, -0x264(%rbp)
movq -0x268(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x2490
jmp 0xd7b2
movl $0x4, -0x270(%rbp)
movb $0x1, -0x26c(%rbp)
movq -0x270(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x2490
jmp 0xd7d8
movl $0x6, -0x278(%rbp)
movb $0x0, -0x274(%rbp)
movq -0x278(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x2490
jmp 0xd7fe
movl $0x6, -0x280(%rbp)
movb $0x1, -0x27c(%rbp)
movq -0x280(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x2490
jmp 0xd824
leaq -0x258(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f0(%rbp)
jmp 0xd838
movb -0x6f0(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xd846
jmp 0xd848
jmp 0xd878
leaq 0x2f3a(%rip), %rdi      # 0x10789
leaq 0x2a83(%rip), %rsi      # 0x102d9
movl $0x1c1, %edx            # imm = 0x1C1
leaq 0x2e7b(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea98
leaq -0x2a8(%rbp), %rdi
callq 0x2420
jmp 0xd886
movl $0x1, -0x2b0(%rbp)
movb $0x1, -0x2ac(%rbp)
movq -0x2b0(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd8ac
movl $0x6, -0x2b8(%rbp)
movb $0x1, -0x2b4(%rbp)
movq -0x2b8(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd8d2
movl $0x6, -0x2c0(%rbp)
movb $0x1, -0x2bc(%rbp)
movq -0x2c0(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd8f8
movl $0x4, -0x2c8(%rbp)
movb $0x1, -0x2c4(%rbp)
movq -0x2c8(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd91e
movl $0x4, -0x2d0(%rbp)
movb $0x0, -0x2cc(%rbp)
movq -0x2d0(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd944
movl $0x6, -0x2d8(%rbp)
movb $0x1, -0x2d4(%rbp)
movq -0x2d8(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x2490
jmp 0xd96a
leaq -0x2a8(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f1(%rbp)
jmp 0xd97e
movb -0x6f1(%rbp), %al
testb $0x1, %al
jne 0xd98a
jmp 0xd98c
jmp 0xd9bc
leaq 0x2e0f(%rip), %rdi      # 0x107a2
leaq 0x293f(%rip), %rsi      # 0x102d9
movl $0x1cb, %edx            # imm = 0x1CB
leaq 0x2d37(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea8c
leaq -0x300(%rbp), %rdi
callq 0x2420
jmp 0xd9ca
movl $0x1, -0x308(%rbp)
movb $0x1, -0x304(%rbp)
movq -0x308(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xd9f0
movl $0x6, -0x310(%rbp)
movb $0x1, -0x30c(%rbp)
movq -0x310(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xda16
movl $0x6, -0x318(%rbp)
movb $0x1, -0x314(%rbp)
movq -0x318(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xda3c
movl $0x4, -0x320(%rbp)
movb $0x1, -0x31c(%rbp)
movq -0x320(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xda62
movl $0x4, -0x328(%rbp)
movb $0x0, -0x324(%rbp)
movq -0x328(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xda88
movl $0x6, -0x330(%rbp)
movb $0x0, -0x32c(%rbp)
movq -0x330(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x2490
jmp 0xdaae
leaq -0x300(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f2(%rbp)
jmp 0xdac2
movb -0x6f2(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xdad0
jmp 0xdad2
jmp 0xdb02
leaq 0x2ce1(%rip), %rdi      # 0x107ba
leaq 0x27f9(%rip), %rsi      # 0x102d9
movl $0x1d4, %edx            # imm = 0x1D4
leaq 0x2bf1(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea80
leaq -0x358(%rbp), %rdi
callq 0x2420
jmp 0xdb10
movl $0x1, -0x360(%rbp)
movb $0x1, -0x35c(%rbp)
movq -0x360(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdb36
movl $0x6, -0x368(%rbp)
movb $0x1, -0x364(%rbp)
movq -0x368(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdb5c
movl $0x4, -0x370(%rbp)
movb $0x1, -0x36c(%rbp)
movq -0x370(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdb82
movl $0x6, -0x378(%rbp)
movb $0x1, -0x374(%rbp)
movq -0x378(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdba8
movl $0x4, -0x380(%rbp)
movb $0x0, -0x37c(%rbp)
movq -0x380(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdbce
movl $0x6, -0x388(%rbp)
movb $0x1, -0x384(%rbp)
movq -0x388(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x2490
jmp 0xdbf4
leaq -0x358(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f3(%rbp)
jmp 0xdc08
movb -0x6f3(%rbp), %al
testb $0x1, %al
jne 0xdc14
jmp 0xdc16
jmp 0xdc46
leaq 0x2bb7(%rip), %rdi      # 0x107d4
leaq 0x26b5(%rip), %rsi      # 0x102d9
movl $0x1de, %edx            # imm = 0x1DE
leaq 0x2aad(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea74
leaq -0x3b0(%rbp), %rdi
callq 0x2420
jmp 0xdc54
movl $0x1, -0x3b8(%rbp)
movb $0x1, -0x3b4(%rbp)
movq -0x3b8(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdc7a
movl $0x6, -0x3c0(%rbp)
movb $0x1, -0x3bc(%rbp)
movq -0x3c0(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdca0
movl $0x4, -0x3c8(%rbp)
movb $0x1, -0x3c4(%rbp)
movq -0x3c8(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdcc6
movl $0x6, -0x3d0(%rbp)
movb $0x1, -0x3cc(%rbp)
movq -0x3d0(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdcec
movl $0x4, -0x3d8(%rbp)
movb $0x0, -0x3d4(%rbp)
movq -0x3d8(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdd12
movl $0x6, -0x3e0(%rbp)
movb $0x0, -0x3dc(%rbp)
movq -0x3e0(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x2490
jmp 0xdd38
leaq -0x3b0(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f4(%rbp)
jmp 0xdd4c
movb -0x6f4(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xdd5a
jmp 0xdd5c
jmp 0xdd8c
leaq 0x2a8a(%rip), %rdi      # 0x107ed
leaq 0x256f(%rip), %rsi      # 0x102d9
movl $0x1e7, %edx            # imm = 0x1E7
leaq 0x2967(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea68
leaq -0x408(%rbp), %rdi
callq 0x2420
jmp 0xdd9a
movl $0x1, -0x410(%rbp)
movb $0x1, -0x40c(%rbp)
movq -0x410(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xddc0
movl $0x6, -0x418(%rbp)
movb $0x0, -0x414(%rbp)
movq -0x418(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xdde6
movl $0x4, -0x420(%rbp)
movb $0x0, -0x41c(%rbp)
movq -0x420(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xde0c
movl $0x4, -0x428(%rbp)
movb $0x1, -0x424(%rbp)
movq -0x428(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xde32
movl $0x6, -0x430(%rbp)
movb $0x0, -0x42c(%rbp)
movq -0x430(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xde58
movl $0x6, -0x438(%rbp)
movb $0x0, -0x434(%rbp)
movq -0x438(%rbp), %rsi
leaq -0x408(%rbp), %rdi
callq 0x2490
jmp 0xde7e
leaq -0x408(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f5(%rbp)
jmp 0xde92
movb -0x6f5(%rbp), %al
testb $0x1, %al
jne 0xde9e
jmp 0xdea0
jmp 0xded0
leaq 0x2960(%rip), %rdi      # 0x10807
leaq 0x242b(%rip), %rsi      # 0x102d9
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x2823(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea5c
leaq -0x460(%rbp), %rdi
callq 0x2420
jmp 0xdede
movl $0x1, -0x468(%rbp)
movb $0x1, -0x464(%rbp)
movq -0x468(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdf04
movl $0x6, -0x470(%rbp)
movb $0x1, -0x46c(%rbp)
movq -0x470(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdf2a
movl $0x4, -0x478(%rbp)
movb $0x1, -0x474(%rbp)
movq -0x478(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdf50
movl $0x4, -0x480(%rbp)
movb $0x1, -0x47c(%rbp)
movq -0x480(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdf76
movl $0x6, -0x488(%rbp)
movb $0x0, -0x484(%rbp)
movq -0x488(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdf9c
movl $0x6, -0x490(%rbp)
movb $0x0, -0x48c(%rbp)
movq -0x490(%rbp), %rsi
leaq -0x460(%rbp), %rdi
callq 0x2490
jmp 0xdfc2
leaq -0x460(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f6(%rbp)
jmp 0xdfd6
movb -0x6f6(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xdfe4
jmp 0xdfe6
jmp 0xe016
leaq 0x2833(%rip), %rdi      # 0x10820
leaq 0x22e5(%rip), %rsi      # 0x102d9
movl $0x1fa, %edx            # imm = 0x1FA
leaq 0x26dd(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea50
leaq -0x4b8(%rbp), %rdi
callq 0x2420
jmp 0xe024
movl $0x5, -0x4c0(%rbp)
movb $0x1, -0x4bc(%rbp)
movq -0x4c0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe04a
movl $0x9, -0x4c8(%rbp)
movb $0x0, -0x4c4(%rbp)
movq -0x4c8(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe070
movl $0x1, -0x4d0(%rbp)
movb $0x0, -0x4cc(%rbp)
movq -0x4d0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe096
movl $0x9, -0x4d8(%rbp)
movb $0x0, -0x4d4(%rbp)
movq -0x4d8(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe0bc
movl $0x1, -0x4e0(%rbp)
movb $0x0, -0x4dc(%rbp)
movq -0x4e0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe0e2
movl $0x1, -0x4e8(%rbp)
movb $0x1, -0x4e4(%rbp)
movq -0x4e8(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe108
movl $0x9, -0x4f0(%rbp)
movb $0x0, -0x4ec(%rbp)
movq -0x4f0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x2490
jmp 0xe12e
leaq -0x4b8(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f7(%rbp)
jmp 0xe142
movb -0x6f7(%rbp), %al
testb $0x1, %al
jne 0xe14e
jmp 0xe150
jmp 0xe180
leaq 0x26e3(%rip), %rdi      # 0x1083a
leaq 0x217b(%rip), %rsi      # 0x102d9
movl $0x205, %edx            # imm = 0x205
leaq 0x2573(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea44
leaq -0x518(%rbp), %rdi
callq 0x2420
jmp 0xe18e
movl $0x5, -0x520(%rbp)
movb $0x1, -0x51c(%rbp)
movq -0x520(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe1b4
movl $0x9, -0x528(%rbp)
movb $0x1, -0x524(%rbp)
movq -0x528(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe1da
movl $0x1, -0x530(%rbp)
movb $0x1, -0x52c(%rbp)
movq -0x530(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe200
movl $0x9, -0x538(%rbp)
movb $0x1, -0x534(%rbp)
movq -0x538(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe226
movl $0x6, -0x540(%rbp)
movb $0x0, -0x53c(%rbp)
movq -0x540(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe24c
movl $0x1, -0x548(%rbp)
movb $0x0, -0x544(%rbp)
movq -0x548(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe272
movl $0x9, -0x550(%rbp)
movb $0x1, -0x54c(%rbp)
movq -0x550(%rbp), %rsi
leaq -0x518(%rbp), %rdi
callq 0x2490
jmp 0xe298
leaq -0x518(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f8(%rbp)
jmp 0xe2ac
movb -0x6f8(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xe2ba
jmp 0xe2bc
jmp 0xe2ec
leaq 0x2590(%rip), %rdi      # 0x10853
leaq 0x200f(%rip), %rsi      # 0x102d9
movl $0x20f, %edx            # imm = 0x20F
leaq 0x2407(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea38
leaq -0x578(%rbp), %rdi
callq 0x2420
jmp 0xe2fa
movl $0x5, -0x580(%rbp)
movb $0x1, -0x57c(%rbp)
movq -0x580(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe320
movl $0x9, -0x588(%rbp)
movb $0x0, -0x584(%rbp)
movq -0x588(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe346
movl $0x1, -0x590(%rbp)
movb $0x0, -0x58c(%rbp)
movq -0x590(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe36c
movl $0x1, -0x598(%rbp)
movb $0x0, -0x594(%rbp)
movq -0x598(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe392
movl $0x9, -0x5a0(%rbp)
movb $0x0, -0x59c(%rbp)
movq -0x5a0(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe3b8
movl $0x1, -0x5a8(%rbp)
movb $0x1, -0x5a4(%rbp)
movq -0x5a8(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe3de
movl $0x9, -0x5b0(%rbp)
movb $0x0, -0x5ac(%rbp)
movq -0x5b0(%rbp), %rsi
leaq -0x578(%rbp), %rdi
callq 0x2490
jmp 0xe404
leaq -0x578(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6f9(%rbp)
jmp 0xe418
movb -0x6f9(%rbp), %al
testb $0x1, %al
jne 0xe424
jmp 0xe426
jmp 0xe456
leaq 0x2440(%rip), %rdi      # 0x1086d
leaq 0x1ea5(%rip), %rsi      # 0x102d9
movl $0x21a, %edx            # imm = 0x21A
leaq 0x229d(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea2c
leaq -0x5d8(%rbp), %rdi
callq 0x2420
jmp 0xe464
movl $0x4, -0x5e0(%rbp)
movb $0x1, -0x5dc(%rbp)
movq -0x5e0(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe48a
movl $0x9, -0x5e8(%rbp)
movb $0x1, -0x5e4(%rbp)
movq -0x5e8(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe4b0
movl $0x1, -0x5f0(%rbp)
movb $0x1, -0x5ec(%rbp)
movq -0x5f0(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe4d6
movl $0x1, -0x5f8(%rbp)
movb $0x1, -0x5f4(%rbp)
movq -0x5f8(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe4fc
movl $0x9, -0x600(%rbp)
movb $0x1, -0x5fc(%rbp)
movq -0x600(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe522
movl $0x4, -0x608(%rbp)
movb $0x0, -0x604(%rbp)
movq -0x608(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe548
movl $0x9, -0x610(%rbp)
movb $0x1, -0x60c(%rbp)
movq -0x610(%rbp), %rsi
leaq -0x5d8(%rbp), %rdi
callq 0x2490
jmp 0xe56e
leaq -0x5d8(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6fa(%rbp)
jmp 0xe582
movb -0x6fa(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xe590
jmp 0xe592
jmp 0xe5c2
leaq 0x22ed(%rip), %rdi      # 0x10886
leaq 0x1d39(%rip), %rsi      # 0x102d9
movl $0x224, %edx            # imm = 0x224
leaq 0x2131(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea20
leaq -0x638(%rbp), %rdi
callq 0x2420
jmp 0xe5d0
movl $0x1, -0x640(%rbp)
movb $0x1, -0x63c(%rbp)
movq -0x640(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe5f6
movl $0x5, -0x648(%rbp)
movb $0x0, -0x644(%rbp)
movq -0x648(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe61c
movl $0x7, -0x650(%rbp)
movb $0x0, -0x64c(%rbp)
movq -0x650(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe642
movl $0x7, -0x658(%rbp)
movb $0x1, -0x654(%rbp)
movq -0x658(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe668
movl $0x5, -0x660(%rbp)
movb $0x0, -0x65c(%rbp)
movq -0x660(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe68e
movl $0x7, -0x668(%rbp)
movb $0x1, -0x664(%rbp)
movq -0x668(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe6b4
movl $0x7, -0x670(%rbp)
movb $0x0, -0x66c(%rbp)
movq -0x670(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe6da
movl $0x5, -0x678(%rbp)
movb $0x0, -0x674(%rbp)
movq -0x678(%rbp), %rsi
leaq -0x638(%rbp), %rdi
callq 0x2490
jmp 0xe700
leaq -0x638(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6fb(%rbp)
jmp 0xe714
movb -0x6fb(%rbp), %al
testb $0x1, %al
jne 0xe720
jmp 0xe722
jmp 0xe752
leaq 0x2177(%rip), %rdi      # 0x108a0
leaq 0x1ba9(%rip), %rsi      # 0x102d9
movl $0x230, %edx            # imm = 0x230
leaq 0x1fa1(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xea14
leaq -0x6a0(%rbp), %rdi
callq 0x2420
jmp 0xe760
movl $0x6, -0x6a8(%rbp)
movb $0x1, -0x6a4(%rbp)
movq -0x6a8(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe786
movl $0x5, -0x6b0(%rbp)
movb $0x1, -0x6ac(%rbp)
movq -0x6b0(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe7ac
movl $0x7, -0x6b8(%rbp)
movb $0x0, -0x6b4(%rbp)
movq -0x6b8(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe7d2
movl $0x7, -0x6c0(%rbp)
movb $0x0, -0x6bc(%rbp)
movq -0x6c0(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe7f8
movl $0x5, -0x6c8(%rbp)
movb $0x1, -0x6c4(%rbp)
movq -0x6c8(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe81e
movl $0x4, -0x6d0(%rbp)
movb $0x0, -0x6cc(%rbp)
movq -0x6d0(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe844
movl $0x7, -0x6d8(%rbp)
movb $0x1, -0x6d4(%rbp)
movq -0x6d8(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe86a
movl $0x5, -0x6e0(%rbp)
movb $0x1, -0x6dc(%rbp)
movq -0x6e0(%rbp), %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x2490
jmp 0xe890
leaq -0x6a0(%rbp), %rdi
callq 0x3aa0
movb %al, -0x6fc(%rbp)
jmp 0xe8a4
movb -0x6fc(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xe8b2
jmp 0xe8b4
jmp 0xe8f0
leaq 0x1ffe(%rip), %rdi      # 0x108b9
leaq 0x1a17(%rip), %rsi      # 0x102d9
movl $0x23b, %edx            # imm = 0x23B
leaq 0x1e0f(%rip), %rcx      # 0x106dd
callq 0x2100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x4bd0
jmp 0xea14
movq 0x76e1(%rip), %rdi      # 0x15fd8
leaq 0x1ab8(%rip), %rsi      # 0x103b6
callq 0x2190
movq %rax, -0x708(%rbp)
jmp 0xe90c
movq -0x708(%rbp), %rdi
movq 0x76ae(%rip), %rsi      # 0x15fc8
callq 0x21c0
jmp 0xe921
leaq -0x6a0(%rbp), %rdi
callq 0x4bd0
leaq -0x638(%rbp), %rdi
callq 0x4bd0
leaq -0x5d8(%rbp), %rdi
callq 0x4bd0
leaq -0x578(%rbp), %rdi
callq 0x4bd0
leaq -0x518(%rbp), %rdi
callq 0x4bd0
leaq -0x4b8(%rbp), %rdi
callq 0x4bd0
leaq -0x460(%rbp), %rdi
callq 0x4bd0
leaq -0x408(%rbp), %rdi
callq 0x4bd0
leaq -0x3b0(%rbp), %rdi
callq 0x4bd0
leaq -0x358(%rbp), %rdi
callq 0x4bd0
leaq -0x300(%rbp), %rdi
callq 0x4bd0
leaq -0x2a8(%rbp), %rdi
callq 0x4bd0
leaq -0x258(%rbp), %rdi
callq 0x4bd0
leaq -0x208(%rbp), %rdi
callq 0x4bd0
leaq -0x1b8(%rbp), %rdi
callq 0x4bd0
leaq -0x168(%rbp), %rdi
callq 0x4bd0
leaq -0x118(%rbp), %rdi
callq 0x4bd0
leaq -0xc8(%rbp), %rdi
callq 0x4bd0
leaq -0x80(%rbp), %rdi
callq 0x4bd0
leaq -0x28(%rbp), %rdi
callq 0x4bd0
addq $0x710, %rsp            # imm = 0x710
popq %rbp
retq
leaq -0x638(%rbp), %rdi
callq 0x4bd0
leaq -0x5d8(%rbp), %rdi
callq 0x4bd0
leaq -0x578(%rbp), %rdi
callq 0x4bd0
leaq -0x518(%rbp), %rdi
callq 0x4bd0
leaq -0x4b8(%rbp), %rdi
callq 0x4bd0
leaq -0x460(%rbp), %rdi
callq 0x4bd0
leaq -0x408(%rbp), %rdi
callq 0x4bd0
leaq -0x3b0(%rbp), %rdi
callq 0x4bd0
leaq -0x358(%rbp), %rdi
callq 0x4bd0
leaq -0x300(%rbp), %rdi
callq 0x4bd0
leaq -0x2a8(%rbp), %rdi
callq 0x4bd0
leaq -0x258(%rbp), %rdi
callq 0x4bd0
leaq -0x208(%rbp), %rdi
callq 0x4bd0
leaq -0x1b8(%rbp), %rdi
callq 0x4bd0
leaq -0x168(%rbp), %rdi
callq 0x4bd0
leaq -0x118(%rbp), %rdi
callq 0x4bd0
leaq -0xc8(%rbp), %rdi
callq 0x4bd0
leaq -0x80(%rbp), %rdi
callq 0x4bd0
leaq -0x28(%rbp), %rdi
callq 0x4bd0
movq -0x38(%rbp), %rdi
callq 0x22a0
nopl (%rax,%rax)