// File: killwing[P]underscore/test.cpp
// Function: test_shuffle()
void
test_shuffle() {
    Tracer::suit_ = "shuffle";

    {
        Tracer t("C-style array", false);
    }

    {
        Tracer t("array");
        array<int, 10> data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::shuffle(data);
        assert(result != data);
    }

    {
        Tracer t("string");
        string data("hello world!");
        string result = _::shuffle(data);
        assert(result != data);
    }

    {
        Tracer t("vector");
        vector<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        vector<int> result = _::shuffle(data);
        assert(result != data);
    }

    {
        Tracer t("deque");
        deque<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        deque<int> result = _::shuffle(data);
        assert(result != data);
    }

    {
        Tracer t("list", false);
    }

    {
        Tracer t("forward_list", false);
    }

    {
        Tracer t("set", false);
    }

    {
        Tracer t("multiset", false);
    }

    {
        Tracer t("unordered_set", false);
    }

    {
        Tracer t("unordered_multiset", false);
    }

    {
        Tracer t("map", false);
    }

    {
        Tracer t("multimap", false);
    }

    {
        Tracer t("unordered_map", false);
    }

    {
        Tracer t("unordered_multimap", false);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x760, %rsp            # imm = 0x760
leaq 0x84206(%rip), %rdi     # 0xc0278
leaq 0x54449(%rip), %rsi     # 0x904c2
callq 0x3380
leaq -0x49(%rbp), %rdi
movq %rdi, -0x6c0(%rbp)
callq 0x3450
movq -0x6c0(%rbp), %rdx
leaq 0x53fd5(%rip), %rsi     # 0x90071
leaq -0x48(%rbp), %rdi
callq 0x52000
jmp 0x3c0a7
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c0b8
leaq -0x48(%rbp), %rdi
callq 0x34a8
leaq -0x49(%rbp), %rdi
callq 0x32d0
leaq -0x28(%rbp), %rdi
callq 0x52180
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x3450
movq -0x6c8(%rbp), %rdx
leaq 0x53f85(%rip), %rsi     # 0x90079
leaq -0xa8(%rbp), %rdi
callq 0x52000
jmp 0x3c102
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x3c11c
leaq -0xa8(%rbp), %rdi
callq 0x34a8
leaq -0xa9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0xc0(%rbp)
movups 0x53a14(%rip), %xmm0    # 0x8fb60
movaps %xmm0, -0xd0(%rbp)
movups 0x539f6(%rip), %xmm0    # 0x8fb50
movaps %xmm0, -0xe0(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x57a30
jmp 0x3c176
leaq -0x108(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x57b40
movb %al, -0x6c9(%rbp)
jmp 0x3c191
movb -0x6c9(%rbp), %al
testb $0x1, %al
jne 0x3c19d
jmp 0x3c1a2
jmp 0x3c246
leaq 0x54321(%rip), %rdi     # 0x904ca
leaq 0x53ee4(%rip), %rsi     # 0x90094
movl $0x955, %edx            # imm = 0x955
leaq 0x5431d(%rip), %rcx     # 0x904d9
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c1e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x34a8
leaq -0x49(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c218
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x34a8
leaq -0xa9(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x52180
jmp 0x3ce46
leaq -0x88(%rbp), %rdi
callq 0x52180
leaq -0x151(%rbp), %rdi
movq %rdi, -0x6d8(%rbp)
callq 0x3450
movq -0x6d8(%rbp), %rdx
leaq 0x53e4a(%rip), %rsi     # 0x900bd
leaq -0x150(%rbp), %rdi
callq 0x52000
jmp 0x3c281
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x3c29b
leaq -0x150(%rbp), %rdi
callq 0x34a8
leaq -0x151(%rbp), %rdi
callq 0x32d0
leaq -0x179(%rbp), %rdi
movq %rdi, -0x6e0(%rbp)
callq 0x3450
movq -0x6e0(%rbp), %rdx
leaq 0x53df0(%rip), %rsi     # 0x900c4
leaq -0x178(%rbp), %rdi
callq 0x52000
jmp 0x3c2e2
leaq -0x179(%rbp), %rdi
callq 0x32d0
leaq -0x1a0(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x57b70
jmp 0x3c303
leaq -0x1a0(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x57ca0
testb $0x1, %al
jne 0x3c31c
jmp 0x3c321
jmp 0x3c3b1
leaq 0x541a2(%rip), %rdi     # 0x904ca
leaq 0x53d65(%rip), %rsi     # 0x90094
movl $0x95c, %edx            # imm = 0x95C
leaq 0x5419e(%rip), %rcx     # 0x904d9
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c366
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x34a8
leaq -0x151(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x179(%rbp), %rdi
callq 0x32d0
jmp 0x3c51e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x34a8
jmp 0x3c51e
leaq -0x1a0(%rbp), %rdi
callq 0x34a8
leaq -0x178(%rbp), %rdi
callq 0x34a8
leaq -0x130(%rbp), %rdi
callq 0x52180
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x3450
movq -0x6e8(%rbp), %rdx
leaq 0x53ce8(%rip), %rsi     # 0x900de
leaq -0x1e8(%rbp), %rdi
callq 0x52000
jmp 0x3c404
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x3c41e
leaq -0x1e8(%rbp), %rdi
callq 0x34a8
leaq -0x1e9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x220(%rbp)
movups 0x5373a(%rip), %xmm0    # 0x8fb88
movaps %xmm0, -0x230(%rbp)
movups 0x5371c(%rip), %xmm0    # 0x8fb78
movaps %xmm0, -0x240(%rbp)
leaq -0x240(%rbp), %rax
movq %rax, -0x218(%rbp)
movq $0xa, -0x210(%rbp)
leaq -0x241(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0x522f0
movq -0x6f0(%rbp), %rcx
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rdx
leaq -0x208(%rbp), %rdi
callq 0x52310
jmp 0x3c4b2
leaq -0x241(%rbp), %rdi
callq 0x52390
leaq -0x260(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x57cd0
jmp 0x3c4d3
leaq -0x260(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x57e00
movb %al, -0x6f1(%rbp)
jmp 0x3c4ee
movb -0x6f1(%rbp), %al
testb $0x1, %al
jne 0x3c4fa
jmp 0x3c4ff
jmp 0x3c5b1
leaq 0x53fc4(%rip), %rdi     # 0x904ca
leaq 0x53b87(%rip), %rsi     # 0x90094
movl $0x963, %edx            # imm = 0x963
leaq 0x53fc0(%rip), %rcx     # 0x904d9
callq 0x3170
leaq -0x130(%rbp), %rdi
callq 0x52180
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c555
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x34a8
leaq -0x1e9(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x241(%rbp), %rdi
callq 0x52390
jmp 0x3c72a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c71e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x52430
jmp 0x3c71e
leaq -0x260(%rbp), %rdi
callq 0x52430
leaq -0x208(%rbp), %rdi
callq 0x52430
leaq -0x1c8(%rbp), %rdi
callq 0x52180
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x3450
movq -0x700(%rbp), %rdx
leaq 0x53aef(%rip), %rsi     # 0x900e5
leaq -0x2a8(%rbp), %rdi
callq 0x52000
jmp 0x3c604
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x3c61e
leaq -0x2a8(%rbp), %rdi
callq 0x34a8
leaq -0x2a9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x320(%rbp)
movups 0x53562(%rip), %xmm0    # 0x8fbb0
movaps %xmm0, -0x330(%rbp)
movups 0x53544(%rip), %xmm0    # 0x8fba0
movaps %xmm0, -0x340(%rbp)
leaq -0x340(%rbp), %rax
movq %rax, -0x310(%rbp)
movq $0xa, -0x308(%rbp)
leaq -0x341(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x522f0
movq -0x708(%rbp), %rcx
movq -0x310(%rbp), %rsi
movq -0x308(%rbp), %rdx
leaq -0x300(%rbp), %rdi
callq 0x52490
jmp 0x3c6b2
leaq -0x341(%rbp), %rdi
callq 0x52390
leaq -0x398(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x57e30
jmp 0x3c6d3
leaq -0x398(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x57f60
movb %al, -0x709(%rbp)
jmp 0x3c6ee
movb -0x709(%rbp), %al
testb $0x1, %al
jne 0x3c6fa
jmp 0x3c6ff
jmp 0x3c7bd
leaq 0x53dc4(%rip), %rdi     # 0x904ca
leaq 0x53987(%rip), %rsi     # 0x90094
movl $0x96a, %edx            # imm = 0x96A
leaq 0x53dc0(%rip), %rcx     # 0x904d9
callq 0x3170
leaq -0x208(%rbp), %rdi
callq 0x52430
leaq -0x1c8(%rbp), %rdi
callq 0x52180
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3c761
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x34a8
leaq -0x2a9(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x341(%rbp), %rdi
callq 0x52390
jmp 0x3cc1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cc0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x398(%rbp), %rdi
callq 0x525a0
jmp 0x3cc0e
leaq -0x398(%rbp), %rdi
callq 0x525a0
leaq -0x300(%rbp), %rdi
callq 0x525a0
leaq -0x288(%rbp), %rdi
callq 0x52180
leaq -0x3e1(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x3450
movq -0x718(%rbp), %rdx
leaq 0x538f1(%rip), %rsi     # 0x900f3
leaq -0x3e0(%rbp), %rdi
callq 0x52000
jmp 0x3c810
leaq -0x3c0(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c827
leaq -0x3e0(%rbp), %rdi
callq 0x34a8
leaq -0x3e1(%rbp), %rdi
callq 0x32d0
leaq -0x3c0(%rbp), %rdi
callq 0x52180
leaq -0x431(%rbp), %rdi
movq %rdi, -0x720(%rbp)
callq 0x3450
movq -0x720(%rbp), %rdx
leaq 0x5387f(%rip), %rsi     # 0x900eb
leaq -0x430(%rbp), %rdi
callq 0x52000
jmp 0x3c87a
leaq -0x410(%rbp), %rdi
leaq -0x430(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c891
leaq -0x430(%rbp), %rdi
callq 0x34a8
leaq -0x431(%rbp), %rdi
callq 0x32d0
leaq -0x410(%rbp), %rdi
callq 0x52180
leaq -0x481(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x3450
movq -0x728(%rbp), %rdx
leaq 0x5383d(%rip), %rsi     # 0x90113
leaq -0x480(%rbp), %rdi
callq 0x52000
jmp 0x3c8e4
leaq -0x460(%rbp), %rdi
leaq -0x480(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c8fb
leaq -0x480(%rbp), %rdi
callq 0x34a8
leaq -0x481(%rbp), %rdi
callq 0x32d0
leaq -0x460(%rbp), %rdi
callq 0x52180
leaq -0x4d1(%rbp), %rdi
movq %rdi, -0x730(%rbp)
callq 0x3450
movq -0x730(%rbp), %rdx
leaq 0x537e1(%rip), %rsi     # 0x90121
leaq -0x4d0(%rbp), %rdi
callq 0x52000
jmp 0x3c94e
leaq -0x4b0(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c965
leaq -0x4d0(%rbp), %rdi
callq 0x34a8
leaq -0x4d1(%rbp), %rdi
callq 0x32d0
leaq -0x4b0(%rbp), %rdi
callq 0x52180
leaq -0x521(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x3450
movq -0x738(%rbp), %rdx
leaq 0x5375f(%rip), %rsi     # 0x90109
leaq -0x520(%rbp), %rdi
callq 0x52000
jmp 0x3c9b8
leaq -0x500(%rbp), %rdi
leaq -0x520(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3c9cf
leaq -0x520(%rbp), %rdi
callq 0x34a8
leaq -0x521(%rbp), %rdi
callq 0x32d0
leaq -0x500(%rbp), %rdi
callq 0x52180
leaq -0x571(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0x3450
movq -0x740(%rbp), %rdx
leaq 0x53703(%rip), %rsi     # 0x90117
leaq -0x570(%rbp), %rdi
callq 0x52000
jmp 0x3ca22
leaq -0x550(%rbp), %rdi
leaq -0x570(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3ca39
leaq -0x570(%rbp), %rdi
callq 0x34a8
leaq -0x571(%rbp), %rdi
callq 0x32d0
leaq -0x550(%rbp), %rdi
callq 0x52180
leaq -0x5c1(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x3450
movq -0x748(%rbp), %rdx
leaq 0x536c8(%rip), %rsi     # 0x90146
leaq -0x5c0(%rbp), %rdi
callq 0x52000
jmp 0x3ca8c
leaq -0x5a0(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3caa3
leaq -0x5c0(%rbp), %rdi
callq 0x34a8
leaq -0x5c1(%rbp), %rdi
callq 0x32d0
leaq -0x5a0(%rbp), %rdi
callq 0x52180
leaq -0x611(%rbp), %rdi
movq %rdi, -0x750(%rbp)
callq 0x3450
movq -0x750(%rbp), %rdx
leaq 0x5366c(%rip), %rsi     # 0x90154
leaq -0x610(%rbp), %rdi
callq 0x52000
jmp 0x3caf6
leaq -0x5f0(%rbp), %rdi
leaq -0x610(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3cb0d
leaq -0x610(%rbp), %rdi
callq 0x34a8
leaq -0x611(%rbp), %rdi
callq 0x32d0
leaq -0x5f0(%rbp), %rdi
callq 0x52180
leaq -0x661(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x3450
movq -0x758(%rbp), %rdx
leaq 0x535ea(%rip), %rsi     # 0x9013c
leaq -0x660(%rbp), %rdi
callq 0x52000
jmp 0x3cb60
leaq -0x640(%rbp), %rdi
leaq -0x660(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3cb77
leaq -0x660(%rbp), %rdi
callq 0x34a8
leaq -0x661(%rbp), %rdi
callq 0x32d0
leaq -0x640(%rbp), %rdi
callq 0x52180
leaq -0x6b1(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x3450
movq -0x760(%rbp), %rdx
leaq 0x5358e(%rip), %rsi     # 0x9014a
leaq -0x6b0(%rbp), %rdi
callq 0x52000
jmp 0x3cbca
leaq -0x690(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
xorl %edx, %edx
callq 0x520b0
jmp 0x3cbe1
leaq -0x6b0(%rbp), %rdi
callq 0x34a8
leaq -0x6b1(%rbp), %rdi
callq 0x32d0
leaq -0x690(%rbp), %rdi
callq 0x52180
addq $0x760, %rsp            # imm = 0x760
popq %rbp
retq
leaq -0x300(%rbp), %rdi
callq 0x525a0
leaq -0x288(%rbp), %rdi
callq 0x52180
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cc51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x34a8
leaq -0x3e1(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cc88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x34a8
leaq -0x431(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3ccbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x480(%rbp), %rdi
callq 0x34a8
leaq -0x481(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3ccf6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x34a8
leaq -0x4d1(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cd2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x34a8
leaq -0x521(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cd64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x570(%rbp), %rdi
callq 0x34a8
leaq -0x571(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cd9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x5c0(%rbp), %rdi
callq 0x34a8
leaq -0x5c1(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3cdd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x610(%rbp), %rdi
callq 0x34a8
leaq -0x611(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3ce06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x660(%rbp), %rdi
callq 0x34a8
leaq -0x661(%rbp), %rdi
callq 0x32d0
jmp 0x3ce46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3ce3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x34a8
leaq -0x6b1(%rbp), %rdi
callq 0x32d0
movq -0x58(%rbp), %rdi
callq 0x3440
nop