; assembly | /* r2dec pseudo code output */ | /* balb_testmessages.t/none @ 0x415180 */ | #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_7h; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslim::Printer::printAttribute(BloombergLP::bslstl::StringRefImp const&, BloombergLP::balb::Enumerated::Value const&) const */ 0x00415180 push rbp | 0x00415181 push r15 | 0x00415183 push r14 | 0x00415185 push rbx | 0x00415186 push rax | 0x00415187 mov r15, rdx | r15 = rdx; 0x0041518a mov r14, rsi | r14 = rsi; 0x0041518d mov rbx, rdi | rbx = rdi; 0x00415190 call 0x41fcd0 | BloombergLP::bslim::Printer::printIndentation()const (rdi); 0x00415195 mov rdi, qword [rbx] | 0x00415198 mov rsi, qword [r14] | 0x0041519b mov rdx, qword [r14 + 8] | 0x0041519f call 0x4043d0 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), *(r14), *((r14 + 8))); 0x004151a4 mov esi, 0x446127 | 0x004151a9 mov edx, 3 | 0x004151ae mov rdi, rax | 0x004151b1 call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x446127, 3); 0x004151b6 mov r14, qword [rbx] | r14 = *(rbx); 0x004151b9 mov ebp, dword [rbx + 0x14] | ebp = *((rbx + 0x14)); 0x004151bc movsxd rax, dword [r15] | rax = *(r15); 0x004151bf cmp rax, 2 | | if (rax <= 2) { 0x004151c3 ja 0x4151cf | 0x004151c5 mov rbx, qword [rax*8 + 0x447bb0] | rbx = *((rax*8 + 0x447bb0)); 0x004151cd jmp 0x4151d1 | | } else { 0x004151cf xor ebx, ebx | ebx = 0; | } 0x004151d1 mov rdi, rbx | 0x004151d4 call 0x403630 | rax = strlen (rbx); 0x004151d9 mov rdi, r14 | 0x004151dc mov rsi, rbx | 0x004151df mov rdx, rax | 0x004151e2 call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r14, rbx, rax); 0x004151e7 test ebp, ebp | | if (ebp >= 0) { 0x004151e9 js 0x415202 | 0x004151eb mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x004151f0 lea rsi, [rsp + 7] | 0x004151f5 mov edx, 1 | 0x004151fa mov rdi, r14 | 0x004151fd call 0x4043d0 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r14, rsp + 7, 1); | } 0x00415202 add rsp, 8 | 0x00415206 pop rbx | 0x00415207 pop r14 | 0x00415209 pop r15 | 0x0041520b pop rbp | 0x0041520c ret | return rax; | }