; assembly | /* r2dec pseudo code output */ | /* balb_testmessages.t/assume @ 0x4151a0 */ | #include | ; (fcn) method.void_BloombergLP::bslim::Printer::printAttribute_BloombergLP::balb::Enumerated.Value__BloombergLP::bslstl::StringRefImp_char__const__BloombergLP::balb::Enumerated::Value_const__const () | uint64_t method_void_BloombergLP::bslim::Printer::printAttribute_BloombergLP::balb::Enumerated_Value_BloombergLP::bslstl::StringRefImp_char_const_BloombergLP::balb::Enumerated::Value_const_const (int64_t arg3, char * arg2, int64_t arg1) { | int64_t var_fh; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslim::Printer::printAttribute(BloombergLP::bslstl::StringRefImp const&, BloombergLP::balb::Enumerated::Value const&) const */ 0x004151a0 push r15 | 0x004151a2 push r14 | 0x004151a4 push rbx | 0x004151a5 sub rsp, 0x10 | 0x004151a9 mov r14, rdx | r14 = rdx; 0x004151ac mov r15, rsi | r15 = rsi; 0x004151af mov rbx, rdi | rbx = rdi; 0x004151b2 call 0x41fbd0 | BloombergLP::bslim::Printer::printIndentation()const (rdi); 0x004151b7 mov rdi, qword [rbx] | 0x004151ba mov rsi, qword [r15] | 0x004151bd mov rdx, qword [r15 + 8] | 0x004151c1 call 0x4043d0 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), *(r15), *((r15 + 8))); 0x004151c6 mov esi, 0x446009 | 0x004151cb mov edx, 3 | 0x004151d0 mov rdi, rax | 0x004151d3 call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x446009, 3); 0x004151d8 mov r15, qword [rbx] | r15 = *(rbx); 0x004151db movsxd rax, dword [r14] | rax = *(r14); 0x004151de mov r14, qword [rax*8 + 0x4481e0] | r14 = *((rax*8 + 0x4481e0)); 0x004151e6 mov ebx, dword [rbx + 0x14] | ebx = *((rbx + 0x14)); 0x004151e9 mov rdi, r14 | 0x004151ec call 0x403630 | rax = strlen (r14); 0x004151f1 mov rdi, r15 | 0x004151f4 mov rsi, r14 | 0x004151f7 mov rdx, rax | 0x004151fa call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r15, r14, rax); 0x004151ff test ebx, ebx | | if (ebx >= 0) { 0x00415201 js 0x41521a | 0x00415203 mov byte [rsp + 0xf], 0xa | *((rsp + 0xf)) = 0xa; 0x00415208 lea rsi, [rsp + 0xf] | 0x0041520d mov edx, 1 | 0x00415212 mov rdi, r15 | 0x00415215 call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r15, rsp + 0xf, 1); | } 0x0041521a add rsp, 0x10 | 0x0041521e pop rbx | 0x0041521f pop r14 | 0x00415221 pop r15 | 0x00415223 ret | return rax; | }