// File: Se6[P]CmdLineArgs/test.cpp
// Function: fixTest(int, int, char const**, int&)
void fixTest(int test_no, int argc, const char **argv, int& failures)
{
	int n;
	string s;
	int v;
	int h;
	float f;
	string usage;
	vector<int> numbers;
	vector<string> remaining;
	
	try{
        CmdLineArgs cl(argc, const_cast<char**>(argv), "Test of command line arguments");

        h = cl.getFlag("help", 'h', "Getting usage");
        v = cl.getFlag("verbose", 'v', "To increase the verbosity");
        n = cl.getParam("nb", 'n', 0, "The number of frames\nanother line");
        s = cl.getParam("name", "", "The name of frame");

        cl.addUsageSeparator("  == Advanced options:");
        f = cl.getParam("ratio", 0.2f, "The frame ratio");
        vector<int> default_numbers = {1, 2};
        numbers = cl.getParams("numbers", default_numbers, true, "A comma separated list of values");

		usage = cl.usage();
        remaining = cl.getRemaining();
        cl.throwIfUnparsed();
    } catch (const exception& error) {
        cout << "Test " << test_no << ": Unparsed failure: " << error.what() << endl;
        ++failures;
		return;
	}
    
    if( n != 12 ) {
        cout << "Test " << test_no << ": Integer parameter failure. (Got " << n << " instead of 12)\n";
        ++failures;
		return;
    }
    
    if( v != 2 ) {
        cout << "Test " << test_no << ": Multiple verbose flags failure. (Got " << v << " v flags instead of 2)\n";
        ++failures;
		return;
    }
    
    if( s != "hello me" ) {
        cout << "Test " << test_no << ": String parameter failure. (Got \"" << s << "\" instead of \"hello me\")\n";
        ++failures;
		return;
    }
    
    if( f != 0.25f ) {
        cout << "Test " << test_no << ": Float parameter failure. (Got " << f << " instead of 0.25)\n";
        ++failures;
		return;
    }
    
    vector<int> zeNumbers = {3,4};
    if (numbers != zeNumbers) {
        cout << "Test " << test_no << ": Vector of int parameter failure. Got ";
        for(auto n: numbers)
            cout << n << " ";
        cout << " instead of ";
        for(auto n: zeNumbers)
            cout << n << " ";
        cout << "\n";
        ++failures;
		return;
    }
	
    vector<string> zeRemaining = {"remain"};
	if(remaining != zeRemaining){
		cout << "Test " << test_no << ": Remaining args failure.\n";
        ++failures;
		return;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6f0, %rsp            # imm = 0x6F0
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3410
leaq -0x70(%rbp), %rdi
callq 0x3410
leaq -0x88(%rbp), %rdi
callq 0x8c60
leaq -0xa0(%rbp), %rdi
callq 0x7df0
movl -0x8(%rbp), %eax
movl %eax, -0x4ec(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x4e8(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3500
movq -0x4e0(%rbp), %rdx
leaq 0xad31(%rip), %rsi      # 0x11159
leaq -0x130(%rbp), %rdi
callq 0x7f20
jmp 0x6436
movq -0x4e8(%rbp), %rdx
movl -0x4ec(%rbp), %esi
leaq -0x110(%rbp), %rdi
leaq -0x130(%rbp), %rcx
movl $0x1, %r8d
callq 0x3850
jmp 0x645e
leaq -0x130(%rbp), %rdi
callq 0x31d0
leaq -0x131(%rbp), %rdi
callq 0x3350
leaq -0x169(%rbp), %rdi
movq %rdi, -0x4f8(%rbp)
callq 0x3500
movq -0x4f8(%rbp), %rdx
leaq 0xace1(%rip), %rsi      # 0x11178
leaq -0x168(%rbp), %rdi
callq 0x7f20
jmp 0x64a5
leaq -0x191(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x3500
movq -0x500(%rbp), %rdx
leaq 0xacb7(%rip), %rsi      # 0x1117d
leaq -0x190(%rbp), %rdi
callq 0x7f20
jmp 0x64d4
leaq -0x110(%rbp), %rdi
leaq -0x168(%rbp), %rsi
movl $0x68, %edx
leaq -0x190(%rbp), %rcx
callq 0x3f20
movl %eax, -0x504(%rbp)
jmp 0x64fb
movl -0x504(%rbp), %eax
movl %eax, -0x48(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x31d0
leaq -0x191(%rbp), %rdi
callq 0x3350
leaq -0x168(%rbp), %rdi
callq 0x31d0
leaq -0x169(%rbp), %rdi
callq 0x3350
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x3500
movq -0x510(%rbp), %rdx
leaq 0xac36(%rip), %rsi      # 0x1118b
leaq -0x1b8(%rbp), %rdi
callq 0x7f20
jmp 0x6563
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x3500
movq -0x518(%rbp), %rdx
leaq 0xac0f(%rip), %rsi      # 0x11193
leaq -0x1e0(%rbp), %rdi
callq 0x7f20
jmp 0x6592
leaq -0x110(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
movl $0x76, %edx
leaq -0x1e0(%rbp), %rcx
callq 0x3f20
movl %eax, -0x51c(%rbp)
jmp 0x65b9
movl -0x51c(%rbp), %eax
movl %eax, -0x44(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x31d0
leaq -0x1e1(%rbp), %rdi
callq 0x3350
leaq -0x1b8(%rbp), %rdi
callq 0x31d0
leaq -0x1b9(%rbp), %rdi
callq 0x3350
leaq -0x209(%rbp), %rdi
movq %rdi, -0x528(%rbp)
callq 0x3500
movq -0x528(%rbp), %rdx
leaq 0xaacc(%rip), %rsi      # 0x110df
leaq -0x208(%rbp), %rdi
callq 0x7f20
jmp 0x6621
leaq -0x231(%rbp), %rdi
movq %rdi, -0x530(%rbp)
callq 0x3500
movq -0x530(%rbp), %rdx
leaq 0xab6b(%rip), %rsi      # 0x111ad
leaq -0x230(%rbp), %rdi
callq 0x7f20
jmp 0x6650
leaq -0x110(%rbp), %rdi
leaq -0x208(%rbp), %rsi
movl $0x6e, %edx
xorl %ecx, %ecx
leaq -0x230(%rbp), %r8
callq 0x8c80
movl %eax, -0x534(%rbp)
jmp 0x6679
movl -0x534(%rbp), %eax
movl %eax, -0x1c(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x31d0
leaq -0x231(%rbp), %rdi
callq 0x3350
leaq -0x208(%rbp), %rdi
callq 0x31d0
leaq -0x209(%rbp), %rdi
callq 0x3350
leaq -0x279(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x3500
movq -0x540(%rbp), %rdx
leaq 0xaa14(%rip), %rsi      # 0x110e7
leaq -0x278(%rbp), %rdi
callq 0x7f20
jmp 0x66e1
leaq -0x2a1(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x3500
movq -0x548(%rbp), %rdx
leaq 0xaacd(%rip), %rsi      # 0x111cf
leaq -0x2a0(%rbp), %rdi
callq 0x7f20
jmp 0x6710
leaq 0xaa2e(%rip), %rcx      # 0x11145
leaq -0x258(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq -0x278(%rbp), %rdx
leaq -0x2a0(%rbp), %r8
callq 0x4c70
jmp 0x673a
leaq -0x40(%rbp), %rdi
leaq -0x258(%rbp), %rsi
movq %rsi, -0x558(%rbp)
callq 0x33a0
movq -0x558(%rbp), %rdi
callq 0x31d0
leaq -0x2a0(%rbp), %rdi
callq 0x31d0
leaq -0x2a1(%rbp), %rdi
callq 0x3350
leaq -0x278(%rbp), %rdi
callq 0x31d0
leaq -0x279(%rbp), %rdi
callq 0x3350
leaq -0x2c9(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x3500
movq -0x550(%rbp), %rdx
leaq 0xaa33(%rip), %rsi      # 0x111e1
leaq -0x2c8(%rbp), %rdi
callq 0x7f20
jmp 0x67bc
leaq -0x110(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x58e0
jmp 0x67d1
leaq -0x2c8(%rbp), %rdi
callq 0x31d0
leaq -0x2c9(%rbp), %rdi
callq 0x3350
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x3500
movq -0x560(%rbp), %rdx
leaq 0xa9f8(%rip), %rsi      # 0x11202
leaq -0x2f0(%rbp), %rdi
callq 0x7f20
jmp 0x6818
leaq -0x319(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x3500
movq -0x568(%rbp), %rdx
leaq 0xa9bf(%rip), %rsi      # 0x111f8
leaq -0x318(%rbp), %rdi
callq 0x7f20
jmp 0x6847
leaq -0x110(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
movss 0xa7a7(%rip), %xmm0     # 0x11004
leaq -0x318(%rbp), %rdx
callq 0x9770
movss %xmm0, -0x56c(%rbp)
jmp 0x6873
movss -0x56c(%rbp), %xmm0
movss %xmm0, -0x4c(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x31d0
leaq -0x319(%rbp), %rdi
callq 0x3350
leaq -0x2f0(%rbp), %rdi
callq 0x31d0
leaq -0x2f1(%rbp), %rdi
callq 0x3350
movl $0x1, -0x350(%rbp)
movl $0x2, -0x34c(%rbp)
leaq -0x350(%rbp), %rax
movq %rax, -0x348(%rbp)
movq $0x2, -0x340(%rbp)
leaq -0x351(%rbp), %rdi
movq %rdi, -0x578(%rbp)
callq 0x97b0
movq -0x578(%rbp), %rcx
movq -0x348(%rbp), %rsi
movq -0x340(%rbp), %rdx
leaq -0x338(%rbp), %rdi
callq 0x97d0
jmp 0x6913
leaq -0x351(%rbp), %rdi
callq 0x9850
leaq -0x391(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0x3500
movq -0x580(%rbp), %rdx
leaq 0xa8c8(%rip), %rsi      # 0x11208
leaq -0x390(%rbp), %rdi
callq 0x7f20
jmp 0x694e
leaq -0x3b9(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x3500
movq -0x588(%rbp), %rdx
leaq 0xa8a1(%rip), %rsi      # 0x11210
leaq -0x3b8(%rbp), %rdi
callq 0x7f20
jmp 0x697d
movq %rsp, %rax
movl $0x2c, (%rax)
leaq -0x370(%rbp), %rdi
leaq -0x110(%rbp), %rsi
leaq -0x390(%rbp), %rdx
leaq -0x338(%rbp), %rcx
movl $0x1, %r8d
leaq -0x3b8(%rbp), %r9
callq 0x9870
jmp 0x69b6
leaq -0x88(%rbp), %rdi
leaq -0x370(%rbp), %rsi
movq %rsi, -0x590(%rbp)
callq 0x98e0
movq -0x590(%rbp), %rdi
callq 0x9910
leaq -0x3b8(%rbp), %rdi
callq 0x31d0
leaq -0x3b9(%rbp), %rdi
callq 0x3350
leaq -0x390(%rbp), %rdi
callq 0x31d0
leaq -0x391(%rbp), %rdi
callq 0x3350
leaq -0x3e0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x5980
jmp 0x6a21
leaq -0x70(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
movq %rsi, -0x598(%rbp)
callq 0x33a0
movq -0x598(%rbp), %rdi
callq 0x31d0
leaq -0x3f8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x5dc0
jmp 0x6a59
leaq -0xa0(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
movq %rsi, -0x5a0(%rbp)
callq 0x8780
movq -0x5a0(%rbp), %rdi
callq 0x7ea0
leaq -0x110(%rbp), %rdi
callq 0x6070
jmp 0x6a8d
leaq -0x338(%rbp), %rdi
callq 0x9910
leaq -0x110(%rbp), %rdi
callq 0x9970
jmp 0x6f1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6adc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x31d0
leaq -0x131(%rbp), %rdi
callq 0x3350
jmp 0x6e14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6b4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6b33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x31d0
leaq -0x191(%rbp), %rdi
callq 0x3350
leaq -0x168(%rbp), %rdi
callq 0x31d0
leaq -0x169(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6bba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6ba2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x31d0
leaq -0x1e1(%rbp), %rdi
callq 0x3350
leaq -0x1b8(%rbp), %rdi
callq 0x31d0
leaq -0x1b9(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6c29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6c11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x31d0
leaq -0x231(%rbp), %rdi
callq 0x3350
leaq -0x208(%rbp), %rdi
callq 0x31d0
leaq -0x209(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6c98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6c80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x31d0
leaq -0x2a1(%rbp), %rdi
callq 0x3350
leaq -0x278(%rbp), %rdi
callq 0x31d0
leaq -0x279(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6cdb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x31d0
leaq -0x2c9(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6d4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6d32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x31d0
leaq -0x319(%rbp), %rdi
callq 0x3350
leaq -0x2f0(%rbp), %rdi
callq 0x31d0
leaq -0x2f1(%rbp), %rdi
callq 0x3350
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x351(%rbp), %rdi
callq 0x9850
jmp 0x6e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6ddc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x6dc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x31d0
leaq -0x3b9(%rbp), %rdi
callq 0x3350
leaq -0x390(%rbp), %rdi
callq 0x31d0
leaq -0x391(%rbp), %rdi
callq 0x3350
jmp 0x6dfc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x9910
leaq -0x110(%rbp), %rdi
callq 0x9970
movl -0x144(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x7769
movq -0x140(%rbp), %rdi
callq 0x3130
movq %rax, -0x400(%rbp)
movq 0x11187(%rip), %rdi     # 0x17fc8
leaq 0xa3e9(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x5a8(%rbp)
jmp 0x6e56
movq -0x5a8(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x5b0(%rbp)
jmp 0x6e6e
movq -0x5b0(%rbp), %rdi
leaq 0xa3bb(%rip), %rsi      # 0x11237
callq 0x32e0
movq %rax, -0x5b8(%rbp)
jmp 0x6e8a
movq -0x400(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0x5b8(%rbp), %rdi
movq %rax, %rsi
callq 0x32e0
movq %rax, -0x5c0(%rbp)
jmp 0x6eb2
movq -0x5c0(%rbp), %rdi
movq 0x110f0(%rip), %rsi     # 0x17fb0
callq 0x3330
jmp 0x6ec7
movq -0x18(%rbp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
callq 0x3490
jmp 0x6efb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
callq 0x3490
jmp 0x6f17
jmp 0x772a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x7769
jmp 0x7769
cmpl $0xc, -0x1c(%rbp)
je 0x6fbd
movq 0x1109b(%rip), %rdi     # 0x17fc8
leaq 0xa2fd(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x5c8(%rbp)
jmp 0x6f42
movq -0x5c8(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x5d0(%rbp)
jmp 0x6f5a
movq -0x5d0(%rbp), %rdi
leaq 0xa2e4(%rip), %rsi      # 0x1124c
callq 0x32e0
movq %rax, -0x5d8(%rbp)
jmp 0x6f76
movq -0x5d8(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x34e0
movq %rax, -0x5e0(%rbp)
jmp 0x6f8e
movq -0x5e0(%rbp), %rdi
leaq 0xa2d3(%rip), %rsi      # 0x1126f
callq 0x32e0
jmp 0x6fa3
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x772a
cmpl $0x2, -0x44(%rbp)
je 0x705e
movq 0x10ffa(%rip), %rdi     # 0x17fc8
leaq 0xa25c(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x5e8(%rbp)
jmp 0x6fe3
movq -0x5e8(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x5f0(%rbp)
jmp 0x6ffb
movq -0x5f0(%rbp), %rdi
leaq 0xa277(%rip), %rsi      # 0x11280
callq 0x32e0
movq %rax, -0x5f8(%rbp)
jmp 0x7017
movq -0x5f8(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0x34e0
movq %rax, -0x600(%rbp)
jmp 0x702f
movq -0x600(%rbp), %rdi
leaq 0xa26b(%rip), %rsi      # 0x112a8
callq 0x32e0
jmp 0x7044
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x772a
leaq 0xa0b8(%rip), %rsi      # 0x1111d
leaq -0x40(%rbp), %rdi
callq 0x8350
movb %al, -0x601(%rbp)
jmp 0x7076
movb -0x601(%rbp), %al
testb $0x1, %al
jne 0x7085
jmp 0x711d
movq 0x10f3c(%rip), %rdi     # 0x17fc8
leaq 0xa19e(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x610(%rbp)
jmp 0x70a1
movq -0x610(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x618(%rbp)
jmp 0x70b9
movq -0x618(%rbp), %rdi
leaq 0xa1f9(%rip), %rsi      # 0x112c0
callq 0x32e0
movq %rax, -0x620(%rbp)
jmp 0x70d5
movq -0x620(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x32c0
movq %rax, -0x628(%rbp)
jmp 0x70ee
movq -0x628(%rbp), %rdi
leaq 0xa1e7(%rip), %rsi      # 0x112e3
callq 0x32e0
jmp 0x7103
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x772a
movss -0x4c(%rbp), %xmm0
movss 0x9ede(%rip), %xmm1     # 0x11008
ucomiss %xmm1, %xmm0
jne 0x7136
jp 0x7136
jmp 0x71cf
movq 0x10e8b(%rip), %rdi     # 0x17fc8
leaq 0xa0ed(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x630(%rbp)
jmp 0x7152
movq -0x630(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x638(%rbp)
jmp 0x716a
movq -0x638(%rbp), %rdi
leaq 0xa185(%rip), %rsi      # 0x112fd
callq 0x32e0
movq %rax, -0x640(%rbp)
jmp 0x7186
movq -0x640(%rbp), %rdi
movss -0x4c(%rbp), %xmm0
callq 0x3250
movq %rax, -0x648(%rbp)
jmp 0x71a0
movq -0x648(%rbp), %rdi
leaq 0xa170(%rip), %rsi      # 0x1131e
callq 0x32e0
jmp 0x71b5
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x772a
movl $0x3, -0x438(%rbp)
movl $0x4, -0x434(%rbp)
leaq -0x438(%rbp), %rax
movq %rax, -0x430(%rbp)
movq $0x2, -0x428(%rbp)
leaq -0x439(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x97b0
movq -0x650(%rbp), %rcx
movq -0x430(%rbp), %rsi
movq -0x428(%rbp), %rdx
leaq -0x420(%rbp), %rdi
callq 0x97d0
jmp 0x7232
leaq -0x439(%rbp), %rdi
callq 0x9850
leaq -0x88(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x99d0
movb %al, -0x651(%rbp)
jmp 0x7259
movb -0x651(%rbp), %al
testb $0x1, %al
jne 0x7268
jmp 0x7474
movq 0x10d59(%rip), %rdi     # 0x17fc8
leaq 0x9fbb(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x660(%rbp)
jmp 0x7284
movq -0x660(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x668(%rbp)
jmp 0x729c
movq -0x668(%rbp), %rdi
leaq 0xa087(%rip), %rsi      # 0x11331
callq 0x32e0
jmp 0x72b1
leaq -0x88(%rbp), %rax
movq %rax, -0x448(%rbp)
movq -0x448(%rbp), %rdi
callq 0x9a00
movq %rax, -0x450(%rbp)
movq -0x448(%rbp), %rdi
callq 0x9a30
movq %rax, -0x458(%rbp)
leaq -0x450(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x9a60
testb $0x1, %al
jne 0x7301
jmp 0x738f
leaq -0x450(%rbp), %rdi
callq 0x9aa0
movl (%rax), %eax
movl %eax, -0x45c(%rbp)
movl -0x45c(%rbp), %esi
movq 0x10ca6(%rip), %rdi     # 0x17fc8
callq 0x34e0
movq %rax, -0x670(%rbp)
jmp 0x7330
movq -0x670(%rbp), %rdi
leaq 0x9d50(%rip), %rsi      # 0x1108e
callq 0x32e0
jmp 0x7345
jmp 0x7347
leaq -0x450(%rbp), %rdi
callq 0x9ac0
jmp 0x72e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x439(%rbp), %rdi
callq 0x9850
jmp 0x7769
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x775d
movq 0x10c32(%rip), %rdi     # 0x17fc8
leaq 0x9fbc(%rip), %rsi      # 0x11359
callq 0x32e0
jmp 0x73a4
leaq -0x420(%rbp), %rax
movq %rax, -0x468(%rbp)
movq -0x468(%rbp), %rdi
callq 0x9a00
movq %rax, -0x470(%rbp)
movq -0x468(%rbp), %rdi
callq 0x9a30
movq %rax, -0x478(%rbp)
leaq -0x470(%rbp), %rdi
leaq -0x478(%rbp), %rsi
callq 0x9a60
testb $0x1, %al
jne 0x73f1
jmp 0x7445
leaq -0x470(%rbp), %rdi
callq 0x9aa0
movl (%rax), %eax
movl %eax, -0x47c(%rbp)
movl -0x47c(%rbp), %esi
movq 0x10bb6(%rip), %rdi     # 0x17fc8
callq 0x34e0
movq %rax, -0x678(%rbp)
jmp 0x7420
movq -0x678(%rbp), %rdi
leaq 0x9c60(%rip), %rsi      # 0x1108e
callq 0x32e0
jmp 0x7435
jmp 0x7437
leaq -0x470(%rbp), %rdi
callq 0x9ac0
jmp 0x73d8
movq 0x10b7c(%rip), %rdi     # 0x17fc8
leaq 0x9cf1(%rip), %rsi      # 0x11144
callq 0x32e0
jmp 0x745a
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x771e
movb $0x1, -0x4d2(%rbp)
leaq -0x4c8(%rbp), %rax
movq %rax, -0x688(%rbp)
movq %rax, -0x4d0(%rbp)
leaq -0x4d1(%rbp), %rdi
movq %rdi, -0x680(%rbp)
callq 0x3500
movq -0x688(%rbp), %rdi
movq -0x680(%rbp), %rdx
leaq 0x9c4b(%rip), %rsi      # 0x11103
callq 0x7f20
jmp 0x74bf
movb $0x0, -0x4d2(%rbp)
leaq -0x4c8(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq $0x1, -0x4a0(%rbp)
leaq -0x4d3(%rbp), %rdi
movq %rdi, -0x690(%rbp)
callq 0x9ae0
movq -0x690(%rbp), %rcx
movq -0x4a8(%rbp), %rsi
movq -0x4a0(%rbp), %rdx
leaq -0x498(%rbp), %rdi
callq 0x9b00
jmp 0x7515
leaq -0x4d3(%rbp), %rdi
callq 0x9b80
leaq -0x4c8(%rbp), %rax
movq %rax, -0x6a0(%rbp)
addq $0x20, %rax
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6a8(%rbp)
callq 0x31d0
movq -0x6a0(%rbp), %rcx
movq -0x6a8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x698(%rbp)
jne 0x753a
leaq -0x4d1(%rbp), %rdi
callq 0x3350
leaq -0xa0(%rbp), %rdi
leaq -0x498(%rbp), %rsi
callq 0x9ba0
movb %al, -0x6a9(%rbp)
jmp 0x7592
movb -0x6a9(%rbp), %al
testb $0x1, %al
jne 0x75a1
jmp 0x7708
movq 0x10a20(%rip), %rdi     # 0x17fc8
leaq 0x9c82(%rip), %rsi      # 0x11231
callq 0x32e0
movq %rax, -0x6b8(%rbp)
jmp 0x75bd
movq -0x6b8(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x34e0
movq %rax, -0x6c0(%rbp)
jmp 0x75d5
movq -0x6c0(%rbp), %rdi
leaq 0x9d83(%rip), %rsi      # 0x11366
callq 0x32e0
jmp 0x75ea
movq -0x18(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movl $0x1, -0x404(%rbp)
jmp 0x7712
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
jmp 0x7682
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x4d3(%rbp), %rdi
callq 0x9b80
leaq -0x4c8(%rbp), %rax
movq %rax, -0x6d0(%rbp)
addq $0x20, %rax
movq %rax, -0x6c8(%rbp)
movq -0x6c8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6d8(%rbp)
callq 0x31d0
movq -0x6d0(%rbp), %rcx
movq -0x6d8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6c8(%rbp)
jne 0x764f
jmp 0x7682
leaq -0x4d1(%rbp), %rdi
callq 0x3350
testb $0x1, -0x4d2(%rbp)
jne 0x7699
jmp 0x76e6
movq -0x4d0(%rbp), %rax
leaq -0x4c8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x6e0(%rbp)
je 0x76e4
movq -0x6e0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x31d0
movq -0x6e8(%rbp), %rax
leaq -0x4c8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x6e0(%rbp)
jne 0x76b3
jmp 0x76e6
jmp 0x775d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x7ea0
jmp 0x775d
movl $0x0, -0x404(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x7ea0
leaq -0x420(%rbp), %rdi
callq 0x9910
leaq -0xa0(%rbp), %rdi
callq 0x7ea0
leaq -0x88(%rbp), %rdi
callq 0x9910
leaq -0x70(%rbp), %rdi
callq 0x31d0
leaq -0x40(%rbp), %rdi
callq 0x31d0
addq $0x6f0, %rsp            # imm = 0x6F0
popq %rbp
retq
leaq -0x420(%rbp), %rdi
callq 0x9910
leaq -0xa0(%rbp), %rdi
callq 0x7ea0
leaq -0x88(%rbp), %rdi
callq 0x9910
leaq -0x70(%rbp), %rdi
callq 0x31d0
leaq -0x40(%rbp), %rdi
callq 0x31d0
movq -0x140(%rbp), %rdi
callq 0x34f0
movq %rax, %rdi
callq 0x99c0
nopw (%rax,%rax)