// File: /workspace/github_cpp_makefile_star2_O3/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 0x3219
movl %ecx, %r15d
movl %edx, %r12d
movl %esi, %eax
leaq 0x46e3(%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 0x297a
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 0x2e46
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c87
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2e43
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2e46
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x29ae
addl $-0x3, %r13d
jmp 0x2e46
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 0x2a40
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 0x2c9c
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c78
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2c99
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2c9c
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2a74
addl $-0x3, %r13d
jmp 0x2c9c
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 0x2b06
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 0x2d71
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c7e
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2d6e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2d71
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2b3a
addl $-0x3, %r13d
jmp 0x2d71
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 0x3148
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 0x2c06
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 0x2f1b
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2c90
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2f18
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2f1b
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2c3a
addl $-0x3, %r13d
jmp 0x2f1b
addl $-0x2, %r13d
jmp 0x2c9c
addl $-0x2, %r13d
jmp 0x2d71
addl $-0x2, %r13d
jmp 0x2e46
addl $-0x2, %r13d
jmp 0x2f1b
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2cf3
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 0x2ff0
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2d65
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2fed
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x2ff0
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2d27
addl $-0x3, %r12d
jmp 0x2ff0
addl $-0x2, %r12d
jmp 0x2ff0
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2dc8
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 0x3034
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2e3a
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3031
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3034
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2dfc
addl $-0x3, %r12d
jmp 0x3034
addl $-0x2, %r12d
jmp 0x3034
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2e9d
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 0x30c2
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2f0f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x30bf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x30c2
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2ed1
addl $-0x3, %r12d
jmp 0x30c2
addl $-0x2, %r12d
jmp 0x30c2
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
leaq 0x30(%rsp), %r13
je 0x2f72
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 0x3167
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2fe4
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3164
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3167
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x2fa6
addl $-0x3, %r12d
jmp 0x3167
addl $-0x2, %r12d
jmp 0x3167
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
jmp 0x31a3
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x3086
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 0x43fc
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
jmp 0x3148
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x3114
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 0x43fc
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x31d7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
jmp 0x31d7
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 0x5ce1
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2080
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x31b9
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 0x31f6
movq %rcx, (%rbx)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rbx)
jmp 0x31fe
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 0x432b(%rip), %rdi      # 0x7552
callq 0x2160
jmp 0x3283
jmp 0x325e
jmp 0x325e
jmp 0x3283
jmp 0x3283
jmp 0x325e
jmp 0x325e
jmp 0x325e
jmp 0x325e
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x325e
jmp 0x325e
jmp 0x325e
jmp 0x325e
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x325e
jmp 0x325e
jmp 0x325e
jmp 0x325e
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x3286
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2200
jmp 0x3286
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x3283
jmp 0x3283
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x32a2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2200
movq %rbx, %rdi
callq 0x22e0