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

    {
        Tracer t("C-style array");
        Data data[] { Data(1), Data(2), Data(3), Data(4) };
        Data* result = _::max(data, [](const Data& d) {
            return d.i_;
        });
        assert(result->get() == 4);
    }

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

    {
        Tracer t("string");
        string data("hello world!");
        auto result = _::max(data);
        assert(*result == 'w');
    }

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

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

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

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

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

    {
        Tracer t("multiset");
        multiset<int> data { 0, 0, 2, 2, 4, 4, 6, 6, 8, 8 };
        auto result = _::max(data);
        assert(*result == 8);
    }

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

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

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

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1190, %rsp           # imm = 0x1190
leaq 0x93b06(%rip), %rdi     # 0xc0278
leaq 0x63c11(%rip), %rsi     # 0x9038a
callq 0x3380
leaq -0x49(%rbp), %rdi
movq %rdi, -0xf28(%rbp)
callq 0x3450
movq -0xf28(%rbp), %rdx
leaq 0x638d5(%rip), %rsi     # 0x90071
leaq -0x48(%rbp), %rdi
callq 0x52000
jmp 0x2c7a7
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2c7bb
leaq -0x48(%rbp), %rdi
callq 0x34a8
leaq -0x49(%rbp), %rdi
callq 0x32d0
leaq -0x70(%rbp), %rdi
movl $0x1, %esi
callq 0x54540
jmp 0x2c7dd
leaq -0x6c(%rbp), %rdi
movl $0x2, %esi
callq 0x54540
jmp 0x2c7ed
leaq -0x68(%rbp), %rdi
movl $0x3, %esi
callq 0x54540
jmp 0x2c7fd
leaq -0x64(%rbp), %rdi
movl $0x4, %esi
callq 0x54540
jmp 0x2c80d
leaq -0x70(%rbp), %rdi
callq 0x2ea40
movq %rax, -0xf30(%rbp)
jmp 0x2c81f
movq -0xf30(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rdi
callq 0x54790
movl %eax, -0xf34(%rbp)
jmp 0x2c83b
movl -0xf34(%rbp), %eax
cmpl $0x4, %eax
jne 0x2c848
jmp 0x2c8b2
leaq 0x63b3f(%rip), %rdi     # 0x9038e
leaq 0x6383e(%rip), %rsi     # 0x90094
movl $0x6cf, %edx            # imm = 0x6CF
leaq 0x63b3f(%rip), %rcx     # 0x903a1
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2c88a
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 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
leaq -0x28(%rbp), %rdi
callq 0x52180
leaq -0xc9(%rbp), %rdi
movq %rdi, -0xf40(%rbp)
callq 0x3450
movq -0xf40(%rbp), %rdx
leaq 0x6379d(%rip), %rsi     # 0x90079
leaq -0xc8(%rbp), %rdi
callq 0x52000
jmp 0x2c8ea
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2c904
leaq -0xc8(%rbp), %rdi
callq 0x34a8
leaq -0xc9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0xe0(%rbp)
movups 0x626a8(%rip), %xmm0    # 0x8efdc
movaps %xmm0, -0xf0(%rbp)
movups 0x6268a(%rip), %xmm0    # 0x8efcc
movaps %xmm0, -0x100(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x56c50
movq %rax, -0xf48(%rbp)
jmp 0x2c95e
movq -0xf48(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rax
cmpl $0x9, (%rax)
jne 0x2c97a
jmp 0x2c9ed
leaq 0x63a30(%rip), %rdi     # 0x903b1
leaq 0x6370c(%rip), %rsi     # 0x90094
movl $0x6d6, %edx            # imm = 0x6D6
leaq 0x63a0d(%rip), %rcx     # 0x903a1
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2c9bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x34a8
leaq -0xc9(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
leaq -0xa8(%rbp), %rdi
callq 0x52180
leaq -0x151(%rbp), %rdi
movq %rdi, -0xf50(%rbp)
callq 0x3450
movq -0xf50(%rbp), %rdx
leaq 0x636a3(%rip), %rsi     # 0x900bd
leaq -0x150(%rbp), %rdi
callq 0x52000
jmp 0x2ca28
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2ca42
leaq -0x150(%rbp), %rdi
callq 0x34a8
leaq -0x151(%rbp), %rdi
callq 0x32d0
leaq -0x179(%rbp), %rdi
movq %rdi, -0xf58(%rbp)
callq 0x3450
movq -0xf58(%rbp), %rdx
leaq 0x63649(%rip), %rsi     # 0x900c4
leaq -0x178(%rbp), %rdi
callq 0x52000
jmp 0x2ca89
leaq -0x179(%rbp), %rdi
callq 0x32d0
leaq -0x178(%rbp), %rdi
callq 0x56c90
movq %rax, -0xf60(%rbp)
jmp 0x2caaa
movq -0xf60(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x53cd0
movsbl (%rax), %eax
cmpl $0x77, %eax
jne 0x2cad1
jmp 0x2cb61
leaq 0x6379d(%rip), %rdi     # 0x90275
leaq 0x635b5(%rip), %rsi     # 0x90094
movl $0x6dd, %edx            # imm = 0x6DD
leaq 0x638b6(%rip), %rcx     # 0x903a1
callq 0x3170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cb16
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 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x179(%rbp), %rdi
callq 0x32d0
jmp 0x2ccba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x34a8
jmp 0x2ccba
leaq -0x178(%rbp), %rdi
callq 0x34a8
leaq -0x130(%rbp), %rdi
callq 0x52180
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0xf68(%rbp)
callq 0x3450
movq -0xf68(%rbp), %rdx
leaq 0x63544(%rip), %rsi     # 0x900de
leaq -0x1d0(%rbp), %rdi
callq 0x52000
jmp 0x2cba8
leaq -0x1b0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2cbc2
leaq -0x1d0(%rbp), %rdi
callq 0x34a8
leaq -0x1d1(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x210(%rbp)
movups 0x62412(%rip), %xmm0    # 0x8f004
movaps %xmm0, -0x220(%rbp)
movups 0x623f4(%rip), %xmm0    # 0x8eff4
movaps %xmm0, -0x230(%rbp)
leaq -0x230(%rbp), %rax
movq %rax, -0x200(%rbp)
movq $0xa, -0x1f8(%rbp)
leaq -0x231(%rbp), %rdi
movq %rdi, -0xf70(%rbp)
callq 0x522f0
movq -0xf70(%rbp), %rcx
movq -0x200(%rbp), %rsi
movq -0x1f8(%rbp), %rdx
leaq -0x1f0(%rbp), %rdi
callq 0x52310
jmp 0x2cc56
leaq -0x231(%rbp), %rdi
callq 0x52390
leaq -0x1f0(%rbp), %rdi
callq 0x56ce0
movq %rax, -0xf78(%rbp)
jmp 0x2cc77
movq -0xf78(%rbp), %rax
movq %rax, -0x240(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x53cf0
cmpl $0x9, (%rax)
jne 0x2cc9b
jmp 0x2cd3c
leaq 0x6370f(%rip), %rdi     # 0x903b1
leaq 0x633eb(%rip), %rsi     # 0x90094
movl $0x6e4, %edx            # imm = 0x6E4
leaq 0x636ec(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x130(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2ccf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x34a8
leaq -0x1d1(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x231(%rbp), %rdi
callq 0x52390
jmp 0x2ce87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x52430
jmp 0x2ce87
leaq -0x1f0(%rbp), %rdi
callq 0x52430
leaq -0x1b0(%rbp), %rdi
callq 0x52180
leaq -0x289(%rbp), %rdi
movq %rdi, -0xf80(%rbp)
callq 0x3450
movq -0xf80(%rbp), %rdx
leaq 0x63370(%rip), %rsi     # 0x900e5
leaq -0x288(%rbp), %rdi
callq 0x52000
jmp 0x2cd83
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2cd9d
leaq -0x288(%rbp), %rdi
callq 0x34a8
leaq -0x289(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x300(%rbp)
movups 0x6225f(%rip), %xmm0    # 0x8f02c
movaps %xmm0, -0x310(%rbp)
movups 0x62241(%rip), %xmm0    # 0x8f01c
movaps %xmm0, -0x320(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq $0xa, -0x2e8(%rbp)
leaq -0x321(%rbp), %rdi
movq %rdi, -0xf88(%rbp)
callq 0x522f0
movq -0xf88(%rbp), %rcx
movq -0x2f0(%rbp), %rsi
movq -0x2e8(%rbp), %rdx
leaq -0x2e0(%rbp), %rdi
callq 0x52490
jmp 0x2ce31
leaq -0x321(%rbp), %rdi
callq 0x52390
leaq -0x348(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x56d30
jmp 0x2ce52
leaq -0x348(%rbp), %rdi
callq 0x53d10
cmpl $0x9, (%rax)
jne 0x2ce68
jmp 0x2cf09
leaq 0x63542(%rip), %rdi     # 0x903b1
leaq 0x6321e(%rip), %rsi     # 0x90094
movl $0x6eb, %edx            # imm = 0x6EB
leaq 0x6351f(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x1b0(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cebe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x34a8
leaq -0x289(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x321(%rbp), %rdi
callq 0x52390
jmp 0x2d062
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x525a0
jmp 0x2d062
leaq -0x2e0(%rbp), %rdi
callq 0x525a0
leaq -0x268(%rbp), %rdi
callq 0x52180
leaq -0x391(%rbp), %rdi
movq %rdi, -0xf90(%rbp)
callq 0x3450
movq -0xf90(%rbp), %rdx
leaq 0x631b1(%rip), %rsi     # 0x900f3
leaq -0x390(%rbp), %rdi
callq 0x52000
jmp 0x2cf50
leaq -0x370(%rbp), %rdi
leaq -0x390(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2cf6a
leaq -0x390(%rbp), %rdi
callq 0x34a8
leaq -0x391(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x3d0(%rbp)
movups 0x620ba(%rip), %xmm0    # 0x8f054
movaps %xmm0, -0x3e0(%rbp)
movups 0x6209c(%rip), %xmm0    # 0x8f044
movaps %xmm0, -0x3f0(%rbp)
leaq -0x3f0(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movq $0xa, -0x3b8(%rbp)
leaq -0x3f1(%rbp), %rdi
movq %rdi, -0xf98(%rbp)
callq 0x522f0
movq -0xf98(%rbp), %rcx
movq -0x3c0(%rbp), %rsi
movq -0x3b8(%rbp), %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x52610
jmp 0x2cffe
leaq -0x3f1(%rbp), %rdi
callq 0x52390
leaq -0x3b0(%rbp), %rdi
callq 0x56d80
movq %rax, -0xfa0(%rbp)
jmp 0x2d01f
movq -0xfa0(%rbp), %rax
movq %rax, -0x400(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x53d30
cmpl $0x9, (%rax)
jne 0x2d043
jmp 0x2d0e4
leaq 0x63367(%rip), %rdi     # 0x903b1
leaq 0x63043(%rip), %rsi     # 0x90094
movl $0x6f2, %edx            # imm = 0x6F2
leaq 0x63344(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x268(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2d099
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x34a8
leaq -0x391(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3f1(%rbp), %rdi
callq 0x52390
jmp 0x2d23d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x527f0
jmp 0x2d23d
leaq -0x3b0(%rbp), %rdi
callq 0x527f0
leaq -0x370(%rbp), %rdi
callq 0x52180
leaq -0x449(%rbp), %rdi
movq %rdi, -0xfa8(%rbp)
callq 0x3450
movq -0xfa8(%rbp), %rdx
leaq 0x62fce(%rip), %rsi     # 0x900eb
leaq -0x448(%rbp), %rdi
callq 0x52000
jmp 0x2d12b
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2d145
leaq -0x448(%rbp), %rdi
callq 0x34a8
leaq -0x449(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x470(%rbp)
movups 0x61f07(%rip), %xmm0    # 0x8f07c
movaps %xmm0, -0x480(%rbp)
movups 0x61ee9(%rip), %xmm0    # 0x8f06c
movaps %xmm0, -0x490(%rbp)
leaq -0x490(%rbp), %rax
movq %rax, -0x468(%rbp)
movq $0xa, -0x460(%rbp)
leaq -0x491(%rbp), %rdi
movq %rdi, -0xfb0(%rbp)
callq 0x522f0
movq -0xfb0(%rbp), %rcx
movq -0x468(%rbp), %rsi
movq -0x460(%rbp), %rdx
leaq -0x458(%rbp), %rdi
callq 0x52810
jmp 0x2d1d9
leaq -0x491(%rbp), %rdi
callq 0x52390
leaq -0x458(%rbp), %rdi
callq 0x56dd0
movq %rax, -0xfb8(%rbp)
jmp 0x2d1fa
movq -0xfb8(%rbp), %rax
movq %rax, -0x4a0(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x53d50
cmpl $0x9, (%rax)
jne 0x2d21e
jmp 0x2d2bf
leaq 0x6318c(%rip), %rdi     # 0x903b1
leaq 0x62e68(%rip), %rsi     # 0x90094
movl $0x6f9, %edx            # imm = 0x6F9
leaq 0x63169(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x370(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2d274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x34a8
leaq -0x449(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x491(%rbp), %rdi
callq 0x52390
jmp 0x2d41f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x529e0
jmp 0x2d41f
leaq -0x458(%rbp), %rdi
callq 0x529e0
leaq -0x428(%rbp), %rdi
callq 0x52180
leaq -0x4e9(%rbp), %rdi
movq %rdi, -0xfc0(%rbp)
callq 0x3450
movq -0xfc0(%rbp), %rdx
leaq 0x62e1b(%rip), %rsi     # 0x90113
leaq -0x4e8(%rbp), %rdi
callq 0x52000
jmp 0x2d306
leaq -0x4c8(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2d320
leaq -0x4e8(%rbp), %rdi
callq 0x34a8
leaq -0x4e9(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x540(%rbp)
movups 0x61d54(%rip), %xmm0    # 0x8f0a4
movaps %xmm0, -0x550(%rbp)
movups 0x61d36(%rip), %xmm0    # 0x8f094
movaps %xmm0, -0x560(%rbp)
leaq -0x560(%rbp), %rax
movq %rax, -0x530(%rbp)
movq $0xa, -0x528(%rbp)
leaq -0x562(%rbp), %rdi
movq %rdi, -0xfc8(%rbp)
callq 0x522f0
movq -0xfc8(%rbp), %r8
movq -0x530(%rbp), %rsi
movq -0x528(%rbp), %rdx
leaq -0x520(%rbp), %rdi
leaq -0x561(%rbp), %rcx
callq 0x52a00
jmp 0x2d3bb
leaq -0x562(%rbp), %rdi
callq 0x52390
leaq -0x520(%rbp), %rdi
callq 0x56e20
movq %rax, -0xfd0(%rbp)
jmp 0x2d3dc
movq -0xfd0(%rbp), %rax
movq %rax, -0x570(%rbp)
leaq -0x570(%rbp), %rdi
callq 0x53d70
cmpl $0x9, (%rax)
jne 0x2d400
jmp 0x2d4a1
leaq 0x62faa(%rip), %rdi     # 0x903b1
leaq 0x62c86(%rip), %rsi     # 0x90094
movl $0x700, %edx            # imm = 0x700
leaq 0x62f87(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x428(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2d456
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x34a8
leaq -0x4e9(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x562(%rbp), %rdi
callq 0x52390
jmp 0x2d601
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x52af0
jmp 0x2d601
leaq -0x520(%rbp), %rdi
callq 0x52af0
leaq -0x4c8(%rbp), %rdi
callq 0x52180
leaq -0x5b9(%rbp), %rdi
movq %rdi, -0xfd8(%rbp)
callq 0x3450
movq -0xfd8(%rbp), %rdx
leaq 0x62c47(%rip), %rsi     # 0x90121
leaq -0x5b8(%rbp), %rdi
callq 0x52000
jmp 0x2d4e8
leaq -0x598(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2d502
leaq -0x5b8(%rbp), %rdi
callq 0x34a8
leaq -0x5b9(%rbp), %rdi
callq 0x32d0
movabsq $0x800000008, %rax      # imm = 0x800000008
movq %rax, -0x610(%rbp)
movups 0x61b9a(%rip), %xmm0    # 0x8f0cc
movaps %xmm0, -0x620(%rbp)
movups 0x61b7c(%rip), %xmm0    # 0x8f0bc
movaps %xmm0, -0x630(%rbp)
leaq -0x630(%rbp), %rax
movq %rax, -0x600(%rbp)
movq $0xa, -0x5f8(%rbp)
leaq -0x632(%rbp), %rdi
movq %rdi, -0xfe0(%rbp)
callq 0x522f0
movq -0xfe0(%rbp), %r8
movq -0x600(%rbp), %rsi
movq -0x5f8(%rbp), %rdx
leaq -0x5f0(%rbp), %rdi
leaq -0x631(%rbp), %rcx
callq 0x52b10
jmp 0x2d59d
leaq -0x632(%rbp), %rdi
callq 0x52390
leaq -0x5f0(%rbp), %rdi
callq 0x56e70
movq %rax, -0xfe8(%rbp)
jmp 0x2d5be
movq -0xfe8(%rbp), %rax
movq %rax, -0x640(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x53d70
cmpl $0x8, (%rax)
jne 0x2d5e2
jmp 0x2d683
leaq 0x62dd5(%rip), %rdi     # 0x903be
leaq 0x62aa4(%rip), %rsi     # 0x90094
movl $0x707, %edx            # imm = 0x707
leaq 0x62da5(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x4c8(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2d638
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x5b8(%rbp), %rdi
callq 0x34a8
leaq -0x5b9(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x632(%rbp), %rdi
callq 0x52390
jmp 0x2d7f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x52be0
jmp 0x2d7f4
leaq -0x5f0(%rbp), %rdi
callq 0x52be0
leaq -0x598(%rbp), %rdi
callq 0x52180
leaq -0x689(%rbp), %rdi
movq %rdi, -0xff0(%rbp)
callq 0x3450
movq -0xff0(%rbp), %rdx
leaq 0x62a4d(%rip), %rsi     # 0x90109
leaq -0x688(%rbp), %rdi
callq 0x52000
jmp 0x2d6ca
leaq -0x668(%rbp), %rdi
leaq -0x688(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2d6e4
leaq -0x688(%rbp), %rdi
callq 0x34a8
leaq -0x689(%rbp), %rdi
callq 0x32d0
movabsq $0x900000008, %rax      # imm = 0x900000008
movq %rax, -0x6e0(%rbp)
movups 0x619e0(%rip), %xmm0    # 0x8f0f4
movaps %xmm0, -0x6f0(%rbp)
movups 0x619c2(%rip), %xmm0    # 0x8f0e4
movaps %xmm0, -0x700(%rbp)
leaq -0x700(%rbp), %rax
movq %rax, -0x6d8(%rbp)
movq $0xa, -0x6d0(%rbp)
leaq -0x703(%rbp), %rdi
movq %rdi, -0xff8(%rbp)
callq 0x522f0
movq -0xff8(%rbp), %rcx
movq -0x6d8(%rbp), %rsi
movq -0x6d0(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x6c8(%rbp), %rdi
leaq -0x701(%rbp), %r8
leaq -0x702(%rbp), %r9
callq 0x52c00
jmp 0x2d790
leaq -0x703(%rbp), %rdi
callq 0x52390
leaq -0x6c8(%rbp), %rdi
callq 0x56ec0
movq %rax, -0x1000(%rbp)
jmp 0x2d7b1
movq -0x1000(%rbp), %rax
movq %rax, -0x710(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x53d90
cmpl $0x9, (%rax)
jne 0x2d7d5
jmp 0x2d876
leaq 0x62bd5(%rip), %rdi     # 0x903b1
leaq 0x628b1(%rip), %rsi     # 0x90094
movl $0x70e, %edx            # imm = 0x70E
leaq 0x62bb2(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x598(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2d82b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x688(%rbp), %rdi
callq 0x34a8
leaq -0x689(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x703(%rbp), %rdi
callq 0x52390
jmp 0x2d9e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6c8(%rbp), %rdi
callq 0x52c60
jmp 0x2d9e7
leaq -0x6c8(%rbp), %rdi
callq 0x52c60
leaq -0x668(%rbp), %rdi
callq 0x52180
leaq -0x759(%rbp), %rdi
movq %rdi, -0x1008(%rbp)
callq 0x3450
movq -0x1008(%rbp), %rdx
leaq 0x62868(%rip), %rsi     # 0x90117
leaq -0x758(%rbp), %rdi
callq 0x52000
jmp 0x2d8bd
leaq -0x738(%rbp), %rdi
leaq -0x758(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2d8d7
leaq -0x758(%rbp), %rdi
callq 0x34a8
leaq -0x759(%rbp), %rdi
callq 0x32d0
movabsq $0x800000008, %rax      # imm = 0x800000008
movq %rax, -0x7b0(%rbp)
movups 0x61815(%rip), %xmm0    # 0x8f11c
movaps %xmm0, -0x7c0(%rbp)
movups 0x617f7(%rip), %xmm0    # 0x8f10c
movaps %xmm0, -0x7d0(%rbp)
leaq -0x7d0(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq $0xa, -0x7a0(%rbp)
leaq -0x7d3(%rbp), %rdi
movq %rdi, -0x1010(%rbp)
callq 0x522f0
movq -0x1010(%rbp), %rcx
movq -0x7a8(%rbp), %rsi
movq -0x7a0(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x798(%rbp), %rdi
leaq -0x7d1(%rbp), %r8
leaq -0x7d2(%rbp), %r9
callq 0x52c80
jmp 0x2d983
leaq -0x7d3(%rbp), %rdi
callq 0x52390
leaq -0x798(%rbp), %rdi
callq 0x56f10
movq %rax, -0x1018(%rbp)
jmp 0x2d9a4
movq -0x1018(%rbp), %rax
movq %rax, -0x7e0(%rbp)
leaq -0x7e0(%rbp), %rdi
callq 0x53d90
cmpl $0x8, (%rax)
jne 0x2d9c8
jmp 0x2da69
leaq 0x629ef(%rip), %rdi     # 0x903be
leaq 0x626be(%rip), %rsi     # 0x90094
movl $0x715, %edx            # imm = 0x715
leaq 0x629bf(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x668(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2da1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x758(%rbp), %rdi
callq 0x34a8
leaq -0x759(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x7d3(%rbp), %rdi
callq 0x52390
jmp 0x2dd45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x798(%rbp), %rdi
callq 0x52ce0
jmp 0x2dd45
leaq -0x798(%rbp), %rdi
callq 0x52ce0
leaq -0x738(%rbp), %rdi
callq 0x52180
leaq -0x829(%rbp), %rdi
movq %rdi, -0x1020(%rbp)
callq 0x3450
movq -0x1020(%rbp), %rdx
leaq 0x626a4(%rip), %rsi     # 0x90146
leaq -0x828(%rbp), %rdi
callq 0x52000
jmp 0x2dab0
leaq -0x808(%rbp), %rdi
leaq -0x828(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2daca
leaq -0x828(%rbp), %rdi
callq 0x34a8
leaq -0x829(%rbp), %rdi
callq 0x32d0
leaq -0x988(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x1, -0x994(%rbp)
leaq 0x6262a(%rip), %rdx     # 0x9012b
leaq -0x994(%rbp), %rsi
callq 0x52d00
jmp 0x2db0f
leaq -0x960(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x2, -0x998(%rbp)
leaq 0x62600(%rip), %rdx     # 0x9012e
leaq -0x998(%rbp), %rsi
callq 0x52d00
jmp 0x2db3c
leaq -0x938(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x3, -0x99c(%rbp)
leaq 0x625d6(%rip), %rdx     # 0x90131
leaq -0x99c(%rbp), %rsi
callq 0x52d00
jmp 0x2db69
leaq -0x910(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x4, -0x9a0(%rbp)
leaq 0x6291f(%rip), %rdx     # 0x904a7
leaq -0x9a0(%rbp), %rsi
callq 0x52d00
jmp 0x2db96
leaq -0x8e8(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0xa, -0x9a4(%rbp)
leaq 0x627d7(%rip), %rdx     # 0x9038c
leaq -0x9a4(%rbp), %rsi
callq 0x52d00
jmp 0x2dbc3
leaq -0x8c0(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x14, -0x9a8(%rbp)
leaq 0x62898(%rip), %rdx     # 0x9047a
leaq -0x9a8(%rbp), %rsi
callq 0x52d00
jmp 0x2dbf0
leaq -0x898(%rbp), %rdi
movq %rdi, -0x990(%rbp)
movl $0x1e, -0x9ac(%rbp)
leaq 0x625b0(%rip), %rdx     # 0x901bf
leaq -0x9ac(%rbp), %rsi
callq 0x52d00
jmp 0x2dc1d
leaq -0x988(%rbp), %rax
movq %rax, -0x870(%rbp)
movq $0x7, -0x868(%rbp)
leaq -0x9ae(%rbp), %rdi
movq %rdi, -0x1028(%rbp)
callq 0x52da0
movq -0x1028(%rbp), %r8
movq -0x870(%rbp), %rsi
movq -0x868(%rbp), %rdx
leaq -0x860(%rbp), %rdi
leaq -0x9ad(%rbp), %rcx
callq 0x52dc0
jmp 0x2dc73
leaq -0x9ae(%rbp), %rdi
callq 0x52e90
leaq -0x988(%rbp), %rax
movq %rax, -0x1038(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1030(%rbp)
movq -0x1030(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1040(%rbp)
callq 0x52d80
movq -0x1038(%rbp), %rcx
movq -0x1040(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1030(%rbp)
jne 0x2dc9a
leaq -0x860(%rbp), %rdi
callq 0x2ea80
movq %rax, -0x1048(%rbp)
jmp 0x2dce0
movq -0x1048(%rbp), %rax
movq %rax, -0x9b8(%rbp)
leaq -0x9b8(%rbp), %rdi
callq 0x53dc0
movq %rax, %rdi
addq $0x8, %rdi
leaq 0x624b7(%rip), %rsi     # 0x901bf
callq 0x56f60
movb %al, -0x1049(%rbp)
jmp 0x2dd15
movb -0x1049(%rbp), %al
testb $0x1, %al
jne 0x2dd21
jmp 0x2dd26
jmp 0x2de6f
leaq 0x6269e(%rip), %rdi     # 0x903cb
leaq 0x62360(%rip), %rsi     # 0x90094
movl $0x71e, %edx            # imm = 0x71E
leaq 0x62661(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x738(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2dd7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x828(%rbp), %rdi
callq 0x34a8
leaq -0x829(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0x990(%rbp), %rax
leaq -0x988(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1058(%rbp)
je 0x2dde4
movq -0x1058(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1060(%rbp)
callq 0x52d80
movq -0x1060(%rbp), %rax
leaq -0x988(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1058(%rbp)
jne 0x2ddb3
jmp 0x2e0fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x9ae(%rbp), %rdi
callq 0x52e90
leaq -0x988(%rbp), %rax
movq %rax, -0x1070(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1068(%rbp)
movq -0x1068(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1078(%rbp)
callq 0x52d80
movq -0x1070(%rbp), %rcx
movq -0x1078(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1068(%rbp)
jne 0x2de1c
jmp 0x2e0fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x860(%rbp), %rdi
callq 0x52f60
jmp 0x2e0fc
leaq -0x860(%rbp), %rdi
callq 0x52f60
leaq -0x808(%rbp), %rdi
callq 0x52180
leaq -0xa09(%rbp), %rdi
movq %rdi, -0x1080(%rbp)
callq 0x3450
movq -0x1080(%rbp), %rdx
leaq 0x622ac(%rip), %rsi     # 0x90154
leaq -0xa08(%rbp), %rdi
callq 0x52000
jmp 0x2deb6
leaq -0x9e8(%rbp), %rdi
leaq -0xa08(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2ded0
leaq -0xa08(%rbp), %rdi
callq 0x34a8
leaq -0xa09(%rbp), %rdi
callq 0x32d0
leaq -0xb40(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0x2, -0xb4c(%rbp)
leaq 0x62224(%rip), %rdx     # 0x9012b
leaq -0xb4c(%rbp), %rsi
callq 0x52d00
jmp 0x2df15
leaq -0xb18(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0x2, -0xb50(%rbp)
leaq 0x621fa(%rip), %rdx     # 0x9012e
leaq -0xb50(%rbp), %rsi
callq 0x52d00
jmp 0x2df42
leaq -0xaf0(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0x4, -0xb54(%rbp)
leaq 0x621d0(%rip), %rdx     # 0x90131
leaq -0xb54(%rbp), %rsi
callq 0x52d00
jmp 0x2df6f
leaq -0xac8(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0x4, -0xb58(%rbp)
leaq 0x62519(%rip), %rdx     # 0x904a7
leaq -0xb58(%rbp), %rsi
callq 0x52d00
jmp 0x2df9c
leaq -0xaa0(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0xa, -0xb5c(%rbp)
leaq 0x623d1(%rip), %rdx     # 0x9038c
leaq -0xb5c(%rbp), %rsi
callq 0x52d00
jmp 0x2dfc9
leaq -0xa78(%rbp), %rdi
movq %rdi, -0xb48(%rbp)
movl $0xa, -0xb60(%rbp)
leaq 0x62492(%rip), %rdx     # 0x9047a
leaq -0xb60(%rbp), %rsi
callq 0x52d00
jmp 0x2dff6
leaq -0xb40(%rbp), %rax
movq %rax, -0xa50(%rbp)
movq $0x6, -0xa48(%rbp)
leaq -0xb62(%rbp), %rdi
movq %rdi, -0x1088(%rbp)
callq 0x52da0
movq -0x1088(%rbp), %r8
movq -0xa50(%rbp), %rsi
movq -0xa48(%rbp), %rdx
leaq -0xa40(%rbp), %rdi
leaq -0xb61(%rbp), %rcx
callq 0x52f80
jmp 0x2e04c
leaq -0xb62(%rbp), %rdi
callq 0x52e90
leaq -0xb40(%rbp), %rax
movq %rax, -0x1098(%rbp)
addq $0xf0, %rax
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 0x2e073
leaq -0xa40(%rbp), %rdi
callq 0x2ead0
movq %rax, -0x10a8(%rbp)
jmp 0x2e0b9
movq -0x10a8(%rbp), %rax
movq %rax, -0xb70(%rbp)
leaq -0xb70(%rbp), %rdi
callq 0x53dc0
cmpl $0xa, (%rax)
jne 0x2e0dd
jmp 0x2e226
leaq 0x621ad(%rip), %rdi     # 0x90291
leaq 0x61fa9(%rip), %rsi     # 0x90094
movl $0x727, %edx            # imm = 0x727
leaq 0x622aa(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x808(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2e133
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa08(%rbp), %rdi
callq 0x34a8
leaq -0xa09(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xb48(%rbp), %rax
leaq -0xb40(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x10b0(%rbp)
je 0x2e19b
movq -0x10b0(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x10b8(%rbp)
callq 0x52d80
movq -0x10b8(%rbp), %rax
leaq -0xb40(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x10b0(%rbp)
jne 0x2e16a
jmp 0x2e513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xb62(%rbp), %rdi
callq 0x52e90
leaq -0xb40(%rbp), %rax
movq %rax, -0x10c8(%rbp)
addq $0xf0, %rax
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 0x2e1d3
jmp 0x2e513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa40(%rbp), %rdi
callq 0x53080
jmp 0x2e513
leaq -0xa40(%rbp), %rdi
callq 0x53080
leaq -0x9e8(%rbp), %rdi
callq 0x52180
leaq -0xbc1(%rbp), %rdi
movq %rdi, -0x10d8(%rbp)
callq 0x3450
movq -0x10d8(%rbp), %rdx
leaq 0x61edd(%rip), %rsi     # 0x9013c
leaq -0xbc0(%rbp), %rdi
callq 0x52000
jmp 0x2e26d
leaq -0xba0(%rbp), %rdi
leaq -0xbc0(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2e287
leaq -0xbc0(%rbp), %rdi
callq 0x34a8
leaq -0xbc1(%rbp), %rdi
callq 0x32d0
leaq -0xd28(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x1, -0xd34(%rbp)
leaq 0x61e6d(%rip), %rdx     # 0x9012b
leaq -0xd34(%rbp), %rsi
callq 0x52d00
jmp 0x2e2cc
leaq -0xd00(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x2, -0xd38(%rbp)
leaq 0x61e43(%rip), %rdx     # 0x9012e
leaq -0xd38(%rbp), %rsi
callq 0x52d00
jmp 0x2e2f9
leaq -0xcd8(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x3, -0xd3c(%rbp)
leaq 0x61e19(%rip), %rdx     # 0x90131
leaq -0xd3c(%rbp), %rsi
callq 0x52d00
jmp 0x2e326
leaq -0xcb0(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x4, -0xd40(%rbp)
leaq 0x62162(%rip), %rdx     # 0x904a7
leaq -0xd40(%rbp), %rsi
callq 0x52d00
jmp 0x2e353
leaq -0xc88(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0xa, -0xd44(%rbp)
leaq 0x6201a(%rip), %rdx     # 0x9038c
leaq -0xd44(%rbp), %rsi
callq 0x52d00
jmp 0x2e380
leaq -0xc60(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x14, -0xd48(%rbp)
leaq 0x620db(%rip), %rdx     # 0x9047a
leaq -0xd48(%rbp), %rsi
callq 0x52d00
jmp 0x2e3ad
leaq -0xc38(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
movl $0x1e, -0xd4c(%rbp)
leaq 0x61df3(%rip), %rdx     # 0x901bf
leaq -0xd4c(%rbp), %rsi
callq 0x52d00
jmp 0x2e3da
leaq -0xd28(%rbp), %rax
movq %rax, -0xc10(%rbp)
movq $0x7, -0xc08(%rbp)
leaq -0xd4f(%rbp), %rdi
movq %rdi, -0x10e0(%rbp)
callq 0x52da0
movq -0x10e0(%rbp), %rcx
movq -0xc10(%rbp), %rsi
movq -0xc08(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0xc00(%rbp), %rdi
leaq -0xd4d(%rbp), %r8
leaq -0xd4e(%rbp), %r9
callq 0x530a0
jmp 0x2e441
leaq -0xd4f(%rbp), %rdi
callq 0x52e90
leaq -0xd28(%rbp), %rax
movq %rax, -0x10f0(%rbp)
addq $0x118, %rax            # imm = 0x118
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 0x2e468
leaq -0xc00(%rbp), %rdi
callq 0x2eb20
movq %rax, -0x1100(%rbp)
jmp 0x2e4ae
movq -0x1100(%rbp), %rax
movq %rax, -0xd58(%rbp)
leaq -0xd58(%rbp), %rdi
callq 0x53de0
movq %rax, %rdi
addq $0x8, %rdi
leaq 0x61ce9(%rip), %rsi     # 0x901bf
callq 0x56f60
movb %al, -0x1101(%rbp)
jmp 0x2e4e3
movb -0x1101(%rbp), %al
testb $0x1, %al
jne 0x2e4ef
jmp 0x2e4f4
jmp 0x2e63d
leaq 0x61ed0(%rip), %rdi     # 0x903cb
leaq 0x61b92(%rip), %rsi     # 0x90094
movl $0x730, %edx            # imm = 0x730
leaq 0x61e93(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0x9e8(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2e54a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xbc0(%rbp), %rdi
callq 0x34a8
leaq -0xbc1(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xd30(%rbp), %rax
leaq -0xd28(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1110(%rbp)
je 0x2e5b2
movq -0x1110(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1118(%rbp)
callq 0x52d80
movq -0x1118(%rbp), %rax
leaq -0xd28(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1110(%rbp)
jne 0x2e581
jmp 0x2e8db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xd4f(%rbp), %rdi
callq 0x52e90
leaq -0xd28(%rbp), %rax
movq %rax, -0x1128(%rbp)
addq $0x118, %rax            # imm = 0x118
movq %rax, -0x1120(%rbp)
movq -0x1120(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1130(%rbp)
callq 0x52d80
movq -0x1128(%rbp), %rcx
movq -0x1130(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1120(%rbp)
jne 0x2e5ea
jmp 0x2e8db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc00(%rbp), %rdi
callq 0x53130
jmp 0x2e8db
leaq -0xc00(%rbp), %rdi
callq 0x53130
leaq -0xba0(%rbp), %rdi
callq 0x52180
leaq -0xda9(%rbp), %rdi
movq %rdi, -0x1138(%rbp)
callq 0x3450
movq -0x1138(%rbp), %rdx
leaq 0x61ad4(%rip), %rsi     # 0x9014a
leaq -0xda8(%rbp), %rdi
callq 0x52000
jmp 0x2e684
leaq -0xd88(%rbp), %rdi
leaq -0xda8(%rbp), %rsi
movl $0x1, %edx
callq 0x520b0
jmp 0x2e69e
leaq -0xda8(%rbp), %rdi
callq 0x34a8
leaq -0xda9(%rbp), %rdi
callq 0x32d0
leaq -0xee8(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0x2, -0xef4(%rbp)
leaq 0x61a56(%rip), %rdx     # 0x9012b
leaq -0xef4(%rbp), %rsi
callq 0x52d00
jmp 0x2e6e3
leaq -0xec0(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0x2, -0xef8(%rbp)
leaq 0x61a2c(%rip), %rdx     # 0x9012e
leaq -0xef8(%rbp), %rsi
callq 0x52d00
jmp 0x2e710
leaq -0xe98(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0x4, -0xefc(%rbp)
leaq 0x61a02(%rip), %rdx     # 0x90131
leaq -0xefc(%rbp), %rsi
callq 0x52d00
jmp 0x2e73d
leaq -0xe70(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0x4, -0xf00(%rbp)
leaq 0x61d4b(%rip), %rdx     # 0x904a7
leaq -0xf00(%rbp), %rsi
callq 0x52d00
jmp 0x2e76a
leaq -0xe48(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0xa, -0xf04(%rbp)
leaq 0x61c03(%rip), %rdx     # 0x9038c
leaq -0xf04(%rbp), %rsi
callq 0x52d00
jmp 0x2e797
leaq -0xe20(%rbp), %rdi
movq %rdi, -0xef0(%rbp)
movl $0xa, -0xf08(%rbp)
leaq 0x61cc4(%rip), %rdx     # 0x9047a
leaq -0xf08(%rbp), %rsi
callq 0x52d00
jmp 0x2e7c4
leaq -0xee8(%rbp), %rax
movq %rax, -0xdf8(%rbp)
movq $0x6, -0xdf0(%rbp)
leaq -0xf0b(%rbp), %rdi
movq %rdi, -0x1140(%rbp)
callq 0x52da0
movq -0x1140(%rbp), %rcx
movq -0xdf8(%rbp), %rsi
movq -0xdf0(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0xde8(%rbp), %rdi
leaq -0xf09(%rbp), %r8
leaq -0xf0a(%rbp), %r9
callq 0x53150
jmp 0x2e82b
leaq -0xf0b(%rbp), %rdi
callq 0x52e90
leaq -0xee8(%rbp), %rax
movq %rax, -0x1150(%rbp)
addq $0xf0, %rax
movq %rax, -0x1148(%rbp)
movq -0x1148(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1158(%rbp)
callq 0x52d80
movq -0x1150(%rbp), %rcx
movq -0x1158(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1148(%rbp)
jne 0x2e852
leaq -0xde8(%rbp), %rdi
callq 0x2eb70
movq %rax, -0x1160(%rbp)
jmp 0x2e898
movq -0x1160(%rbp), %rax
movq %rax, -0xf18(%rbp)
leaq -0xf18(%rbp), %rdi
callq 0x53de0
cmpl $0xa, (%rax)
jne 0x2e8bc
jmp 0x2e9ff
leaq 0x619ce(%rip), %rdi     # 0x90291
leaq 0x617ca(%rip), %rsi     # 0x90094
movl $0x739, %edx            # imm = 0x739
leaq 0x61acb(%rip), %rcx     # 0x903a1
callq 0x3170
leaq -0xba0(%rbp), %rdi
callq 0x52180
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2e912
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xda8(%rbp), %rdi
callq 0x34a8
leaq -0xda9(%rbp), %rdi
callq 0x32d0
jmp 0x2ea2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xef0(%rbp), %rax
leaq -0xee8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1168(%rbp)
je 0x2e97a
movq -0x1168(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1170(%rbp)
callq 0x52d80
movq -0x1170(%rbp), %rax
leaq -0xee8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1168(%rbp)
jne 0x2e949
jmp 0x2ea20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xf0b(%rbp), %rdi
callq 0x52e90
leaq -0xee8(%rbp), %rax
movq %rax, -0x1180(%rbp)
addq $0xf0, %rax
movq %rax, -0x1178(%rbp)
movq -0x1178(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1188(%rbp)
callq 0x52d80
movq -0x1180(%rbp), %rcx
movq -0x1188(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1178(%rbp)
jne 0x2e9b2
jmp 0x2ea20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xde8(%rbp), %rdi
callq 0x531e0
jmp 0x2ea20
leaq -0xde8(%rbp), %rdi
callq 0x531e0
leaq -0xd88(%rbp), %rdi
callq 0x52180
addq $0x1190, %rsp           # imm = 0x1190
popq %rbp
retq
leaq -0xd88(%rbp), %rdi
callq 0x52180
movq -0x58(%rbp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)