// File: /workspace/github_cpp_makefile_star2_O3/lega911[P]ijson/src/connect.cpp
// Function: Connect::header_completed()
void Connect::header_completed() {
    this->loop->stat_request++;
    this->keep_alive = http_version == 11;

    if(server->log & 32) {
        Buffer repr(250);
        if(start_time) {
            i64 dur = (get_time() - start_time) / 1000;
            if(dur >= 10000) {
                repr.add_number(dur / 1000);
                repr.add("sec ");
            } else {
                repr.add_number(dur);
                repr.add("ms ");
            }
            start_time = 0;
        }
        if(this->body.size() > 150) {
            repr.add(this->body.ptr(), 147);
            repr.add("...");
        } else if(this->body.size()) {
            repr.add(this->body);
        }
        for(int i=0;i<repr.size();i++) {
            if(repr.ptr()[i] < 32) repr.ptr()[i] = '.';
        }
        repr.add("\n", 2);
        std::cout << ltime() << this->path.as_string() << " " << this->body.size() << "b " << repr.ptr();
    }
    
    if(this->path == "echo") {
        Slice response("ok");
        this->send.status("200 OK")->done(response);
        return;
    }


    #ifdef DEBUG
    if(this->path == "rpc/migrate") {
        this->send.status("200 OK")->done();
        this->need_loop = this->nloop + 1;
        if(this->need_loop >= server->threads) this->need_loop = 0;
        this->go_loop = true;
        return;
    }

    if(this->path == "debug") {
        Buffer r(32);
        r.add("Memory allocated: ");
        r.add_number(get_memory_allocated());
        r.add("\n");
        this->send.status("200 OK")->done(r);
        return;
    }
    #endif

    if(worker_mode) {
        if(status != Status::worker_mode_async) loop->worker_result_noid(this);
        if(header_option == "stop") {
            if(worker_item) worker_item->pop();
            worker_mode = false;
            this->send.status("200 OK")->done(1);
            status = Status::net;
            return;
        }
        //if(go_loop)  // TODO move worker
        rpc_add();
        return;
    }

    if(noid) {
        if(this->path != "rpc/result" && type != RequestType::result) {
            this->send.status("400 Result expected")->done(-1);
            return;
        };
        int r = loop->worker_result_noid(this);
        if(r == 0) {
            this->send.status("200 OK")->done(1);
        } else if(r == -2) {
            if(server->log & 4) std::cout << ltime() << "499 Client is gone\n";
            this->send.status("499 Closed")->done(-1);
        }
        status = Status::net;
        return;
    }

    Slice method;
    Slice id(this->id);
    json.load(this->body);

    if(type != RequestType::none) {
        name.set(path);
        switch(type) {
        case RequestType::async:
            no_response = true;
            loop->client_request(name, this);
            break;
        case RequestType::get_plus:
            this->noid = true;
            this->fail_on_disconnect = true;
        case RequestType::get:
            rpc_add();
            break;
        case RequestType::worker:
            worker_mode = true;
            rpc_add();
            break;
        case RequestType::pub:
            pub(name);
            break;
        case RequestType::result:
            if(id.empty() && path != "/") id.set(path);
            rpc_result(id);
            break;
        case RequestType::create:
            create_queue(path);
            break;
        case RequestType::del:
            delete_queue(path);
            break;
        default:
            this->send.status("400 Wrong type")->done(-32602);
        }
        return;
    }

    if(this->path == "rpc/call") {
        Slice params;
        while(json.scan()) {
            if(json.key == "method") method = json.value;
            else if(json.key == "id" && id.empty()) {
                id = json.value;
                this->id.set(id);
            } else if(json.key == "params") params = json.value;
        }
        if(!params.empty()) json.load(params, 1);

        if(!method.empty() && method.ptr()[0] == '/') method.remove(1);
        if(method.empty()) {
            this->send.status("400 No method")->done(-32601);
            return;
        }
    } else {
        method = this->path;
    };

    if(method == "rpc/worker") {
        worker_mode = true;
        rpc_add();
        return;
    } else if(method == "rpc/add") {
        rpc_add();
        return;
    } else if(method == "rpc/result") {
        rpc_result(id);
        return;
    } else if(method == "rpc/details") {
        send_details();
        return;
    } else if(method == "/" || method == "rpc/help") {
        send_help();
        return;
    }

    no_response = header_option == "async";
    loop->client_request(method, this);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
movq 0x30(%rdi), %rax
incq 0x78(%rax)
cmpl $0xb, 0x80(%rdi)
sete 0x10(%rdi)
movq 0x48(%rdi), %rax
testb $0x20, 0x20(%rax)
je 0x9619
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rdi
movaps %xmm0, (%rdi)
movl $0xfa, %esi
callq 0xc596
cmpq $0x0, 0x1e0(%rbx)
je 0x9484
callq 0x163ac
subq 0x1e0(%rbx), %rax
cmpq $0x989680, %rax         # imm = 0x989680
jb 0x9453
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
mulq %rcx
shrq $0x12, %rdx
leaq -0x40(%rbp), %rdi
movq %rdx, %rsi
callq 0xc35e
leaq 0xddd0(%rip), %rsi      # 0x17221
jmp 0x9470
movl %eax, %eax
imulq $0x10624dd3, %rax, %rsi # imm = 0x10624DD3
shrq $0x26, %rsi
leaq -0x40(%rbp), %rdi
callq 0xc35e
leaq 0xddb6(%rip), %rsi      # 0x17226
leaq -0x40(%rbp), %rdi
callq 0xc44c
movq $0x0, 0x1e0(%rbx)
movl 0xd8(%rbx), %edx
cmpl $0x97, %edx
jl 0x94b9
movq 0xd0(%rbx), %rsi
leaq -0x40(%rbp), %rdi
movl $0x93, %edx
callq 0xc102
leaq 0xdd7c(%rip), %rsi      # 0x1722a
leaq -0x40(%rbp), %rdi
callq 0xc44c
jmp 0x94cd
testl %edx, %edx
je 0x94cd
movq 0xd0(%rbx), %rsi
leaq -0x40(%rbp), %rdi
callq 0xc102
movl -0x38(%rbp), %esi
testl %esi, %esi
jle 0x94f2
xorl %eax, %eax
movq -0x40(%rbp), %rcx
cmpb $0x1f, (%rcx,%rax)
jg 0x94e7
movb $0x2e, (%rcx,%rax)
movl -0x38(%rbp), %esi
incq %rax
movslq %esi, %rcx
cmpq %rcx, %rax
jl 0x94d6
addl $0x2, %esi
leaq -0x40(%rbp), %rdi
callq 0xc596
movq -0x40(%rbp), %rax
movslq -0x38(%rbp), %rcx
movw $0xa, (%rax,%rcx)
addl $0x2, -0x38(%rbp)
callq 0x163f5
movq %rax, %r14
testq %rax, %rax
je 0x9539
movq %r14, %rdi
callq 0x8130
movq 0x14aa4(%rip), %rdi     # 0x1dfd0
movq %r14, %rsi
movq %rax, %rdx
callq 0x8350
jmp 0x9557
movq 0x14a90(%rip), %rax     # 0x1dfd0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x8470
leaq 0x98(%rbx), %rsi
leaq -0x70(%rbp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xc49c
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
movq 0x14a55(%rip), %rdi     # 0x1dfd0
callq 0x8350
movq %rax, %r14
leaq 0xe11f(%rip), %rsi      # 0x176a9
movl $0x1, %edx
movq %rax, %rdi
callq 0x8350
movl 0xd8(%rbx), %esi
movq %r14, %rdi
callq 0x8490
movq %rax, %r14
leaq 0xdc7f(%rip), %rsi      # 0x1722e
movl $0x2, %edx
movq %rax, %rdi
callq 0x8350
movq -0x40(%rbp), %r15
testq %r15, %r15
je 0x95dd
movq %r15, %rdi
callq 0x8130
movq %r14, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x8350
jmp 0x95f7
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r14, %rdi
addq %rax, %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x8470
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9610
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x8320
leaq -0x40(%rbp), %rdi
callq 0xc56a
movl 0xa0(%rbx), %r14d
movq 0x98(%rbx), %r15
xorl %ecx, %ecx
testl %r14d, %r14d
movl $0x0, %eax
cmovgl %r14d, %eax
movb $0x65, %sil
leaq 0xdbf2(%rip), %rdx      # 0x17231
cmpq %rcx, %rax
je 0x9697
cmpb (%r15,%rcx), %sil
jne 0x9697
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0x4, %rcx
jne 0x963f
cmpl $0x4, %r14d
jne 0x9697
leaq 0xdbd1(%rip), %rax      # 0x17236
leaq -0x70(%rbp), %r14
movq %rax, (%r14)
movl $0x2, 0x8(%r14)
addq $0x18, %rbx
leaq 0xdbba(%rip), %rsi      # 0x17239
movq %rbx, %rdi
callq 0x9ec6
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa766
jmp 0x9ce3
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xdb9d(%rip), %rdx      # 0x17240
cmpq %rcx, %rax
je 0x96fa
cmpb (%r15,%rcx), %sil
jne 0x96fa
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0xb, %rcx
jne 0x96a3
cmpl $0xb, %r14d
jne 0x96fa
leaq 0x18(%rbx), %r14
leaq 0xdb6c(%rip), %rsi      # 0x17239
movq %r14, %rdi
callq 0x9ec6
movq %r14, %rdi
callq 0xa864
movl 0x38(%rbx), %eax
incl %eax
movq 0x48(%rbx), %rcx
xorl %edx, %edx
cmpl 0x28(%rcx), %eax
cmovll %eax, %edx
movl %edx, 0x3c(%rbx)
movb $0x1, 0x40(%rbx)
jmp 0x9ce3
movb $0x64, %sil
xorl %ecx, %ecx
leaq 0xdb46(%rip), %rdx      # 0x1724c
cmpq %rcx, %rax
je 0x97a2
cmpb (%r15,%rcx), %sil
jne 0x97a2
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0x5, %rcx
jne 0x9706
cmpl $0x5, %r14d
jne 0x97a2
xorps %xmm0, %xmm0
leaq -0x70(%rbp), %r14
movaps %xmm0, (%r14)
movq %r14, %rdi
movl $0x20, %esi
callq 0xc596
leaq 0xdb06(%rip), %rsi      # 0x17252
movq %r14, %rdi
callq 0xc44c
callq 0xed1c
movslq %eax, %rsi
leaq -0x70(%rbp), %rdi
callq 0xc35e
leaq 0xdf33(%rip), %rsi      # 0x1769f
leaq -0x70(%rbp), %rdi
callq 0xc44c
addq $0x18, %rbx
leaq 0xdab9(%rip), %rsi      # 0x17239
movq %rbx, %rdi
callq 0x9ec6
leaq -0x70(%rbp), %rsi
movq %rbx, %rdi
callq 0xa766
leaq -0x70(%rbp), %rdi
callq 0xc56a
jmp 0x9ce3
cmpb $0x1, 0xf3(%rbx)
jne 0x9849
cmpl $0x6, 0xcc(%rbx)
je 0x97c4
movq 0x30(%rbx), %rdi
movq %rbx, %rsi
callq 0x12da0
movl 0xb0(%rbx), %eax
movq 0xa8(%rbx), %rcx
xorl %edx, %edx
testl %eax, %eax
movl $0x0, %esi
cmovgl %eax, %esi
movb $0x73, %r8b
leaq 0xda7e(%rip), %rdi      # 0x17265
cmpq %rdx, %rsi
je 0x9c41
cmpb (%rcx,%rdx), %r8b
jne 0x9c41
movb 0x1(%rdx,%rdi), %r8b
incq %rdx
cmpq $0x4, %rdx
jne 0x97e7
cmpl $0x4, %eax
jne 0x9c41
movq 0x178(%rbx), %rdi
testq %rdi, %rdi
je 0x9822
callq 0x16a90
movb $0x0, 0xf3(%rbx)
leaq 0x18(%rbx), %r14
leaq 0xda05(%rip), %rsi      # 0x17239
movq %r14, %rdi
callq 0x9ec6
movq %r14, %rdi
movl $0x1, %esi
jmp 0x9cd4
cmpb $0x1, 0xf1(%rbx)
jne 0x988b
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xda0c(%rip), %rdx      # 0x1726a
cmpq %rcx, %rax
je 0x993e
cmpb (%r15,%rcx), %sil
jne 0x993e
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0xa, %rcx
jne 0x985e
cmpl $0xa, %r14d
sete %al
jmp 0x9940
movq 0xe0(%rbx), %rcx
movl 0xe8(%rbx), %r12d
movq %rcx, -0x70(%rbp)
movl %r12d, -0x68(%rbp)
movq 0xd0(%rbx), %rcx
movl 0xd8(%rbx), %edx
xorl %esi, %esi
movq %rsi, 0x128(%rbx)
movl %esi, 0x130(%rbx)
movq %rsi, 0x138(%rbx)
movl %esi, 0x140(%rbx)
movl %esi, 0x160(%rbx)
movq %rcx, 0x150(%rbx)
movl %edx, 0x158(%rbx)
movq %rsi, 0x148(%rbx)
cmpl %esi, 0xc8(%rbx)
je 0x99d7
leaq 0xb8(%rbx), %r13
movl $0x0, 0xc0(%rbx)
movq %r13, %rdi
movq %r15, %rsi
movl %r14d, %edx
callq 0xc102
movl 0xc8(%rbx), %eax
decl %eax
cmpl $0x7, %eax
ja 0x9e28
leaq 0xd6f9(%rip), %rcx      # 0x17020
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x101, 0xf0(%rbx)      # imm = 0x101
jmp 0x9c41
xorl %eax, %eax
testb %al, %al
jne 0x9972
cmpl $0x6, 0xc8(%rbx)
je 0x9972
addq $0x18, %rbx
leaq 0xd91d(%rip), %rsi      # 0x17275
movq %rbx, %rdi
callq 0x9ec6
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x9f3a
jmp 0x9ce3
movq 0x30(%rbx), %rdi
movq %rbx, %rsi
callq 0x12da0
testl %eax, %eax
je 0x9cb2
cmpl $-0x2, %eax
jne 0x9cd9
movq 0x48(%rbx), %rax
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
leaq 0xd8fd(%rip), %r15      # 0x1729d
testb $0x4, 0x20(%rax)
je 0x9cbf
callq 0x163f5
movq 0x1461a(%rip), %rdi     # 0x1dfd0
movq %rax, %rsi
callq 0x8300
leaq 0xd8c4(%rip), %rsi      # 0x17289
movl $0x13, %edx
movq %rax, %rdi
callq 0x8350
jmp 0x9cbf
leaq 0xe0(%rbx), %r13
leaq 0x128(%rbx), %rcx
movq %rcx, -0x80(%rbp)
leaq 0x138(%rbx), %rdi
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xd8bd(%rip), %rdx      # 0x172b9
cmpq %rcx, %rax
je 0x9bd6
cmpb (%r15,%rcx), %sil
jne 0x9bd6
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0x8, %rcx
jne 0x99fc
cmpl $0x8, %r14d
jne 0x9bd6
movq %rdi, -0x90(%rbp)
movq -0x80(%rbp), %rdi
callq 0xd5de
testb %al, %al
je 0x9e67
movq %r13, -0x88(%rbp)
movl %r12d, -0x48(%rbp)
xorl %r14d, %r14d
leaq 0xd86e(%rip), %r8       # 0x172c2
leaq 0xd8f1(%rip), %r12      # 0x1734c
leaq 0xd86e(%rip), %r13      # 0x172d0
xorl %r15d, %r15d
movl $0x0, -0x44(%rbp)
movq $0x0, -0x78(%rbp)
movl 0x130(%rbx), %eax
movq 0x128(%rbx), %rcx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movb $0x6d, %dil
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x9ac1
cmpb (%rcx,%rsi), %dil
jne 0x9ac1
movb 0x1(%rsi,%r13), %dil
incq %rsi
cmpq $0x6, %rsi
jne 0x9a90
cmpl $0x6, %eax
jne 0x9ac1
movq 0x138(%rbx), %r15
movl 0x140(%rbx), %r14d
jmp 0x9b50
movb $0x69, %dil
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x9b19
cmpb (%rcx,%rsi), %dil
jne 0x9b19
movb 0x1(%rsi,%r12), %dil
incq %rsi
cmpq $0x2, %rsi
jne 0x9ac6
cmpl $0x2, %eax
jne 0x9b19
cmpl $0x0, -0x48(%rbp)
jne 0x9b19
movq -0x90(%rbp), %rax
movq (%rax), %rsi
movq %rsi, -0x70(%rbp)
movl 0x8(%rax), %edx
movl %edx, -0x68(%rbp)
movl $0x0, 0xe8(%rbx)
movq -0x88(%rbp), %rdi
movl %edx, -0x48(%rbp)
callq 0xc102
jmp 0x9b50
movb $0x70, %dil
xorl %esi, %esi
cmpq %rsi, %rdx
je 0x9b50
cmpb (%rcx,%rsi), %dil
jne 0x9b50
movb 0x1(%rsi,%r8), %dil
incq %rsi
cmpq $0x6, %rsi
jne 0x9b1e
cmpl $0x6, %eax
jne 0x9b50
movq 0x138(%rbx), %rax
movq %rax, -0x78(%rbp)
movl 0x140(%rbx), %eax
movl %eax, -0x44(%rbp)
movq -0x80(%rbp), %rdi
callq 0xd5de
testb %al, %al
leaq 0xd760(%rip), %r8       # 0x172c2
jne 0x9a74
movl -0x44(%rbp), %ecx
testl %ecx, %ecx
je 0x9bad
xorl %eax, %eax
movq %rax, 0x128(%rbx)
movl %eax, 0x130(%rbx)
movq %rax, 0x138(%rbx)
movl %eax, 0x140(%rbx)
movl %eax, 0x160(%rbx)
movq -0x78(%rbp), %rax
movq %rax, 0x150(%rbx)
movl %ecx, 0x158(%rbx)
movq $0x1, 0x148(%rbx)
testl %r14d, %r14d
je 0x9e67
cmpb $0x2f, (%r15)
jne 0x9bd6
testl %r14d, %r14d
movl $0x1, %eax
cmovlel %r14d, %eax
subl %eax, %r14d
je 0x9e67
cltq
addq %rax, %r15
xorl %ecx, %ecx
testl %r14d, %r14d
movl $0x0, %eax
cmovgl %r14d, %eax
movb $0x72, %sil
leaq 0xd6e9(%rip), %rdx      # 0x172d7
cmpq %rcx, %rax
je 0x9c16
cmpb (%r15,%rcx), %sil
jne 0x9c16
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0xa, %rcx
jne 0x9bee
cmpl $0xa, %r14d
jne 0x9c16
movb $0x1, 0xf3(%rbx)
jmp 0x9c41
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xd6c0(%rip), %rdx      # 0x172e2
cmpq %rcx, %rax
je 0x9c4e
cmpb (%r15,%rcx), %sil
jne 0x9c4e
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0x7, %rcx
jne 0x9c22
cmpl $0x7, %r14d
jne 0x9c4e
movq %rbx, %rdi
callq 0xa90e
jmp 0x9ce3
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xd610(%rip), %rdx      # 0x1726a
cmpq %rcx, %rax
je 0x9c7d
cmpb (%r15,%rcx), %sil
jne 0x9c7d
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0xa, %rcx
jne 0x9c5a
cmpl $0xa, %r14d
je 0x9dfd
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xd661(%rip), %rdx      # 0x172ea
cmpq %rcx, %rax
je 0x9cf2
cmpb (%r15,%rcx), %sil
jne 0x9cf2
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0xb, %rcx
jne 0x9c89
cmpl $0xb, %r14d
jne 0x9cf2
movq %rbx, %rdi
callq 0xb328
jmp 0x9ce3
movl $0x1, %r14d
leaq 0xd57a(%rip), %r15      # 0x17239
leaq 0x18(%rbx), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x9ec6
movq %r12, %rdi
movl %r14d, %esi
callq 0x9f3a
movl $0x0, 0xcc(%rbx)
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %r14d, %r14d
jle 0x9d03
cmpb $0x2f, (%r15)
jne 0x9d03
cmpl $0x1, %r14d
je 0x9d2e
movb $0x72, %sil
xorl %ecx, %ecx
leaq 0xd5e7(%rip), %rdx      # 0x172f6
cmpq %rcx, %rax
je 0x9d38
cmpb (%r15,%rcx), %sil
jne 0x9d38
movb 0x1(%rcx,%rdx), %sil
incq %rcx
cmpq $0x8, %rcx
jne 0x9d0f
cmpl $0x8, %r14d
jne 0x9d38
movq %rbx, %rdi
callq 0xb890
jmp 0x9ce3
movl 0xb0(%rbx), %eax
movq 0xa8(%rbx), %rcx
xorl %edx, %edx
testl %eax, %eax
movl $0x0, %esi
cmovgl %eax, %esi
movb $0x61, %r8b
leaq 0xd45a(%rip), %rdi      # 0x171b5
cmpq %rdx, %rsi
je 0x9e48
cmpb (%rcx,%rdx), %r8b
jne 0x9e48
movb 0x1(%rdx,%rdi), %r8b
incq %rdx
cmpq $0x5, %rdx
jne 0x9d5b
cmpl $0x5, %eax
sete %al
jmp 0x9e4a
movq %rbx, %rdi
movq %r13, %rsi
callq 0xabf2
jmp 0x9ce3
movb $0x1, 0xf2(%rbx)
movq 0x30(%rbx), %rdi
movq 0xb8(%rbx), %rsi
movl 0xc0(%rbx), %edx
jmp 0x9e5a
movq 0x98(%rbx), %rsi
movl 0xa0(%rbx), %edx
movq %rbx, %rdi
callq 0xb2c4
jmp 0x9ce3
testl %r12d, %r12d
jne 0x9dfd
movl 0xa0(%rbx), %eax
movq 0x98(%rbx), %rcx
testl %eax, %eax
jle 0x9df6
cmpb $0x2f, (%rcx)
sete %dl
cmpl $0x1, %eax
sete %sil
testb %sil, %dl
jne 0x9dfd
movq %rcx, -0x70(%rbp)
movl %eax, -0x68(%rbp)
leaq -0x70(%rbp), %rsi
movq %rbx, %rdi
callq 0xafd8
jmp 0x9ce3
movq 0x98(%rbx), %rsi
movl 0xa0(%rbx), %edx
movq %rbx, %rdi
callq 0xb25a
jmp 0x9ce3
addq $0x18, %rbx
leaq 0xd477(%rip), %rsi      # 0x172aa
movq %rbx, %rdi
callq 0x9ec6
movq %rbx, %rdi
movl $0xffff80a6, %esi       # imm = 0xFFFF80A6
jmp 0x9968
xorl %eax, %eax
movb %al, 0xf2(%rbx)
movq 0x30(%rbx), %rdi
movq %r15, %rsi
movl %r14d, %edx
movq %rbx, %rcx
callq 0x10ca0
jmp 0x9ce3
addq $0x18, %rbx
leaq 0xd457(%rip), %rsi      # 0x172c9
movq %rbx, %rdi
callq 0x9ec6
movq %rbx, %rdi
movl $0xffff80a7, %esi       # imm = 0xFFFF80A7
jmp 0x9968
jmp 0x9e94
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
jmp 0x9eb9
jmp 0x9e94
movq %rax, %rbx
jmp 0x9eb5
movq %rax, %rbx
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9eb5
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x8320
leaq -0x40(%rbp), %rdi
callq 0xc56a
movq %rbx, %rdi
callq 0x84a0