// File: tonymuu[P]distributed-kv-store/MP2Node.cpp
// Function: MP2Node::stabilizationProtocol()
void MP2Node::stabilizationProtocol() {
    for (auto pair : ht->hashTable) {
        auto nodes = findNodes(pair.first);
        for (auto node : nodes) {
            Message msg(-1, memberNode->addr, CREATE, pair.first, pair.second);
            sendMessage(*node.getAddress(), msg);
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x228(%rbp)
movq 0x48(%rax), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14ef0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14f50
movq %rax, -0x20(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x14f20
testb $0x1, %al
jne 0x1e1b6
jmp 0x1e4ae
leaq -0x18(%rbp), %rdi
callq 0x15c70
movq %rax, %rsi
leaq -0x60(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x22120
movq -0x230(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x4160
jmp 0x1e1e7
movq -0x228(%rbp), %rsi
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rdx
callq 0x1f030
jmp 0x1e200
leaq -0x98(%rbp), %rdi
callq 0x4200
leaq -0x78(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x21a80
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x21ab0
movq %rax, -0xc0(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x22180
testb $0x1, %al
jne 0x1e259
jmp 0x1e47a
leaq -0xb8(%rbp), %rdi
callq 0x221c0
movq %rax, %rsi
leaq -0xe0(%rbp), %rdi
callq 0x26240
jmp 0x1e276
movq -0x228(%rbp), %rax
movq 0x50(%rax), %rsi
addq $0x8, %rsi
leaq -0x15e(%rbp), %rdi
callq 0x18e40
jmp 0x1e293
leaq -0x180(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x4160
jmp 0x1e2a5
leaq -0x40(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x4160
jmp 0x1e2b7
leaq -0x158(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq -0x15e(%rbp), %rdx
xorl %ecx, %ecx
leaq -0x180(%rbp), %r8
leaq -0x1a0(%rbp), %r9
callq 0x2a650
jmp 0x1e2e1
leaq -0x1a0(%rbp), %rdi
callq 0x4200
leaq -0x180(%rbp), %rdi
callq 0x4200
leaq -0xe0(%rbp), %rdi
callq 0x26330
movq %rax, -0x238(%rbp)
jmp 0x1e30e
movq -0x238(%rbp), %rsi
leaq -0x1a6(%rbp), %rdi
callq 0x18e40
jmp 0x1e323
leaq -0x220(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x2a530
jmp 0x1e338
movq -0x228(%rbp), %rdi
leaq -0x1a6(%rbp), %rsi
leaq -0x220(%rbp), %rdx
callq 0x1f440
jmp 0x1e354
leaq -0x220(%rbp), %rdi
callq 0x21f90
leaq -0x158(%rbp), %rdi
callq 0x21f90
leaq -0xe0(%rbp), %rdi
callq 0x26200
leaq -0xb8(%rbp), %rdi
callq 0x221e0
jmp 0x1e23d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x1e4a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x4200
jmp 0x1e4a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x1e49a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x1e46c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x1e420
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x4200
leaq -0x180(%rbp), %rdi
callq 0x4200
jmp 0x1e46c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x1e460
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x21f90
leaq -0x158(%rbp), %rdi
callq 0x21f90
leaq -0xe0(%rbp), %rdi
callq 0x26200
jmp 0x1e49a
leaq -0x78(%rbp), %rdi
callq 0x15080
leaq -0x60(%rbp), %rdi
callq 0x15600
leaq -0x18(%rbp), %rdi
callq 0x14fa0
jmp 0x1e1a0
leaq -0x78(%rbp), %rdi
callq 0x15080
leaq -0x60(%rbp), %rdi
callq 0x15600
jmp 0x1e4b7
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x45b0
nopw %cs:(%rax,%rax)