; assembly | /* r2dec pseudo code output */ | /* bdlcc_skiplist.t/none @ 0x418c50 */ | #include | ; (fcn) sym._anonymous_namespace_::u::isUniqueAdd__anonymous_namespace_::u::AddMode_ () | uint64_t anonymous_namespace_::u::isUniqueAdd_anonymous_namespace_::u::AddMode_ (uint32_t arg1) { | rdi = arg1; | /* (anonymous namespace)::u::isUniqueAdd((anonymous namespace)::u::AddMode) */ 0x00418c50 push rbp | 0x00418c51 push rbx | 0x00418c52 push rax | 0x00418c53 mov ebp, edi | 0x00418c55 cmp edi, 0x18 | | if (edi < 0x18) { 0x00418c58 jae 0x418c67 | 0x00418c5a mov eax, 0xfff000 | eax = 0xfff000; 0x00418c5f mov ecx, ebp | ecx = ebp; 0x00418c61 shr eax, cl | eax >>= cl; 0x00418c63 and al, 1 | al &= 1; 0x00418c65 jmp 0x418cd2 | | } else { 0x00418c67 call 0x6504b0 | rax = BloombergLP::bslmt::TestUtil_Guard::singletonMutex() (); 0x00418c6c mov rbx, rax | rbx = rax; 0x00418c6f mov rdi, rax | 0x00418c72 call 0x650160 | BloombergLP::bslmt::RecursiveMutexImpl::lock() (rax); 0x00418c77 mov edi, 0x91a328 | 0x00418c7c mov esi, 0x67cedb | 0x00418c81 mov edx, 0xa | 0x00418c86 call 0x5bcfd0 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "(int) mode", 0xa); 0x00418c8b mov esi, 0x67b8c6 | 0x00418c90 mov edx, 2 | 0x00418c95 mov rdi, rax | 0x00418c98 call 0x5bcfd0 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x67b8c6, 2); 0x00418c9d mov rdi, rax | rdi = rax; 0x00418ca0 mov esi, ebp | esi = ebp; 0x00418ca2 call 0x405010 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00418ca7 mov esi, 0x696ad0 | 0x00418cac mov edx, 1 | 0x00418cb1 mov rdi, rax | 0x00418cb4 call 0x5bcfd0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x696ad0, 1); 0x00418cb9 mov edi, 0x67b8c9 | edi = "0 && \"invalid mode\"; 0x00418cbe mov esi, 0x104 | esi = 0x104; 0x00418cc3 call 0x405800 | (anonymousnamespace)::aSsErT(int,char const*,int) (); 0x00418cc8 mov rdi, rbx | 0x00418ccb call 0x6502b0 | eax = BloombergLP::bslmt::RecursiveMutexImpl::unlock() (rbx); 0x00418cd0 xor eax, eax | eax = 0; | } 0x00418cd2 add rsp, 8 | 0x00418cd6 pop rbx | 0x00418cd7 pop rbp | 0x00418cd8 ret | return rax; | }