; assembly | /* r2dec pseudo code output */ | /* balm_publicationscheduler.t/assume @ 0x406430 */ | #include | ; (fcn) sym.operator___std::__1::basic_ostream_char__std::__1::char_traits_char_____Action_const_ () | uint64_t operator_std::_1::basic_ostream_char_std::_1::char_traits_char_Action_const_ (int64_t arg2, int64_t arg1) { | rsi = arg2; | rdi = arg1; | /* operator<<(std::__1::basic_ostream >&, Action const&) */ 0x00406430 push r15 | 0x00406432 push r14 | 0x00406434 push r12 | 0x00406436 push rbx | 0x00406437 push rax | 0x00406438 mov r15, rsi | r15 = rsi; 0x0040643b mov r14, rdi | r14 = rdi; 0x0040643e mov esi, 0x466b69 | 0x00406443 mov edx, 2 | 0x00406448 call 0x418220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, 0x466b69, 2); 0x0040644d xor edx, edx | edx = 0; 0x0040644f cmp dword [r15], 0 | 0x00406453 sete dl | dl = (*(r15) == 0) ? 1 : 0; 0x00406456 mov ecx, 0x463215 | ecx = "SCHEDULE_CATEGORY"; 0x0040645b mov esi, 0x463227 | esi = "SCHEDULE_DEFAULT"; | if (*(r15) == 0) { 0x00406460 cmove rsi, rcx | rsi = rcx; | } 0x00406464 or rdx, 0x10 | rdx |= 0x10; 0x00406468 mov rdi, rax | 0x0040646b call 0x418220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, rsi, rdx); 0x00406470 mov esi, 0x47ecb2 | 0x00406475 mov edx, 1 | 0x0040647a mov rdi, rax | 0x0040647d call 0x418220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x47ecb2, 1); 0x00406482 mov r12, rax | r12 = rax; 0x00406485 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00406489 test rax, rax | | if (rax != 0) { 0x0040648c je 0x406493 | 0x0040648e mov rbx, qword [rax] | rbx = *(rax); 0x00406491 jmp 0x406498 | | } else { 0x00406493 mov ebx, 0x47ee24 | ebx = 0x47ee24; | } 0x00406498 mov rdi, rbx | 0x0040649b call 0x404f40 | rax = strlen (rbx); 0x004064a0 mov rdi, r12 | 0x004064a3 mov rsi, rbx | 0x004064a6 mov rdx, rax | 0x004064a9 call 0x418220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r12, rbx, rax); 0x004064ae mov esi, 0x47ecb2 | 0x004064b3 mov edx, 1 | 0x004064b8 mov rdi, rax | 0x004064bb call 0x418220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x47ecb2, 1); 0x004064c0 mov esi, dword [r15 + 0x10] | esi = *((r15 + 0x10)); 0x004064c4 mov rdi, rax | rdi = rax; 0x004064c7 call 0x4051e0 | rax = std::_1::basic_ostream>::operator << (int) (); 0x004064cc mov esi, 0x466e61 | 0x004064d1 mov edx, 2 | 0x004064d6 mov rdi, rax | 0x004064d9 call 0x418220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x466e61, 2); 0x004064de mov rax, r14 | rax = r14; 0x004064e1 add rsp, 8 | 0x004064e5 pop rbx | 0x004064e6 pop r12 | 0x004064e8 pop r14 | 0x004064ea pop r15 | 0x004064ec ret | return rax; | }