// File: /workspace/github_cpp_makefile_star2_O1/SaadBazaz[P]RIP-Protocol-Simulation/./RIPv0.h
// Function: constructNewMessage[abi:cxx11](short, int, int, void*)
string constructNewMessage (short cmd, int src, int dest, void* data){
    string message;
    switch (cmd)
    {
    case ADD:{
        message += to_string(ADD);
        message += '&';
        message += to_string(src);        
        message += '&';
        message += to_string(dest);        
        message += '&';        
        TableRow* table_row_data = static_cast<TableRow *> (data);
        message += table_row_data->toString();
        break;
        }
    case TABLE:{
        message += to_string(TABLE);
        message += '&';
        message += to_string(src);        
        message += '&';
        message += to_string(dest);        
        message += '&';
        message += (  static_cast<char*> (data) );
        break;    
        }
    case UPDATE:{
        message += to_string(UPDATE);
        message += '&';
        message += to_string(src);        
        message += '&';
        message += to_string(dest);        
        message += '&';        
        TableRow* table_row_data = static_cast<TableRow *> (data);
        message += table_row_data->toString();
        break;
        }
    case DELETE:{
        message += to_string(DELETE);
        break;
        }
    case MESSAGE:{
        message += to_string(MESSAGE);
        message += '&';
        message += to_string(src);        
        message += '&';
        message += to_string(dest);        
        message += '&';   
        message += (  static_cast<char*> (data) );
        break;
        }
    default:{
        return NULL;
        break;
        }
    }
    return message;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
cmpl $0x4, %esi
ja 0x3212
movl %ecx, %r15d
movl %edx, %r12d
movl %esi, %eax
leaq 0x46ea(%rip), %rcx      # 0x7004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r8, 0x40(%rsp)
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsp, %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0x2240
movq (%rsp), %rax
movb $0x30, (%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x2973
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r13d
cmpl $0xa, %ebp
jb 0x2e3f
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c80
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2e3c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2e3f
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x29a7
addl $-0x3, %r13d
jmp 0x2e3f
movq %r8, 0x40(%rsp)
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsp, %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0x2240
movq (%rsp), %rax
movb $0x34, (%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x2a39
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r13d
cmpl $0xa, %ebp
jb 0x2c95
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c71
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2c92
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2c95
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2a6d
addl $-0x3, %r13d
jmp 0x2c95
movq %r8, 0x40(%rsp)
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsp, %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0x2240
movq (%rsp), %rax
movb $0x32, (%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x2aff
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r13d
cmpl $0xa, %ebp
jb 0x2d6a
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c77
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2d67
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2d6a
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2b33
addl $-0x3, %r13d
jmp 0x2d6a
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsp, %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0x2240
movq (%rsp), %rax
movb $0x33, (%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
jmp 0x3141
movq %r8, 0x40(%rsp)
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsp, %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0x2240
movq (%rsp), %rax
movb $0x31, (%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x2bff
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r13d
cmpl $0xa, %ebp
jb 0x2f14
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c89
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2f11
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2f14
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2c33
addl $-0x3, %r13d
jmp 0x2f14
addl $-0x2, %r13d
jmp 0x2c95
addl $-0x2, %r13d
jmp 0x2d6a
addl $-0x2, %r13d
jmp 0x2e3f
addl $-0x2, %r13d
jmp 0x2f14
decl %r13d
shrl $0x1f, %r12d
leal (%r12,%r13), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r12d, %edi
addq (%rsp), %rdi
movl %r13d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2cec
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x2fe9
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2d5e
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2fe6
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2fe9
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2d20
addl $-0x3, %r12d
jmp 0x2fe9
addl $-0x2, %r12d
jmp 0x2fe9
decl %r13d
shrl $0x1f, %r12d
leal (%r12,%r13), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r12d, %edi
addq (%rsp), %rdi
movl %r13d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2dc1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x302d
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2e33
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x302a
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x302d
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2df5
addl $-0x3, %r12d
jmp 0x302d
addl $-0x2, %r12d
jmp 0x302d
decl %r13d
shrl $0x1f, %r12d
leal (%r12,%r13), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r12d, %edi
addq (%rsp), %rdi
movl %r13d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2e96
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x30bb
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2f08
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x30b8
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x30bb
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2eca
addl $-0x3, %r12d
jmp 0x30bb
addl $-0x2, %r12d
jmp 0x30bb
decl %r13d
shrl $0x1f, %r12d
leal (%r12,%r13), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r12d, %edi
addq (%rsp), %rdi
movl %r13d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2f6b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x3160
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2fdd
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x315d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3160
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2f9f
addl $-0x3, %r12d
jmp 0x3160
addl $-0x2, %r12d
jmp 0x3160
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r15d, %edi
addq (%rsp), %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
jmp 0x319c
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r15d, %edi
addq (%rsp), %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x307f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x2c, %edx
callq 0x43a2
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
jmp 0x3141
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r15d, %edi
addq (%rsp), %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x310d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
movl $0x2c, %edx
callq 0x43a2
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x31d0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
jmp 0x31d0
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rsp, %rdi
movq %r14, (%rdi)
movl $0x2d, %edx
callq 0x2240
movl %r15d, %edi
addq (%rsp), %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x5c6b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x31b2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
leaq 0x20(%rsp), %rdi
movl $0x26, %esi
callq 0x21b0
leaq 0x20(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x2320
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movq 0x20(%rsp), %rcx
cmpq %r13, %rcx
je 0x31ef
movq %rcx, (%rbx)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rbx)
jmp 0x31f7
movups (%r13), %xmm0
movups %xmm0, (%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rbx)
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x4332(%rip), %rdi      # 0x7552
callq 0x2160
jmp 0x327c
jmp 0x3257
jmp 0x3257
jmp 0x327c
jmp 0x327c
jmp 0x3257
jmp 0x3257
jmp 0x3257
jmp 0x3257
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x3257
jmp 0x3257
jmp 0x3257
jmp 0x3257
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x3257
jmp 0x3257
jmp 0x3257
jmp 0x3257
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x327f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
jmp 0x327f
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x327c
jmp 0x327c
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x329b
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2200
movq %rbx, %rdi
callq 0x22e0