; assembly | /* r2dec pseudo code output */ | /* baljsn_decoder.t/assume @ 0x414280 */ | #include | ; (fcn) method.void_BloombergLP::bslim::Printer::printAttribute_BloombergLP::s_baltst::Colors.Value__BloombergLP::bslstl::StringRefImp_char__const__BloombergLP::s_baltst::Colors::Value_const__const () | uint64_t method_void_BloombergLP::bslim::Printer::printAttribute_BloombergLP::s_baltst::Colors_Value_BloombergLP::bslstl::StringRefImp_char_const_BloombergLP::s_baltst::Colors::Value_const_const (int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_fh; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslim::Printer::printAttribute(BloombergLP::bslstl::StringRefImp const&, BloombergLP::s_baltst::Colors::Value const&) const */ 0x00414280 push r15 | 0x00414282 push r14 | 0x00414284 push rbx | 0x00414285 sub rsp, 0x10 | 0x00414289 mov r14, rdx | r14 = rdx; 0x0041428c mov r15, rsi | r15 = rsi; 0x0041428f mov rbx, rdi | rbx = rdi; 0x00414292 call 0x4ca140 | BloombergLP::bslim::Printer::printIndentation()const (rdi); 0x00414297 mov rdi, qword [rbx] | 0x0041429a mov rsi, qword [r15] | 0x0041429d mov rdx, qword [r15 + 8] | 0x004142a1 call 0x417b30 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), *(r15), *((r15 + 8))); 0x004142a6 mov esi, 0x4f69c6 | 0x004142ab mov edx, 3 | 0x004142b0 mov rdi, rax | 0x004142b3 call 0x417b30 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4f69c6, 3); 0x004142b8 mov r15, qword [rbx] | r15 = *(rbx); 0x004142bb movsxd rax, dword [r14] | rax = *(r14); 0x004142be mov r14, qword [rax*8 + 0x4f4828] | r14 = *((rax*8 + 0x4f4828)); 0x004142c6 mov ebx, dword [rbx + 0x14] | ebx = *((rbx + 0x14)); 0x004142c9 mov rdi, r14 | 0x004142cc call 0x405eb0 | rax = strlen (r14); 0x004142d1 mov rdi, r15 | 0x004142d4 mov rsi, r14 | 0x004142d7 mov rdx, rax | 0x004142da call 0x417b30 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r15, r14, rax); 0x004142df test ebx, ebx | | if (ebx >= 0) { 0x004142e1 js 0x4142fa | 0x004142e3 mov byte [rsp + 0xf], 0xa | *((rsp + 0xf)) = 0xa; 0x004142e8 lea rsi, [rsp + 0xf] | 0x004142ed mov edx, 1 | 0x004142f2 mov rdi, r15 | 0x004142f5 call 0x417b30 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r15, rsp + 0xf, 1); | } 0x004142fa add rsp, 0x10 | 0x004142fe pop rbx | 0x004142ff pop r14 | 0x00414301 pop r15 | 0x00414303 ret | return rax; | }