; assembly | /* r2dec pseudo code output */ | /* bdlat_symbolicconverter.t/assume @ 0x404a20 */ | #include | ; (fcn) method.BloombergLP::test::MixedSequence.print_std::__1::basic_ostream_char__std::__1::char_traits_char_____int__int__const () | int64_t method_BloombergLP::test::MixedSequence_print_std::_1::basic_ostream_char_std::_1::char_traits_char_int_int_const (int64_t arg4, int64_t arg3, int64_t arg2, uint32_t arg1) { | int64_t var_4h; | int64_t var_5h; | int64_t var_6h; | int64_t var_7h; | int64_t var_8h; | int64_t var_9h; | int64_t var_ah; | int64_t var_bh; | int64_t var_ch; | int64_t var_dh; | int64_t var_eh; | int64_t var_fh; | int64_t var_10h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::test::MixedSequence::print(std::__1::basic_ostream >&, int, int) const */ 0x00404a20 push rbp | 0x00404a21 push r15 | 0x00404a23 push r14 | 0x00404a25 push r13 | 0x00404a27 push r12 | 0x00404a29 push rbx | 0x00404a2a sub rsp, 0x18 | 0x00404a2e mov r15d, ecx | r15d = ecx; 0x00404a31 mov ebp, edx | 0x00404a33 mov rbx, rsi | rbx = rsi; 0x00404a36 mov r14, rdi | r14 = rdi; 0x00404a39 test edx, edx | | if (edx < 0) { 0x00404a3b js 0x404cd2 | goto label_0; | } 0x00404a41 mov rdi, rbx | 0x00404a44 mov esi, ebp | 0x00404a46 mov edx, r15d | edx = r15d; 0x00404a49 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, ebp); 0x00404a4e test r15d, r15d | | if (r15d < 0) { 0x00404a51 js 0x404cdd | goto label_1; | } | do { 0x00404a57 lea r12d, [rbp + 1] | r12d = rbp + 1; 0x00404a5b mov esi, 0x437e46 | 0x00404a60 mov edx, 2 | 0x00404a65 mov rdi, rbx | 0x00404a68 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, 0x437e46, 2); 0x00404a6d mov rdi, rbx | 0x00404a70 mov esi, r12d | 0x00404a73 mov edx, r15d | edx = r15d; 0x00404a76 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404a7b mov esi, 0x437ebb | 0x00404a80 mov edx, 0xd | 0x00404a85 mov rdi, rbx | 0x00404a88 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute1 = ", 0xd); 0x00404a8d mov qword [rsp + 0x10], rbp | *((rsp + 0x10)) = rbp; 0x00404a92 mov r13d, ebp | r13d = ebp; 0x00404a95 not r13d | r13d = ~r13d; 0x00404a98 mov rdi, r14 | 0x00404a9b mov rsi, rbx | 0x00404a9e mov edx, r13d | 0x00404aa1 mov ecx, r15d | 0x00404aa4 call 0x403490 | BloombergLP::test::ChoiceA::print(std::_1::basic_ostream>&,int,int)const (r14, rbx, r13d, r15d); 0x00404aa9 mov rdi, rbx | 0x00404aac mov esi, r12d | 0x00404aaf mov edx, r15d | edx = r15d; 0x00404ab2 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404ab7 mov esi, 0x437ec9 | 0x00404abc mov edx, 0xd | 0x00404ac1 mov rdi, rbx | 0x00404ac4 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute2 = ", 0xd); 0x00404ac9 mov rax, qword [rbx] | rax = *(rbx); 0x00404acc mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404ad0 test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404ad5 jne 0x404b11 | 0x00404ad7 mov rbp, r14 | 0x00404ada add r14, 0x40 | r14 += 0x40; 0x00404ade mov rdi, rbx | 0x00404ae1 mov esi, r13d | 0x00404ae4 mov edx, r15d | edx = r15d; 0x00404ae7 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r13d); 0x00404aec mov rdi, rbx | 0x00404aef mov rsi, r14 | 0x00404af2 mov r14, rbp | r14 = rbp; 0x00404af5 call 0x40f210 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, r14); 0x00404afa mov byte [rsp + 4], 0xa | *((rsp + 4)) = 0xa; 0x00404aff lea rsi, [rsp + 4] | 0x00404b04 mov edx, 1 | 0x00404b09 mov rdi, rbx | 0x00404b0c call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 4, 1); | } 0x00404b11 mov rdi, rbx | 0x00404b14 mov esi, r12d | 0x00404b17 mov edx, r15d | edx = r15d; 0x00404b1a call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404b1f mov esi, 0x437f44 | 0x00404b24 mov edx, 0xd | 0x00404b29 mov rdi, rbx | 0x00404b2c call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute3 = ", 0xd); 0x00404b31 lea rdi, [r14 + 0x70] | 0x00404b35 mov rsi, rbx | 0x00404b38 mov edx, r13d | 0x00404b3b mov ecx, r15d | 0x00404b3e call 0x40f8e0 | BloombergLP::bdlb::NullableValue::print(std::_1::basic_ostream>&,int,int)const (r14 + 0x70, rbx, r13d, r15d); 0x00404b43 mov rdi, rbx | 0x00404b46 mov esi, r12d | 0x00404b49 mov edx, r15d | edx = r15d; 0x00404b4c call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404b51 mov esi, 0x437f52 | 0x00404b56 mov edx, 0xd | 0x00404b5b mov rdi, rbx | 0x00404b5e call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute4 = ", 0xd); 0x00404b63 mov rax, qword [rbx] | rax = *(rbx); 0x00404b66 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404b6a test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404b6f jne 0x404bb6 | 0x00404b71 mov rdi, rbx | 0x00404b74 mov esi, r13d | 0x00404b77 mov edx, r15d | edx = r15d; 0x00404b7a call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r13d); 0x00404b7f cmp dword [r14 + 0x78], 1 | 0x00404b84 mov eax, 0x437e97 | eax = "VALUE1"; 0x00404b89 mov esi, 0x437e9e | esi = "VALUE2"; | if (*((r14 + 0x78)) == 1) { 0x00404b8e cmove rsi, rax | rsi = rax; | } 0x00404b92 mov edx, 6 | 0x00404b97 mov rdi, rbx | 0x00404b9a call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsi, 6); 0x00404b9f mov byte [rsp + 5], 0xa | *((rsp + 5)) = 0xa; 0x00404ba4 lea rsi, [rsp + 5] | 0x00404ba9 mov edx, 1 | 0x00404bae mov rdi, rbx | 0x00404bb1 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 5, 1); | } 0x00404bb6 mov rdi, rbx | 0x00404bb9 mov esi, r12d | 0x00404bbc mov edx, r15d | edx = r15d; 0x00404bbf call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404bc4 mov esi, 0x437f60 | 0x00404bc9 mov edx, 0xd | 0x00404bce mov rdi, rbx | 0x00404bd1 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute5 = ", 0xd); 0x00404bd6 mov rax, qword [rbx] | rax = *(rbx); 0x00404bd9 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404bdd test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404be2 jne 0x404c15 | 0x00404be4 mov rdi, rbx | 0x00404be7 mov esi, r13d | 0x00404bea mov edx, r15d | edx = r15d; 0x00404bed call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r13d); 0x00404bf2 mov esi, dword [r14 + 0x7c] | esi = *((r14 + 0x7c)); 0x00404bf6 mov rdi, rbx | rdi = rbx; 0x00404bf9 call 0x4030b0 | std::_1::basic_ostream>::operator << (int) (); 0x00404bfe mov byte [rsp + 6], 0xa | *((rsp + 6)) = 0xa; 0x00404c03 lea rsi, [rsp + 6] | 0x00404c08 mov edx, 1 | 0x00404c0d mov rdi, rbx | 0x00404c10 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 6, 1); | } 0x00404c15 mov rdi, rbx | 0x00404c18 mov esi, r12d | 0x00404c1b mov edx, r15d | edx = r15d; 0x00404c1e call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404c23 mov esi, 0x437f6e | 0x00404c28 mov edx, 0xd | 0x00404c2d mov rdi, rbx | 0x00404c30 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute6 = ", 0xd); 0x00404c35 mov rax, qword [rbx] | rax = *(rbx); 0x00404c38 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404c3c test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404c41 jne 0x404c80 | 0x00404c43 mov rbp, r14 | 0x00404c46 add r14, 0x80 | r14 += 0x80; 0x00404c4d mov rdi, rbx | 0x00404c50 mov esi, r13d | 0x00404c53 mov edx, r15d | edx = r15d; 0x00404c56 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r13d); 0x00404c5b mov rdi, rbx | 0x00404c5e mov rsi, r14 | 0x00404c61 mov r14, rbp | r14 = rbp; 0x00404c64 call 0x40f210 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, r14); 0x00404c69 mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x00404c6e lea rsi, [rsp + 7] | 0x00404c73 mov edx, 1 | 0x00404c78 mov rdi, rbx | 0x00404c7b call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 7, 1); | } 0x00404c80 mov rdi, rbx | 0x00404c83 mov esi, r12d | 0x00404c86 mov edx, r15d | edx = r15d; 0x00404c89 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, r12d); 0x00404c8e mov esi, 0x437f7c | 0x00404c93 mov edx, 0xd | 0x00404c98 mov rdi, rbx | 0x00404c9b call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute7 = ", 0xd); 0x00404ca0 add r14, 0xb0 | r14 += 0xb0; 0x00404ca7 mov rdi, r14 | 0x00404caa mov rsi, rbx | 0x00404cad mov edx, r13d | 0x00404cb0 mov ecx, r15d | 0x00404cb3 call 0x403bb0 | BloombergLP::test::SequenceA::print(std::_1::basic_ostream>&,int,int)const (r14, rbx, r13d, r15d); 0x00404cb8 mov rdi, rbx | 0x00404cbb mov rsi, qword [rsp + 0x10] | 0x00404cc0 mov edx, r15d | edx = r15d; 0x00404cc3 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, *((rsp + 0x10))); 0x00404cc8 mov esi, 0x437e7a | esi = 0x437e7a; 0x00404ccd jmp 0x404f17 | goto label_2; | label_0: 0x00404cd2 neg ebp | ebp = -ebp; 0x00404cd4 test r15d, r15d | 0x00404cd7 jns 0x404a57 | | } while (r15d >= 0); | label_1: 0x00404cdd mov byte [rsp + 8], 0x5b | *((rsp + 8)) = 0x5b; 0x00404ce2 lea rsi, [rsp + 8] | 0x00404ce7 mov edx, 1 | 0x00404cec mov rdi, rbx | 0x00404cef call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 8, 1); 0x00404cf4 mov byte [rsp + 9], 0x20 | *((rsp + 9)) = 0x20; 0x00404cf9 lea rsi, [rsp + 9] | 0x00404cfe mov edx, 1 | 0x00404d03 mov rdi, rbx | 0x00404d06 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 9, 1); 0x00404d0b mov esi, 0x437ebb | 0x00404d10 mov edx, 0xd | 0x00404d15 mov rdi, rbx | 0x00404d18 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute1 = ", 0xd); 0x00404d1d not ebp | ebp = ~ebp; 0x00404d1f mov rdi, r14 | 0x00404d22 mov rsi, rbx | 0x00404d25 mov edx, ebp | 0x00404d27 mov ecx, r15d | 0x00404d2a call 0x403490 | BloombergLP::test::ChoiceA::print(std::_1::basic_ostream>&,int,int)const (r14, rbx, ebp, r15d); 0x00404d2f mov byte [rsp + 0xa], 0x20 | *((rsp + 0xa)) = 0x20; 0x00404d34 lea rsi, [rsp + 0xa] | 0x00404d39 mov edx, 1 | 0x00404d3e mov rdi, rbx | 0x00404d41 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xa, 1); 0x00404d46 mov esi, 0x437ec9 | 0x00404d4b mov edx, 0xd | 0x00404d50 mov rdi, rbx | 0x00404d53 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute2 = ", 0xd); 0x00404d58 mov rax, qword [rbx] | rax = *(rbx); 0x00404d5b mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404d5f test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404d64 jne 0x404d88 | 0x00404d66 mov r12, r14 | r12 = r14; 0x00404d69 add r14, 0x40 | r14 += 0x40; 0x00404d6d mov rdi, rbx | 0x00404d70 mov esi, ebp | 0x00404d72 mov edx, r15d | edx = r15d; 0x00404d75 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, ebp); 0x00404d7a mov rdi, rbx | 0x00404d7d mov rsi, r14 | 0x00404d80 mov r14, r12 | r14 = r12; 0x00404d83 call 0x40f210 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, r14); | } 0x00404d88 mov byte [rsp + 0xb], 0x20 | *((rsp + 0xb)) = 0x20; 0x00404d8d lea rsi, [rsp + 0xb] | 0x00404d92 mov edx, 1 | 0x00404d97 mov rdi, rbx | 0x00404d9a call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xb, 1); 0x00404d9f mov esi, 0x437f44 | 0x00404da4 mov edx, 0xd | 0x00404da9 mov rdi, rbx | 0x00404dac call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute3 = ", 0xd); 0x00404db1 lea rdi, [r14 + 0x70] | 0x00404db5 mov rsi, rbx | 0x00404db8 mov edx, ebp | 0x00404dba mov ecx, r15d | 0x00404dbd call 0x40f8e0 | BloombergLP::bdlb::NullableValue::print(std::_1::basic_ostream>&,int,int)const (r14 + 0x70, rbx, ebp, r15d); 0x00404dc2 mov byte [rsp + 0xc], 0x20 | *((rsp + 0xc)) = 0x20; 0x00404dc7 lea rsi, [rsp + 0xc] | 0x00404dcc mov edx, 1 | 0x00404dd1 mov rdi, rbx | 0x00404dd4 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xc, 1); 0x00404dd9 mov esi, 0x437f52 | 0x00404dde mov edx, 0xd | 0x00404de3 mov rdi, rbx | 0x00404de6 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute4 = ", 0xd); 0x00404deb mov rax, qword [rbx] | rax = *(rbx); 0x00404dee mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404df2 test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404df7 jne 0x404e26 | 0x00404df9 mov rdi, rbx | 0x00404dfc mov esi, ebp | 0x00404dfe mov edx, r15d | edx = r15d; 0x00404e01 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, ebp); 0x00404e06 cmp dword [r14 + 0x78], 1 | 0x00404e0b mov eax, 0x437e97 | eax = "VALUE1"; 0x00404e10 mov esi, 0x437e9e | esi = "VALUE2"; | if (*((r14 + 0x78)) == 1) { 0x00404e15 cmove rsi, rax | rsi = rax; | } 0x00404e19 mov edx, 6 | 0x00404e1e mov rdi, rbx | 0x00404e21 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsi, 6); | } 0x00404e26 mov byte [rsp + 0xd], 0x20 | *((rsp + 0xd)) = 0x20; 0x00404e2b lea rsi, [rsp + 0xd] | 0x00404e30 mov edx, 1 | 0x00404e35 mov rdi, rbx | 0x00404e38 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xd, 1); 0x00404e3d mov esi, 0x437f60 | 0x00404e42 mov edx, 0xd | 0x00404e47 mov rdi, rbx | 0x00404e4a call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute5 = ", 0xd); 0x00404e4f mov rax, qword [rbx] | rax = *(rbx); 0x00404e52 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404e56 test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404e5b jne 0x404e76 | 0x00404e5d mov rdi, rbx | 0x00404e60 mov esi, ebp | 0x00404e62 mov edx, r15d | edx = r15d; 0x00404e65 call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, ebp); 0x00404e6a mov esi, dword [r14 + 0x7c] | esi = *((r14 + 0x7c)); 0x00404e6e mov rdi, rbx | rdi = rbx; 0x00404e71 call 0x4030b0 | std::_1::basic_ostream>::operator << (int) (); | } 0x00404e76 mov byte [rsp + 0xe], 0x20 | *((rsp + 0xe)) = 0x20; 0x00404e7b lea rsi, [rsp + 0xe] | 0x00404e80 mov edx, 1 | 0x00404e85 mov rdi, rbx | 0x00404e88 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xe, 1); 0x00404e8d mov esi, 0x437f6e | 0x00404e92 mov edx, 0xd | 0x00404e97 mov rdi, rbx | 0x00404e9a call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute6 = ", 0xd); 0x00404e9f mov rax, qword [rbx] | rax = *(rbx); 0x00404ea2 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00404ea6 test byte [rbx + rax + 0x20], 1 | | if ((*((rbx + rax + 0x20)) & 1) == 0) { 0x00404eab jne 0x404ed2 | 0x00404ead mov r12, r14 | r12 = r14; 0x00404eb0 add r14, 0x80 | r14 += 0x80; 0x00404eb7 mov rdi, rbx | 0x00404eba mov esi, ebp | 0x00404ebc mov edx, r15d | edx = r15d; 0x00404ebf call 0x411270 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rbx, ebp); 0x00404ec4 mov rdi, rbx | 0x00404ec7 mov rsi, r14 | 0x00404eca mov r14, r12 | r14 = r12; 0x00404ecd call 0x40f210 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, r14); | } 0x00404ed2 mov byte [rsp + 0xf], 0x20 | *((rsp + 0xf)) = 0x20; 0x00404ed7 lea rsi, [rsp + 0xf] | 0x00404edc mov edx, 1 | 0x00404ee1 mov rdi, rbx | 0x00404ee4 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 0xf, 1); 0x00404ee9 mov esi, 0x437f7c | 0x00404eee mov edx, 0xd | 0x00404ef3 mov rdi, rbx | 0x00404ef6 call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "Attribute7 = ", 0xd); 0x00404efb add r14, 0xb0 | r14 += 0xb0; 0x00404f02 mov rdi, r14 | 0x00404f05 mov rsi, rbx | 0x00404f08 mov edx, ebp | 0x00404f0a mov ecx, r15d | 0x00404f0d call 0x403bb0 | BloombergLP::test::SequenceA::print(std::_1::basic_ostream>&,int,int)const (r14, rbx, ebp, r15d); 0x00404f12 mov esi, 0x437e94 | | label_2: 0x00404f17 mov edx, 2 | 0x00404f1c mov rdi, rbx | 0x00404f1f call 0x40f620 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, 0x437e94, 2); 0x00404f24 mov rdi, rbx | rdi = rbx; 0x00404f27 call 0x4030c0 | std::_1::basic_ostream>::flush() (); 0x00404f2c mov rax, rbx | rax = rbx; 0x00404f2f add rsp, 0x18 | 0x00404f33 pop rbx | 0x00404f34 pop r12 | 0x00404f36 pop r13 | 0x00404f38 pop r14 | 0x00404f3a pop r15 | 0x00404f3c pop rbp | 0x00404f3d ret | return rax; | }