// File: /workspace/github_cpp_makefile_star2_O3/yasz24[P]eau2/src/network/../serialize/../utils/distributedArray.h
// Function: BoolDistributedArray::BoolDistributedArray(char*, KVStore*)
BoolDistributedArray(char* serialized, KVStore* kv) {
        Deserializable* ds = new Deserializable();
        char* payload = JSONHelper::getPayloadValue(serialized)->c_str();
        //std::cout<<payload<<"\n";
        this->chunkSize_ = std::stoi(JSONHelper::getValueFromKey("chunkSize_", payload)->c_str());
        this->totalNodes_ = std::stoi(JSONHelper::getValueFromKey("totalNodes_", payload)->c_str());
        this->curNode_ = std::stoi(JSONHelper::getValueFromKey("curNode_", payload)->c_str());
        this->uid_ = std::stoi(JSONHelper::getValueFromKey("uid_", payload)->c_str());
        this->itemCount_ = std::stoi(JSONHelper::getValueFromKey("itemCount_", payload)->c_str());
        this->chunkCount_ = std::stoi(JSONHelper::getValueFromKey("chunkCount_", payload)->c_str());
        this->keys_ = new Array(JSONHelper::getValueFromKey("keys_", payload)->c_str());
        this->kv_ = kv;
        //this->kv_ = new KVStore(JSONHelper::getValueFromKey("kv_", payload)->c_str());
        this->chunkArray_ = new BoolArray(JSONHelper::getValueFromKey("chunkArray_", payload)->c_str());
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %rbx
movq %rdi, %r14
movq $0x0, 0x8(%rdi)
leaq 0xd8ae(%rip), %rax      # 0x28578
movq %rax, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rdi)
movq $0x32, 0x30(%rdi)
movq $0x400, 0x48(%rdi)      # imm = 0x400
movq %rsi, %rdi
callq 0xc82c
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq 0x28ca(%rip), %rdi      # 0x1d5c6
movq %rax, -0x58(%rbp)
movq %rax, %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rbx, -0x68(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r13
callq 0x7040
movq %rax, %rbx
movl (%rax), %r12d
movl $0x0, (%rax)
leaq -0x60(%rbp), %r15
movq %r13, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r13, (%r15)
je 0x1b0ea
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x1b0f6
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b0f6
testl %ecx, %ecx
jne 0x1ad75
movl %r12d, (%rbx)
movq %rax, 0x48(%r14)
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1ad8b
callq 0x7200
leaq 0x2854(%rip), %rdi      # 0x1d5e6
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r15
movl (%rbx), %r12d
movl $0x0, (%rbx)
leaq -0x60(%rbp), %r13
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r15, (%r13)
je 0x1b102
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
leaq -0x80000000(%rax), %rcx
cmpq %rdx, %rcx
jb 0x1b10e
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b10e
testl %ecx, %ecx
jne 0x1ae0b
movl %r12d, (%rbx)
movq %rax, 0x68(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x1ae21
callq 0x7200
leaq 0x27b5(%rip), %rdi      # 0x1d5dd
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r15
movl (%rbx), %r12d
movl $0x0, (%rbx)
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r15, (%r13)
je 0x1b11a
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x1b126
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b126
testl %ecx, %ecx
jne 0x1ae9d
movl %r12d, (%rbx)
movq %rax, 0x60(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x1aeb3
callq 0x7200
leaq 0x2707(%rip), %rdi      # 0x1d5c1
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r15
movl (%rbx), %r12d
movl $0x0, (%rbx)
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r15, (%r13)
je 0x1b132
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x1b13e
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b13e
testl %ecx, %ecx
jne 0x1af2f
movl %r12d, (%rbx)
movq %rax, 0x40(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x1af45
callq 0x7200
leaq 0x25ba(%rip), %rdi      # 0x1d506
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r15
movl (%rbx), %r12d
movl $0x0, (%rbx)
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r15, (%r13)
je 0x1b14a
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x1b156
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b156
testl %ecx, %ecx
jne 0x1afc1
movl %r12d, (%rbx)
movq %rax, 0x58(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x1afd7
callq 0x7200
leaq 0x25f3(%rip), %rdi      # 0x1d5d1
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x50(%rbp), %r15
movl (%rbx), %r12d
movl $0x0, (%rbx)
movq %r15, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r15, (%r13)
je 0x1b162
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x1b16e
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x1b16e
testl %ecx, %ecx
jne 0x1b053
movl %r12d, (%rbx)
movq %rax, 0x50(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x1b069
callq 0x7200
movl $0x28, %edi
callq 0x7230
movq %rax, %rbx
leaq 0x2575(%rip), %rdi      # 0x1d5f2
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x16692
movq %rbx, 0x38(%r14)
movq -0x68(%rbp), %rax
movq %rax, 0x10(%r14)
movl $0x28, %edi
callq 0x7230
movq %rax, %rbx
leaq 0x253e(%rip), %rdi      # 0x1d5f8
movq -0x58(%rbp), %rsi
callq 0xc9a6
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x11484
movq %rbx, 0x18(%r14)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x200e(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x2002(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x1ff6(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x1fea(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x1fde(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x1fd2(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x1fc6(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x1fba(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x1fae(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x1fa2(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x1f96(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x1f8a(%rip), %rdi      # 0x1d0ff
callq 0x7310
jmp 0x1b1c7
jmp 0x1b1c7
jmp 0x1b1c7
jmp 0x1b1c7
jmp 0x1b1c7
jmp 0x1b1c7
jmp 0x1b196
jmp 0x1b1c7
jmp 0x1b196
jmp 0x1b1c7
jmp 0x1b196
jmp 0x1b1c7
jmp 0x1b196
jmp 0x1b1c7
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x1b1a1
movl %r12d, (%rbx)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
jne 0x1b1d4
jmp 0x1b1d9
jmp 0x1b1c7
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x1b1bd
movl %r12d, (%rbx)
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x1b1a9
movq %rax, %r14
jmp 0x1b1d9
jmp 0x1b1ce
movq %rax, %r14
movq %rbx, %rdi
callq 0x7200
movq %r14, %rdi
callq 0x73b0
nop