// File: /workspace/github_cpp_makefile_star2_O1/stevedonovan[P]outstreams/testins.cpp
// Function: main
int main(int argc, char **argv)
{
    int i;
    double x = 1.2;
    int res = 0, N = 0;
    string s1,s2,s3;
    vector<string> lines;
    Reader::Error err;
    char ch = 'X';

    outs.sep(' ');

    outs("+++all lines from file matching some condition")();
    Reader inf("instream.cpp");
    while (inf.getline(s3)) {
        if (s3.find('#')==0)
            outs(s3)(eol);
    }
    // this will normally happen when inf goes out of scope
    inf.close();

    // alternatively, getlines will append lines using push_back
    // and an optional number of lines to grab can be set
    inf.open("instream.cpp");
    inf.getlines(lines,4);
    inf.close();
    outs(range(lines),quote_s)(eol);

    outs("+++read variables from file")();
    Reader rdr("input-test.txt");

    rdr(i)(x)(s1);
    outs(i)(x)(s1,quote_s)(eol);

    // this line fails since there's no good match for res
    // () means grab rest of line and continue...
    // (err) captures error state of instream
    rdr(i)(s1)(s2)()(res)(ch)(err);
    if (err) {
        outs("failed")(err.errcode)(err.msg)(eol);
    }
    outs(i)(s1)(s2)(res)(ch)(eol);


    outs("+++read input-test.txt contents")();
    string contents;
    Reader("input-test.txt").readall(contents);
    outs(contents)(eol);

    outs("+++read from string with errors")();
    StrReader sc(contents);
    sc()(i)(s1)(s2)()(res)(ch)(err);
    if (err) {
        outs("failed")(err.errcode)(err.msg)(eol);
    }
    outs(i)(s1)(s2)(res)(ch)(eol);

    outs("+++all header files in this directory")();
    lines.clear();
    CmdReader("ls *.h").getlines(lines);
    for (string L : lines) outs(L,quote_s)(eol);

    outs("+++file doesn't exist")();
    Reader b("bonzo.txt");
    b(res);
    if (! b) {
       outs("bonzo.txt doesn't exist")(b.error())(eol);
    }

    outs("+++CmdReader result")();
    string line = CmdReader("uname").line();
    outs("uname")(line)(eol);

    outs("+++How to execute commands silently and test errors")();
    string result = CmdReader("true",cmd_ok).line();   
    if (result == "OK") {
        outs("true is OK")(eol);
    }
    if (CmdReader("false",cmd_ok).line() != "OK") {
        outs("false is not OK")(eol);
    }

    int retcode;
    CmdReader("false",cmd_retcode) (retcode);
    outs("actual retcode")(retcode)(eol);

    /*

   s = "one two   30";
   StrReader ss(s);
   ss(s1)(s2)(res);

   printf("'%s' '%s' '%s' %d\n",C(s1),C(s2),C(s3),res);
*/
   return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3d8, %rsp            # imm = 0x3D8
movabsq $0x3ff3333333333333, %rax # imm = 0x3FF3333333333333
movq %rax, 0xc0(%rsp)
movl $0x0, 0x8(%rsp)
leaq 0x90(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0xb0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
leaq 0x40(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rax, -0x8(%r14)
movb %al, (%r14)
movq %rax, 0x20(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rax, -0x8(%r15)
movb %al, (%r15)
movb $0x58, 0x7(%rsp)
leaq 0x6ab7(%rip), %rdi      # 0x9260
movl $0x20, %esi
callq 0x58ce
leaq 0x6aa6(%rip), %rdi      # 0x9260
leaq 0x3a09(%rip), %rsi      # 0x61ca
leaq 0x386a(%rip), %rcx      # 0x6032
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x3881(%rip), %rsi      # 0x6061
leaq 0x3ac0(%rip), %rdx      # 0x62a7
leaq 0x358(%rsp), %rdi
callq 0x3f36
leaq 0x358(%rsp), %rbx
leaq 0x30(%rsp), %r14
leaq 0x6a58(%rip), %r15      # 0x9260
leaq 0x39bb(%rip), %r12      # 0x61ca
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4fca
movq %rax, %rdi
callq 0x4124
testb %al, %al
je 0x2858
movq %r14, %rdi
movl $0x23, %esi
xorl %edx, %edx
callq 0x2210
testq %rax, %rax
jne 0x280f
movq 0x30(%rsp), %rcx
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
jmp 0x280f
leaq 0x358(%rsp), %rdi
callq 0x40f8
leaq 0x2b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x37e9(%rip), %rsi      # 0x6061
leaq 0x37ee(%rip), %rdx      # 0x606d
leaq 0x2a8(%rsp), %rdi
callq 0x3b66
leaq 0x3a14(%rip), %rdx      # 0x62a7
leaq 0x358(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x3ff0
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x28c5
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x358(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movl $0x4, %edx
callq 0x39e4
leaq 0x358(%rsp), %rdi
callq 0x40f8
movaps 0x10(%rsp), %xmm0
leaq 0x2a8(%rsp), %rsi
movups %xmm0, (%rsi)
leaq 0x6960(%rip), %rdi      # 0x9260
leaq 0x3767(%rip), %rdx      # 0x606e
movl $0x20, %ecx
callq 0x3a90
movq %rax, %rdi
callq 0x5910
leaq 0x6940(%rip), %rdi      # 0x9260
leaq 0x38a3(%rip), %rsi      # 0x61ca
leaq 0x3742(%rip), %rcx      # 0x6070
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x3746(%rip), %rsi      # 0x608c
leaq 0x395a(%rip), %rdx      # 0x62a7
leaq 0x398(%rsp), %rdi
callq 0x3f36
leaq 0x398(%rsp), %rdi
leaq 0xc(%rsp), %rsi
xorl %edx, %edx
callq 0x4d5e
leaq 0xc0(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4cde
leaq 0x80(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x478e
movl 0xc(%rsp), %ecx
leaq 0x68c3(%rip), %rdi      # 0x9260
leaq 0x382c(%rip), %rsi      # 0x61d0
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movsd 0xc0(%rsp), %xmm0
leaq 0x3816(%rip), %rsi      # 0x61d3
movq %rax, %rdi
xorl %edx, %edx
movb $0x1, %al
callq 0x5686
movq 0x80(%rsp), %rcx
leaq 0x37f2(%rip), %rsi      # 0x61ca
leaq 0x368f(%rip), %rdx      # 0x606e
movq %rax, %rdi
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x398(%rsp), %rdi
leaq 0xc(%rsp), %rsi
xorl %edx, %edx
callq 0x4d5e
leaq 0x80(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x478e
leaq 0xa0(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x478e
movq %rax, %rdi
callq 0x4f72
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4d5e
leaq 0x7(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4eda
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0x4cae
cmpl $0x0, 0x50(%rsp)
je 0x2ab8
leaq 0x67f6(%rip), %rdi      # 0x9260
leaq 0x3759(%rip), %rsi      # 0x61ca
leaq 0x3623(%rip), %rcx      # 0x609b
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movl 0x50(%rsp), %ecx
leaq 0x3744(%rip), %rsi      # 0x61d0
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0x58(%rsp), %rcx
leaq 0x3726(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
movl 0xc(%rsp), %ecx
leaq 0x679d(%rip), %rdi      # 0x9260
leaq 0x3706(%rip), %rsi      # 0x61d0
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0x80(%rsp), %rcx
leaq 0x36e8(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0xa0(%rsp), %rcx
leaq 0x36cd(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movl 0x8(%rsp), %ecx
leaq 0x36bc(%rip), %rsi      # 0x61d0
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movsbl 0x7(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x39c6
movq %rax, %rdi
callq 0x5910
leaq 0x6722(%rip), %rdi      # 0x9260
leaq 0x3685(%rip), %rsi      # 0x61ca
leaq 0x3556(%rip), %rcx      # 0x60a2
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x3511(%rip), %rsi      # 0x608c
leaq 0x3725(%rip), %rdx      # 0x62a7
leaq 0x2a8(%rsp), %rdi
callq 0x3f36
leaq 0x2a8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x4c32
leaq 0x2a8(%rsp), %rdi
callq 0x40b2
movq 0x108(%rsp), %rcx
leaq 0x66a0(%rip), %rdi      # 0x9260
leaq 0x3603(%rip), %rsi      # 0x61ca
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x6681(%rip), %rdi      # 0x9260
leaq 0x35e4(%rip), %rsi      # 0x61ca
leaq 0x34d5(%rip), %rcx      # 0x60c2
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x2a8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x52e4
leaq 0x2a8(%rsp), %rdi
callq 0x4f72
leaq 0xc(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4d5e
leaq 0x80(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x478e
leaq 0xa0(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x478e
movq %rax, %rdi
callq 0x4f72
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4d5e
leaq 0x7(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4eda
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0x4cae
cmpl $0x0, 0x50(%rsp)
je 0x2ce2
leaq 0x65cc(%rip), %rdi      # 0x9260
leaq 0x352f(%rip), %rsi      # 0x61ca
leaq 0x33f9(%rip), %rcx      # 0x609b
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movl 0x50(%rsp), %ecx
leaq 0x351a(%rip), %rsi      # 0x61d0
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0x58(%rsp), %rcx
leaq 0x34fc(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
movl 0xc(%rsp), %ecx
leaq 0x6573(%rip), %rdi      # 0x9260
leaq 0x34dc(%rip), %rsi      # 0x61d0
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0x80(%rsp), %rcx
leaq 0x34be(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0xa0(%rsp), %rcx
leaq 0x34a3(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movl 0x8(%rsp), %ecx
leaq 0x3492(%rip), %rsi      # 0x61d0
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movsbl 0x7(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x39c6
movq %rax, %rdi
callq 0x5910
leaq 0x64f8(%rip), %rdi      # 0x9260
leaq 0x345b(%rip), %rsi      # 0x61ca
leaq 0x336c(%rip), %rcx      # 0x60e2
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
movq 0x10(%rsp), %rbx
movq 0x18(%rsp), %r14
cmpq %rbx, %r14
je 0x2dc3
leaq 0x10(%rbx), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x2dae
movq (%r15), %rsi
incq %rsi
callq 0x2190
leaq 0x20(%r15), %rax
addq $0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x2d9a
movq %rbx, 0x18(%rsp)
leaq 0x298(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3332(%rip), %rsi      # 0x6108
leaq 0x3331(%rip), %rdx      # 0x610e
leaq 0x288(%rsp), %rdi
callq 0x3b66
leaq 0x278(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x34c0(%rip), %rdx      # 0x62bd
leaq 0x268(%rsp), %rdi
movq %rdx, %rsi
callq 0x3b66
leaq 0x128(%rsp), %rdi
leaq 0x288(%rsp), %rsi
leaq 0x268(%rsp), %rdx
callq 0x50fa
leaq 0x128(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq $-0x1, %rdx
callq 0x39e4
leaq 0x128(%rsp), %rdi
callq 0x40b2
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x2e6d
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x2e8a
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x10(%rsp), %rbp
movq 0x18(%rsp), %rbx
cmpq %rbx, %rbp
je 0x2f20
leaq 0x138(%rsp), %r13
leaq 0x63b4(%rip), %r14      # 0x9260
leaq 0x3317(%rip), %r15      # 0x61ca
leaq 0x31b4(%rip), %r12      # 0x606e
movq %r13, 0x128(%rsp)
movq (%rbp), %rsi
movq 0x8(%rbp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x3bf6
movq 0x128(%rsp), %rcx
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f17
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x2190
addq $0x20, %rbp
cmpq %rbx, %rbp
jne 0x2eba
leaq 0x6339(%rip), %rdi      # 0x9260
leaq 0x329c(%rip), %rsi      # 0x61ca
leaq 0x31da(%rip), %rcx      # 0x610f
xorl %edx, %edx
xorl %eax, %eax
leaq 0x90(%rsp), %r13
leaq 0xb0(%rsp), %rbp
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x31c8(%rip), %rsi      # 0x6125
leaq 0x3343(%rip), %rdx      # 0x62a7
leaq 0x128(%rsp), %rdi
callq 0x3f36
leaq 0x128(%rsp), %rdi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x4d5e
leaq 0x128(%rsp), %rdi
callq 0x4124
testb %al, %al
jne 0x3010
leaq 0x62c3(%rip), %rdi      # 0x9260
leaq 0x3226(%rip), %rsi      # 0x61ca
leaq 0x3184(%rip), %rcx      # 0x612f
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x4130
movq 0xc8(%rsp), %rcx
leaq 0x31ef(%rip), %rsi      # 0x61ca
movq %rbx, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3010
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x6249(%rip), %rdi      # 0x9260
leaq 0x31ac(%rip), %rsi      # 0x61ca
leaq 0x3122(%rip), %rcx      # 0x6147
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x258(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3112(%rip), %rsi      # 0x615b
leaq 0x3110(%rip), %rdx      # 0x6160
leaq 0x248(%rsp), %rdi
callq 0x3b66
leaq 0x238(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x324d(%rip), %rdx      # 0x62bd
leaq 0x228(%rsp), %rdi
movq %rdx, %rsi
callq 0x3b66
leaq 0xc8(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x228(%rsp), %rdx
callq 0x50fa
leaq 0x338(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x5296
leaq 0xc8(%rsp), %rdi
callq 0x40b2
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x30dc
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x248(%rsp), %rdi
cmpq %r14, %rdi
je 0x30f9
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x6160(%rip), %rdi      # 0x9260
leaq 0x30c3(%rip), %rsi      # 0x61ca
leaq 0x304d(%rip), %rcx      # 0x615b
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq 0x338(%rsp), %rcx
leaq 0x30a4(%rip), %rsi      # 0x61ca
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x611f(%rip), %rdi      # 0x9260
leaq 0x3082(%rip), %rsi      # 0x61ca
leaq 0x3012(%rip), %rcx      # 0x6161
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3022(%rip), %rsi      # 0x6195
leaq 0x301f(%rip), %rdx      # 0x6199
leaq 0x208(%rsp), %rdi
callq 0x3b66
leaq 0x1f8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x5ffe(%rip), %rsi      # 0x9198
movq 0x5fff(%rip), %rdx      # 0x91a0
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x3bf6
leaq 0xc8(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x50fa
leaq 0x318(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x5296
leaq 0xc8(%rsp), %rdi
callq 0x40b2
movq 0x1e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x320d
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x322a
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x2de7(%rip), %rsi      # 0x6018
leaq 0x318(%rsp), %rdi
callq 0x2070
testl %eax, %eax
jne 0x3268
leaq 0x6017(%rip), %rdi      # 0x9260
leaq 0x2f7a(%rip), %rsi      # 0x61ca
leaq 0x2f43(%rip), %rcx      # 0x619a
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x1d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2f2a(%rip), %rsi      # 0x61a5
leaq 0x2f28(%rip), %rdx      # 0x61aa
leaq 0x1c8(%rsp), %rdi
callq 0x3b66
leaq 0x1b8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x5ef5(%rip), %rsi      # 0x9198
movq 0x5ef6(%rip), %rdx      # 0x91a0
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x3bf6
leaq 0xc8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
callq 0x50fa
leaq 0x2f8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x5296
leaq 0x2d25(%rip), %rsi      # 0x6018
leaq 0x2f8(%rsp), %r14
movq %r14, %rdi
callq 0x2070
movl %eax, %ebx
movq (%r14), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0x3325
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0xc8(%rsp), %rdi
callq 0x40b2
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x334f
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x1c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x336c
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x2190
testl %ebx, %ebx
je 0x3396
leaq 0x5ee9(%rip), %rdi      # 0x9260
leaq 0x2e4c(%rip), %rsi      # 0x61ca
leaq 0x2e26(%rip), %rcx      # 0x61ab
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x198(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2dfc(%rip), %rsi      # 0x61a5
leaq 0x2dfa(%rip), %rdx      # 0x61aa
leaq 0x188(%rsp), %rdi
callq 0x3b66
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x5de8(%rip), %rsi      # 0x91b8
movq 0x5de9(%rip), %rdx      # 0x91c0
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x3bf6
leaq 0xc8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x168(%rsp), %rdx
callq 0x50fa
leaq 0xc8(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
xorl %edx, %edx
callq 0x4d5e
leaq 0xc8(%rsp), %rdi
callq 0x40b2
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x3445
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x68(%rsp), %r14
je 0x3467
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x5df2(%rip), %rdi      # 0x9260
leaq 0x2d55(%rip), %rsi      # 0x61ca
leaq 0x2d3f(%rip), %rcx      # 0x61bb
xorl %edx, %edx
xorl %eax, %eax
leaq 0x40(%rsp), %rbx
callq 0x5686
movl 0x2f8(%rsp), %ecx
leaq 0x2d38(%rip), %rsi      # 0x61d0
movq %rax, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0x5686
movq %rax, %rdi
callq 0x5910
leaq 0x328(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34cd
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x348(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34ee
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x128(%rsp), %rdi
callq 0x40b2
leaq 0x2a8(%rsp), %rdi
callq 0x40b2
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x352d
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x398(%rsp), %rdi
callq 0x40b2
leaq 0x358(%rsp), %rdi
callq 0x40b2
movq 0x58(%rsp), %rdi
cmpq %r14, %rdi
je 0x355e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x10(%rsp), %rdi
callq 0x3b00
movq 0x30(%rsp), %rdi
cmpq %rbx, %rdi
je 0x357f
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0xa0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x359c
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x80(%rsp), %rdi
cmpq %r13, %rdi
je 0x35b9
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2190
xorl %eax, %eax
addq $0x3d8, %rsp            # imm = 0x3D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x386d
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x40b2
jmp 0x35e7
movq %rax, %rbx
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x3609
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x3609
movq %rax, %rbx
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x383d
movq 0x198(%rsp), %rsi
jmp 0x3679
jmp 0x383a
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x40b2
jmp 0x363e
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3660
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x3660
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x383d
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x383d
jmp 0x383a
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x40b2
jmp 0x36a0
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x36c2
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x36c2
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x3875
movq 0x218(%rsp), %rsi
jmp 0x3856
jmp 0x3872
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x40b2
jmp 0x36fa
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x371c
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x371c
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r14, %rdi
je 0x3896
movq 0x258(%rsp), %rsi
jmp 0x388e
jmp 0x386d
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3896
movq 0xd8(%rsp), %rsi
jmp 0x388e
jmp 0x38ac
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0x40b2
jmp 0x377e
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x37a0
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x37a0
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r14, %rdi
je 0x38d6
movq 0x298(%rsp), %rsi
jmp 0x38ce
jmp 0x38ac
jmp 0x3868
movq %rax, %rbx
leaq 0x2a8(%rsp), %rdi
callq 0x40b2
jmp 0x38e3
jmp 0x3868
jmp 0x3931
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x380c
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x380c
movq %rax, %rbx
leaq 0x90(%rsp), %r13
leaq 0xb0(%rsp), %rbp
jmp 0x3934
movq %rax, %rbx
leaq 0x40(%rsp), %r14
leaq 0x68(%rsp), %r15
jmp 0x394b
jmp 0x383a
jmp 0x3931
movq %rax, %rbx
leaq 0x328(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3875
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x2190
jmp 0x3875
movq %rax, %rbx
jmp 0x394b
movq %rax, %rbx
jmp 0x38e3
movq %rax, %rbx
jmp 0x3896
movq %rax, %rbx
leaq 0x348(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3896
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x128(%rsp), %rdi
callq 0x40b2
jmp 0x38d6
jmp 0x3931
jmp 0x38ac
movq %rax, %rbx
jmp 0x38d6
movq %rax, %rbx
jmp 0x3918
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x38d6
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x2a8(%rsp), %rdi
callq 0x40b2
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x3908
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x90(%rsp), %r13
leaq 0xb0(%rsp), %rbp
leaq 0x40(%rsp), %r14
leaq 0x68(%rsp), %r15
leaq 0x398(%rsp), %rdi
callq 0x40b2
jmp 0x393e
movq %rax, %rbx
leaq 0x40(%rsp), %r14
leaq 0x68(%rsp), %r15
leaq 0x358(%rsp), %rdi
callq 0x40b2
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x3962
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2190
leaq 0x10(%rsp), %rdi
callq 0x3b00
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x3983
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0xa0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x39a0
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x2190
movq 0x80(%rsp), %rdi
cmpq %r13, %rdi
je 0x39bd
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2190
movq %rbx, %rdi
callq 0x22a0
nop