// File: vianna274[P]dropbox/src/WrapperSocket.cpp
// Function: Dropbox::WrapperSocket::isEqual(Dropbox::_MessageData*, Dropbox::_MessageData*)
bool WrapperSocket::isEqual(MessageData * a, MessageData * b) {
  if (a->type != b->type || a->seq != b->seq || a->totalSize != b->totalSize)
    return false;
  if (a->len != b->len || a->socketSeq != b->socketSeq)
    return false;
  if (string(a->payload).compare(string(b->payload)) != 0)
    return false;
  if (string(a->username).compare(string(b->username)) != 0)
    return false;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jne 0x182e5
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jne 0x182e5
movq -0x18(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x8(%rcx), %eax
je 0x182ee
movb $0x0, -0x1(%rbp)
jmp 0x1855f
movq -0x18(%rbp), %rax
movl 0xc(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jne 0x1830e
movq -0x18(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x10(%rcx), %eax
je 0x18317
movb $0x0, -0x1(%rbp)
jmp 0x1855f
movq -0x18(%rbp), %rax
addq $0x14, %rax
movq %rax, -0xe0(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x3620
movq -0xe0(%rbp), %rsi
movq -0xd8(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0x3480
jmp 0x1834f
movq -0x20(%rbp), %rax
addq $0x14, %rax
movq %rax, -0xf0(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x3620
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x3480
jmp 0x18387
leaq -0x40(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x3050
movl %eax, -0xf4(%rbp)
jmp 0x1839c
leaq -0x78(%rbp), %rdi
callq 0x3280
leaq -0x79(%rbp), %rdi
callq 0x33e0
leaq -0x40(%rbp), %rdi
callq 0x3280
leaq -0x41(%rbp), %rdi
callq 0x33e0
movl -0xf4(%rbp), %eax
cmpl $0x0, %eax
je 0x18425
movb $0x0, -0x1(%rbp)
jmp 0x1855f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x18417
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x18405
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x3280
leaq -0x79(%rbp), %rdi
callq 0x33e0
leaq -0x40(%rbp), %rdi
callq 0x3280
leaq -0x41(%rbp), %rdi
callq 0x33e0
jmp 0x1856d
movq -0x18(%rbp), %rax
addq $0xfb4, %rax            # imm = 0xFB4
movq %rax, -0x108(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x3620
movq -0x108(%rbp), %rsi
movq -0x100(%rbp), %rdx
leaq -0xa0(%rbp), %rdi
callq 0x3480
jmp 0x18465
movq -0x20(%rbp), %rax
addq $0xfb4, %rax            # imm = 0xFB4
movq %rax, -0x118(%rbp)
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x3620
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
leaq -0xc8(%rbp), %rdi
callq 0x3480
jmp 0x184a5
leaq -0xa0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x3050
movl %eax, -0x11c(%rbp)
jmp 0x184c0
leaq -0xc8(%rbp), %rdi
callq 0x3280
leaq -0xc9(%rbp), %rdi
callq 0x33e0
leaq -0xa0(%rbp), %rdi
callq 0x3280
leaq -0xa1(%rbp), %rdi
callq 0x33e0
movl -0x11c(%rbp), %eax
cmpl $0x0, %eax
je 0x1855b
movb $0x0, -0x1(%rbp)
jmp 0x1855f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1854d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x18535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x3280
leaq -0xc9(%rbp), %rdi
callq 0x33e0
leaq -0xa0(%rbp), %rdi
callq 0x3280
leaq -0xa1(%rbp), %rdi
callq 0x33e0
jmp 0x1856d
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x3610
nopw %cs:(%rax,%rax)