; assembly | /* r2dec pseudo code output */ | /* bdlc_compactedarray.t/assume @ 0x43ab90 */ | #include | ; (fcn) method.BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Unsigned_.print_std::__1::basic_ostream_char__std::__1::char_traits_char_____int__int__const () | int64_t method_BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Unsigned_print_std::_1::basic_ostream_char_std::_1::char_traits_char_int_int_const (int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_8h; | int64_t var_20h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlc::PackedIntArrayImp::print(std::__1::basic_ostream >&, int, int) const */ 0x0043ab90 push rbp | 0x0043ab91 push r15 | 0x0043ab93 push r14 | 0x0043ab95 push r13 | 0x0043ab97 push r12 | 0x0043ab99 push rbx | 0x0043ab9a sub rsp, 0x28 | 0x0043ab9e mov rbp, rsi | 0x0043aba1 mov rax, qword [rsi] | rax = *(rsi); 0x0043aba4 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x0043aba8 test byte [rsi + rax + 0x20], 1 | | if ((*((rsi + rax + 0x20)) & 1) != 0) { 0x0043abad jne 0x43ada5 | void (*0x43ada5)() (); | } 0x0043abb3 mov r13, rdi | r13 = rdi; 0x0043abb6 lea rbx, [rsp + 8] | rbx = rsp + 8; 0x0043abbb mov rdi, rbx | 0x0043abbe mov rsi, rbp | 0x0043abc1 call 0x43caf0 | BloombergLP::bslim::Printer::Printer(std::_1::basic_ostream>*,int,int) (rbx, rbp, rdx, rcx); 0x0043abc6 mov rdi, rbx | 0x0043abc9 xor esi, esi | 0x0043abcb call 0x43ccb0 | BloombergLP::bslim::Printer::start(bool)const (rbx, 0); 0x0043abd0 mov qword [rsp + 0x20], rbp | *((rsp + 0x20)) = rbp; 0x0043abd5 mov eax, dword [r13 + 0x10] | eax = *((r13 + 0x10)); 0x0043abd9 dec eax | eax--; 0x0043abdb jmp qword [rax*8 + 0x46a160] | | }