; assembly | /* r2dec pseudo code output */ | /* ball_userfieldvalue.t/assume @ 0x420520 */ | #include | ; (fcn) method.BloombergLP::bdlb::VariantImp_BloombergLP::bslmf::TypeList_long_long__double__bsl::basic_string_char__std::__1::char_traits_char___bsl::allocator_char_____BloombergLP::bdlt::DatetimeTz__bsl::vector_char__bsl::allocator_char_______.swap_BloombergLP () | int64_t method_BloombergLP::bdlb::VariantImp_BloombergLP::bslmf::TypeList_long_long_double_bsl::basic_string_char_std::_1::char_traits_char_bsl::allocator_char_BloombergLP::bdlt::DatetimeTz_bsl::vector_char_bsl::allocator_char_swap_BloombergLP (uint32_t arg2, uint32_t arg1) { | int64_t var_8h; | int64_t var_10h; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlb::VariantImp, bsl::allocator >, BloombergLP::bdlt::DatetimeTz, bsl::vector > > >::swap(BloombergLP::bdlb::VariantImp, bsl::allocator >, BloombergLP::bdlt::DatetimeTz, bsl::vector > > >&) */ 0x00420520 push r14 | 0x00420522 push rbx | 0x00420523 sub rsp, 0x18 | 0x00420527 mov r14, rsi | r14 = rsi; 0x0042052a mov rbx, rdi | rbx = rdi; 0x0042052d mov edx, dword [rdi + 0x30] | edx = *((rdi + 0x30)); 0x00420530 mov eax, dword [rsi + 0x30] | eax = *((rsi + 0x30)); 0x00420533 test edx, edx | | if (edx != 0) { 0x00420535 je 0x42055f | 0x00420537 test eax, eax | | if (eax == 0) { 0x00420539 je 0x4205a8 | goto label_0; | } 0x0042053b cmp edx, eax | | if (edx == eax) { 0x0042053d jne 0x42054d | 0x0042053f mov rax, qword [rbx + 0x38] | rax = *((rbx + 0x38)); 0x00420543 cmp rax, qword [r14 + 0x38] | | if (rax == *((r14 + 0x38))) { 0x00420547 je 0x4205e8 | goto label_1; | } | } 0x0042054d mov rdi, rbx | rdi = rbx; 0x00420550 mov rsi, r14 | rsi = r14; 0x00420553 add rsp, 0x18 | 0x00420557 pop rbx | 0x00420558 pop r14 | 0x0042055a jmp 0x420610 | void (*0x420610)() (); | } 0x0042055f test eax, eax | | if (eax != 0) { 0x00420561 je 0x4205fa | 0x00420567 cmp r14, rbx | | if (r14 != rbx) { 0x0042056a je 0x42059e | 0x0042056c mov rdi, rbx | 0x0042056f call 0x41fec0 | BloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::reset() (rbx); 0x00420574 mov edx, dword [r14 + 0x30] | edx = *((r14 + 0x30)); 0x00420578 test edx, edx | | if (edx == 0) { 0x0042057a je 0x42059e | goto label_2; | } 0x0042057c mov rax, qword [rbx + 0x38] | rax = *((rbx + 0x38)); 0x00420580 mov qword [rsp + 8], rbx | *((rsp + 8)) = rbx; 0x00420585 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0042058a lea rsi, [rsp + 8] | rsi = rsp + 8; 0x0042058f mov rdi, r14 | rdi = r14; 0x00420592 call 0x420370 | voidBloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::doApply(BloombergLP::bdlb::Variant_CopyConstructVisitor&,int)const (); 0x00420597 mov eax, dword [r14 + 0x30] | eax = *((r14 + 0x30)); 0x0042059b mov dword [rbx + 0x30], eax | *((rbx + 0x30)) = eax; | } | label_2: 0x0042059e mov rdi, r14 | 0x004205a1 call 0x41fec0 | BloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::reset() (r14); 0x004205a6 jmp 0x4205fa | goto label_3; | label_0: 0x004205a8 cmp rbx, r14 | | if (rbx != r14) { 0x004205ab je 0x4205de | 0x004205ad mov rdi, r14 | 0x004205b0 call 0x41fec0 | BloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::reset() (r14); 0x004205b5 mov edx, dword [rbx + 0x30] | edx = *((rbx + 0x30)); 0x004205b8 test edx, edx | | if (edx == 0) { 0x004205ba je 0x4205de | goto label_4; | } 0x004205bc mov rax, qword [r14 + 0x38] | rax = *((r14 + 0x38)); 0x004205c0 mov qword [rsp + 8], r14 | *((rsp + 8)) = r14; 0x004205c5 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x004205ca lea rsi, [rsp + 8] | rsi = rsp + 8; 0x004205cf mov rdi, rbx | rdi = rbx; 0x004205d2 call 0x420370 | voidBloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::doApply(BloombergLP::bdlb::Variant_CopyConstructVisitor&,int)const (); 0x004205d7 mov eax, dword [rbx + 0x30] | eax = *((rbx + 0x30)); 0x004205da mov dword [r14 + 0x30], eax | *((r14 + 0x30)) = eax; | } | label_4: 0x004205de mov rdi, rbx | 0x004205e1 call 0x41fec0 | BloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::reset() (rbx); 0x004205e6 jmp 0x4205fa | goto label_3; | label_1: 0x004205e8 mov qword [rsp + 8], rbx | *((rsp + 8)) = rbx; 0x004205ed lea rsi, [rsp + 8] | rsi = rsp + 8; 0x004205f2 mov rdi, r14 | rdi = r14; 0x004205f5 call 0x420750 | voidBloombergLP::bdlb::VariantImp,bsl::allocator>,BloombergLP::bdlt::DatetimeTz,bsl::vector>>>::doApply(BloombergLP::bdlb::Variant_SwapVisitor&,int) (); | } | label_3: 0x004205fa add rsp, 0x18 | 0x004205fe pop rbx | 0x004205ff pop r14 | 0x00420601 ret | return rax; | }