; assembly | /* r2dec pseudo code output */ | /* ball_log.t/assume @ 0x498340 */ | #include | ; (fcn) method.BloombergLP::ball::Record.Record_BloombergLP::ball::Record_const__BloombergLP::bslma::Allocator_ () | int64_t method_BloombergLP::ball::Record_Record_BloombergLP::ball::Record_const_BloombergLP::bslma::Allocator_ (int64_t arg3, int64_t arg2, char * arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::ball::Record::Record(BloombergLP::ball::Record const&, BloombergLP::bslma::Allocator*) */ 0x00498340 push rbp | 0x00498341 push r15 | 0x00498343 push r14 | 0x00498345 push r13 | 0x00498347 push r12 | 0x00498349 push rbx | 0x0049834a push rax | 0x0049834b mov r14, rdx | r14 = rdx; 0x0049834e mov rbx, rsi | rbx = rsi; 0x00498351 mov r13, rdi | r13 = rdi; 0x00498354 mov qword [rdi], 0x50d608 | *(rdi) = vtable.BloombergLP::ball::CountingAllocator.0; 0x0049835b mov qword [rdi + 8], 0 | *((rdi + 8)) = 0; 0x00498363 mov rax, rdx | rax = rdx; 0x00498366 test rdx, rdx | | if (rdx == 0) { 0x00498369 jne 0x49837c | 0x0049836b mov rax, qword [rip + 0x2dba8e] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00498372 test rax, rax | | if (rax != 0) { 0x00498375 jne 0x49837c | goto label_0; | } 0x00498377 call 0x4d9ed0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_0: 0x0049837c mov qword [r13 + 0x10], rax | *((r13 + 0x10)) = rax; 0x00498380 lea rdi, [r13 + 0x18] | 0x00498384 lea rsi, [rbx + 0x18] | 0x00498388 mov rdx, r13 | 0x0049838b call 0x4b07a0 | BloombergLP::ball::RecordAttributes::RecordAttributes(BloombergLP::ball::RecordAttributesconst&,BloombergLP::bslma::Allocator*) (r13 + 0x18, rbx + 0x18, r13); 0x00498390 lea r15, [r13 + 0xe8] | r15 = r13 + 0xe8; 0x00498397 lea rsi, [rbx + 0xe8] | 0x0049839e mov qword [rsp], r13 | *(rsp) = r13; 0x004983a2 mov rdx, rsp | 0x004983a5 mov rdi, r15 | 0x004983a8 call 0x49b950 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r15, rbx + 0xe8, rsp); 0x004983ad lea r12, [r13 + 0x108] | r12 = r13 + 0x108; 0x004983b4 mov qword [rsp], r13 | *(rsp) = r13; 0x004983b8 add rbx, 0x108 | rbx += 0x108; 0x004983bf mov rdx, rsp | 0x004983c2 mov rdi, r12 | 0x004983c5 mov rsi, rbx | 0x004983c8 call 0x49b8b0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12, rbx, rsp); 0x004983cd test r14, r14 | | if (r14 == 0) { 0x004983d0 jne 0x4983e6 | 0x004983d2 mov r14, qword [rip + 0x2dba27] | r14 = BloombergLP::bslma::Default::s_defaultAllocator; 0x004983d9 test r14, r14 | | if (r14 != 0) { 0x004983dc jne 0x4983e6 | goto label_1; | } 0x004983de call 0x4d9ed0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004983e3 mov r14, rax | r14 = rax; | } | label_1: 0x004983e6 mov qword [r13 + 0x128], r14 | *((r13 + 0x128)) = r14; 0x004983ed add rsp, 8 | 0x004983f1 pop rbx | 0x004983f2 pop r12 | 0x004983f4 pop r13 | 0x004983f6 pop r14 | 0x004983f8 pop r15 | 0x004983fa pop rbp | 0x004983fb ret | return rax; | }