00000000004122f0 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)>:
M0000000000000000: pushq %r15 ; 2 bytes
M0000000000000002: pushq %r14 ; 2 bytes
M0000000000000004: pushq %r12 ; 2 bytes
M0000000000000006: pushq %rbx ; 1 bytes
M0000000000000007: pushq %rax ; 1 bytes
M0000000000000008: movl %esi, %ebx ; 2 bytes
M000000000000000a: movq %rdi, %r14 ; 3 bytes
M000000000000000d: movq 32(%rdi), %r12 ; 4 bytes
M0000000000000011: testl %esi, %esi ; 2 bytes
M0000000000000013: js 0x4123c2 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xd2> ; 6 bytes
M0000000000000019: cmpq $23, %r12 ; 4 bytes
M000000000000001d: jne 0x412314 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x24> ; 2 bytes
M000000000000001f: movq %r14, %r15 ; 3 bytes
M0000000000000022: jmp 0x412317 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x27> ; 2 bytes
M0000000000000024: movq (%r14), %r15 ; 3 bytes
M0000000000000027: movq %r15, %rdi ; 3 bytes
M000000000000002a: callq 0x404a70 <strlen@plt> ; 5 bytes
M000000000000002f: movl %eax, %edx ; 2 bytes
M0000000000000031: movl %eax, %ecx ; 2 bytes
M0000000000000033: sarl $31, %ecx ; 3 bytes
M0000000000000036: andl %eax, %ecx ; 2 bytes
M0000000000000038: leaq -1(%rdx,%r15), %rdx ; 5 bytes
M000000000000003d: nopl (%rax) ; 3 bytes
M0000000000000040: testl %eax, %eax ; 2 bytes
M0000000000000042: jle 0x412343 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x53> ; 2 bytes
M0000000000000044: decl %eax ; 2 bytes
M0000000000000046: cmpb $47, (%rdx) ; 3 bytes
M0000000000000049: leaq -1(%rdx), %rdx ; 4 bytes
M000000000000004d: je 0x412330 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x40> ; 2 bytes
M000000000000004f: incl %eax ; 2 bytes
M0000000000000051: movl %eax, %ecx ; 2 bytes
M0000000000000053: movl $4294967295, %eax ; 5 bytes
M0000000000000058: cmpl %ecx, %ebx ; 2 bytes
M000000000000005a: jge 0x4123b6 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xc6> ; 2 bytes
M000000000000005c: movq %r14, %r15 ; 3 bytes
M000000000000005f: cmpq $23, %r12 ; 4 bytes
M0000000000000063: je 0x412358 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x68> ; 2 bytes
M0000000000000065: movq (%r14), %r15 ; 3 bytes
M0000000000000068: movl 24(%r14), %eax ; 4 bytes
M000000000000006c: testl %eax, %eax ; 2 bytes
M000000000000006e: jns 0x412368 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x78> ; 2 bytes
M0000000000000070: movq %r15, %rdi ; 3 bytes
M0000000000000073: callq 0x404a70 <strlen@plt> ; 5 bytes
M0000000000000078: movl %eax, %ecx ; 2 bytes
M000000000000007a: sarl $31, %ecx ; 3 bytes
M000000000000007d: andl %eax, %ecx ; 2 bytes
M000000000000007f: nop ; 1 bytes
M0000000000000080: testl %eax, %eax ; 2 bytes
M0000000000000082: jle 0x412381 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x91> ; 2 bytes
M0000000000000084: decl %eax ; 2 bytes
M0000000000000086: cmpb $47, (%r15,%rax) ; 5 bytes
M000000000000008b: je 0x412370 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x80> ; 2 bytes
M000000000000008d: incl %eax ; 2 bytes
M000000000000008f: movl %eax, %ecx ; 2 bytes
M0000000000000091: movslq %ecx, %rcx ; 3 bytes
M0000000000000094: movslq %ebx, %rax ; 3 bytes
M0000000000000097: addq %r15, %rax ; 3 bytes
M000000000000009a: decq %rcx ; 3 bytes
M000000000000009d: nopl (%rax) ; 3 bytes
M00000000000000a0: movq %rcx, %rsi ; 3 bytes
M00000000000000a3: leaq (%r15,%rcx), %rdx ; 4 bytes
M00000000000000a7: cmpq %rax, %rdx ; 3 bytes
M00000000000000aa: jbe 0x4123a5 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xb5> ; 2 bytes
M00000000000000ac: leaq -1(%rsi), %rcx ; 4 bytes
M00000000000000b0: cmpb $47, (%rdx) ; 3 bytes
M00000000000000b3: jne 0x412390 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xa0> ; 2 bytes
M00000000000000b5: movq %r14, %rdi ; 3 bytes
M00000000000000b8: movq $-1, %rdx ; 7 bytes
M00000000000000bf: callq 0x41c2f0 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::erase(unsigned long, unsigned long)> ; 5 bytes
M00000000000000c4: xorl %eax, %eax ; 2 bytes
M00000000000000c6: addq $8, %rsp ; 4 bytes
M00000000000000ca: popq %rbx ; 1 bytes
M00000000000000cb: popq %r12 ; 2 bytes
M00000000000000cd: popq %r14 ; 2 bytes
M00000000000000cf: popq %r15 ; 2 bytes
M00000000000000d1: retq ; 1 bytes
M00000000000000d2: cmpq $23, %r12 ; 4 bytes
M00000000000000d6: jne 0x4123cd <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xdd> ; 2 bytes
M00000000000000d8: movq %r14, %r15 ; 3 bytes
M00000000000000db: jmp 0x4123d0 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xe0> ; 2 bytes
M00000000000000dd: movq (%r14), %r15 ; 3 bytes
M00000000000000e0: movl 24(%r14), %eax ; 4 bytes
M00000000000000e4: testl %eax, %eax ; 2 bytes
M00000000000000e6: js 0x4123fb <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x10b> ; 2 bytes
M00000000000000e8: testl %eax, %eax ; 2 bytes
M00000000000000ea: jle 0x412407 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x117> ; 2 bytes
M00000000000000ec: movl %eax, %eax ; 2 bytes
M00000000000000ee: xorl %ebx, %ebx ; 2 bytes
M00000000000000f0: cmpb $47, (%r15,%rbx) ; 5 bytes
M00000000000000f5: jne 0x412309 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x19> ; 6 bytes
M00000000000000fb: incq %rbx ; 3 bytes
M00000000000000fe: cmpq %rbx, %rax ; 3 bytes
M0000000000000101: jne 0x4123e0 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xf0> ; 2 bytes
M0000000000000103: movq %rax, %rbx ; 3 bytes
M0000000000000106: jmp 0x412309 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x19> ; 5 bytes
M000000000000010b: movq %r15, %rdi ; 3 bytes
M000000000000010e: callq 0x404a70 <strlen@plt> ; 5 bytes
M0000000000000113: testl %eax, %eax ; 2 bytes
M0000000000000115: jg 0x4123dc <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0xec> ; 2 bytes
M0000000000000117: xorl %ebx, %ebx ; 2 bytes
M0000000000000119: jmp 0x412309 <BloombergLP::bdls::PathUtil::popLeaf(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, int)+0x19> ; 5 bytes
M000000000000011e: nop ; 2 bytes