// File: /workspace/github_cpp_makefile_star2_O1/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 $0x58, %rsp
movq %rdi, %r12
movq $0x0, 0x8(%rdi)
leaq 0x10441(%rip), %rax     # 0x29d68
movq %rax, (%rdi)
movq %rsi, %rdi
callq 0xc9f0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rax, %r13
leaq 0x3931(%rip), %rdi      # 0x1d276
movq %rax, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x58(%rbp), %r14
callq 0x7040
movl (%rax), %ebx
movq %rax, -0x38(%rbp)
movl $0x0, (%rax)
leaq -0x60(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, (%r15)
je 0x19def
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x19dfb
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19dfb
testl %ecx, %ecx
jne 0x199bd
movq -0x38(%rbp), %rcx
movl %ebx, (%rcx)
movl %eax, 0x10(%r12)
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x199d4
callq 0x7200
leaq 0x38a1(%rip), %rdi      # 0x1d27c
movq %r13, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x58(%rbp), %r14
movq -0x38(%rbp), %rax
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, (%r15)
je 0x19e07
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
leaq -0x80000000(%rax), %rcx
cmpq %rdx, %rcx
jb 0x19e13
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19e13
testl %ecx, %ecx
jne 0x19a58
movq -0x38(%rbp), %rcx
movl %ebx, (%rcx)
cltq
movq %rax, 0x18(%r12)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19a71
callq 0x7200
leaq 0x380c(%rip), %rdi      # 0x1d284
movq %r13, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x58(%rbp), %r14
movq -0x38(%rbp), %rax
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, (%r15)
je 0x19e1f
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x19e2b
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19e2b
testl %ecx, %ecx
jne 0x19af5
movq -0x38(%rbp), %rcx
movl %ebx, (%rcx)
cltq
movq %rax, 0x20(%r12)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19b0e
callq 0x7200
leaq 0x3aad(%rip), %rdi      # 0x1d5c2
movq %r13, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x58(%rbp), %r14
movq -0x38(%rbp), %rax
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, (%r15)
je 0x19e37
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x19e43
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19e43
testl %ecx, %ecx
jne 0x19b92
movq -0x38(%rbp), %rcx
movl %ebx, (%rcx)
cltq
movq %rax, 0x28(%r12)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19bab
callq 0x7200
leaq 0x43db(%rip), %rdi      # 0x1df8d
movq %r13, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %rax, %rsi
callq 0x70e0
movq -0x58(%rbp), %r14
movq -0x38(%rbp), %rax
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, (%r15)
je 0x19e4f
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x19e5b
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19e5b
testl %ecx, %ecx
jne 0x19c2f
movq -0x38(%rbp), %rcx
movl %ebx, (%rcx)
cltq
movq %r12, -0x70(%rbp)
movq %rax, 0x30(%r12)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19c4c
callq 0x7200
leaq 0x4342(%rip), %rdi      # 0x1df95
movq %r13, -0x68(%rbp)
movq %r13, %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rax, -0x78(%rbp)
movq %rax, %rdi
callq 0x1cb5a
movl %eax, %r14d
movslq %eax, %rbx
leaq (,%rbx,8), %rdi
testl %ebx, %ebx
movq $-0x1, %rax
cmovsq %rax, %rdi
callq 0x7030
movq %rax, %r13
testl %ebx, %ebx
jle 0x19d4f
movl %r14d, %ebx
xorl %r15d, %r15d
movq -0x78(%rbp), %rdi
movl %r15d, %esi
callq 0xcfc4
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
leaq -0x58(%rbp), %rdi
movq %rax, %rsi
leaq -0x29(%rbp), %rdx
callq 0x70e0
movq -0x58(%rbp), %r14
movq -0x38(%rbp), %rax
movl (%rax), %r12d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x60(%rbp), %rsi
movl $0xa, %edx
callq 0x72f0
cmpq %r14, -0x60(%rbp)
je 0x19dd7
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x19de3
movq -0x38(%rbp), %rcx
movl (%rcx), %ecx
cmpl $0x22, %ecx
je 0x19de3
testl %ecx, %ecx
jne 0x19d2a
movq -0x38(%rbp), %rcx
movl %r12d, (%rcx)
cltq
movq %rax, (%r13,%r15,8)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19d43
callq 0x7200
incq %r15
cmpq %r15, %rbx
jne 0x19ca5
movq -0x70(%rbp), %rax
movq %r13, 0x38(%rax)
movq %rax, %r13
leaq 0x423a(%rip), %rdi      # 0x1df9b
movq -0x68(%rbp), %rsi
callq 0xcb92
movq (%rax), %rcx
movq %rax, %rdi
callq *0x30(%rcx)
movq %rax, %rbx
movq %rax, %rdi
callq 0x1cb5a
movl %eax, %r15d
movslq %eax, %r12
leaq (,%r12,8), %rdi
testl %r12d, %r12d
movq $-0x1, %rax
cmovsq %rax, %rdi
callq 0x7030
movq %rax, %r14
testl %r12d, %r12d
jle 0x19dc4
movl %r15d, %r12d
xorl %r15d, %r15d
movq %rbx, %rdi
movl %r15d, %esi
callq 0xcfc4
movq %rax, (%r14,%r15,8)
incq %r15
cmpq %r15, %r12
jne 0x19dad
movq %r14, 0x40(%r13)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3321(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x3315(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x3309(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x32fd(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x32f1(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x32e5(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x32d9(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x32cd(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x32c1(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x32b5(%rip), %rdi      # 0x1d0ff
callq 0x7310
leaq 0x32a9(%rip), %rdi      # 0x1d0ff
callq 0x7140
leaq 0x329d(%rip), %rdi      # 0x1d0ff
callq 0x7310
jmp 0x19eb3
jmp 0x19eb3
jmp 0x19eb3
jmp 0x19eb3
jmp 0x19eb3
jmp 0x19e7d
jmp 0x19eb3
jmp 0x19e7d
jmp 0x19eb3
jmp 0x19e7d
jmp 0x19eb3
movq %rax, %r14
movq -0x38(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x19ecb
movq -0x38(%rbp), %rax
movl %ebx, (%rax)
jmp 0x19ecb
jmp 0x19eb3
movq %rax, %r14
movq -0x38(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x19ea5
movq -0x38(%rbp), %rax
movl %ebx, (%rax)
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x19ed3
jmp 0x19eb3
jmp 0x19eb3
movq %rax, %r14
jmp 0x19edd
movq %rax, %r14
movq -0x38(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x19ecb
movq -0x38(%rbp), %rax
movl %r12d, (%rax)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x19edd
callq 0x7200
movq %r14, %rdi
callq 0x73b0
nop