; assembly | /* r2dec pseudo code output */ | /* bslstl_map_test3.t/assume @ 0x57d1a0 */ | #include | ; (fcn) sym._anonymous_namespace_::IntToPairConverter_void_______void_______bsl::allocator_bsl::pair_void___const_____void__________::createInplace_bsl::pair_void_______void________int__bsl::allocator_bsl::pair_void___const_____void_________ () | uint64_t anonymous_namespace_::IntToPairConverter_void_void_bsl::allocator_bsl::pair_void_const_void_::createInplace_bsl::pair_void_void_int_bsl::allocator_bsl::pair_void_const_void_ (char * arg2, int64_t arg1) { | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::IntToPairConverter > >::createInplace(bsl::pair*, int, bsl::allocator >) */ 0x0057d1a0 push rbp | 0x0057d1a1 push r14 | 0x0057d1a3 push rbx | 0x0057d1a4 mov ebx, esi | ebx = esi; 0x0057d1a6 mov r14, rdi | r14 = rdi; 0x0057d1a9 call 0x402b40 | rax = ctype_b_loc (); 0x0057d1ae mov rax, qword [rax] | rax = *(rax); 0x0057d1b1 mov ebp, ebx | 0x0057d1b3 test byte [rax + rbp*2 + 1], 2 | | if ((*((rax + rbp*2 + 1)) & 2) == 0) { 0x0057d1b8 jne 0x57d1bf | 0x0057d1ba lea ebp, [rbx - 0x11] | ebp = rbx - 0x11; 0x0057d1bd jmp 0x57d1cd | | } else { 0x0057d1bf call 0x402ad0 | rax = ctype_toupper_loc (); 0x0057d1c4 mov rax, qword [rax] | rax = *(rax); 0x0057d1c7 mov ebx, dword [rax + rbp*4] | ebx = *((rax + rbp*4)); 0x0057d1ca lea ebp, [rbx + 1] | ebp = rbx + 1; | } 0x0057d1cd mov al, byte [rip + 0x2b184d] | al = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057d1d3 test al, al | 0x0057d1d5 je 0x57d1e9 | | while (eax == 0) { | label_0: 0x0057d1d7 movsxd rax, ebx | rax = (int64_t) ebx; 0x0057d1da movsxd rcx, ebp | rcx = (int64_t) ebp; 0x0057d1dd mov qword [r14], rax | *(r14) = rax; 0x0057d1e0 mov qword [r14 + 8], rcx | *((r14 + 8)) = rcx; 0x0057d1e4 pop rbx | 0x0057d1e5 pop r14 | 0x0057d1e7 pop rbp | 0x0057d1e8 ret | return rax; 0x0057d1e9 mov edi, 0x82ea20 | edi = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057d1ee call 0x402c90 | eax = cxa_guard_acquire (); 0x0057d1f3 test eax, eax | 0x0057d1f5 je 0x57d1d7 | | } 0x0057d1f7 movzx edx, byte [rip + 0x2b1625] | edx = *(obj.veryVeryVeryVerbose); 0x0057d1fe mov edi, 0x82e950 | 0x0057d203 mov esi, 0x5f72d9 | 0x0057d208 xor ecx, ecx | 0x0057d20a call 0x5ef450 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (obj._anonymous_namespace_::scratchSingleton__::scratch, "scratch singleton", rdx, 0); 0x0057d20f mov edi, 0x5ef520 | edi = BloombergLP::bslma::TestAllocator::~TestAllocator(); 0x0057d214 mov esi, 0x82e950 | esi = (anonymous namespace)::scratchSingleton()::scratch; 0x0057d219 mov edx, 0x5f1df8 | edx = obj.__dso_handle; 0x0057d21e call 0x402aa0 | cxa_atexit (); 0x0057d223 mov edi, 0x82ea20 | edi = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057d228 call 0x402a70 | cxa_guard_release (); 0x0057d22d jmp 0x57d1d7 | goto label_0; | }