; assembly | /* r2dec pseudo code output */ | /* balxml_configschema.t/assume @ 0x42fd40 */ | #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&) */ 0x0042fd40 push r14 | 0x0042fd42 push rbx | 0x0042fd43 push rax | 0x0042fd44 mov rbx, rdi | rbx = rdi; 0x0042fd47 cmp rdi, rsi | | if (rdi != rsi) { 0x0042fd4a je 0x42fddb | 0x0042fd50 mov r14, rsi | r14 = rsi; 0x0042fd53 cmp dword [rsi + 0x40], 0 | | if (*((rsi + 0x40)) != 0) { 0x0042fd57 je 0x42fd8e | 0x0042fd59 cmp dword [rbx + 0x40], 0 | | if (*((rbx + 0x40)) == 0) { 0x0042fd5d jne 0x42fd85 | 0x0042fd5f cmp byte [rbx + 0x30], 0 | | if (*((rbx + 0x30)) == 0) { 0x0042fd63 je 0x42fd85 | goto label_0; | } 0x0042fd65 mov byte [rbx + 0x30], 0 | *((rbx + 0x30)) = 0; 0x0042fd69 cmp qword [rbx + 0x20], 0x17 | | if (*((rbx + 0x20)) != 0x17) { 0x0042fd6e je 0x42fd7d | 0x0042fd70 mov rsi, qword [rbx] | rsi = *(rbx); 0x0042fd73 mov rdi, qword [rbx + 0x28] | rdi = *((rbx + 0x28)); 0x0042fd77 mov rax, qword [rdi] | rax = *(rdi); 0x0042fd7a call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0042fd7d mov qword [rbx + 0x18], 0xffffffffffffffff | *((rbx + 0x18)) = 0xffffffffffffffff; | } | label_0: 0x0042fd85 mov dword [rbx + 0x40], 0xffffffff | *((rbx + 0x40)) = 0xffffffff; 0x0042fd8c jmp 0x42fddb | | } else { 0x0042fd8e cmp dword [rbx + 0x40], 0 | | if (*((rbx + 0x40)) != 0) { 0x0042fd92 je 0x42fdd0 | 0x0042fd94 mov dword [rbx + 0x40], 0xffffffff | *((rbx + 0x40)) = 0xffffffff; 0x0042fd9b mov rax, qword [rbx + 0x48] | rax = *((rbx + 0x48)); 0x0042fd9f test rax, rax | | if (rax == 0) { 0x0042fda2 jne 0x42fdb5 | 0x0042fda4 mov rax, qword [rip + 0x2b0355] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042fdab test rax, rax | | if (rax != 0) { 0x0042fdae jne 0x42fdb5 | goto label_1; | } 0x0042fdb0 call 0x474010 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_1: 0x0042fdb5 mov qword [rsp], rax | *(rsp) = rax; 0x0042fdb9 mov rdx, rsp | 0x0042fdbc mov rdi, rbx | 0x0042fdbf mov rsi, r14 | 0x0042fdc2 call 0x43c7b0 | BloombergLP::bdlb::NullableValue,bsl::allocator>>::NullableValue(BloombergLP::bdlb::NullableValue,bsl::allocator>>const&,bsl::allocatorconst&) (rbx, r14, rsp); 0x0042fdc7 mov dword [rbx + 0x40], 0 | *((rbx + 0x40)) = 0; 0x0042fdce jmp 0x42fddb | | } else { 0x0042fdd0 mov rdi, rbx | 0x0042fdd3 mov rsi, r14 | 0x0042fdd6 call 0x43c8b0 | BloombergLP::bdlb::NullableValue,bsl::allocator>>::operator=(BloombergLP::bdlb::NullableValue,bsl::allocator>>const&) (rbx, r14); | } | } | } 0x0042fddb mov rax, rbx | rax = rbx; 0x0042fdde add rsp, 8 | 0x0042fde2 pop rbx | 0x0042fde3 pop r14 | 0x0042fde5 ret | return rax; | }