// File: /workspace/github_cpp_makefile_star2_O2/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
andl $0x0, 0x8(%rsp)
leaq 0x80(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
movq %rax, 0x28(%rsp)
xorl %eax, %eax
leaq 0xa0(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
leaq 0x208(%rsp), %rsi
movq %rsi, -0x10(%rsi)
andq $0x0, -0x8(%rsi)
movb %al, (%rcx)
movb %al, (%rdx)
movb %al, (%rsi)
xorps %xmm0, %xmm0
andq $0x0, 0x20(%rsp)
leaq 0xc8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
movaps %xmm0, 0x10(%rsp)
leaq 0xb8(%rsp), %rbx
movb %al, (%rcx)
movb $0x58, 0x6(%rsp)
leaq 0x6c2f(%rip), %rdi      # 0x9270
pushq $0x20
popq %rsi
callq 0x4a40
leaq 0x6c20(%rip), %rdi      # 0x9270
leaq 0x29db(%rip), %rsi      # 0x5032
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x29f4(%rip), %rsi      # 0x5061
leaq 0x2c33(%rip), %rdx      # 0x52a7
leaq 0x358(%rsp), %rdi
callq 0x37ce
leaq 0x358(%rsp), %r14
leaq 0x1f8(%rsp), %r15
pushq $0x23
popq %rbp
leaq 0x6bd5(%rip), %r12      # 0x9270
movq %r14, %rdi
movq %r15, %rsi
callq 0x41fe
movq %rax, %rdi
callq 0x393e
testb %al, %al
je 0x26df
movq %r15, %rdi
movl %ebp, %esi
xorl %edx, %edx
callq 0x2210
testq %rax, %rax
jne 0x269b
movq 0x1f8(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
jmp 0x269b
leaq 0x358(%rsp), %rdi
callq 0x3916
leaq 0x296e(%rip), %rsi      # 0x5061
leaq 0x160(%rsp), %rdi
leaq 0x398(%rsp), %rdx
callq 0x32b6
leaq 0x2b98(%rip), %rdx      # 0x52a7
leaq 0x358(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0x385c
leaq 0x160(%rsp), %rdi
callq 0x2308
leaq 0x358(%rsp), %rdi
leaq 0x10(%rsp), %rsi
pushq $0x4
popq %rdx
callq 0x332a
leaq 0x358(%rsp), %rdi
callq 0x3916
movaps 0x10(%rsp), %xmm0
leaq 0x160(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x6b06(%rip), %rdi      # 0x9270
leaq 0x28fd(%rip), %rdx      # 0x506e
pushq $0x20
popq %rcx
callq 0x33b6
movq %rax, %rdi
callq 0x4a82
leaq 0x6ae8(%rip), %rdi      # 0x9270
leaq 0x28e1(%rip), %rsi      # 0x5070
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x28e7(%rip), %rsi      # 0x508c
leaq 0x2afb(%rip), %rdx      # 0x52a7
leaq 0x398(%rsp), %rdi
callq 0x37ce
leaq 0x398(%rsp), %rdi
leaq 0xc(%rsp), %rsi
xorl %edx, %edx
callq 0x4004
leaq 0x28(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3f84
leaq 0x70(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3cda
movl 0xc(%rsp), %esi
leaq 0x6a7a(%rip), %rdi      # 0x9270
xorl %edx, %edx
callq 0x340c
movsd 0x28(%rsp), %xmm0
movq %rax, %rdi
xorl %esi, %esi
callq 0x341c
movq 0x70(%rsp), %rsi
leaq 0x2855(%rip), %rdx      # 0x506e
movq %rax, %rdi
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x398(%rsp), %rdi
leaq 0xc(%rsp), %rsi
xorl %edx, %edx
callq 0x4004
leaq 0x70(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3cda
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3cda
movq %rax, %rdi
callq 0x41ae
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4004
leaq 0x6(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x412c
leaq 0xb0(%rsp), %rsi
movq %rax, %rdi
callq 0x3f54
cmpl $0x0, 0xb0(%rsp)
je 0x28de
leaq 0x69cb(%rip), %rdi      # 0x9270
leaq 0x27ef(%rip), %rsi      # 0x509b
xorl %edx, %edx
callq 0x32f2
movl 0xb0(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x340c
movq 0xb8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
movl 0xc(%rsp), %esi
leaq 0x6987(%rip), %rdi      # 0x9270
xorl %edx, %edx
callq 0x340c
movq 0x70(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movq 0x90(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movl 0x8(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x340c
movsbl 0x6(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x330c
movq %rax, %rdi
callq 0x4a82
leaq 0x6933(%rip), %rdi      # 0x9270
leaq 0x275e(%rip), %rsi      # 0x50a2
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x150(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x271e(%rip), %rsi      # 0x508c
leaq 0x2932(%rip), %rdx      # 0x52a7
leaq 0x160(%rsp), %rdi
callq 0x37ce
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x3eec
leaq 0x160(%rsp), %rdi
callq 0x38ee
movq 0x140(%rsp), %rsi
leaq 0x68bd(%rip), %rdi      # 0x9270
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x68a7(%rip), %rdi      # 0x9270
leaq 0x26f2(%rip), %rsi      # 0x50c2
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x43e4
leaq 0x160(%rsp), %rdi
callq 0x41ae
leaq 0xc(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4004
leaq 0x70(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3cda
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3cda
movq %rax, %rdi
callq 0x41ae
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x4004
leaq 0x6(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x412c
leaq 0xb0(%rsp), %rsi
movq %rax, %rdi
callq 0x3f54
cmpl $0x0, 0xb0(%rsp)
je 0x2ab1
leaq 0x67f8(%rip), %rdi      # 0x9270
leaq 0x261c(%rip), %rsi      # 0x509b
xorl %edx, %edx
callq 0x32f2
movl 0xb0(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x340c
movq 0xb8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
movl 0xc(%rsp), %esi
leaq 0x67b4(%rip), %rdi      # 0x9270
xorl %edx, %edx
callq 0x340c
movq 0x70(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movq 0x90(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movl 0x8(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x340c
movsbl 0x6(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x330c
movq %rax, %rdi
callq 0x4a82
leaq 0x6760(%rip), %rdi      # 0x9270
leaq 0x25cb(%rip), %rsi      # 0x50e2
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x10(%rsp), %rdi
callq 0x342e
leaq 0x25d1(%rip), %rsi      # 0x5108
leaq 0x338(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x32b6
leaq 0x276d(%rip), %rsi      # 0x52bd
leaq 0x318(%rsp), %rdi
leaq 0x1d8(%rsp), %rdx
callq 0x32b6
leaq 0x100(%rsp), %rdi
leaq 0x338(%rsp), %rsi
leaq 0x318(%rsp), %rdx
callq 0x42f0
leaq 0x100(%rsp), %rdi
leaq 0x10(%rsp), %rsi
pushq $-0x1
popq %rdx
callq 0x332a
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0x38ee
leaq 0x318(%rsp), %rdi
callq 0x2308
leaq 0x338(%rsp), %rdi
callq 0x2308
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %rbp
leaq 0x669e(%rip), %r12      # 0x9270
leaq 0x2495(%rip), %r13      # 0x506e
cmpq %rbp, %r15
je 0x2c12
movq %r14, %rdi
movq %r15, %rsi
callq 0x2230
movq 0x100(%rsp), %rsi
movq %r12, %rdi
movq %r13, %rdx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
movq %r14, %rdi
callq 0x2308
addq $0x20, %r15
jmp 0x2bd9
leaq 0x6657(%rip), %rdi      # 0x9270
leaq 0x24ef(%rip), %rsi      # 0x510f
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x24ef(%rip), %rsi      # 0x5125
leaq 0x266a(%rip), %rdx      # 0x52a7
leaq 0x100(%rsp), %rdi
callq 0x37ce
leaq 0x100(%rsp), %rdi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x4004
leaq 0x100(%rsp), %rdi
callq 0x393e
testb %al, %al
jne 0x2cba
leaq 0x65fa(%rip), %rdi      # 0x9270
leaq 0x24b2(%rip), %rsi      # 0x512f
xorl %edx, %edx
callq 0x32f2
movq %rax, %r14
leaq 0x30(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x394a
movq 0x30(%rsp), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x30(%rsp), %rdi
callq 0x2308
leaq 0x65af(%rip), %rdi      # 0x9270
leaq 0x247f(%rip), %rsi      # 0x5147
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x247d(%rip), %rsi      # 0x515b
leaq 0x2f8(%rsp), %rdi
leaq 0x1b8(%rsp), %rdx
callq 0x32b6
leaq 0x25c3(%rip), %rsi      # 0x52bd
leaq 0x2d8(%rsp), %rdi
leaq 0xe0(%rsp), %rdx
callq 0x32b6
leaq 0x30(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
leaq 0x2d8(%rsp), %rdx
callq 0x42f0
leaq 0x1d8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x43a4
leaq 0x30(%rsp), %rdi
callq 0x38ee
leaq 0x2d8(%rsp), %rdi
callq 0x2308
leaq 0x2f8(%rsp), %rdi
callq 0x2308
leaq 0x650a(%rip), %rdi      # 0x9270
leaq 0x23ee(%rip), %rsi      # 0x515b
xorl %edx, %edx
callq 0x32f2
movq 0x1d8(%rsp), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x64db(%rip), %rdi      # 0x9270
leaq 0x23c5(%rip), %rsi      # 0x5161
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x23e3(%rip), %rsi      # 0x5195
leaq 0x2b8(%rsp), %rdi
leaq 0xe0(%rsp), %rdx
callq 0x32b6
leaq 0x63da(%rip), %rsi      # 0x91a8
leaq 0x298(%rsp), %rdi
callq 0x2230
leaq 0x30(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
leaq 0x298(%rsp), %rdx
callq 0x42f0
leaq 0x1b8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x43a4
leaq 0x30(%rsp), %rdi
callq 0x38ee
leaq 0x298(%rsp), %rdi
callq 0x2308
leaq 0x2b8(%rsp), %rdi
callq 0x2308
leaq 0x21e6(%rip), %rsi      # 0x5018
leaq 0x1b8(%rsp), %rdi
callq 0x3436
testb %al, %al
je 0x2e60
leaq 0x6426(%rip), %rdi      # 0x9270
leaq 0x2349(%rip), %rsi      # 0x519a
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x233e(%rip), %rsi      # 0x51a5
leaq 0x278(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x32b6
leaq 0x6328(%rip), %rsi      # 0x91a8
leaq 0x258(%rsp), %rdi
callq 0x2230
leaq 0x30(%rsp), %rdi
leaq 0x278(%rsp), %rsi
leaq 0x258(%rsp), %rdx
callq 0x42f0
leaq 0xe0(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x43a4
leaq 0x2158(%rip), %rsi      # 0x5018
leaq 0xe0(%rsp), %r14
movq %r14, %rdi
callq 0x3443
movl %eax, %ebp
movq %r14, %rdi
callq 0x2308
leaq 0x30(%rsp), %rdi
callq 0x38ee
leaq 0x258(%rsp), %rdi
callq 0x2308
leaq 0x278(%rsp), %rdi
callq 0x2308
testb %bpl, %bpl
je 0x2f20
leaq 0x6366(%rip), %rdi      # 0x9270
leaq 0x229a(%rip), %rsi      # 0x51ab
xorl %edx, %edx
callq 0x32f2
movq %rax, %rdi
callq 0x4a82
leaq 0x227e(%rip), %rsi      # 0x51a5
leaq 0x238(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x32b6
leaq 0x6288(%rip), %rsi      # 0x91c8
leaq 0x218(%rsp), %rdi
callq 0x2230
leaq 0x30(%rsp), %rdi
leaq 0x238(%rsp), %rsi
leaq 0x218(%rsp), %rdx
callq 0x42f0
leaq 0x30(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
xorl %edx, %edx
callq 0x4004
leaq 0x30(%rsp), %rdi
callq 0x38ee
leaq 0x218(%rsp), %rdi
callq 0x2308
leaq 0x238(%rsp), %rdi
callq 0x2308
leaq 0x62ca(%rip), %rdi      # 0x9270
leaq 0x220e(%rip), %rsi      # 0x51bb
xorl %edx, %edx
callq 0x32f2
movl 0xe0(%rsp), %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x340c
movq %rax, %rdi
callq 0x4a82
leaq 0x1b8(%rsp), %rdi
callq 0x2308
leaq 0x1d8(%rsp), %rdi
callq 0x2308
leaq 0x100(%rsp), %rdi
callq 0x38ee
leaq 0x160(%rsp), %rdi
callq 0x38ee
leaq 0x140(%rsp), %rdi
callq 0x2308
leaq 0x398(%rsp), %rdi
callq 0x38ee
leaq 0x358(%rsp), %rdi
callq 0x38ee
movq %rbx, %rdi
callq 0x2308
leaq 0x10(%rsp), %rdi
callq 0x344e
leaq 0x1f8(%rsp), %rdi
callq 0x2308
leaq 0x90(%rsp), %rdi
callq 0x2308
leaq 0x70(%rsp), %rdi
callq 0x2308
xorl %eax, %eax
addq $0x3d8, %rsp            # imm = 0x3D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x31fc
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x38ee
jmp 0x3089
movq %rax, %r14
leaq 0x218(%rsp), %rdi
callq 0x2308
jmp 0x309b
movq %rax, %r14
leaq 0x238(%rsp), %rdi
jmp 0x30d6
jmp 0x31dd
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x38ee
jmp 0x30bc
movq %rax, %r14
leaq 0x258(%rsp), %rdi
callq 0x2308
jmp 0x30ce
movq %rax, %r14
leaq 0x278(%rsp), %rdi
callq 0x2308
jmp 0x31e0
jmp 0x31dd
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x38ee
jmp 0x30f7
movq %rax, %r14
leaq 0x298(%rsp), %rdi
callq 0x2308
jmp 0x3109
movq %rax, %r14
leaq 0x2b8(%rsp), %rdi
jmp 0x31e8
jmp 0x3201
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x38ee
jmp 0x312d
movq %rax, %r14
leaq 0x2d8(%rsp), %rdi
callq 0x2308
jmp 0x313f
movq %rax, %r14
leaq 0x2f8(%rsp), %rdi
jmp 0x320c
jmp 0x31fc
movq %rax, %r14
leaq 0x30(%rsp), %rdi
jmp 0x320c
jmp 0x3229
movq %rax, %r14
leaq 0x100(%rsp), %rdi
callq 0x38ee
jmp 0x3178
movq %rax, %r14
leaq 0x318(%rsp), %rdi
callq 0x2308
jmp 0x318a
movq %rax, %r14
leaq 0x338(%rsp), %rdi
jmp 0x3239
jmp 0x3229
jmp 0x31f7
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x38ee
jmp 0x324b
jmp 0x31f7
jmp 0x3267
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x2308
jmp 0x326a
jmp 0x3267
jmp 0x31ef
jmp 0x31dd
jmp 0x3267
movq %rax, %r14
leaq 0x1b8(%rsp), %rdi
callq 0x2308
jmp 0x3204
movq %rax, %r14
jmp 0x3277
movq %rax, %r14
jmp 0x324b
movq %rax, %r14
jmp 0x3211
movq %rax, %r14
leaq 0x1d8(%rsp), %rdi
callq 0x2308
leaq 0x100(%rsp), %rdi
callq 0x38ee
jmp 0x323e
jmp 0x3267
jmp 0x3229
movq %rax, %r14
jmp 0x3258
movq %rax, %r14
jmp 0x323e
movq %rax, %r14
leaq 0x100(%rsp), %rdi
callq 0x2308
leaq 0x160(%rsp), %rdi
callq 0x38ee
leaq 0x140(%rsp), %rdi
callq 0x2308
leaq 0x398(%rsp), %rdi
callq 0x38ee
jmp 0x326a
movq %rax, %r14
leaq 0x358(%rsp), %rdi
callq 0x38ee
movq %rbx, %rdi
callq 0x2308
leaq 0x10(%rsp), %rdi
callq 0x344e
leaq 0x1f8(%rsp), %rdi
callq 0x2308
leaq 0x90(%rsp), %rdi
callq 0x2308
leaq 0x70(%rsp), %rdi
callq 0x2308
movq %r14, %rdi
callq 0x22a0
nop