; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/assume @ 0x4226c0 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.Date__int__int__int__int__int__BloombergLP::bdlt::Date_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_Date_int_int_int_int_int_BloombergLP::bdlt::Date_const_BloombergLP::baljsn::EncoderOptions_const_bool_ (int64_t arg_380h, uint32_t arg_388h, int64_t arg6, int64_t arg5, int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_4h; | int64_t var_8h; | int64_t var_ch; | char * s; | int64_t var_28h; | uint32_t var_30h; | char * var_38h; | int64_t var_4ch; | char * var_50h; | size_t var_58h; | uint32_t var_68h; | uint32_t var_70h; | char * var_78h; | int64_t var_80h; | uint32_t var_88h; | uint32_t var_89h; | uint32_t var_8ah; | int64_t var_90h; | uint32_t var_b0h; | int64_t var_bch; | uint32_t var_cch; | int64_t var_d4h; | int64_t var_d8h; | int64_t var_e0h; | int64_t var_e8h; | int64_t var_ech; | int64_t var_fch; | int64_t var_108h; | int64_t var_110h; | int64_t var_150h; | int64_t var_168h; | uint32_t var_170h; | int64_t var_178h; | int64_t var_190h; | int64_t var_218h; | int64_t var_220h; | int64_t var_228h; | int64_t var_230h; | int64_t var_270h; | int64_t var_288h; | uint32_t var_290h; | int64_t var_298h; | int64_t var_2b0h; | int64_t var_338h; | int64_t var_340h; | r9 = arg6; | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void testPutValue(int, int, int, int, int, BloombergLP::bdlt::Date const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x004226c0 push rbp | 0x004226c1 push r15 | 0x004226c3 push r14 | 0x004226c5 push r13 | 0x004226c7 push r12 | 0x004226c9 push rbx | 0x004226ca sub rsp, 0x348 | 0x004226d1 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x004226d9 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x004226de mov r15d, edx | r15d = edx; 0x004226e1 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x004226e5 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x004226e9 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x004226f1 lea eax, [rcx + 1] | eax = rcx + 1; 0x004226f4 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x004226f8 mov r13b, 1 | r13b = 1; 0x004226fb lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00422703 jmp 0x422746 | goto label_3; | label_1: 0x00422710 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042271c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x00422724 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00422729 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00422731 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00422736 test r13b, 1 | 0x0042273a mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x00422740 je 0x42337c | goto label_4; | } | label_3: 0x00422746 mov rax, qword [rip + 0x2be913] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042274d test rax, rax | | if (rax == 0) { 0x00422750 jne 0x422757 | 0x00422752 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00422757 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x0042275f mov qword [rsp + 0x2b0], 0x6d6ca0 | *((rsp + 0x2b0)) = 0x6d6ca0; 0x0042276b lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x00422773 mov rdi, rbp | 0x00422776 mov esi, 0x10 | 0x0042277b lea rdx, [rsp + 0x108] | 0x00422783 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00422788 mov qword [rsp + 0x228], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00422794 mov qword [rsp + 0x2b0], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x004227a0 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004227a8 mov rsi, rbp | rsi = rbp; 0x004227ab call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004227b0 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x004227bc mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x004227c7 mov qword [rsp + 0x228], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x004227d3 mov qword [rsp + 0x2b0], 0x496ad8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x496ad8; 0x004227df mov rax, qword [rip + 0x2be87a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004227e6 test rax, rax | | if (rax == 0) { 0x004227e9 jne 0x4227f0 | 0x004227eb call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004227f0 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x004227f8 mov qword [rsp + 0x190], 0x6d6ca0 | *((rsp + 0x190)) = 0x6d6ca0; 0x00422804 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042280c mov rdi, rbp | 0x0042280f mov esi, 0x10 | 0x00422814 mov rdx, r12 | 0x00422817 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042281c mov qword [rsp + 0x108], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00422828 mov qword [rsp + 0x190], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x00422834 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042283c mov rsi, rbp | rsi = rbp; 0x0042283f call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00422844 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x00422850 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x0042285b mov qword [rsp + 0x108], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x00422867 mov qword [rsp + 0x190], 0x496ad8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x496ad8; 0x00422873 lea rdi, [rsp + 0xe8] | 0x0042287b mov rsi, qword [rsp + 0x380] | 0x00422883 call 0x42ad10 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00422888 cmp r15d, 0xffffffff | 0x0042288c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00422894 je 0x42289e | 0x00422896 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042289e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004228a1 je 0x4228aa | 0x004228a3 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x004228aa mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x004228ae cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004228b1 je 0x4228ba | 0x004228b3 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x004228ba mov rdi, r12 | 0x004228bd lea rsi, [rsp + 0x228] | 0x004228c5 lea rdx, [rsp + 0xe8] | 0x004228cd xor ecx, ecx | 0x004228cf call 0x42b660 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x004228d4 cmp byte [rsp + 0x89], 0 | 0x004228dc setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x004228df cmp qword [rsp + 0xb0], 1 | 0x004228e8 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x004228eb and cl, al | cl &= al; 0x004228ed movzx edi, cl | edi = (int32_t) cl; 0x004228f0 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x004228f5 mov edx, 0xe4 | edx = 0xe4; 0x004228fa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004228ff cmp r15d, 1 | | if (r15d == 1) { 0x00422903 jne 0x42291e | 0x00422905 lea rdi, [rsp + 0x108] | 0x0042290d mov rsi, qword [rsp + 0xe0] | 0x00422915 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00422919 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042291e test r13b, 1 | | if ((r13b & 1) != 0) { 0x00422922 je 0x422980 | 0x00422924 mov rdi, r12 | 0x00422927 call 0x42bb20 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x0042292c mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x00422931 mov edx, 1 | 0x00422936 lea rdi, [rsp + 0x108] | 0x0042293e lea rsi, [rsp + 0x10] | 0x00422943 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00422948 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x00422951 movaps xmm0, xmmword [rip + 0x72d38] | xmm0 = .comment; 0x00422958 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x0042295d mov rax, qword [rip + 0x2be6fc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00422964 test rax, rax | | if (rax == 0) { 0x00422967 je 0x422a27 | goto label_5; | } 0x0042296d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00422972 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x00422977 jmp 0x422a50 | goto label_6; | } 0x00422980 mov rdi, r12 | 0x00422983 mov esi, 1 | 0x00422988 call 0x42b8b0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042298d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00422992 mov edx, 1 | 0x00422997 lea rdi, [rsp + 0x108] | 0x0042299f lea rsi, [rsp + 0x10] | 0x004229a4 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004229a9 cmp r15d, 1 | | if (r15d == 1) { 0x004229ad jne 0x4229e0 | 0x004229af mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x004229b4 mov edx, 1 | 0x004229b9 lea rdi, [rsp + 0x108] | 0x004229c1 lea rsi, [rsp + 0x10] | 0x004229c6 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004229cb lea rdi, [rsp + 0x108] | 0x004229d3 mov esi, dword [rsp + 0x4c] | 0x004229d7 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x004229db call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x004229e0 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004229e8 cmp rax, 2 | | if (rax >= 2) { 0x004229ec jb 0x422a0e | 0x004229ee dec rax | rax--; 0x004229f1 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004229f9 mov rdx, rax | rdx = rax; 0x004229fc shr rdx, 6 | rdx >>= 6; 0x00422a00 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00422a04 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00422a08 jae 0x42303c | goto label_7; | } | } 0x00422a0e xor eax, eax | eax = 0; | do { 0x00422a10 movzx edi, al | edi = (int32_t) al; 0x00422a13 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00422a18 mov edx, 0x104 | edx = 0x104; 0x00422a1d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00422a22 jmp 0x422c55 | goto label_8; | label_5: 0x00422a27 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x00422a2c cmp qword [rsp + 0x30], 0x17 | 0x00422a32 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00422a37 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00422a3c je 0x422a50 | 0x00422a3e mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x00422a43 nop word cs:[rax + rax] | 0x00422a4d nop dword [rax] | | } | label_6: 0x00422a50 mov byte [rcx], 0 | *(rcx) = 0; 0x00422a53 cmp r15d, 1 | | if (r15d == 1) { 0x00422a57 jne 0x422ab1 | 0x00422a59 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x00422a5e mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x00422a67 mov esi, 0x4b2832 | 0x00422a6c mov edx, 1 | 0x00422a71 mov ecx, 0x496987 | 0x00422a76 lea rdi, [rsp + 0x10] | 0x00422a7b call 0x472610 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b2832, 1, "string<...>::assign(char*...): string too long"); 0x00422a80 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00422a85 mov edx, 1 | 0x00422a8a lea rdi, [rsp + 0x108] | 0x00422a92 lea rsi, [rsp + 0x50] | 0x00422a97 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x00422a9c lea rdi, [rsp + 0x108] | 0x00422aa4 mov esi, dword [rsp + 0x4c] | 0x00422aa8 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00422aac call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00422ab1 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00422ab9 cmp rax, 2 | | if (rax >= 2) { 0x00422abd jb 0x422adf | 0x00422abf dec rax | rax--; 0x00422ac2 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00422aca mov rdx, rax | rdx = rax; 0x00422acd shr rdx, 6 | rdx >>= 6; 0x00422ad1 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00422ad5 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00422ad9 jae 0x42304c | goto label_9; | } | } 0x00422adf xor eax, eax | eax = 0; | label_0: 0x00422ae1 xor al, 1 | al ^= 1; 0x00422ae3 movzx edi, al | edi = (int32_t) al; 0x00422ae6 mov esi, 0x496366 | esi = 0x496366; 0x00422aeb mov edx, 0xf6 | edx = 0xf6; 0x00422af0 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00422af5 mov qword [rsp + 0x50], 0x496316 | *((rsp + 0x50)) = "name"; 0x00422afe mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00422b07 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x00422b0f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00422b17 je 0x422b55 | 0x00422b19 mov rdi, qword [rsp + 0x80] | 0x00422b21 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x00422b25 mov edx, 1 | 0x00422b2a mov rsi, rsp | 0x00422b2d call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x00422b32 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x00422b3a jne 0x422b8e | goto label_10; | } 0x00422b3c mov rdi, qword [rsp + 0x80] | 0x00422b44 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x00422b48 mov edx, 1 | 0x00422b4d mov rsi, rsp | 0x00422b50 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x00422b55 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x00422b5c mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00422b64 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x00422b6c cmp eax, 1 | | if (eax == 1) { 0x00422b6f jne 0x422b9e | 0x00422b71 mov rdi, qword [rsp + 0x80] | 0x00422b79 mov esi, dword [rsp + 0xd4] | 0x00422b80 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00422b87 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x00422b8c jmp 0x422b9e | goto label_11; | label_10: 0x00422b8e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00422b96 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x00422b9e mov rdi, qword [rsp + 0x80] | 0x00422ba6 lea rsi, [rsp + 0x50] | 0x00422bab call 0x42b270 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x00422bb0 test eax, eax | | if (eax == 0) { 0x00422bb2 jne 0x422be1 | 0x00422bb4 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x00422bbc xor eax, eax | eax = 0; 0x00422bbe cmp dword [rsp + 0xcc], 1 | 0x00422bc6 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x00422bc9 mov esi, 0x4b2a43 | esi = 0x4b2a43; 0x00422bce mov ecx, 0x496983 | ecx = 0x496983; | if (*((rsp + 0xcc)) == 1) { 0x00422bd3 cmove rsi, rcx | rsi = rcx; | } 0x00422bd7 lea rdx, [rax + rax + 1] | 0x00422bdc call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x00422be1 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x00422be9 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00422bee xor edi, edi | edi = 0; 0x00422bf0 mov edx, 0xf8 | edx = 0xf8; 0x00422bf5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00422bfa mov esi, 0x49631b | 0x00422bff mov edx, 6 | 0x00422c04 lea rdi, [rsp + 0x108] | 0x00422c0c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00422c11 mov rdi, rax | 0x00422c14 lea rsi, [rsp + 0x10] | 0x00422c19 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00422c1e mov esi, 0x4b2a43 | 0x00422c23 mov edx, 1 | 0x00422c28 mov rdi, rax | 0x00422c2b call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b2a43, 1); 0x00422c30 mov rdi, rax | 0x00422c33 lea rsi, [rsp + 0x10] | 0x00422c38 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00422c3d cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00422c43 je 0x422c55 | 0x00422c45 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00422c4a mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00422c4f mov rax, qword [rdi] | rax = *(rdi); 0x00422c52 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x00422c55 cmp byte [rsp + 0x89], 0 | 0x00422c5d setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00422c60 cmp qword [rsp + 0xb0], 1 | 0x00422c69 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00422c6c and cl, al | cl &= al; 0x00422c6e movzx edi, cl | edi = (int32_t) cl; 0x00422c71 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00422c76 mov edx, 0x107 | edx = 0x107; 0x00422c7b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00422c80 mov rdi, r12 | 0x00422c83 mov rsi, qword [rsp + 0xd8] | 0x00422c8b call 0x42a4b0 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::Dateconst&) (r12, *((rsp + 0xd8))); 0x00422c90 mov r14d, eax | r14d = eax; 0x00422c93 cmp byte [rsp + 0x89], 0 | 0x00422c9b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00422c9e cmp qword [rsp + 0xb0], 1 | 0x00422ca7 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00422caa and cl, al | cl &= al; 0x00422cac movzx edi, cl | edi = (int32_t) cl; 0x00422caf mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00422cb4 mov edx, 0x10b | edx = 0x10b; 0x00422cb9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00422cbe cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00422cc6 je 0x422f40 | 0x00422ccc test r14d, r14d | | if (r14d != 0) { 0x00422ccf je 0x422db0 | 0x00422cd5 mov edi, 0x6e0ef0 | 0x00422cda mov esi, 0x4969d1 | 0x00422cdf mov edx, 4 | 0x00422ce4 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00422ce9 mov esi, 0x496984 | 0x00422cee mov edx, 2 | 0x00422cf3 mov rdi, rax | 0x00422cf6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422cfb mov rdi, rax | rdi = rax; 0x00422cfe mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00422d02 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422d07 mov esi, 0x4b29a3 | 0x00422d0c mov edx, 1 | 0x00422d11 mov rdi, rax | 0x00422d14 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00422d19 mov esi, 0x4969d6 | 0x00422d1e mov edx, 8 | 0x00422d23 mov rdi, rax | 0x00422d26 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00422d2b mov esi, 0x496984 | 0x00422d30 mov edx, 2 | 0x00422d35 mov rdi, rax | 0x00422d38 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422d3d mov rdi, rax | rdi = rax; 0x00422d40 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00422d44 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422d49 mov esi, 0x4b29a3 | 0x00422d4e mov edx, 1 | 0x00422d53 mov rdi, rax | 0x00422d56 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00422d5b mov esi, 0x4969f7 | 0x00422d60 mov edx, 2 | 0x00422d65 mov rdi, rax | 0x00422d68 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00422d6d mov esi, 0x496984 | 0x00422d72 mov edx, 2 | 0x00422d77 mov rdi, rax | 0x00422d7a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422d7f mov rdi, rax | rdi = rax; 0x00422d82 mov esi, r14d | esi = r14d; 0x00422d85 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422d8a mov esi, 0x4967e3 | 0x00422d8f mov edx, 1 | 0x00422d94 mov rdi, rax | 0x00422d97 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00422d9c mov esi, 0x4969df | esi = "0 == rc"; 0x00422da1 mov edi, 1 | edi = 1; 0x00422da6 mov edx, 0x10e | edx = 0x10e; 0x00422dab call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00422db0 mov dword [rsp], 3 | *(rsp) = 3; 0x00422db7 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00422dbf mov esi, dword [rax + 8] | 0x00422dc2 mov rdi, rsp | 0x00422dc5 call 0x441a90 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00422dca lea rdi, [rsp + 0x10] | 0x00422dcf mov esi, 0x27 | 0x00422dd4 mov rdx, qword [rsp + 0xd8] | 0x00422ddc mov rcx, rsp | rcx = rsp; 0x00422ddf call 0x43e5a0 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::Dateconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8))); 0x00422de4 lea rdi, [rsp + 0x10] | 0x00422de9 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00422dee call 0x404440 | rax = strlen (rsp + 0x10); 0x00422df3 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00422df8 lea rdi, [rsp + 0x108] | 0x00422e00 lea rsi, [rsp + 0x50] | 0x00422e05 call 0x42b270 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00422e0a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00422e12 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00422e16 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00422e1e je 0x422ebe | 0x00422e24 mov edi, 0x6e0ef0 | 0x00422e29 mov esi, 0x4969d1 | 0x00422e2e mov edx, 4 | 0x00422e33 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00422e38 mov esi, 0x496984 | 0x00422e3d mov edx, 2 | 0x00422e42 mov rdi, rax | 0x00422e45 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422e4a mov rdi, rax | rdi = rax; 0x00422e4d mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00422e51 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422e56 mov esi, 0x4b29a3 | 0x00422e5b mov edx, 1 | 0x00422e60 mov rdi, rax | 0x00422e63 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00422e68 mov esi, 0x4969d6 | 0x00422e6d mov edx, 8 | 0x00422e72 mov rdi, rax | 0x00422e75 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00422e7a mov esi, 0x496984 | 0x00422e7f mov edx, 2 | 0x00422e84 mov rdi, rax | 0x00422e87 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422e8c mov rdi, rax | rdi = rax; 0x00422e8f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00422e93 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422e98 mov esi, 0x4967e3 | 0x00422e9d mov edx, 1 | 0x00422ea2 mov rdi, rax | 0x00422ea5 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00422eaa mov esi, 0x4969e7 | esi = "exp.good()"; 0x00422eaf mov edi, 1 | edi = 1; 0x00422eb4 mov edx, 0x111 | edx = 0x111; 0x00422eb9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00422ebe lea rdi, [rsp + 0x10] | 0x00422ec3 lea rsi, [rsp + 0x230] | 0x00422ecb call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00422ed0 lea rdi, [rsp + 0x50] | 0x00422ed5 lea rsi, [rsp + 0x110] | 0x00422edd call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00422ee2 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00422ee7 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00422eec jne 0x423030 | goto label_12; | } 0x00422ef2 test rdx, rdx | | if (rdx == 0) { 0x00422ef5 je 0x42305c | goto label_13; | } 0x00422efb cmp qword [rsp + 0x70], 0x17 | 0x00422f01 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00422f06 je 0x422f0d | 0x00422f08 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00422f0d cmp qword [rsp + 0x30], 0x17 | 0x00422f13 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00422f18 je 0x422f1f | 0x00422f1a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00422f1f call 0x404590 | eax = bcmp (); 0x00422f24 test eax, eax | 0x00422f26 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00422f2a cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00422f30 jne 0x423070 | goto label_14; | } 0x00422f36 jmp 0x423080 | goto label_15; | } 0x00422f40 test r14d, r14d | | if (r14d != 0) { 0x00422f43 jne 0x42321d | goto label_16; | } 0x00422f49 mov edi, 0x6e0ef0 | 0x00422f4e mov esi, 0x4969d1 | 0x00422f53 mov edx, 4 | 0x00422f58 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00422f5d mov esi, 0x496984 | 0x00422f62 mov edx, 2 | 0x00422f67 mov rdi, rax | 0x00422f6a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422f6f mov rdi, rax | rdi = rax; 0x00422f72 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00422f76 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422f7b mov esi, 0x4b29a3 | 0x00422f80 mov edx, 1 | 0x00422f85 mov rdi, rax | 0x00422f88 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00422f8d mov esi, 0x4969d6 | 0x00422f92 mov edx, 8 | 0x00422f97 mov rdi, rax | 0x00422f9a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00422f9f mov esi, 0x496984 | 0x00422fa4 mov edx, 2 | 0x00422fa9 mov rdi, rax | 0x00422fac call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422fb1 mov rdi, rax | rdi = rax; 0x00422fb4 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00422fb8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422fbd mov esi, 0x4b29a3 | 0x00422fc2 mov edx, 1 | 0x00422fc7 mov rdi, rax | 0x00422fca call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00422fcf mov esi, 0x4969f7 | 0x00422fd4 mov edx, 2 | 0x00422fd9 mov rdi, rax | 0x00422fdc call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00422fe1 mov esi, 0x496984 | 0x00422fe6 mov edx, 2 | 0x00422feb mov rdi, rax | 0x00422fee call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00422ff3 mov rdi, rax | rdi = rax; 0x00422ff6 xor esi, esi | esi = 0; 0x00422ff8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00422ffd mov esi, 0x4967e3 | 0x00423002 mov edx, 1 | 0x00423007 mov rdi, rax | 0x0042300a call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x0042300f mov esi, 0x4969f2 | esi = "0 != rc"; 0x00423014 mov edi, 1 | edi = 1; 0x00423019 mov edx, 0x117 | edx = 0x117; 0x0042301e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423023 jmp 0x42321d | goto label_16; | label_12: 0x00423030 xor ebp, ebp | ebp = 0; 0x00423032 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00423038 jne 0x423070 | goto label_14; | } 0x0042303a jmp 0x423080 | goto label_15; | label_7: 0x0042303c cmp byte [rsp + 0x8a], 0 | 0x00423044 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00423047 jmp 0x422a10 | | } while (1); | label_9: 0x0042304c cmp byte [rsp + 0x8a], 0 | 0x00423054 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00423057 jmp 0x422ae1 | goto label_0; | label_13: 0x0042305c mov bpl, 1 | bpl = 1; 0x0042305f cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00423065 je 0x423080 | 0x00423067 nop word [rax + rax] | | label_14: 0x00423070 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00423075 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x0042307a mov rax, qword [rdi] | rax = *(rdi); 0x0042307d call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00423080 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00423086 je 0x423098 | 0x00423088 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x0042308d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00423092 mov rax, qword [rdi] | rax = *(rdi); 0x00423095 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00423098 test bpl, bpl | | if (bpl == 0) { 0x0042309b jne 0x42321d | 0x004230a1 mov edi, 0x6e0ef0 | 0x004230a6 mov esi, 0x4969d1 | 0x004230ab mov edx, 4 | 0x004230b0 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x004230b5 mov esi, 0x496984 | 0x004230ba mov edx, 2 | 0x004230bf mov rdi, rax | 0x004230c2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x004230c7 mov rdi, rax | rdi = rax; 0x004230ca mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x004230ce call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x004230d3 mov esi, 0x4b29a3 | 0x004230d8 mov edx, 1 | 0x004230dd mov rdi, rax | 0x004230e0 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x004230e5 mov esi, 0x4969d6 | 0x004230ea mov edx, 8 | 0x004230ef mov rdi, rax | 0x004230f2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x004230f7 mov esi, 0x496984 | 0x004230fc mov edx, 2 | 0x00423101 mov rdi, rax | 0x00423104 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423109 mov rdi, rax | rdi = rax; 0x0042310c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00423110 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423115 mov esi, 0x4b29a3 | 0x0042311a mov edx, 1 | 0x0042311f mov rdi, rax | 0x00423122 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423127 mov esi, 0x495f4f | 0x0042312c mov edx, 8 | 0x00423131 mov rdi, rax | 0x00423134 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x495f4f, 8); 0x00423139 mov esi, 0x496984 | 0x0042313e mov edx, 2 | 0x00423143 mov rdi, rax | 0x00423146 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x0042314b mov rbp, rax | 0x0042314e lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x00423153 mov rdi, rbx | 0x00423156 lea rsi, [rsp + 0x230] | 0x0042315e call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x00423163 mov rdi, rbp | 0x00423166 mov rsi, rbx | 0x00423169 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x0042316e mov esi, 0x4b29a3 | 0x00423173 mov edx, 1 | 0x00423178 mov rdi, rax | 0x0042317b call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423180 mov esi, 0x496333 | 0x00423185 mov edx, 9 | 0x0042318a mov rdi, rax | 0x0042318d call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496333, 9); 0x00423192 mov esi, 0x496984 | 0x00423197 mov edx, 2 | 0x0042319c mov rdi, rax | 0x0042319f call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x004231a4 mov rbp, rax | 0x004231a7 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x004231ac mov rdi, rbx | 0x004231af lea rsi, [rsp + 0x110] | 0x004231b7 call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x004231bc mov rdi, rbp | 0x004231bf mov rsi, rbx | 0x004231c2 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x004231c7 mov esi, 0x4967e3 | 0x004231cc mov edx, 1 | 0x004231d1 mov rdi, rax | 0x004231d4 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x004231d9 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x004231df je 0x4231f1 | 0x004231e1 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x004231e6 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x004231eb mov rax, qword [rdi] | rax = *(rdi); 0x004231ee call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004231f1 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x004231f7 je 0x423209 | 0x004231f9 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x004231fe mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00423203 mov rax, qword [rdi] | rax = *(rdi); 0x00423206 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00423209 mov esi, 0x496327 | esi = "os.str() == exp.str()"; 0x0042320e mov edi, 1 | edi = 1; 0x00423213 mov edx, 0x114 | edx = 0x114; 0x00423218 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x0042321d test r13b, 1 | | if ((r13b & 1) != 0) { 0x00423221 je 0x423230 | 0x00423223 mov rdi, r12 | 0x00423226 call 0x42b820 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x0042322b jmp 0x42323d | | } else { 0x00423230 mov rdi, r12 | 0x00423233 mov esi, 1 | 0x00423238 call 0x42b780 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x0042323d mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00423245 cmp rax, 2 | | if (rax >= 2) { 0x00423249 jb 0x42326b | 0x0042324b dec rax | rax--; 0x0042324e mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00423256 mov rdx, rax | rdx = rax; 0x00423259 shr rdx, 6 | rdx >>= 6; 0x0042325d mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00423261 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00423265 jae 0x42336c | goto label_17; | } | } 0x0042326b xor eax, eax | eax = 0; | label_2: 0x0042326d movzx edi, al | edi = (int32_t) al; 0x00423270 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00423275 mov edx, 0x123 | edx = 0x123; 0x0042327a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042327f cmp byte [rsp + 0x89], 0 | 0x00423287 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042328a cmp qword [rsp + 0xb0], 1 | 0x00423293 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00423296 or cl, al | cl |= al; 0x00423298 movzx edi, cl | edi = (int32_t) cl; 0x0042329b mov esi, 0x4962b2 | esi = 0x4962b2; 0x004232a0 mov edx, 0x124 | edx = 0x124; 0x004232a5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004232aa mov rdi, r12 | 0x004232ad call 0x42b760 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x004232b2 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x004232ba call 0x42ad50 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x004232bf mov esi, 0x496af0 | esi = 0x496af0; 0x004232c4 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x004232cc call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004232d1 mov qword [rsp + 0x110], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x004232dd cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x004232e6 je 0x4232fe | 0x004232e8 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x004232f0 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x004232f8 mov rax, qword [rdi] | rax = *(rdi); 0x004232fb call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004232fe mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042330a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00423312 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00423317 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042331f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00423324 mov esi, 0x496af0 | esi = 0x496af0; 0x00423329 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x00423331 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00423336 mov qword [rsp + 0x230], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x00423342 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x0042334b je 0x422710 | goto label_1; | } 0x00423351 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x00423359 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x00423361 mov rax, qword [rdi] | rax = *(rdi); 0x00423364 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x00423367 jmp 0x422710 | goto label_1; | label_17: 0x0042336c cmp byte [rsp + 0x8a], 0 | 0x00423374 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00423377 jmp 0x42326d | goto label_2; | label_4: 0x0042337c add rsp, 0x348 | 0x00423383 pop rbx | 0x00423384 pop r12 | 0x00423386 pop r13 | 0x00423388 pop r14 | 0x0042338a pop r15 | 0x0042338c pop rbp | 0x0042338d ret | return rax; | }