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

    {
        Tracer t("C-style array");
        int data[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        int* result = _::find(data, [](int v) {
            return v % 2 == 0;
        });
        assert(*result == 2);

        result = _::find(data, [](int v) {
            return v > 9;
        });
        assert(result == end(data));
    }

    {
        Tracer t("array");
        array<int, 10> data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("string");
        string data("hello world!");
        auto result = _::find(data, [](char v) {
            return v == 'w';
        });
        assert(*result == 'w');
    }

    {
        Tracer t("vector");
        vector<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("deque");
        deque<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("list");
        list<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("forward_list");
        forward_list<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("set");
        set<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("multiset");
        multiset<int> data { 0, 0, 2, 2, 4, 4, 6, 6, 8, 8 };
        auto result = _::find(data, [](int v) {
            return v > 5;
        });
        assert(*result == 6);
    }

    {
        Tracer t("unordered_set");
        unordered_set<int> data { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        auto result = _::find(data, [](int v) {
            return v == 5;
        });
        assert(*result == 5);
    }

    {
        Tracer t("unordered_multiset");
        unordered_multiset<int> data { 0, 0, 2, 2, 4, 4, 6, 6, 8, 8 };
        auto result = _::find(data, [](int v) {
            return v == 2;
        });
        assert(*result == 2);
    }

    {
        Tracer t("map");
        map<int, string> data { {1, "a"}, {2, "b"}, {3, "c"}, {4, "d"}, {10, "x"}, {20, "y"}, {30, "z"} };
        auto result = _::find(data, [](const pair<const int, string>& v) {
            return v.second == "x";
        });
        assert(result->first == 10);
    }

    {
        Tracer t("multimap");
        multimap<int, string> data { {2, "a"}, {2, "b"}, {4, "c"}, {4, "d"}, {10, "x"}, {10, "y"} };
        auto result = _::find(data, [](const pair<const int, string>& v) {
            return v.second == "x";
        });
        assert(result->first == 10);
    }

    {
        Tracer t("unordered_map");
        unordered_map<int, string> data { {1, "a"}, {2, "b"}, {3, "c"}, {4, "d"}, {10, "x"}, {20, "y"}, {30, "z"} };
        auto result = _::find(data, [](const pair<const int, string>& v) {
            return v.second == "x";
        });
        assert(result->first == 10);
    }

    {
        Tracer t("unordered_multimap");
        unordered_multimap<int, string> data { {2, "a"}, {2, "b"}, {4, "c"}, {4, "d"}, {10, "x"}, {10, "y"} };
        auto result = _::find(data, [](const pair<const int, string>& v) {
            return v.second == "x";
        });
        assert(result->first == 10);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x11e0, %rsp           # imm = 0x11E0
leaq 0xa8346(%rip), %rdi     # 0xc0278
leaq 0x782f8(%rip), %rsi     # 0x90231
callq 0x3380
leaq -0x49(%rbp), %rdi
movq %rdi, -0xf80(%rbp)
callq 0x3450
movq -0xf80(%rbp), %rdx
leaq 0x78115(%rip), %rsi     # 0x90071
leaq -0x48(%rbp), %rdi
callq 0x52000
jmp 0x17f67
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x17f7b
leaq -0x48(%rbp), %rdi
callq 0x34a8
leaq -0x49(%rbp), %rdi
callq 0x32d0
movaps 0x7678c(%rip), %xmm0    # 0x8e720
movaps %xmm0, -0x70(%rbp)
movaps 0x76771(%rip), %xmm0    # 0x8e710
movaps %xmm0, -0x80(%rbp)
movl $0x9, -0x60(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x1a1f0
movq %rax, -0xf88(%rbp)
jmp 0x17fbc
movq -0xf88(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x17fd8
jmp 0x18042
leaq 0x78257(%rip), %rdi     # 0x90236
leaq 0x780ae(%rip), %rsi     # 0x90094
movl $0x2a1, %edx            # imm = 0x2A1
leaq 0x78251(%rip), %rcx     # 0x90243
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1801a
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 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
leaq -0x80(%rbp), %rdi
callq 0x1a230
movq %rax, -0xf90(%rbp)
jmp 0x18054
movq -0xf90(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0xf98(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x53cb0
movq %rax, %rcx
movq -0xf98(%rbp), %rax
cmpq %rcx, %rax
jne 0x1808a
jmp 0x180a9
leaq 0x781c3(%rip), %rdi     # 0x90254
leaq 0x77ffc(%rip), %rsi     # 0x90094
movl $0x2a6, %edx            # imm = 0x2A6
leaq 0x7819f(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x28(%rbp), %rdi
callq 0x52180
leaq -0xd9(%rbp), %rdi
movq %rdi, -0xfa0(%rbp)
callq 0x3450
movq -0xfa0(%rbp), %rdx
leaq 0x77fa6(%rip), %rsi     # 0x90079
leaq -0xd8(%rbp), %rdi
callq 0x52000
jmp 0x180e1
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x180fb
leaq -0xd8(%rbp), %rdi
callq 0x34a8
leaq -0xd9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0xf0(%rbp)
movups 0x76619(%rip), %xmm0    # 0x8e744
movaps %xmm0, -0x100(%rbp)
movups 0x765fb(%rip), %xmm0    # 0x8e734
movaps %xmm0, -0x110(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x1a270
movq %rax, -0xfa8(%rbp)
jmp 0x18155
movq -0xfa8(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
cmpl $0x6, (%rax)
jne 0x18171
jmp 0x181e4
leaq 0x780f0(%rip), %rdi     # 0x90268
leaq 0x77f15(%rip), %rsi     # 0x90094
movl $0x2af, %edx            # imm = 0x2AF
leaq 0x780b8(%rip), %rcx     # 0x90243
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x181b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x34a8
leaq -0xd9(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
leaq -0xb8(%rbp), %rdi
callq 0x52180
leaq -0x169(%rbp), %rdi
movq %rdi, -0xfb0(%rbp)
callq 0x3450
movq -0xfb0(%rbp), %rdx
leaq 0x77eac(%rip), %rsi     # 0x900bd
leaq -0x168(%rbp), %rdi
callq 0x52000
jmp 0x1821f
leaq -0x148(%rbp), %rdi
leaq -0x168(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18239
leaq -0x168(%rbp), %rdi
callq 0x34a8
leaq -0x169(%rbp), %rdi
callq 0x32d0
leaq -0x191(%rbp), %rdi
movq %rdi, -0xfb8(%rbp)
callq 0x3450
movq -0xfb8(%rbp), %rdx
leaq 0x77e52(%rip), %rsi     # 0x900c4
leaq -0x190(%rbp), %rdi
callq 0x52000
jmp 0x18280
leaq -0x191(%rbp), %rdi
callq 0x32d0
leaq -0x190(%rbp), %rdi
callq 0x1a2b0
movq %rax, -0xfc0(%rbp)
jmp 0x182a1
movq -0xfc0(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x53cd0
movsbl (%rax), %eax
cmpl $0x77, %eax
jne 0x182c8
jmp 0x18358
leaq 0x77fa6(%rip), %rdi     # 0x90275
leaq 0x77dbe(%rip), %rsi     # 0x90094
movl $0x2b8, %edx            # imm = 0x2B8
leaq 0x77f61(%rip), %rcx     # 0x90243
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1830d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x34a8
leaq -0x169(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x191(%rbp), %rdi
callq 0x32d0
jmp 0x184b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x34a8
jmp 0x184b1
leaq -0x190(%rbp), %rdi
callq 0x34a8
leaq -0x148(%rbp), %rdi
callq 0x52180
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0xfc8(%rbp)
callq 0x3450
movq -0xfc8(%rbp), %rdx
leaq 0x77d4d(%rip), %rsi     # 0x900de
leaq -0x1f0(%rbp), %rdi
callq 0x52000
jmp 0x1839f
leaq -0x1d0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x183b9
leaq -0x1f0(%rbp), %rdi
callq 0x34a8
leaq -0x1f1(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x230(%rbp)
movups 0x76383(%rip), %xmm0    # 0x8e76c
movaps %xmm0, -0x240(%rbp)
movups 0x76365(%rip), %xmm0    # 0x8e75c
movaps %xmm0, -0x250(%rbp)
leaq -0x250(%rbp), %rax
movq %rax, -0x220(%rbp)
movq $0xa, -0x218(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0xfd0(%rbp)
callq 0x522f0
movq -0xfd0(%rbp), %rcx
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
leaq -0x210(%rbp), %rdi
callq 0x52310
jmp 0x1844d
leaq -0x251(%rbp), %rdi
callq 0x52390
leaq -0x210(%rbp), %rdi
callq 0x1a300
movq %rax, -0xfd8(%rbp)
jmp 0x1846e
movq -0xfd8(%rbp), %rax
movq %rax, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x53cf0
cmpl $0x6, (%rax)
jne 0x18492
jmp 0x18533
leaq 0x77dcf(%rip), %rdi     # 0x90268
leaq 0x77bf4(%rip), %rsi     # 0x90094
movl $0x2c1, %edx            # imm = 0x2C1
leaq 0x77d97(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x148(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x184e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x34a8
leaq -0x1f1(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x251(%rbp), %rdi
callq 0x52390
jmp 0x1867e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x52430
jmp 0x1867e
leaq -0x210(%rbp), %rdi
callq 0x52430
leaq -0x1d0(%rbp), %rdi
callq 0x52180
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0xfe0(%rbp)
callq 0x3450
movq -0xfe0(%rbp), %rdx
leaq 0x77b79(%rip), %rsi     # 0x900e5
leaq -0x2b0(%rbp), %rdi
callq 0x52000
jmp 0x1857a
leaq -0x290(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18594
leaq -0x2b0(%rbp), %rdi
callq 0x34a8
leaq -0x2b1(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x320(%rbp)
movups 0x761d0(%rip), %xmm0    # 0x8e794
movaps %xmm0, -0x330(%rbp)
movups 0x761b2(%rip), %xmm0    # 0x8e784
movaps %xmm0, -0x340(%rbp)
leaq -0x340(%rbp), %rax
movq %rax, -0x318(%rbp)
movq $0xa, -0x310(%rbp)
leaq -0x341(%rbp), %rdi
movq %rdi, -0xfe8(%rbp)
callq 0x522f0
movq -0xfe8(%rbp), %rcx
movq -0x318(%rbp), %rsi
movq -0x310(%rbp), %rdx
leaq -0x308(%rbp), %rdi
callq 0x52490
jmp 0x18628
leaq -0x341(%rbp), %rdi
callq 0x52390
leaq -0x368(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x1a350
jmp 0x18649
leaq -0x368(%rbp), %rdi
callq 0x53d10
cmpl $0x6, (%rax)
jne 0x1865f
jmp 0x18700
leaq 0x77c02(%rip), %rdi     # 0x90268
leaq 0x77a27(%rip), %rsi     # 0x90094
movl $0x2ca, %edx            # imm = 0x2CA
leaq 0x77bca(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x1d0(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x186b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x34a8
leaq -0x2b1(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x341(%rbp), %rdi
callq 0x52390
jmp 0x18859
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x525a0
jmp 0x18859
leaq -0x308(%rbp), %rdi
callq 0x525a0
leaq -0x290(%rbp), %rdi
callq 0x52180
leaq -0x3b9(%rbp), %rdi
movq %rdi, -0xff0(%rbp)
callq 0x3450
movq -0xff0(%rbp), %rdx
leaq 0x779ba(%rip), %rsi     # 0x900f3
leaq -0x3b8(%rbp), %rdi
callq 0x52000
jmp 0x18747
leaq -0x398(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18761
leaq -0x3b8(%rbp), %rdi
callq 0x34a8
leaq -0x3b9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x3f0(%rbp)
movups 0x7602b(%rip), %xmm0    # 0x8e7bc
movaps %xmm0, -0x400(%rbp)
movups 0x7600d(%rip), %xmm0    # 0x8e7ac
movaps %xmm0, -0x410(%rbp)
leaq -0x410(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq $0xa, -0x3e0(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0xff8(%rbp)
callq 0x522f0
movq -0xff8(%rbp), %rcx
movq -0x3e8(%rbp), %rsi
movq -0x3e0(%rbp), %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x52610
jmp 0x187f5
leaq -0x411(%rbp), %rdi
callq 0x52390
leaq -0x3d8(%rbp), %rdi
callq 0x1a3a0
movq %rax, -0x1000(%rbp)
jmp 0x18816
movq -0x1000(%rbp), %rax
movq %rax, -0x420(%rbp)
leaq -0x420(%rbp), %rdi
callq 0x53d30
cmpl $0x6, (%rax)
jne 0x1883a
jmp 0x188db
leaq 0x77a27(%rip), %rdi     # 0x90268
leaq 0x7784c(%rip), %rsi     # 0x90094
movl $0x2d3, %edx            # imm = 0x2D3
leaq 0x779ef(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x290(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x18890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x34a8
leaq -0x3b9(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x411(%rbp), %rdi
callq 0x52390
jmp 0x18a34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x527f0
jmp 0x18a34
leaq -0x3d8(%rbp), %rdi
callq 0x527f0
leaq -0x398(%rbp), %rdi
callq 0x52180
leaq -0x471(%rbp), %rdi
movq %rdi, -0x1008(%rbp)
callq 0x3450
movq -0x1008(%rbp), %rdx
leaq 0x777d7(%rip), %rsi     # 0x900eb
leaq -0x470(%rbp), %rdi
callq 0x52000
jmp 0x18922
leaq -0x450(%rbp), %rdi
leaq -0x470(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x1893c
leaq -0x470(%rbp), %rdi
callq 0x34a8
leaq -0x471(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x4a0(%rbp)
movups 0x75e78(%rip), %xmm0    # 0x8e7e4
movaps %xmm0, -0x4b0(%rbp)
movups 0x75e5a(%rip), %xmm0    # 0x8e7d4
movaps %xmm0, -0x4c0(%rbp)
leaq -0x4c0(%rbp), %rax
movq %rax, -0x490(%rbp)
movq $0xa, -0x488(%rbp)
leaq -0x4c1(%rbp), %rdi
movq %rdi, -0x1010(%rbp)
callq 0x522f0
movq -0x1010(%rbp), %rcx
movq -0x490(%rbp), %rsi
movq -0x488(%rbp), %rdx
leaq -0x480(%rbp), %rdi
callq 0x52810
jmp 0x189d0
leaq -0x4c1(%rbp), %rdi
callq 0x52390
leaq -0x480(%rbp), %rdi
callq 0x1a3f0
movq %rax, -0x1018(%rbp)
jmp 0x189f1
movq -0x1018(%rbp), %rax
movq %rax, -0x4d0(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x53d50
cmpl $0x6, (%rax)
jne 0x18a15
jmp 0x18ab6
leaq 0x7784c(%rip), %rdi     # 0x90268
leaq 0x77671(%rip), %rsi     # 0x90094
movl $0x2dc, %edx            # imm = 0x2DC
leaq 0x77814(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x398(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x18a6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x34a8
leaq -0x471(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x4c1(%rbp), %rdi
callq 0x52390
jmp 0x18c16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x480(%rbp), %rdi
callq 0x529e0
jmp 0x18c16
leaq -0x480(%rbp), %rdi
callq 0x529e0
leaq -0x450(%rbp), %rdi
callq 0x52180
leaq -0x521(%rbp), %rdi
movq %rdi, -0x1020(%rbp)
callq 0x3450
movq -0x1020(%rbp), %rdx
leaq 0x77624(%rip), %rsi     # 0x90113
leaq -0x520(%rbp), %rdi
callq 0x52000
jmp 0x18afd
leaq -0x500(%rbp), %rdi
leaq -0x520(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18b17
leaq -0x520(%rbp), %rdi
callq 0x34a8
leaq -0x521(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x570(%rbp)
movups 0x75cc5(%rip), %xmm0    # 0x8e80c
movaps %xmm0, -0x580(%rbp)
movups 0x75ca7(%rip), %xmm0    # 0x8e7fc
movaps %xmm0, -0x590(%rbp)
leaq -0x590(%rbp), %rax
movq %rax, -0x568(%rbp)
movq $0xa, -0x560(%rbp)
leaq -0x592(%rbp), %rdi
movq %rdi, -0x1028(%rbp)
callq 0x522f0
movq -0x1028(%rbp), %r8
movq -0x568(%rbp), %rsi
movq -0x560(%rbp), %rdx
leaq -0x558(%rbp), %rdi
leaq -0x591(%rbp), %rcx
callq 0x52a00
jmp 0x18bb2
leaq -0x592(%rbp), %rdi
callq 0x52390
leaq -0x558(%rbp), %rdi
callq 0x1a440
movq %rax, -0x1030(%rbp)
jmp 0x18bd3
movq -0x1030(%rbp), %rax
movq %rax, -0x5a0(%rbp)
leaq -0x5a0(%rbp), %rdi
callq 0x53d70
cmpl $0x6, (%rax)
jne 0x18bf7
jmp 0x18c98
leaq 0x7766a(%rip), %rdi     # 0x90268
leaq 0x7748f(%rip), %rsi     # 0x90094
movl $0x2e5, %edx            # imm = 0x2E5
leaq 0x77632(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x450(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x18c4d
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 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x592(%rbp), %rdi
callq 0x52390
jmp 0x18df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x558(%rbp), %rdi
callq 0x52af0
jmp 0x18df8
leaq -0x558(%rbp), %rdi
callq 0x52af0
leaq -0x500(%rbp), %rdi
callq 0x52180
leaq -0x5f1(%rbp), %rdi
movq %rdi, -0x1038(%rbp)
callq 0x3450
movq -0x1038(%rbp), %rdx
leaq 0x77450(%rip), %rsi     # 0x90121
leaq -0x5f0(%rbp), %rdi
callq 0x52000
jmp 0x18cdf
leaq -0x5d0(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18cf9
leaq -0x5f0(%rbp), %rdi
callq 0x34a8
leaq -0x5f1(%rbp), %rdi
callq 0x32d0
movabsq $0x800000008, %rax      # imm = 0x800000008
movq %rax, -0x640(%rbp)
movups 0x75b0b(%rip), %xmm0    # 0x8e834
movaps %xmm0, -0x650(%rbp)
movups 0x75aed(%rip), %xmm0    # 0x8e824
movaps %xmm0, -0x660(%rbp)
leaq -0x660(%rbp), %rax
movq %rax, -0x638(%rbp)
movq $0xa, -0x630(%rbp)
leaq -0x662(%rbp), %rdi
movq %rdi, -0x1040(%rbp)
callq 0x522f0
movq -0x1040(%rbp), %r8
movq -0x638(%rbp), %rsi
movq -0x630(%rbp), %rdx
leaq -0x628(%rbp), %rdi
leaq -0x661(%rbp), %rcx
callq 0x52b10
jmp 0x18d94
leaq -0x662(%rbp), %rdi
callq 0x52390
leaq -0x628(%rbp), %rdi
callq 0x1a490
movq %rax, -0x1048(%rbp)
jmp 0x18db5
movq -0x1048(%rbp), %rax
movq %rax, -0x670(%rbp)
leaq -0x670(%rbp), %rdi
callq 0x53d70
cmpl $0x6, (%rax)
jne 0x18dd9
jmp 0x18e7a
leaq 0x77488(%rip), %rdi     # 0x90268
leaq 0x772ad(%rip), %rsi     # 0x90094
movl $0x2ee, %edx            # imm = 0x2EE
leaq 0x77450(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x500(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x18e2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x34a8
leaq -0x5f1(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x662(%rbp), %rdi
callq 0x52390
jmp 0x18feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x628(%rbp), %rdi
callq 0x52be0
jmp 0x18feb
leaq -0x628(%rbp), %rdi
callq 0x52be0
leaq -0x5d0(%rbp), %rdi
callq 0x52180
leaq -0x6c1(%rbp), %rdi
movq %rdi, -0x1050(%rbp)
callq 0x3450
movq -0x1050(%rbp), %rdx
leaq 0x77256(%rip), %rsi     # 0x90109
leaq -0x6c0(%rbp), %rdi
callq 0x52000
jmp 0x18ec1
leaq -0x6a0(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x18edb
leaq -0x6c0(%rbp), %rdi
callq 0x34a8
leaq -0x6c1(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x720(%rbp)
movups 0x75951(%rip), %xmm0    # 0x8e85c
movaps %xmm0, -0x730(%rbp)
movups 0x75933(%rip), %xmm0    # 0x8e84c
movaps %xmm0, -0x740(%rbp)
leaq -0x740(%rbp), %rax
movq %rax, -0x710(%rbp)
movq $0xa, -0x708(%rbp)
leaq -0x743(%rbp), %rdi
movq %rdi, -0x1058(%rbp)
callq 0x522f0
movq -0x1058(%rbp), %rcx
movq -0x710(%rbp), %rsi
movq -0x708(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x700(%rbp), %rdi
leaq -0x741(%rbp), %r8
leaq -0x742(%rbp), %r9
callq 0x52c00
jmp 0x18f87
leaq -0x743(%rbp), %rdi
callq 0x52390
leaq -0x700(%rbp), %rdi
callq 0x1a4e0
movq %rax, -0x1060(%rbp)
jmp 0x18fa8
movq -0x1060(%rbp), %rax
movq %rax, -0x750(%rbp)
leaq -0x750(%rbp), %rdi
callq 0x53d90
cmpl $0x5, (%rax)
jne 0x18fcc
jmp 0x1906d
leaq 0x772b1(%rip), %rdi     # 0x90284
leaq 0x770ba(%rip), %rsi     # 0x90094
movl $0x2f7, %edx            # imm = 0x2F7
leaq 0x7725d(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x5d0(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x19022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x34a8
leaq -0x6c1(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x743(%rbp), %rdi
callq 0x52390
jmp 0x191de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x52c60
jmp 0x191de
leaq -0x700(%rbp), %rdi
callq 0x52c60
leaq -0x6a0(%rbp), %rdi
callq 0x52180
leaq -0x7a1(%rbp), %rdi
movq %rdi, -0x1068(%rbp)
callq 0x3450
movq -0x1068(%rbp), %rdx
leaq 0x77071(%rip), %rsi     # 0x90117
leaq -0x7a0(%rbp), %rdi
callq 0x52000
jmp 0x190b4
leaq -0x780(%rbp), %rdi
leaq -0x7a0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x190ce
leaq -0x7a0(%rbp), %rdi
callq 0x34a8
leaq -0x7a1(%rbp), %rdi
callq 0x32d0
movabsq $0x800000008, %rax      # imm = 0x800000008
movq %rax, -0x800(%rbp)
movups 0x75786(%rip), %xmm0    # 0x8e884
movaps %xmm0, -0x810(%rbp)
movups 0x75768(%rip), %xmm0    # 0x8e874
movaps %xmm0, -0x820(%rbp)
leaq -0x820(%rbp), %rax
movq %rax, -0x7f0(%rbp)
movq $0xa, -0x7e8(%rbp)
leaq -0x823(%rbp), %rdi
movq %rdi, -0x1070(%rbp)
callq 0x522f0
movq -0x1070(%rbp), %rcx
movq -0x7f0(%rbp), %rsi
movq -0x7e8(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x7e0(%rbp), %rdi
leaq -0x821(%rbp), %r8
leaq -0x822(%rbp), %r9
callq 0x52c80
jmp 0x1917a
leaq -0x823(%rbp), %rdi
callq 0x52390
leaq -0x7e0(%rbp), %rdi
callq 0x1a530
movq %rax, -0x1078(%rbp)
jmp 0x1919b
movq -0x1078(%rbp), %rax
movq %rax, -0x830(%rbp)
leaq -0x830(%rbp), %rdi
callq 0x53d90
cmpl $0x2, (%rax)
jne 0x191bf
jmp 0x19260
leaq 0x77070(%rip), %rdi     # 0x90236
leaq 0x76ec7(%rip), %rsi     # 0x90094
movl $0x300, %edx            # imm = 0x300
leaq 0x7706a(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x6a0(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x19215
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x7a0(%rbp), %rdi
callq 0x34a8
leaq -0x7a1(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x823(%rbp), %rdi
callq 0x52390
jmp 0x1951a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x7e0(%rbp), %rdi
callq 0x52ce0
jmp 0x1951a
leaq -0x7e0(%rbp), %rdi
callq 0x52ce0
leaq -0x780(%rbp), %rdi
callq 0x52180
leaq -0x881(%rbp), %rdi
movq %rdi, -0x1080(%rbp)
callq 0x3450
movq -0x1080(%rbp), %rdx
leaq 0x76ead(%rip), %rsi     # 0x90146
leaq -0x880(%rbp), %rdi
callq 0x52000
jmp 0x192a7
leaq -0x860(%rbp), %rdi
leaq -0x880(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x192c1
leaq -0x880(%rbp), %rdi
callq 0x34a8
leaq -0x881(%rbp), %rdi
callq 0x32d0
leaq -0x9e0(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x1, -0x9ec(%rbp)
leaq 0x76e33(%rip), %rdx     # 0x9012b
leaq -0x9ec(%rbp), %rsi
callq 0x52d00
jmp 0x19306
leaq -0x9b8(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x2, -0x9f0(%rbp)
leaq 0x76e09(%rip), %rdx     # 0x9012e
leaq -0x9f0(%rbp), %rsi
callq 0x52d00
jmp 0x19333
leaq -0x990(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x3, -0x9f4(%rbp)
leaq 0x76ddf(%rip), %rdx     # 0x90131
leaq -0x9f4(%rbp), %rsi
callq 0x52d00
jmp 0x19360
leaq -0x968(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x4, -0x9f8(%rbp)
leaq 0x77128(%rip), %rdx     # 0x904a7
leaq -0x9f8(%rbp), %rsi
callq 0x52d00
jmp 0x1938d
leaq -0x940(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0xa, -0x9fc(%rbp)
leaq 0x76fe0(%rip), %rdx     # 0x9038c
leaq -0x9fc(%rbp), %rsi
callq 0x52d00
jmp 0x193ba
leaq -0x918(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x14, -0xa00(%rbp)
leaq 0x770a1(%rip), %rdx     # 0x9047a
leaq -0xa00(%rbp), %rsi
callq 0x52d00
jmp 0x193e7
leaq -0x8f0(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
movl $0x1e, -0xa04(%rbp)
leaq 0x76db9(%rip), %rdx     # 0x901bf
leaq -0xa04(%rbp), %rsi
callq 0x52d00
jmp 0x19414
leaq -0x9e0(%rbp), %rax
movq %rax, -0x8c8(%rbp)
movq $0x7, -0x8c0(%rbp)
leaq -0xa06(%rbp), %rdi
movq %rdi, -0x1088(%rbp)
callq 0x52da0
movq -0x1088(%rbp), %r8
movq -0x8c8(%rbp), %rsi
movq -0x8c0(%rbp), %rdx
leaq -0x8b8(%rbp), %rdi
leaq -0xa05(%rbp), %rcx
callq 0x52dc0
jmp 0x1946a
leaq -0xa06(%rbp), %rdi
callq 0x52e90
leaq -0x9e0(%rbp), %rax
movq %rax, -0x1098(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1090(%rbp)
movq -0x1090(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x10a0(%rbp)
callq 0x52d80
movq -0x1098(%rbp), %rcx
movq -0x10a0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1090(%rbp)
jne 0x19491
leaq -0x8b8(%rbp), %rdi
callq 0x1a580
movq %rax, -0x10a8(%rbp)
jmp 0x194d7
movq -0x10a8(%rbp), %rax
movq %rax, -0xa10(%rbp)
leaq -0xa10(%rbp), %rdi
callq 0x53dc0
cmpl $0xa, (%rax)
jne 0x194fb
jmp 0x19644
leaq 0x76d8f(%rip), %rdi     # 0x90291
leaq 0x76b8b(%rip), %rsi     # 0x90094
movl $0x309, %edx            # imm = 0x309
leaq 0x76d2e(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x780(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x19551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x880(%rbp), %rdi
callq 0x34a8
leaq -0x881(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0x9e8(%rbp), %rax
leaq -0x9e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x10b0(%rbp)
je 0x195b9
movq -0x10b0(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x10b8(%rbp)
callq 0x52d80
movq -0x10b8(%rbp), %rax
leaq -0x9e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x10b0(%rbp)
jne 0x19588
jmp 0x198d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa06(%rbp), %rdi
callq 0x52e90
leaq -0x9e0(%rbp), %rax
movq %rax, -0x10c8(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x10c0(%rbp)
movq -0x10c0(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x10d0(%rbp)
callq 0x52d80
movq -0x10c8(%rbp), %rcx
movq -0x10d0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10c0(%rbp)
jne 0x195f1
jmp 0x198d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x8b8(%rbp), %rdi
callq 0x52f60
jmp 0x198d1
leaq -0x8b8(%rbp), %rdi
callq 0x52f60
leaq -0x860(%rbp), %rdi
callq 0x52180
leaq -0xa61(%rbp), %rdi
movq %rdi, -0x10d8(%rbp)
callq 0x3450
movq -0x10d8(%rbp), %rdx
leaq 0x76ad7(%rip), %rsi     # 0x90154
leaq -0xa60(%rbp), %rdi
callq 0x52000
jmp 0x1968b
leaq -0xa40(%rbp), %rdi
leaq -0xa60(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x196a5
leaq -0xa60(%rbp), %rdi
callq 0x34a8
leaq -0xa61(%rbp), %rdi
callq 0x32d0
leaq -0xb98(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0x2, -0xba4(%rbp)
leaq 0x76a4f(%rip), %rdx     # 0x9012b
leaq -0xba4(%rbp), %rsi
callq 0x52d00
jmp 0x196ea
leaq -0xb70(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0x2, -0xba8(%rbp)
leaq 0x76a25(%rip), %rdx     # 0x9012e
leaq -0xba8(%rbp), %rsi
callq 0x52d00
jmp 0x19717
leaq -0xb48(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0x4, -0xbac(%rbp)
leaq 0x769fb(%rip), %rdx     # 0x90131
leaq -0xbac(%rbp), %rsi
callq 0x52d00
jmp 0x19744
leaq -0xb20(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0x4, -0xbb0(%rbp)
leaq 0x76d44(%rip), %rdx     # 0x904a7
leaq -0xbb0(%rbp), %rsi
callq 0x52d00
jmp 0x19771
leaq -0xaf8(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0xa, -0xbb4(%rbp)
leaq 0x76bfc(%rip), %rdx     # 0x9038c
leaq -0xbb4(%rbp), %rsi
callq 0x52d00
jmp 0x1979e
leaq -0xad0(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
movl $0xa, -0xbb8(%rbp)
leaq 0x76cbd(%rip), %rdx     # 0x9047a
leaq -0xbb8(%rbp), %rsi
callq 0x52d00
jmp 0x197cb
leaq -0xb98(%rbp), %rax
movq %rax, -0xaa8(%rbp)
movq $0x6, -0xaa0(%rbp)
leaq -0xbba(%rbp), %rdi
movq %rdi, -0x10e0(%rbp)
callq 0x52da0
movq -0x10e0(%rbp), %r8
movq -0xaa8(%rbp), %rsi
movq -0xaa0(%rbp), %rdx
leaq -0xa98(%rbp), %rdi
leaq -0xbb9(%rbp), %rcx
callq 0x52f80
jmp 0x19821
leaq -0xbba(%rbp), %rdi
callq 0x52e90
leaq -0xb98(%rbp), %rax
movq %rax, -0x10f0(%rbp)
addq $0xf0, %rax
movq %rax, -0x10e8(%rbp)
movq -0x10e8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x10f8(%rbp)
callq 0x52d80
movq -0x10f0(%rbp), %rcx
movq -0x10f8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10e8(%rbp)
jne 0x19848
leaq -0xa98(%rbp), %rdi
callq 0x1a5d0
movq %rax, -0x1100(%rbp)
jmp 0x1988e
movq -0x1100(%rbp), %rax
movq %rax, -0xbc8(%rbp)
leaq -0xbc8(%rbp), %rdi
callq 0x53dc0
cmpl $0xa, (%rax)
jne 0x198b2
jmp 0x199fb
leaq 0x769d8(%rip), %rdi     # 0x90291
leaq 0x767d4(%rip), %rsi     # 0x90094
movl $0x312, %edx            # imm = 0x312
leaq 0x76977(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0x860(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x19908
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa60(%rbp), %rdi
callq 0x34a8
leaq -0xa61(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xba0(%rbp), %rax
leaq -0xb98(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1108(%rbp)
je 0x19970
movq -0x1108(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1110(%rbp)
callq 0x52d80
movq -0x1110(%rbp), %rax
leaq -0xb98(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1108(%rbp)
jne 0x1993f
jmp 0x19cc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xbba(%rbp), %rdi
callq 0x52e90
leaq -0xb98(%rbp), %rax
movq %rax, -0x1120(%rbp)
addq $0xf0, %rax
movq %rax, -0x1118(%rbp)
movq -0x1118(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1128(%rbp)
callq 0x52d80
movq -0x1120(%rbp), %rcx
movq -0x1128(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1118(%rbp)
jne 0x199a8
jmp 0x19cc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa98(%rbp), %rdi
callq 0x53080
jmp 0x19cc6
leaq -0xa98(%rbp), %rdi
callq 0x53080
leaq -0xa40(%rbp), %rdi
callq 0x52180
leaq -0xc19(%rbp), %rdi
movq %rdi, -0x1130(%rbp)
callq 0x3450
movq -0x1130(%rbp), %rdx
leaq 0x76708(%rip), %rsi     # 0x9013c
leaq -0xc18(%rbp), %rdi
callq 0x52000
jmp 0x19a42
leaq -0xbf8(%rbp), %rdi
leaq -0xc18(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x19a5c
leaq -0xc18(%rbp), %rdi
callq 0x34a8
leaq -0xc19(%rbp), %rdi
callq 0x32d0
leaq -0xd80(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x1, -0xd8c(%rbp)
leaq 0x76698(%rip), %rdx     # 0x9012b
leaq -0xd8c(%rbp), %rsi
callq 0x52d00
jmp 0x19aa1
leaq -0xd58(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x2, -0xd90(%rbp)
leaq 0x7666e(%rip), %rdx     # 0x9012e
leaq -0xd90(%rbp), %rsi
callq 0x52d00
jmp 0x19ace
leaq -0xd30(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x3, -0xd94(%rbp)
leaq 0x76644(%rip), %rdx     # 0x90131
leaq -0xd94(%rbp), %rsi
callq 0x52d00
jmp 0x19afb
leaq -0xd08(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x4, -0xd98(%rbp)
leaq 0x7698d(%rip), %rdx     # 0x904a7
leaq -0xd98(%rbp), %rsi
callq 0x52d00
jmp 0x19b28
leaq -0xce0(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0xa, -0xd9c(%rbp)
leaq 0x76845(%rip), %rdx     # 0x9038c
leaq -0xd9c(%rbp), %rsi
callq 0x52d00
jmp 0x19b55
leaq -0xcb8(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x14, -0xda0(%rbp)
leaq 0x76906(%rip), %rdx     # 0x9047a
leaq -0xda0(%rbp), %rsi
callq 0x52d00
jmp 0x19b82
leaq -0xc90(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
movl $0x1e, -0xda4(%rbp)
leaq 0x7661e(%rip), %rdx     # 0x901bf
leaq -0xda4(%rbp), %rsi
callq 0x52d00
jmp 0x19baf
leaq -0xd80(%rbp), %rax
movq %rax, -0xc68(%rbp)
movq $0x7, -0xc60(%rbp)
leaq -0xda7(%rbp), %rdi
movq %rdi, -0x1138(%rbp)
callq 0x52da0
movq -0x1138(%rbp), %rcx
movq -0xc68(%rbp), %rsi
movq -0xc60(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0xc58(%rbp), %rdi
leaq -0xda5(%rbp), %r8
leaq -0xda6(%rbp), %r9
callq 0x530a0
jmp 0x19c16
leaq -0xda7(%rbp), %rdi
callq 0x52e90
leaq -0xd80(%rbp), %rax
movq %rax, -0x1148(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1140(%rbp)
movq -0x1140(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1150(%rbp)
callq 0x52d80
movq -0x1148(%rbp), %rcx
movq -0x1150(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1140(%rbp)
jne 0x19c3d
leaq -0xc58(%rbp), %rdi
callq 0x1a620
movq %rax, -0x1158(%rbp)
jmp 0x19c83
movq -0x1158(%rbp), %rax
movq %rax, -0xdb0(%rbp)
leaq -0xdb0(%rbp), %rdi
callq 0x53de0
cmpl $0xa, (%rax)
jne 0x19ca7
jmp 0x19df0
leaq 0x765e3(%rip), %rdi     # 0x90291
leaq 0x763df(%rip), %rsi     # 0x90094
movl $0x31b, %edx            # imm = 0x31B
leaq 0x76582(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0xa40(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x19cfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc18(%rbp), %rdi
callq 0x34a8
leaq -0xc19(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xd88(%rbp), %rax
leaq -0xd80(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1160(%rbp)
je 0x19d65
movq -0x1160(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1168(%rbp)
callq 0x52d80
movq -0x1168(%rbp), %rax
leaq -0xd80(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1160(%rbp)
jne 0x19d34
jmp 0x1a08e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xda7(%rbp), %rdi
callq 0x52e90
leaq -0xd80(%rbp), %rax
movq %rax, -0x1178(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1170(%rbp)
movq -0x1170(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1180(%rbp)
callq 0x52d80
movq -0x1178(%rbp), %rcx
movq -0x1180(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1170(%rbp)
jne 0x19d9d
jmp 0x1a08e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc58(%rbp), %rdi
callq 0x53130
jmp 0x1a08e
leaq -0xc58(%rbp), %rdi
callq 0x53130
leaq -0xbf8(%rbp), %rdi
callq 0x52180
leaq -0xe01(%rbp), %rdi
movq %rdi, -0x1188(%rbp)
callq 0x3450
movq -0x1188(%rbp), %rdx
leaq 0x76321(%rip), %rsi     # 0x9014a
leaq -0xe00(%rbp), %rdi
callq 0x52000
jmp 0x19e37
leaq -0xde0(%rbp), %rdi
leaq -0xe00(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x19e51
leaq -0xe00(%rbp), %rdi
callq 0x34a8
leaq -0xe01(%rbp), %rdi
callq 0x32d0
leaq -0xf40(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0x2, -0xf4c(%rbp)
leaq 0x762a3(%rip), %rdx     # 0x9012b
leaq -0xf4c(%rbp), %rsi
callq 0x52d00
jmp 0x19e96
leaq -0xf18(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0x2, -0xf50(%rbp)
leaq 0x76279(%rip), %rdx     # 0x9012e
leaq -0xf50(%rbp), %rsi
callq 0x52d00
jmp 0x19ec3
leaq -0xef0(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0x4, -0xf54(%rbp)
leaq 0x7624f(%rip), %rdx     # 0x90131
leaq -0xf54(%rbp), %rsi
callq 0x52d00
jmp 0x19ef0
leaq -0xec8(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0x4, -0xf58(%rbp)
leaq 0x76598(%rip), %rdx     # 0x904a7
leaq -0xf58(%rbp), %rsi
callq 0x52d00
jmp 0x19f1d
leaq -0xea0(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0xa, -0xf5c(%rbp)
leaq 0x76450(%rip), %rdx     # 0x9038c
leaq -0xf5c(%rbp), %rsi
callq 0x52d00
jmp 0x19f4a
leaq -0xe78(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
movl $0xa, -0xf60(%rbp)
leaq 0x76511(%rip), %rdx     # 0x9047a
leaq -0xf60(%rbp), %rsi
callq 0x52d00
jmp 0x19f77
leaq -0xf40(%rbp), %rax
movq %rax, -0xe50(%rbp)
movq $0x6, -0xe48(%rbp)
leaq -0xf63(%rbp), %rdi
movq %rdi, -0x1190(%rbp)
callq 0x52da0
movq -0x1190(%rbp), %rcx
movq -0xe50(%rbp), %rsi
movq -0xe48(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0xe40(%rbp), %rdi
leaq -0xf61(%rbp), %r8
leaq -0xf62(%rbp), %r9
callq 0x53150
jmp 0x19fde
leaq -0xf63(%rbp), %rdi
callq 0x52e90
leaq -0xf40(%rbp), %rax
movq %rax, -0x11a0(%rbp)
addq $0xf0, %rax
movq %rax, -0x1198(%rbp)
movq -0x1198(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x11a8(%rbp)
callq 0x52d80
movq -0x11a0(%rbp), %rcx
movq -0x11a8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1198(%rbp)
jne 0x1a005
leaq -0xe40(%rbp), %rdi
callq 0x1a670
movq %rax, -0x11b0(%rbp)
jmp 0x1a04b
movq -0x11b0(%rbp), %rax
movq %rax, -0xf70(%rbp)
leaq -0xf70(%rbp), %rdi
callq 0x53de0
cmpl $0xa, (%rax)
jne 0x1a06f
jmp 0x1a1b2
leaq 0x7621b(%rip), %rdi     # 0x90291
leaq 0x76017(%rip), %rsi     # 0x90094
movl $0x324, %edx            # imm = 0x324
leaq 0x761ba(%rip), %rcx     # 0x90243
callq 0x3170
leaq -0xbf8(%rbp), %rdi
callq 0x52180
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1a0c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe00(%rbp), %rdi
callq 0x34a8
leaq -0xe01(%rbp), %rdi
callq 0x32d0
jmp 0x1a1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xf48(%rbp), %rax
leaq -0xf40(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x11b8(%rbp)
je 0x1a12d
movq -0x11b8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x11c0(%rbp)
callq 0x52d80
movq -0x11c0(%rbp), %rax
leaq -0xf40(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x11b8(%rbp)
jne 0x1a0fc
jmp 0x1a1d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xf63(%rbp), %rdi
callq 0x52e90
leaq -0xf40(%rbp), %rax
movq %rax, -0x11d0(%rbp)
addq $0xf0, %rax
movq %rax, -0x11c8(%rbp)
movq -0x11c8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x11d8(%rbp)
callq 0x52d80
movq -0x11d0(%rbp), %rcx
movq -0x11d8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x11c8(%rbp)
jne 0x1a165
jmp 0x1a1d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe40(%rbp), %rdi
callq 0x531e0
jmp 0x1a1d3
leaq -0xe40(%rbp), %rdi
callq 0x531e0
leaq -0xde0(%rbp), %rdi
callq 0x52180
addq $0x11e0, %rsp           # imm = 0x11E0
popq %rbp
retq
leaq -0xde0(%rbp), %rdi
callq 0x52180
movq -0x58(%rbp), %rdi
callq 0x3440
nopl (%rax,%rax)