; assembly | /* r2dec pseudo code output */ | /* ball_fileobserver2.t/assume @ 0x428fe0 */ | #include | ; (fcn) method.BloombergLP::ball::Record.Record_BloombergLP::ball::RecordAttributes_const__BloombergLP::ball::UserFields_const__BloombergLP::bslma::Allocator_ () | int64_t method_BloombergLP::ball::Record_Record_BloombergLP::ball::RecordAttributes_const_BloombergLP::ball::UserFields_const_BloombergLP::bslma::Allocator_ (int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::ball::Record::Record(BloombergLP::ball::RecordAttributes const&, BloombergLP::ball::UserFields const&, BloombergLP::bslma::Allocator*) */ 0x00428fe0 push rbp | 0x00428fe1 push r15 | 0x00428fe3 push r14 | 0x00428fe5 push r13 | 0x00428fe7 push r12 | 0x00428fe9 push rbx | 0x00428fea push rax | 0x00428feb mov rbx, rcx | rbx = rcx; 0x00428fee mov r14, rdx | r14 = rdx; 0x00428ff1 mov r15, rsi | r15 = rsi; 0x00428ff4 mov r12, rdi | r12 = rdi; 0x00428ff7 mov qword [rdi], 0x491388 | *(rdi) = vtable.BloombergLP::ball::CountingAllocator.0; 0x00428ffe mov qword [rdi + 8], 0 | *((rdi + 8)) = 0; 0x00429006 mov rax, rcx | rax = rcx; 0x00429009 test rcx, rcx | | if (rcx == 0) { 0x0042900c jne 0x42901f | 0x0042900e mov rax, qword [rip + 0x2b4013] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00429015 test rax, rax | | if (rax != 0) { 0x00429018 jne 0x42901f | goto label_0; | } 0x0042901a call 0x465c90 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_0: 0x0042901f mov qword [r12 + 0x10], rax | *((r12 + 0x10)) = rax; 0x00429024 lea rdi, [r12 + 0x18] | 0x00429029 mov rsi, r15 | 0x0042902c mov rdx, r12 | 0x0042902f call 0x43afc0 | BloombergLP::ball::RecordAttributes::RecordAttributes(BloombergLP::ball::RecordAttributesconst&,BloombergLP::bslma::Allocator*) (r12 + 0x18, r15, r12); 0x00429034 lea r15, [r12 + 0xe8] | r15 = r12 + 0xe8; 0x0042903c mov qword [rsp], r12 | *(rsp) = r12; 0x00429040 mov rdx, rsp | 0x00429043 mov rdi, r15 | 0x00429046 mov rsi, r14 | 0x00429049 call 0x429420 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r15, r14, rsp); 0x0042904e xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x00429051 movups xmmword [r12 + 0x108], xmm0 | __asm ("movups xmmword [r12 + 0x108], xmm0"); 0x0042905a mov qword [r12 + 0x118], 0 | *((r12 + 0x118)) = 0; 0x00429066 mov qword [r12 + 0x120], r12 | *((r12 + 0x120)) = r12; 0x0042906e test rbx, rbx | | if (rbx == 0) { 0x00429071 jne 0x42908f | 0x00429073 mov rbx, qword [rip + 0x2b3fae] | rbx = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042907a test rbx, rbx | | if (rbx != 0) { 0x0042907d jne 0x42908f | goto label_1; | } 0x0042907f lea r13, [r12 + 0x108] | r13 = r12 + 0x108; 0x00429087 call 0x465c90 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0042908c mov rbx, rax | rbx = rax; | } | label_1: 0x0042908f mov qword [r12 + 0x128], rbx | *((r12 + 0x128)) = rbx; 0x00429097 add rsp, 8 | 0x0042909b pop rbx | 0x0042909c pop r12 | 0x0042909e pop r13 | 0x004290a0 pop r14 | 0x004290a2 pop r15 | 0x004290a4 pop rbp | 0x004290a5 ret | return rax; | }