// File: /workspace/github_cpp_makefile_star2_O1/drarwood[P]gags/InputParser.cpp
// Function: ParseCommand(int, char**, ARGS*)
void ParseCommand(int argc, char** argv, ARGS *a) {
    
    if (argc > 1) {
        
        // defaults
        a->seed       = 10000;
        a->popsize    = 10;
        a->mRate      = 0.01;
        a->iterations = 50000;
        a->ok         = true;
        
        for (int i = 1; i != argc; ++i) {
            if (string(argv[i]) == "--pheno" || string(argv[i]) == "-p") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->phenoString = argv[i+1];
                }
                else {
                    cout << "Not entered --pheno (-p) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--ns" || string(argv[i]) == "-n") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->nsString = argv[i+1];
                }
                else {
                    cout << "Not entered --ns (-n) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--means" || string(argv[i]) == "-m") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->meansString = argv[i+1];
                }
                else {
                    cout << "Not entered --means (-m) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--sds" || string(argv[i]) == "-s") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->sdsString = argv[i+1];
                }
                else {
                    cout << "Not entered --sds (-s) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--seed" || string(argv[i]) == "-r") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->seed = atoi(argv[i+1]);
                }
                else {
                    cout << "Not entered --seed (-r) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--mrate" || string(argv[i]) == "-y") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->mRate = atof(argv[i+1]);
                }
                else {
                    cout << "Not entered --mrate (-y) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--popsize" || string(argv[i]) == "-z") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->popsize = atoi(argv[i+1]);
                }
                else {
                    cout << "Not entered --popsize (-z) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--exclusions" || string(argv[i]) == "-e") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->exclusionsString = argv[i+1];
                }
                else {
                    cout << "Not entered --exclusions (-e) argument" << endl << endl;
                    a->ok = false;
                }
            } 
            else if (string(argv[i]) == "--iterations" || string(argv[i]) == "-i") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->iterations = atoi(argv[i+1]);
                }
                else {
                    cout << "Not entered --iterations (-i) argument" << endl << endl;
                    a->ok = false;
                }
            } 
            else if (string(argv[i]) == "--out" || string(argv[i]) == "-o") {
                if (i+1 <= argc-1 && string(argv[i+1]).substr(0,2) != "--") {
                    a->outString = argv[i+1];
                }
                else {
                    cout << "Not entered --out (-o) argument" << endl << endl;
                    a->ok = false;
                }
            }
            else if (string(argv[i]) == "--help" || string(argv[i]) == "-h") {
                a->ok = false;
            }
        }
        
        if (a->phenoString.empty() || a->meansString.empty() || a->sdsString.empty() || a->outString.empty() ) {
            a->ok = false;
        }

    }
    else {
        a->ok = false;
    }

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x478, %rsp            # imm = 0x478
cmpl $0x2, %edi
jl 0xad27
movq %rsi, %r14
movabsq $0xa00002710, %rax      # imm = 0xA00002710
movq %rax, 0xc0(%rdx)
movabsq $0x3f847ae147ae147b, %rax # imm = 0x3F847AE147AE147B
movq %rax, 0xd0(%rdx)
movl $0xc350, 0xc8(%rdx)     # imm = 0xC350
leaq 0xd8(%rdx), %rax
movq %rax, 0x40(%rsp)
movb $0x1, 0xd8(%rdx)
leal -0x1(%rdi), %eax
cltq
movq %rax, 0x38(%rsp)
movl %edi, %ebx
leaq 0xa0(%rdx), %rax
movq %rax, 0x68(%rsp)
leaq 0x80(%rdx), %rax
movq %rax, 0x70(%rsp)
leaq 0x60(%rdx), %rax
movq %rax, 0x78(%rsp)
leaq 0x40(%rdx), %rax
movq %rax, 0x80(%rsp)
movq %rdx, 0x48(%rsp)
leaq 0x20(%rdx), %rax
movq %rax, 0x88(%rsp)
movl $0x1, %r13d
leaq 0x18(%rsp), %rbp
leaq 0x438(%rsp), %rcx
movq %rbx, 0x90(%rsp)
movq %rcx, %r12
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3b8c(%rip), %rsi      # 0xd704
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
movq %r13, 0x10(%rsp)
je 0x9bb8
movq (%r14,%r13,8), %rsi
leaq 0x458(%rsp), %r15
movq %r15, %rdi
leaq 0x67(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x3b61(%rip), %rsi      # 0xd70c
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0x9bbb
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0x9be9
movq 0x458(%rsp), %rdi
leaq 0x468(%rsp), %rax
cmpq %rax, %rdi
je 0x9be9
movq 0x468(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x9c05
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0x9c60
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0x9cc2
movq 0x8(%r14,%r13,8), %rsi
leaq 0x1b8(%rsp), %rbp
movq %rbp, %rdi
leaq 0x66(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
movq %r12, %r15
movq %r12, %rdi
movq %rbp, %rsi
xorl %edx, %edx
callq 0x32a0
movq %r15, %rdi
leaq 0x3abc(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0x9cc4
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3ab4(%rip), %rsi      # 0xd734
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0x9d68
movq (%r14,%r13,8), %rsi
leaq 0x418(%rsp), %r15
movq %r15, %rdi
leaq 0x65(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x3a87(%rip), %rsi      # 0xd739
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0x9d6b
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0x9d15
movq 0x438(%rsp), %rdi
leaq 0x448(%rsp), %rax
cmpq %rax, %rdi
je 0x9cf0
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x9d15
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0x9d4d
movq 0x8(%r14,%r13,8), %rbp
movq 0x48(%rsp), %r15
movq 0x8(%r15), %r13
movq %rbp, %rdi
callq 0x3110
movq %r15, %rdi
movq 0x90(%rsp), %rbx
xorl %esi, %esi
movq %r13, %rdx
movq 0x10(%rsp), %r13
movq %rbp, %rcx
jmp 0xa250
movl $0x21, %edx
movq 0x827f(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x39af(%rip), %rsi      # 0xd712
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0x9d99
movq 0x418(%rsp), %rdi
leaq 0x428(%rsp), %rax
cmpq %rax, %rdi
je 0x9d99
movq 0x428(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x9db5
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0x9e15
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0x9e77
movq 0x8(%r14,%r13,8), %rsi
leaq 0x198(%rsp), %r15
movq %r15, %rdi
leaq 0x64(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x3f8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x3907(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0x9e79
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3926(%rip), %rsi      # 0xd75b
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0x9f12
movq (%r14,%r13,8), %rsi
leaq 0x3d8(%rsp), %r15
movq %r15, %rdi
leaq 0x63(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x38fc(%rip), %rsi      # 0xd763
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0x9f15
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0x9eca
movq 0x3f8(%rsp), %rdi
leaq 0x408(%rsp), %rax
cmpq %rax, %rdi
je 0x9ea5
movq 0x408(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x9eca
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0x9ef7
movq 0x10(%rsp), %rax
movq 0x8(%r14,%rax,8), %r13
movq 0x48(%rsp), %rax
movq 0x28(%rax), %rbp
movq %r13, %rdi
callq 0x3110
movq 0x88(%rsp), %rdi
jmp 0xa243
movl $0x1e, %edx
movq 0x80d5(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x382f(%rip), %rsi      # 0xd73c
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0x9f43
movq 0x3d8(%rsp), %rdi
leaq 0x3e8(%rsp), %rax
cmpq %rax, %rdi
je 0x9f43
movq 0x3e8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x9f5f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0x9fbf
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa021
movq 0x8(%r14,%r13,8), %rsi
leaq 0x178(%rsp), %r15
movq %r15, %rdi
leaq 0x62(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x3b8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x375d(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa023
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x37a9(%rip), %rsi      # 0xd788
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa0bc
movq (%r14,%r13,8), %rsi
leaq 0x398(%rsp), %r15
movq %r15, %rdi
leaq 0x61(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x377d(%rip), %rsi      # 0xd78e
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa0bf
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa074
movq 0x3b8(%rsp), %rdi
leaq 0x3c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa04f
movq 0x3c8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0xa074
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa0a1
movq 0x10(%rsp), %rax
movq 0x8(%r14,%rax,8), %r13
movq 0x48(%rsp), %rax
movq 0x48(%rax), %rbp
movq %r13, %rdi
callq 0x3110
movq 0x80(%rsp), %rdi
jmp 0xa243
movl $0x21, %edx
movq 0x7f2b(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x36af(%rip), %rsi      # 0xd766
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa0ed
movq 0x398(%rsp), %rdi
leaq 0x3a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa0ed
movq 0x3a8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa109
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xa169
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa1cb
movq 0x8(%r14,%r13,8), %rsi
leaq 0x158(%rsp), %r15
movq %r15, %rdi
leaq 0x60(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x378(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x35b3(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa1cd
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3628(%rip), %rsi      # 0xd7b1
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa278
movq (%r14,%r13,8), %rsi
leaq 0x358(%rsp), %r15
movq %r15, %rdi
leaq 0x5f(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x35fd(%rip), %rsi      # 0xd7b8
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa27b
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa21e
movq 0x378(%rsp), %rdi
leaq 0x388(%rsp), %rax
cmpq %rax, %rdi
je 0xa1f9
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0xa21e
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa25d
movq 0x10(%rsp), %rax
movq 0x8(%r14,%rax,8), %r13
movq 0x48(%rsp), %rax
movq 0x68(%rax), %rbp
movq %r13, %rdi
callq 0x3110
movq 0x78(%rsp), %rdi
xorl %esi, %esi
movq %rbp, %rdx
movq %r13, %rcx
movq 0x10(%rsp), %r13
movq %rax, %r8
callq 0x33a0
jmp 0xa956
movl $0x1f, %edx
movq 0x7d6f(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x351e(%rip), %rsi      # 0xd791
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa2a9
movq 0x358(%rsp), %rdi
leaq 0x368(%rsp), %rax
cmpq %rax, %rdi
je 0xa2a9
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa2c5
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xa325
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa387
movq 0x8(%r14,%r13,8), %rsi
leaq 0x138(%rsp), %r15
movq %r15, %rdi
leaq 0x5e(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x338(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x33f7(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa389
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3497(%rip), %rsi      # 0xd7dc
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa414
movq (%r14,%r13,8), %rsi
leaq 0x318(%rsp), %r15
movq %r15, %rdi
leaq 0x5d(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x346d(%rip), %rsi      # 0xd7e4
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa417
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa3da
movq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %rax
cmpq %rax, %rdi
je 0xa3b5
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0xa3da
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa3f9
movq 0x8(%r14,%r13,8), %rdi
callq 0x33b0
movq 0x48(%rsp), %rcx
movl %eax, 0xc0(%rcx)
jmp 0xa956
movl $0x20, %edx
movq 0x7bd3(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x33ac(%rip), %rsi      # 0xd7bb
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa445
movq 0x318(%rsp), %rdi
leaq 0x328(%rsp), %rax
cmpq %rax, %rdi
je 0xa445
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa461
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xa4c1
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa523
movq 0x8(%r14,%r13,8), %rsi
leaq 0x118(%rsp), %r15
movq %r15, %rdi
leaq 0x5c(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x2f8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x325b(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa525
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3328(%rip), %rsi      # 0xd809
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa5b2
movq (%r14,%r13,8), %rsi
leaq 0x2d8(%rsp), %r15
movq %r15, %rdi
leaq 0x5b(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x3300(%rip), %rsi      # 0xd813
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa5b5
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa576
movq 0x2f8(%rsp), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0xa551
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0xa576
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa597
movq 0x8(%r14,%r13,8), %rdi
callq 0x3300
movq 0x48(%rsp), %rax
movsd %xmm0, 0xd0(%rax)
jmp 0xa956
movl $0x21, %edx
movq 0x7a35(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x323a(%rip), %rsi      # 0xd7e7
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa5e3
movq 0x2d8(%rsp), %rdi
leaq 0x2e8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5e3
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa5ff
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xa65f
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa6c1
movq 0x8(%r14,%r13,8), %rsi
leaq 0xf8(%rsp), %r15
movq %r15, %rdi
leaq 0x5a(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x2b8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x30bd(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa6c3
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x31bb(%rip), %rsi      # 0xd83a
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa74e
movq (%r14,%r13,8), %rsi
leaq 0x298(%rsp), %r15
movq %r15, %rdi
leaq 0x59(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x3196(%rip), %rsi      # 0xd847
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa751
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa714
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6ef
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0xa714
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa733
movq 0x8(%r14,%r13,8), %rdi
callq 0x33b0
movq 0x48(%rsp), %rcx
movl %eax, 0xc4(%rcx)
jmp 0xa956
movl $0x23, %edx
movq 0x7899(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x30cd(%rip), %rsi      # 0xd816
jmp 0xa8f3
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa77f
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa77f
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa79b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xa7fb
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xa85d
movq 0x8(%r14,%r13,8), %rsi
leaq 0xd8(%rsp), %r15
movq %r15, %rdi
leaq 0x58(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x278(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x2f21(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xa85f
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x3056(%rip), %rsi      # 0xd871
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xa96f
movq (%r14,%r13,8), %rsi
leaq 0x258(%rsp), %r15
movq %r15, %rdi
leaq 0x57(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x3031(%rip), %rsi      # 0xd87e
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xa972
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xa8b0
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0xa88b
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0xa8b0
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xa8dd
movq 0x10(%rsp), %rax
movq 0x8(%r14,%rax,8), %r13
movq 0x48(%rsp), %rax
movq 0x88(%rax), %rbp
movq %r13, %rdi
callq 0x3110
movq 0x70(%rsp), %rdi
jmp 0xa243
movl $0x26, %edx
movq 0x76ef(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x2f57(%rip), %rsi      # 0xd84a
callq 0x32c0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3260
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31b0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x3260
movsbl %al, %esi
movq %r13, %rdi
movq 0x10(%rsp), %r13
callq 0x3030
movq %rax, %rdi
callq 0x31b0
movq 0x40(%rsp), %rax
movb $0x0, (%rax)
leaq 0x18(%rsp), %rbp
movq %r12, %rcx
incq %r13
cmpq %r13, %rbx
jne 0x9b5a
jmp 0xad33
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xa9a0
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0xa9a0
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xa9bc
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xaa1c
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xaa7e
movq 0x8(%r14,%r13,8), %rsi
leaq 0xb8(%rsp), %r15
movq %r15, %rdi
leaq 0x56(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x238(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x2d00(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xaa80
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x2e6c(%rip), %rsi      # 0xd8a8
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xab0b
movq (%r14,%r13,8), %rsi
leaq 0x218(%rsp), %r15
movq %r15, %rdi
leaq 0x55(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x2e40(%rip), %rsi      # 0xd8ae
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xab0e
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xaad1
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0xaaac
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xaad1
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xaaf0
movq 0x8(%r14,%r13,8), %rdi
callq 0x33b0
movq 0x48(%rsp), %rcx
movl %eax, 0xc8(%rcx)
jmp 0xa956
movl $0x26, %edx
movq 0x74dc(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x2d7b(%rip), %rsi      # 0xd881
jmp 0xac9c
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0xab3c
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0xab3c
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xab58
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
testb %r13b, %r13b
je 0xabb8
movq 0x10(%rsp), %r13
cmpq 0x38(%rsp), %r13
jge 0xac1a
movq 0x8(%r14,%r13,8), %rsi
leaq 0x98(%rsp), %r15
movq %r15, %rdi
leaq 0x54(%rsp), %rdx
callq 0xb48a
movl $0x2, %ecx
leaq 0x1f8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x32a0
movq %rbp, %rdi
leaq 0x2b64(%rip), %rsi      # 0xd70f
callq 0x30c0
testl %eax, %eax
setne %bpl
jmp 0xac1c
movq 0x10(%rsp), %r13
movq (%r14,%r13,8), %rsi
movq %rbp, %rdi
leaq 0xf(%rsp), %rdx
callq 0xb48a
movq %rbp, %rdi
leaq 0x2cf9(%rip), %rsi      # 0xd8d1
callq 0x30c0
movl %eax, %ebp
testl %eax, %eax
je 0xacb6
movq (%r14,%r13,8), %rsi
leaq 0x1d8(%rsp), %r15
movq %r15, %rdi
leaq 0x53(%rsp), %rdx
callq 0xb48a
movq %r15, %rdi
leaq 0x2cce(%rip), %rsi      # 0xd8d8
callq 0x30c0
testl %eax, %eax
sete %r13b
jmp 0xacb9
xorl %ebp, %ebp
cmpq 0x38(%rsp), %r13
jge 0xac6d
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0xac48
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x3280
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xac6d
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x3280
testb %bpl, %bpl
je 0xac86
movq 0x8(%r14,%r13,8), %rsi
movq 0x68(%rsp), %rdi
callq 0x3330
jmp 0xa956
movl $0x1f, %edx
movq 0x7346(%rip), %r15      # 0x11fd8
movq %r15, %rdi
leaq 0x2c15(%rip), %rsi      # 0xd8b1
callq 0x32c0
movq %r15, %rdi
callq 0x3120
movq %rax, %rdi
callq 0x3120
jmp 0xa94e
movb $0x1, %r13b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
movq %r12, %rcx
je 0xaced
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0xaced
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x3280
movq %r12, %rcx
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xad0c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
movq %r12, %rcx
testb %r13b, %r13b
movq 0x10(%rsp), %r13
je 0xa95e
movq 0x40(%rsp), %rax
movb $0x0, (%rax)
jmp 0xa95e
addq $0xd8, %rdx
movq %rdx, %rax
jmp 0xad63
movq 0x48(%rsp), %rcx
cmpq $0x0, 0x8(%rcx)
je 0xad5e
cmpq $0x0, 0x48(%rcx)
movq 0x40(%rsp), %rax
je 0xad63
cmpq $0x0, 0x68(%rcx)
je 0xad63
cmpq $0x0, 0xa8(%rcx)
jne 0xad66
jmp 0xad63
movq 0x40(%rsp), %rax
movb $0x0, (%rax)
addq $0x478, %rsp            # imm = 0x478
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0xa8(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0xc8(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0xe8(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x108(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x128(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x148(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x168(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x188(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
movq %rax, %rbx
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x1a8(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf97
jmp 0xaf76
jmp 0xaf97
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x1c8(%rsp), %rsi
jmp 0xaf8d
jmp 0xaf97
jmp 0xaf76
jmp 0xaf97
movq %rax, %rbx
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xaf9a
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3280
jmp 0xaf9a
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3450