; assembly | /* r2dec pseudo code output */ | /* ball_administration.t/none @ 0x41ddf0 */ | #include | ; (fcn) method.void_BloombergLP::bdlb::VariantImp_BloombergLP::bslmf::TypeList_int__long_long__bsl::basic_string_char__std::__1::char_traits_char___bsl::allocator_char_______::doApply_BloombergLP::bdlb.Variant_PrintVisitor_const__BloombergLP::bdlb::Variant_Prin () | int64_t method_void_BloombergLP::bdlb::VariantImp_BloombergLP::bslmf::TypeList_int_long_long_bsl::basic_string_char_std::_1::char_traits_char_bsl::allocator_char_::doApply_BloombergLP::bdlb_Variant_PrintVisitor_const_BloombergLP::bdlb::Variant_Prin (uint32_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_dh; | int64_t var_eh; | int64_t var_fh; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bdlb::VariantImp, bsl::allocator > > >::doApply(BloombergLP::bdlb::Variant_PrintVisitor const&, int) const */ 0x0041ddf0 push rbp | 0x0041ddf1 push r14 | 0x0041ddf3 push rbx | 0x0041ddf4 sub rsp, 0x10 | 0x0041ddf8 mov r14, rdi | r14 = rdi; 0x0041ddfb cmp edx, 3 | | if (edx != 3) { 0x0041ddfe je 0x41de56 | 0x0041de00 cmp edx, 2 | | if (edx != 2) { 0x0041de03 je 0x41de92 | 0x0041de09 cmp edx, 1 | | if (edx != 1) { 0x0041de0c jne 0x41ded9 | goto label_0; | } 0x0041de12 mov rbx, qword [rsi] | rbx = *(rsi); 0x0041de15 mov rax, qword [rbx] | rax = *(rbx); 0x0041de18 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x0041de1c test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) != 0) { 0x0041de21 jne 0x41ded9 | goto label_0; | } 0x0041de27 mov ebp, dword [rsi + 0xc] | ebp = *((rsi + 0xc)); 0x0041de2a mov esi, dword [rsi + 8] | 0x0041de2d mov rdi, rbx | 0x0041de30 mov edx, ebp | edx = ebp; 0x0041de32 call 0x424b50 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, *((rsi + 8))); 0x0041de37 mov esi, dword [r14] | esi = *(r14); 0x0041de3a mov rdi, rbx | rdi = rbx; 0x0041de3d call 0x405350 | std::_1::basic_ostream>::operator << (int) (); 0x0041de42 test ebp, ebp | | if (ebp < 0) { 0x0041de44 js 0x41ded9 | goto label_0; | } 0x0041de4a mov byte [rsp + 0xd], 0xa | *((rsp + 0xd)) = 0xa; 0x0041de4f lea rsi, [rsp + 0xd] | rsi = rsp + 0xd; 0x0041de54 jmp 0x41decc | 0x0041de56 mov rbx, qword [rsi] | rbx = *(rsi); 0x0041de59 mov rax, qword [rbx] | rax = *(rbx); 0x0041de5c mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x0041de60 test byte [rbx + rax + 0x20], 1 | | } else { | } else { | if ((*((rbx + rax + 0x20)) & 1) != 0) { 0x0041de65 jne 0x41ded9 | goto label_0; | } 0x0041de67 mov ebp, dword [rsi + 0xc] | ebp = *((rsi + 0xc)); 0x0041de6a mov esi, dword [rsi + 8] | 0x0041de6d mov rdi, rbx | 0x0041de70 mov edx, ebp | edx = ebp; 0x0041de72 call 0x424b50 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, *((rsi + 8))); 0x0041de77 mov rdi, rbx | 0x0041de7a mov rsi, r14 | 0x0041de7d call 0x4092e0 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, r14); 0x0041de82 test ebp, ebp | | if (ebp < 0) { 0x0041de84 js 0x41ded9 | goto label_0; | } 0x0041de86 mov byte [rsp + 0xf], 0xa | *((rsp + 0xf)) = 0xa; 0x0041de8b lea rsi, [rsp + 0xf] | rsi = rsp + 0xf; 0x0041de90 jmp 0x41decc | 0x0041de92 mov rbx, qword [rsi] | rbx = *(rsi); 0x0041de95 mov rax, qword [rbx] | rax = *(rbx); 0x0041de98 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x0041de9c test byte [rbx + rax + 0x20], 1 | | } | } | if ((*((rbx + rax + 0x20)) & 1) != 0) { 0x0041dea1 jne 0x41ded9 | goto label_0; | } 0x0041dea3 mov ebp, dword [rsi + 0xc] | ebp = *((rsi + 0xc)); 0x0041dea6 mov esi, dword [rsi + 8] | 0x0041dea9 mov rdi, rbx | 0x0041deac mov edx, ebp | edx = ebp; 0x0041deae call 0x424b50 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, *((rsi + 8))); 0x0041deb3 mov rsi, qword [r14] | rsi = *(r14); 0x0041deb6 mov rdi, rbx | rdi = rbx; 0x0041deb9 call 0x4054b0 | std::_1::basic_ostream>::operator << (long long) (); 0x0041debe test ebp, ebp | | if (ebp < 0) { 0x0041dec0 js 0x41ded9 | goto label_0; | } 0x0041dec2 mov byte [rsp + 0xe], 0xa | *((rsp + 0xe)) = 0xa; 0x0041dec7 lea rsi, [rsp + 0xe] | 0x0041decc mov edx, 1 | 0x0041ded1 mov rdi, rbx | 0x0041ded4 call 0x409cd0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xe, 1); | label_0: 0x0041ded9 add rsp, 0x10 | 0x0041dedd pop rbx | 0x0041dede pop r14 | 0x0041dee0 pop rbp | 0x0041dee1 ret | return rax; | }