; assembly | /* r2dec pseudo code output */ | /* balxml_configschema.t/none @ 0x42fe30 */ | #include | ; (fcn) method.BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice.operator_BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice_const_ () | int64_t method_BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice_operator_BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice_const_ (uint32_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice::operator=(BloombergLP::s_baltst::BasicSchemaEnumerationElementChoice const&) */ 0x0042fe30 push r14 | 0x0042fe32 push rbx | 0x0042fe33 push rax | 0x0042fe34 mov rbx, rdi | rbx = rdi; 0x0042fe37 cmp rdi, rsi | | if (rdi != rsi) { 0x0042fe3a je 0x42feca | 0x0042fe40 mov r14, rsi | r14 = rsi; 0x0042fe43 cmp dword [rsi + 0x40], 0 | 0x0042fe47 mov eax, dword [rbx + 0x40] | eax = *((rbx + 0x40)); | if (*((rsi + 0x40)) != 0) { 0x0042fe4a je 0x42fe7f | 0x0042fe4c test eax, eax | | if (eax == 0) { 0x0042fe4e jne 0x42fe76 | 0x0042fe50 cmp byte [rbx + 0x30], 0 | | if (*((rbx + 0x30)) == 0) { 0x0042fe54 je 0x42fe76 | goto label_0; | } 0x0042fe56 mov byte [rbx + 0x30], 0 | *((rbx + 0x30)) = 0; 0x0042fe5a cmp qword [rbx + 0x20], 0x17 | | if (*((rbx + 0x20)) != 0x17) { 0x0042fe5f je 0x42fe6e | 0x0042fe61 mov rsi, qword [rbx] | rsi = *(rbx); 0x0042fe64 mov rdi, qword [rbx + 0x28] | rdi = *((rbx + 0x28)); 0x0042fe68 mov rax, qword [rdi] | rax = *(rdi); 0x0042fe6b call qword [rax + 0x18] | eax = uint64_t (*rax + 0x18)() (); | } 0x0042fe6e mov qword [rbx + 0x18], 0xffffffffffffffff | *((rbx + 0x18)) = 0xffffffffffffffff; | } | label_0: 0x0042fe76 mov dword [rbx + 0x40], 0xffffffff | *((rbx + 0x40)) = 0xffffffff; 0x0042fe7d jmp 0x42feca | | } else { 0x0042fe7f test eax, eax | | if (eax != 0) { 0x0042fe81 je 0x42febf | 0x0042fe83 mov dword [rbx + 0x40], 0xffffffff | *((rbx + 0x40)) = 0xffffffff; 0x0042fe8a mov rax, qword [rbx + 0x48] | rax = *((rbx + 0x48)); 0x0042fe8e test rax, rax | | if (rax == 0) { 0x0042fe91 jne 0x42fea4 | 0x0042fe93 mov rax, qword [rip + 0x2b0266] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042fe9a test rax, rax | | if (rax != 0) { 0x0042fe9d jne 0x42fea4 | goto label_1; | } 0x0042fe9f call 0x474360 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_1: 0x0042fea4 mov qword [rsp], rax | *(rsp) = rax; 0x0042fea8 mov rdx, rsp | 0x0042feab mov rdi, rbx | 0x0042feae mov rsi, r14 | 0x0042feb1 call 0x43c890 | BloombergLP::bdlb::NullableValue,bsl::allocator>>::NullableValue(BloombergLP::bdlb::NullableValue,bsl::allocator>>const&,bsl::allocatorconst&) (rbx, r14, rsp); 0x0042feb6 mov dword [rbx + 0x40], 0 | *((rbx + 0x40)) = 0; 0x0042febd jmp 0x42feca | | } else { 0x0042febf mov rdi, rbx | 0x0042fec2 mov rsi, r14 | 0x0042fec5 call 0x43c990 | BloombergLP::bdlb::NullableValue,bsl::allocator>>::operator=(BloombergLP::bdlb::NullableValue,bsl::allocator>>const&) (rbx, r14); | } | } | } 0x0042feca mov rax, rbx | rax = rbx; 0x0042fecd add rsp, 8 | 0x0042fed1 pop rbx | 0x0042fed2 pop r14 | 0x0042fed4 ret | return rax; | }