// File: dguglielmi[P]dlan-linux-software/common/macaddress.cpp
// Function: CMACAddress::ToString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
std::string CMACAddress::ToString(const std::string& strSeparator) const
{
  std::ostringstream ostr;

  ostr 
    << pHexDigits[(m_addr[0] & 0xF0) >> 4] << pHexDigits[m_addr[0] & 0x0F] << strSeparator
    << pHexDigits[(m_addr[1] & 0xF0) >> 4] << pHexDigits[m_addr[1] & 0x0F] << strSeparator
    << pHexDigits[(m_addr[2] & 0xF0) >> 4] << pHexDigits[m_addr[2] & 0x0F] << strSeparator
    << pHexDigits[(m_addr[3] & 0xF0) >> 4] << pHexDigits[m_addr[3] & 0x0F] << strSeparator
    << pHexDigits[(m_addr[4] & 0xF0) >> 4] << pHexDigits[m_addr[4] & 0x0F] << strSeparator
    << pHexDigits[(m_addr[5] & 0xF0) >> 4] << pHexDigits[m_addr[5] & 0x0F];

  return ostr.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x1c8(%rbp)
movq %rdi, %rax
movq %rax, -0x1c0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0x190(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x5430
movq -0x1b8(%rbp), %rcx
movq -0x1b0(%rbp), %rdi
movq 0x1dd4d(%rip), %rax     # 0x50308
movzbl (%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x1a8(%rbp)
jmp 0x325d3
movq -0x1a8(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dd20(%rip), %rax     # 0x50308
movzbl (%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x1d0(%rbp)
jmp 0x32600
movq -0x1d0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq %rax, -0x1d8(%rbp)
jmp 0x32619
movq -0x1d8(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dcda(%rip), %rax     # 0x50308
movzbl 0x1(%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x1e0(%rbp)
jmp 0x32647
movq -0x1e0(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dcac(%rip), %rax     # 0x50308
movzbl 0x1(%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x1e8(%rbp)
jmp 0x32675
movq -0x1e8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq %rax, -0x1f0(%rbp)
jmp 0x3268e
movq -0x1f0(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dc65(%rip), %rax     # 0x50308
movzbl 0x2(%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x1f8(%rbp)
jmp 0x326bc
movq -0x1f8(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dc37(%rip), %rax     # 0x50308
movzbl 0x2(%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x200(%rbp)
jmp 0x326ea
movq -0x200(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq %rax, -0x208(%rbp)
jmp 0x32703
movq -0x208(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dbf0(%rip), %rax     # 0x50308
movzbl 0x3(%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x210(%rbp)
jmp 0x32731
movq -0x210(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dbc2(%rip), %rax     # 0x50308
movzbl 0x3(%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x218(%rbp)
jmp 0x3275f
movq -0x218(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq %rax, -0x220(%rbp)
jmp 0x32778
movq -0x220(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1db7b(%rip), %rax     # 0x50308
movzbl 0x4(%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x228(%rbp)
jmp 0x327a6
movq -0x228(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1db4d(%rip), %rax     # 0x50308
movzbl 0x4(%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x230(%rbp)
jmp 0x327d4
movq -0x230(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq %rax, -0x238(%rbp)
jmp 0x327ed
movq -0x238(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1db06(%rip), %rax     # 0x50308
movzbl 0x5(%rcx), %ecx
shrl $0x4, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
movq %rax, -0x240(%rbp)
jmp 0x3281b
movq -0x240(%rbp), %rdi
movq -0x1b8(%rbp), %rcx
movq 0x1dad8(%rip), %rax     # 0x50308
movzbl 0x5(%rcx), %ecx
andl $0xf, %ecx
movsbl (%rax,%rcx), %esi
callq 0x53d0
jmp 0x32842
movq -0x1c8(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x5340
jmp 0x32857
leaq -0x190(%rbp), %rdi
callq 0x50f0
movq -0x1c0(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x50f0
movq -0x198(%rbp), %rdi
callq 0x5530
nopl (%rax)