// File: /workspace/github_cpp_makefile_star2_O2/yasz24[P]eau2/src/network/../serialize/../network/network.h
// Function: Directory::Directory(char*)
Directory(char* s) {
        char* payload = JSONHelper::getPayloadValue(s)->c_str();
        kind_ = (enum MsgKind)std::stoi(JSONHelper::getValueFromKey("kind_", payload)->c_str());
        sender_ = std::stoi(JSONHelper::getValueFromKey("sender_", payload)->c_str());
        target_ = std::stoi(JSONHelper::getValueFromKey("target_", payload)->c_str());
        id_ = std::stoi(JSONHelper::getValueFromKey("id_", payload)->c_str());
        clients = std::stoi(JSONHelper::getValueFromKey("clients", payload)->c_str());
        char* portsVals = JSONHelper::getValueFromKey("ports", payload)->c_str();
        int numPorts = JSONHelper::arrayLen(portsVals);
        size_t* tmp = new size_t[numPorts];
        for(int i = 0; i < numPorts; i++) {
            tmp[i] = std::stoi(JSONHelper::getArrayValueAt(portsVals, i)->c_str());
        }
        ports = tmp;
        char* addressesVals = JSONHelper::getValueFromKey("addresses", payload)->c_str();
        int numAddresses = JSONHelper::arrayLen(addressesVals);
        String** addresses_tmp = new String*[numAddresses];
        for(int i = 0; i < numAddresses; i++) {
            addresses_tmp[i] = JSONHelper::getArrayValueAt(addressesVals, i);
        }
        addresses = addresses_tmp;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %rdi
leaq 0xef0f(%rip), %rax      # 0x24d50
movq %rax, (%rbx)
callq 0xc014
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq 0x241d(%rip), %rdi      # 0x18276
movq %rax, -0x38(%rbp)
movq %rax, %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70f0
leaq -0x58(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x771e
movl %eax, 0x10(%rbx)
leaq -0x58(%rbp), %rdi
callq 0x7120
leaq 0x23dd(%rip), %rdi      # 0x1827c
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70f0
leaq -0x58(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x771e
cltq
movq %rax, 0x18(%rbx)
leaq -0x58(%rbp), %rdi
callq 0x7120
leaq 0x239f(%rip), %rdi      # 0x18284
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70f0
leaq -0x58(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x771e
cltq
movq %rax, 0x20(%rbx)
leaq -0x58(%rbp), %rdi
callq 0x7120
leaq 0x269c(%rip), %rdi      # 0x185c7
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70f0
leaq -0x58(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x771e
cltq
movq %rax, 0x28(%rbx)
leaq -0x58(%rbp), %rdi
callq 0x7120
leaq 0x301c(%rip), %rdi      # 0x18f8d
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70f0
xorl %r15d, %r15d
leaq -0x58(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x771e
cltq
movq %rbx, -0x60(%rbp)
movq %rax, 0x30(%rbx)
leaq -0x58(%rbp), %r12
movq %r12, %rdi
callq 0x7120
leaq 0x2fd4(%rip), %rdi      # 0x18f95
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rax, %r13
movq %rax, %rdi
callq 0x17a5e
movl %eax, %r14d
movl %eax, %edi
shlq $0x3, %rdi
testl %eax, %eax
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
cmovlel %r15d, %r14d
callq 0x7030
movq %rax, %rbx
cmpq %r15, %r14
je 0x16044
movq %r13, %rdi
movl %r15d, %esi
callq 0xc4c8
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %r12, %rdi
movq %rax, %rsi
leaq -0x29(%rbp), %rdx
callq 0x70f0
movq %r12, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x771e
cltq
movq %rax, (%rbx,%r15,8)
movq %r12, %rdi
callq 0x7120
incq %r15
jmp 0x15ffc
movq -0x60(%rbp), %rax
movq %rbx, 0x38(%rax)
leaq 0x2f48(%rip), %rdi      # 0x18f9b
movq -0x38(%rbp), %rsi
callq 0xc140
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rax, %rbx
movq %rax, %rdi
callq 0x17a5e
movl %eax, %r14d
movl %eax, %edi
shlq $0x3, %rdi
xorl %r15d, %r15d
testl %eax, %eax
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
cmovlel %r15d, %r14d
callq 0x7030
movq %rax, %r12
cmpq %r15, %r14
je 0x160aa
movq %rbx, %rdi
movl %r15d, %esi
callq 0xc4c8
movq %rax, (%r12,%r15,8)
incq %r15
jmp 0x16091
movq -0x60(%rbp), %rax
movq %r12, 0x40(%rax)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x160e1
jmp 0x160ef
jmp 0x160e1
jmp 0x160ef
jmp 0x160e1
jmp 0x160ef
jmp 0x160e1
jmp 0x160ef
jmp 0x160e1
jmp 0x160ef
jmp 0x160ef
jmp 0x160ef
jmp 0x160ef
jmp 0x160ef
jmp 0x160ef
jmp 0x160ef
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x7120
jmp 0x160f2
movq %rax, %rbx
movq %rbx, %rdi
callq 0x7390