; assembly | /* r2dec pseudo code output */ | /* ball_recordjsonformatter.t/assume @ 0x414310 */ | #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, char * arg1) { | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::ball::Record::Record(BloombergLP::ball::RecordAttributes const&, BloombergLP::ball::UserFields const&, BloombergLP::bslma::Allocator*) */ 0x00414310 push rbp | 0x00414311 push r15 | 0x00414313 push r14 | 0x00414315 push r13 | 0x00414317 push r12 | 0x00414319 push rbx | 0x0041431a push rax | 0x0041431b mov r15, rcx | r15 = rcx; 0x0041431e mov r13, rdx | r13 = rdx; 0x00414321 mov r12, rsi | r12 = rsi; 0x00414324 mov rbx, rdi | rbx = rdi; 0x00414327 mov qword [rdi], 0x499c18 | *(rdi) = vtable.BloombergLP::ball::CountingAllocator.0; 0x0041432e mov qword [rdi + 8], 0 | *((rdi + 8)) = 0; 0x00414336 mov rax, rcx | rax = rcx; 0x00414339 test rcx, rcx | | if (rcx == 0) { 0x0041433c jne 0x41434f | 0x0041433e mov rax, qword [rip + 0x2d77db] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00414345 test rax, rax | | if (rax != 0) { 0x00414348 jne 0x41434f | goto label_0; | } 0x0041434a call 0x4712e0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_0: 0x0041434f mov qword [rbx + 0x10], rax | *((rbx + 0x10)) = rax; 0x00414353 lea r14, [rbx + 0x18] | r14 = rbx + 0x18; 0x00414357 mov rdi, r14 | 0x0041435a mov rsi, r12 | 0x0041435d mov rdx, rbx | 0x00414360 call 0x417810 | BloombergLP::ball::RecordAttributes::RecordAttributes(BloombergLP::ball::RecordAttributesconst&,BloombergLP::bslma::Allocator*) (r14, r12, rbx); 0x00414365 lea r12, [rbx + 0xe8] | r12 = rbx + 0xe8; 0x0041436c mov qword [rsp], rbx | *(rsp) = rbx; 0x00414370 mov rdx, rsp | 0x00414373 mov rdi, r12 | 0x00414376 mov rsi, r13 | 0x00414379 call 0x415080 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12, r13, rsp); 0x0041437e xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x00414381 movups xmmword [rbx + 0x108], xmm0 | __asm ("movups xmmword [rbx + 0x108], xmm0"); 0x00414388 mov qword [rbx + 0x118], 0 | *((rbx + 0x118)) = 0; 0x00414393 mov qword [rbx + 0x120], rbx | *((rbx + 0x120)) = rbx; 0x0041439a test r15, r15 | | if (r15 == 0) { 0x0041439d jne 0x4143ba | 0x0041439f mov r15, qword [rip + 0x2d777a] | r15 = BloombergLP::bslma::Default::s_defaultAllocator; 0x004143a6 test r15, r15 | | if (r15 != 0) { 0x004143a9 jne 0x4143ba | goto label_1; | } 0x004143ab lea r13, [rbx + 0x108] | r13 = rbx + 0x108; 0x004143b2 call 0x4712e0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004143b7 mov r15, rax | r15 = rax; | } | label_1: 0x004143ba mov qword [rbx + 0x128], r15 | *((rbx + 0x128)) = r15; 0x004143c1 add rsp, 8 | 0x004143c5 pop rbx | 0x004143c6 pop r12 | 0x004143c8 pop r13 | 0x004143ca pop r14 | 0x004143cc pop r15 | 0x004143ce pop rbp | 0x004143cf ret | return rax; | }