// File: 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
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x9b00
movq -0x168(%rbp), %rax
leaq 0x14707(%rip), %rcx     # 0x3bd48
movq %rcx, (%rax)
movq -0x10(%rbp), %rdi
callq 0x12b70
movq %rax, -0x160(%rbp)
jmp 0x27656
movq -0x160(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x170(%rbp)
jmp 0x2766f
movq -0x170(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x4c76(%rip), %rdi      # 0x2c2fb
callq 0x12db0
movq %rax, -0x178(%rbp)
jmp 0x27693
movq -0x178(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x180(%rbp)
jmp 0x276ac
leaq -0x49(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x8410
movq -0x180(%rbp), %rsi
movq -0x188(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x8310
jmp 0x276d5
xorl %eax, %eax
movl %eax, %esi
leaq -0x48(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x18c(%rbp)
jmp 0x276ef
movq -0x168(%rbp), %rax
movl -0x18c(%rbp), %ecx
movl %ecx, 0x10(%rax)
leaq -0x48(%rbp), %rdi
callq 0x8190
leaq -0x49(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rsi
leaq 0x4be5(%rip), %rdi      # 0x2c301
callq 0x12db0
movq %rax, -0x198(%rbp)
jmp 0x2772a
movq -0x198(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x1a0(%rbp)
jmp 0x27743
leaq -0x71(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x8410
movq -0x1a0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
leaq -0x70(%rbp), %rdi
callq 0x8310
jmp 0x2776c
xorl %eax, %eax
movl %eax, %esi
leaq -0x70(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x1ac(%rbp)
jmp 0x27786
movq -0x168(%rbp), %rax
movl -0x1ac(%rbp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x18(%rax)
leaq -0x70(%rbp), %rdi
callq 0x8190
leaq -0x71(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rsi
leaq 0x4b52(%rip), %rdi      # 0x2c309
callq 0x12db0
movq %rax, -0x1b8(%rbp)
jmp 0x277c5
movq -0x1b8(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x1c0(%rbp)
jmp 0x277de
leaq -0x99(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x8410
movq -0x1c0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
leaq -0x98(%rbp), %rdi
callq 0x8310
jmp 0x2780d
xorl %eax, %eax
movl %eax, %esi
leaq -0x98(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x1cc(%rbp)
jmp 0x2782a
movq -0x168(%rbp), %rax
movl -0x1cc(%rbp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x20(%rax)
leaq -0x98(%rbp), %rdi
callq 0x8190
leaq -0x99(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rsi
leaq 0x4deb(%rip), %rdi      # 0x2c64c
callq 0x12db0
movq %rax, -0x1d8(%rbp)
jmp 0x2786f
movq -0x1d8(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x1e0(%rbp)
jmp 0x27888
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x8410
movq -0x1e0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
leaq -0xc0(%rbp), %rdi
callq 0x8310
jmp 0x278b7
xorl %eax, %eax
movl %eax, %esi
leaq -0xc0(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x1ec(%rbp)
jmp 0x278d4
movq -0x168(%rbp), %rax
movl -0x1ec(%rbp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x28(%rax)
leaq -0xc0(%rbp), %rdi
callq 0x8190
leaq -0xc1(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rsi
leaq 0x570a(%rip), %rdi      # 0x2d015
callq 0x12db0
movq %rax, -0x1f8(%rbp)
jmp 0x27919
movq -0x1f8(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x200(%rbp)
jmp 0x27932
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x8410
movq -0x200(%rbp), %rsi
movq -0x208(%rbp), %rdx
leaq -0xe8(%rbp), %rdi
callq 0x8310
jmp 0x27961
xorl %eax, %eax
movl %eax, %esi
leaq -0xe8(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x20c(%rbp)
jmp 0x2797e
movq -0x168(%rbp), %rax
movl -0x20c(%rbp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x30(%rax)
leaq -0xe8(%rbp), %rdi
callq 0x8190
leaq -0xe9(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rsi
leaq 0x5668(%rip), %rdi      # 0x2d01d
callq 0x12db0
movq %rax, -0x218(%rbp)
jmp 0x279c3
movq -0x218(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x220(%rbp)
jmp 0x279dc
movq -0x220(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x2bb60
movl %eax, -0x224(%rbp)
jmp 0x279fe
movl -0x224(%rbp), %eax
movl %eax, -0xfc(%rbp)
movslq -0xfc(%rbp), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x8030
movq %rax, -0x230(%rbp)
jmp 0x27a35
movq -0x230(%rbp), %rax
movq %rax, -0x108(%rbp)
movl $0x0, -0x10c(%rbp)
movl -0x10c(%rbp), %eax
cmpl -0xfc(%rbp), %eax
jge 0x27c75
movq -0xf8(%rbp), %rdi
movl -0x10c(%rbp), %esi
callq 0x13440
movq %rax, -0x238(%rbp)
jmp 0x27a7a
movq -0x238(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x240(%rbp)
jmp 0x27a93
leaq -0x131(%rbp), %rdi
movq %rdi, -0x248(%rbp)
callq 0x8410
movq -0x240(%rbp), %rsi
movq -0x248(%rbp), %rdx
leaq -0x130(%rbp), %rdi
callq 0x8310
jmp 0x27ac2
xorl %eax, %eax
movl %eax, %esi
leaq -0x130(%rbp), %rdi
movl $0xa, %edx
callq 0x89a0
movl %eax, -0x24c(%rbp)
jmp 0x27adf
movl -0x24c(%rbp), %eax
movslq %eax, %rdx
movq -0x108(%rbp), %rax
movslq -0x10c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
leaq -0x130(%rbp), %rdi
callq 0x8190
leaq -0x131(%rbp), %rdi
callq 0x82d0
movl -0x10c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10c(%rbp)
jmp 0x27a4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27b5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x8190
leaq -0x49(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27b8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x8190
leaq -0x71(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27bbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x8190
leaq -0x99(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27bf6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x8190
leaq -0xc1(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27c2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x8190
leaq -0xe9(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x27c64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x8190
leaq -0x131(%rbp), %rdi
callq 0x82d0
jmp 0x27d98
movq -0x168(%rbp), %rax
movq -0x108(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x18(%rbp), %rsi
leaq 0x5391(%rip), %rdi      # 0x2d023
callq 0x12db0
movq %rax, -0x258(%rbp)
jmp 0x27ca0
movq -0x258(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x260(%rbp)
jmp 0x27cb9
movq -0x260(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
callq 0x2bb60
movl %eax, -0x264(%rbp)
jmp 0x27cdb
movl -0x264(%rbp), %eax
movl %eax, -0x144(%rbp)
movslq -0x144(%rbp), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x8030
movq %rax, -0x270(%rbp)
jmp 0x27d12
movq -0x270(%rbp), %rax
movq %rax, -0x150(%rbp)
movl $0x0, -0x154(%rbp)
movl -0x154(%rbp), %eax
cmpl -0x144(%rbp), %eax
jge 0x27d7d
movq -0x140(%rbp), %rdi
movl -0x154(%rbp), %esi
callq 0x13440
movq %rax, -0x278(%rbp)
jmp 0x27d53
movq -0x278(%rbp), %rdx
movq -0x150(%rbp), %rax
movslq -0x154(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x154(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x154(%rbp)
jmp 0x27d2a
movq -0x168(%rbp), %rax
movq -0x150(%rbp), %rcx
movq %rcx, 0x40(%rax)
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq -0x168(%rbp), %rdi
callq 0x9cb0
movq -0x20(%rbp), %rdi
callq 0x8400
nopl (%rax)