; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/none @ 0x4264c0 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.TimeTz__int__int__int__int__int__BloombergLP::bdlt::TimeTz_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_TimeTz_int_int_int_int_int_BloombergLP::bdlt::TimeTz_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::TimeTz const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x004264c0 push rbp | 0x004264c1 push r15 | 0x004264c3 push r14 | 0x004264c5 push r13 | 0x004264c7 push r12 | 0x004264c9 push rbx | 0x004264ca sub rsp, 0x348 | 0x004264d1 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x004264d9 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x004264de mov r15d, edx | r15d = edx; 0x004264e1 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x004264e5 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x004264e9 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x004264f1 lea eax, [rcx + 1] | eax = rcx + 1; 0x004264f4 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x004264f8 mov r13b, 1 | r13b = 1; 0x004264fb lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00426503 jmp 0x426546 | goto label_3; | label_1: 0x00426510 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042651c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x00426524 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00426529 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00426531 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00426536 test r13b, 1 | 0x0042653a mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x00426540 je 0x42717c | goto label_4; | } | label_3: 0x00426546 mov rax, qword [rip + 0x2bbb13] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042654d test rax, rax | | if (rax == 0) { 0x00426550 jne 0x426557 | 0x00426552 call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00426557 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x0042655f mov qword [rsp + 0x2b0], 0x6d7ca0 | *((rsp + 0x2b0)) = 0x6d7ca0; 0x0042656b lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x00426573 mov rdi, rbp | 0x00426576 mov esi, 0x10 | 0x0042657b lea rdx, [rsp + 0x108] | 0x00426583 call 0x4294f0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00426588 mov qword [rsp + 0x228], 0x497530 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497530; 0x00426594 mov qword [rsp + 0x2b0], 0x497558 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497558; 0x004265a0 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004265a8 mov rsi, rbp | rsi = rbp; 0x004265ab call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004265b0 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x004265bc mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x004265c7 mov qword [rsp + 0x228], 0x4974c0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x4974c0; 0x004265d3 mov qword [rsp + 0x2b0], 0x4974e8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x4974e8; 0x004265df mov rax, qword [rip + 0x2bba7a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004265e6 test rax, rax | | if (rax == 0) { 0x004265e9 jne 0x4265f0 | 0x004265eb call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004265f0 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x004265f8 mov qword [rsp + 0x190], 0x6d7ca0 | *((rsp + 0x190)) = 0x6d7ca0; 0x00426604 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042660c mov rdi, rbp | 0x0042660f mov esi, 0x10 | 0x00426614 mov rdx, r12 | 0x00426617 call 0x4294f0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042661c mov qword [rsp + 0x108], 0x497530 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497530; 0x00426628 mov qword [rsp + 0x190], 0x497558 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497558; 0x00426634 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042663c mov rsi, rbp | rsi = rbp; 0x0042663f call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00426644 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x00426650 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x0042665b mov qword [rsp + 0x108], 0x4974c0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x4974c0; 0x00426667 mov qword [rsp + 0x190], 0x4974e8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x4974e8; 0x00426673 lea rdi, [rsp + 0xe8] | 0x0042667b mov rsi, qword [rsp + 0x380] | 0x00426683 call 0x42ad20 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00426688 cmp r15d, 0xffffffff | 0x0042668c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00426694 je 0x42669e | 0x00426696 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042669e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004266a1 je 0x4266aa | 0x004266a3 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x004266aa mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x004266ae cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004266b1 je 0x4266ba | 0x004266b3 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x004266ba mov rdi, r12 | 0x004266bd lea rsi, [rsp + 0x228] | 0x004266c5 lea rdx, [rsp + 0xe8] | 0x004266cd xor ecx, ecx | 0x004266cf call 0x42b670 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x004266d4 cmp byte [rsp + 0x89], 0 | 0x004266dc setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x004266df cmp qword [rsp + 0xb0], 1 | 0x004266e8 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x004266eb and cl, al | cl &= al; 0x004266ed movzx edi, cl | edi = (int32_t) cl; 0x004266f0 mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x004266f5 mov edx, 0xe4 | edx = 0xe4; 0x004266fa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004266ff cmp r15d, 1 | | if (r15d == 1) { 0x00426703 jne 0x42671e | 0x00426705 lea rdi, [rsp + 0x108] | 0x0042670d mov rsi, qword [rsp + 0xe0] | 0x00426715 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00426719 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042671e test r13b, 1 | | if ((r13b & 1) != 0) { 0x00426722 je 0x426780 | 0x00426724 mov rdi, r12 | 0x00426727 call 0x42bb30 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x0042672c mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x00426731 mov edx, 1 | 0x00426736 lea rdi, [rsp + 0x108] | 0x0042673e lea rsi, [rsp + 0x10] | 0x00426743 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00426748 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x00426751 movaps xmm0, xmmword [rip + 0x6f948] | xmm0 = .comment; 0x00426758 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x0042675d mov rax, qword [rip + 0x2bb8fc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00426764 test rax, rax | | if (rax == 0) { 0x00426767 je 0x426827 | goto label_5; | } 0x0042676d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00426772 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x00426777 jmp 0x426850 | goto label_6; | } 0x00426780 mov rdi, r12 | 0x00426783 mov esi, 1 | 0x00426788 call 0x42b8c0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042678d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00426792 mov edx, 1 | 0x00426797 lea rdi, [rsp + 0x108] | 0x0042679f lea rsi, [rsp + 0x10] | 0x004267a4 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004267a9 cmp r15d, 1 | | if (r15d == 1) { 0x004267ad jne 0x4267e0 | 0x004267af mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x004267b4 mov edx, 1 | 0x004267b9 lea rdi, [rsp + 0x108] | 0x004267c1 lea rsi, [rsp + 0x10] | 0x004267c6 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004267cb lea rdi, [rsp + 0x108] | 0x004267d3 mov esi, dword [rsp + 0x4c] | 0x004267d7 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x004267db call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x004267e0 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004267e8 cmp rax, 2 | | if (rax >= 2) { 0x004267ec jb 0x42680e | 0x004267ee dec rax | rax--; 0x004267f1 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004267f9 mov rdx, rax | rdx = rax; 0x004267fc shr rdx, 6 | rdx >>= 6; 0x00426800 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00426804 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00426808 jae 0x426e3c | goto label_7; | } | } 0x0042680e xor eax, eax | eax = 0; | do { 0x00426810 movzx edi, al | edi = (int32_t) al; 0x00426813 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x00426818 mov edx, 0x104 | edx = 0x104; 0x0042681d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00426822 jmp 0x426a55 | goto label_8; | label_5: 0x00426827 call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0042682c cmp qword [rsp + 0x30], 0x17 | 0x00426832 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00426837 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x0042683c je 0x426850 | 0x0042683e mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x00426843 nop word cs:[rax + rax] | 0x0042684d nop dword [rax] | | } | label_6: 0x00426850 mov byte [rcx], 0 | *(rcx) = 0; 0x00426853 cmp r15d, 1 | | if (r15d == 1) { 0x00426857 jne 0x4268b1 | 0x00426859 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x0042685e mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x00426867 mov esi, 0x4b3332 | 0x0042686c mov edx, 1 | 0x00426871 mov ecx, 0x497391 | 0x00426876 lea rdi, [rsp + 0x10] | 0x0042687b call 0x473000 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b3332, 1, "string<...>::assign(char*...): string too long"); 0x00426880 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00426885 mov edx, 1 | 0x0042688a lea rdi, [rsp + 0x108] | 0x00426892 lea rsi, [rsp + 0x50] | 0x00426897 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x0042689c lea rdi, [rsp + 0x108] | 0x004268a4 mov esi, dword [rsp + 0x4c] | 0x004268a8 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x004268ac call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x004268b1 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004268b9 cmp rax, 2 | | if (rax >= 2) { 0x004268bd jb 0x4268df | 0x004268bf dec rax | rax--; 0x004268c2 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004268ca mov rdx, rax | rdx = rax; 0x004268cd shr rdx, 6 | rdx >>= 6; 0x004268d1 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x004268d5 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x004268d9 jae 0x426e4c | goto label_9; | } | } 0x004268df xor eax, eax | eax = 0; | label_0: 0x004268e1 xor al, 1 | al ^= 1; 0x004268e3 movzx edi, al | edi = (int32_t) al; 0x004268e6 mov esi, 0x496d74 | esi = 0x496d74; 0x004268eb mov edx, 0xf6 | edx = 0xf6; 0x004268f0 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004268f5 mov qword [rsp + 0x50], 0x496d24 | *((rsp + 0x50)) = "name"; 0x004268fe mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00426907 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x0042690f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00426917 je 0x426955 | 0x00426919 mov rdi, qword [rsp + 0x80] | 0x00426921 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x00426925 mov edx, 1 | 0x0042692a mov rsi, rsp | 0x0042692d call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x00426932 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x0042693a jne 0x42698e | goto label_10; | } 0x0042693c mov rdi, qword [rsp + 0x80] | 0x00426944 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x00426948 mov edx, 1 | 0x0042694d mov rsi, rsp | 0x00426950 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x00426955 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x0042695c mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00426964 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x0042696c cmp eax, 1 | | if (eax == 1) { 0x0042696f jne 0x42699e | 0x00426971 mov rdi, qword [rsp + 0x80] | 0x00426979 mov esi, dword [rsp + 0xd4] | 0x00426980 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00426987 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x0042698c jmp 0x42699e | goto label_11; | label_10: 0x0042698e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00426996 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x0042699e mov rdi, qword [rsp + 0x80] | 0x004269a6 lea rsi, [rsp + 0x50] | 0x004269ab call 0x42b280 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x004269b0 test eax, eax | | if (eax == 0) { 0x004269b2 jne 0x4269e1 | 0x004269b4 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x004269bc xor eax, eax | eax = 0; 0x004269be cmp dword [rsp + 0xcc], 1 | 0x004269c6 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x004269c9 mov esi, 0x4b3543 | esi = 0x4b3543; 0x004269ce mov ecx, 0x49738d | ecx = 0x49738d; | if (*((rsp + 0xcc)) == 1) { 0x004269d3 cmove rsi, rcx | rsi = rcx; | } 0x004269d7 lea rdx, [rax + rax + 1] | 0x004269dc call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x004269e1 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x004269e9 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x004269ee xor edi, edi | edi = 0; 0x004269f0 mov edx, 0xf8 | edx = 0xf8; 0x004269f5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004269fa mov esi, 0x496d29 | 0x004269ff mov edx, 6 | 0x00426a04 lea rdi, [rsp + 0x108] | 0x00426a0c call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00426a11 mov rdi, rax | 0x00426a14 lea rsi, [rsp + 0x10] | 0x00426a19 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00426a1e mov esi, 0x4b3543 | 0x00426a23 mov edx, 1 | 0x00426a28 mov rdi, rax | 0x00426a2b call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b3543, 1); 0x00426a30 mov rdi, rax | 0x00426a33 lea rsi, [rsp + 0x10] | 0x00426a38 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00426a3d cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00426a43 je 0x426a55 | 0x00426a45 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00426a4a mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00426a4f mov rax, qword [rdi] | rax = *(rdi); 0x00426a52 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x00426a55 cmp byte [rsp + 0x89], 0 | 0x00426a5d setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00426a60 cmp qword [rsp + 0xb0], 1 | 0x00426a69 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00426a6c and cl, al | cl &= al; 0x00426a6e movzx edi, cl | edi = (int32_t) cl; 0x00426a71 mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x00426a76 mov edx, 0x107 | edx = 0x107; 0x00426a7b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00426a80 mov rdi, r12 | 0x00426a83 mov rsi, qword [rsp + 0xd8] | 0x00426a8b call 0x42a940 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::TimeTzconst&) (r12, *((rsp + 0xd8))); 0x00426a90 mov r14d, eax | r14d = eax; 0x00426a93 cmp byte [rsp + 0x89], 0 | 0x00426a9b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00426a9e cmp qword [rsp + 0xb0], 1 | 0x00426aa7 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00426aaa and cl, al | cl &= al; 0x00426aac movzx edi, cl | edi = (int32_t) cl; 0x00426aaf mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x00426ab4 mov edx, 0x10b | edx = 0x10b; 0x00426ab9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00426abe cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00426ac6 je 0x426d40 | 0x00426acc test r14d, r14d | | if (r14d != 0) { 0x00426acf je 0x426bb0 | 0x00426ad5 mov edi, 0x6e1ef0 | 0x00426ada mov esi, 0x4973db | 0x00426adf mov edx, 4 | 0x00426ae4 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00426ae9 mov esi, 0x49738e | 0x00426aee mov edx, 2 | 0x00426af3 mov rdi, rax | 0x00426af6 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426afb mov rdi, rax | rdi = rax; 0x00426afe mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00426b02 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426b07 mov esi, 0x4b34a3 | 0x00426b0c mov edx, 1 | 0x00426b11 mov rdi, rax | 0x00426b14 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426b19 mov esi, 0x4973e0 | 0x00426b1e mov edx, 8 | 0x00426b23 mov rdi, rax | 0x00426b26 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00426b2b mov esi, 0x49738e | 0x00426b30 mov edx, 2 | 0x00426b35 mov rdi, rax | 0x00426b38 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426b3d mov rdi, rax | rdi = rax; 0x00426b40 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00426b44 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426b49 mov esi, 0x4b34a3 | 0x00426b4e mov edx, 1 | 0x00426b53 mov rdi, rax | 0x00426b56 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426b5b mov esi, 0x497401 | 0x00426b60 mov edx, 2 | 0x00426b65 mov rdi, rax | 0x00426b68 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x497401, 2); 0x00426b6d mov esi, 0x49738e | 0x00426b72 mov edx, 2 | 0x00426b77 mov rdi, rax | 0x00426b7a call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426b7f mov rdi, rax | rdi = rax; 0x00426b82 mov esi, r14d | esi = r14d; 0x00426b85 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426b8a mov esi, 0x4971f1 | 0x00426b8f mov edx, 1 | 0x00426b94 mov rdi, rax | 0x00426b97 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00426b9c mov esi, 0x4973e9 | esi = "0 == rc"; 0x00426ba1 mov edi, 1 | edi = 1; 0x00426ba6 mov edx, 0x10e | edx = 0x10e; 0x00426bab call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00426bb0 mov dword [rsp], 3 | *(rsp) = 3; 0x00426bb7 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00426bbf mov esi, dword [rax + 8] | 0x00426bc2 mov rdi, rsp | 0x00426bc5 call 0x442440 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00426bca lea rdi, [rsp + 0x10] | 0x00426bcf mov esi, 0x27 | 0x00426bd4 mov rdx, qword [rsp + 0xd8] | 0x00426bdc mov rcx, rsp | 0x00426bdf call 0x440270 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::TimeTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8)), rsp); 0x00426be4 lea rdi, [rsp + 0x10] | 0x00426be9 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00426bee call 0x404440 | rax = strlen (rsp + 0x10); 0x00426bf3 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00426bf8 lea rdi, [rsp + 0x108] | 0x00426c00 lea rsi, [rsp + 0x50] | 0x00426c05 call 0x42b280 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00426c0a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00426c12 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00426c16 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00426c1e je 0x426cbe | 0x00426c24 mov edi, 0x6e1ef0 | 0x00426c29 mov esi, 0x4973db | 0x00426c2e mov edx, 4 | 0x00426c33 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00426c38 mov esi, 0x49738e | 0x00426c3d mov edx, 2 | 0x00426c42 mov rdi, rax | 0x00426c45 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426c4a mov rdi, rax | rdi = rax; 0x00426c4d mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00426c51 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426c56 mov esi, 0x4b34a3 | 0x00426c5b mov edx, 1 | 0x00426c60 mov rdi, rax | 0x00426c63 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426c68 mov esi, 0x4973e0 | 0x00426c6d mov edx, 8 | 0x00426c72 mov rdi, rax | 0x00426c75 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00426c7a mov esi, 0x49738e | 0x00426c7f mov edx, 2 | 0x00426c84 mov rdi, rax | 0x00426c87 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426c8c mov rdi, rax | rdi = rax; 0x00426c8f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00426c93 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426c98 mov esi, 0x4971f1 | 0x00426c9d mov edx, 1 | 0x00426ca2 mov rdi, rax | 0x00426ca5 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00426caa mov esi, 0x4973f1 | esi = "exp.good()"; 0x00426caf mov edi, 1 | edi = 1; 0x00426cb4 mov edx, 0x111 | edx = 0x111; 0x00426cb9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00426cbe lea rdi, [rsp + 0x10] | 0x00426cc3 lea rsi, [rsp + 0x230] | 0x00426ccb call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00426cd0 lea rdi, [rsp + 0x50] | 0x00426cd5 lea rsi, [rsp + 0x110] | 0x00426cdd call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00426ce2 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00426ce7 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00426cec jne 0x426e30 | goto label_12; | } 0x00426cf2 test rdx, rdx | | if (rdx == 0) { 0x00426cf5 je 0x426e5c | goto label_13; | } 0x00426cfb cmp qword [rsp + 0x70], 0x17 | 0x00426d01 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00426d06 je 0x426d0d | 0x00426d08 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00426d0d cmp qword [rsp + 0x30], 0x17 | 0x00426d13 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00426d18 je 0x426d1f | 0x00426d1a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00426d1f call 0x404590 | eax = bcmp (); 0x00426d24 test eax, eax | 0x00426d26 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00426d2a cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00426d30 jne 0x426e70 | goto label_14; | } 0x00426d36 jmp 0x426e80 | goto label_15; | } 0x00426d40 test r14d, r14d | | if (r14d != 0) { 0x00426d43 jne 0x42701d | goto label_16; | } 0x00426d49 mov edi, 0x6e1ef0 | 0x00426d4e mov esi, 0x4973db | 0x00426d53 mov edx, 4 | 0x00426d58 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00426d5d mov esi, 0x49738e | 0x00426d62 mov edx, 2 | 0x00426d67 mov rdi, rax | 0x00426d6a call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426d6f mov rdi, rax | rdi = rax; 0x00426d72 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00426d76 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426d7b mov esi, 0x4b34a3 | 0x00426d80 mov edx, 1 | 0x00426d85 mov rdi, rax | 0x00426d88 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426d8d mov esi, 0x4973e0 | 0x00426d92 mov edx, 8 | 0x00426d97 mov rdi, rax | 0x00426d9a call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00426d9f mov esi, 0x49738e | 0x00426da4 mov edx, 2 | 0x00426da9 mov rdi, rax | 0x00426dac call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426db1 mov rdi, rax | rdi = rax; 0x00426db4 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00426db8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426dbd mov esi, 0x4b34a3 | 0x00426dc2 mov edx, 1 | 0x00426dc7 mov rdi, rax | 0x00426dca call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426dcf mov esi, 0x497401 | 0x00426dd4 mov edx, 2 | 0x00426dd9 mov rdi, rax | 0x00426ddc call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x497401, 2); 0x00426de1 mov esi, 0x49738e | 0x00426de6 mov edx, 2 | 0x00426deb mov rdi, rax | 0x00426dee call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426df3 mov rdi, rax | rdi = rax; 0x00426df6 xor esi, esi | esi = 0; 0x00426df8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426dfd mov esi, 0x4971f1 | 0x00426e02 mov edx, 1 | 0x00426e07 mov rdi, rax | 0x00426e0a call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00426e0f mov esi, 0x4973fc | esi = "0 != rc"; 0x00426e14 mov edi, 1 | edi = 1; 0x00426e19 mov edx, 0x117 | edx = 0x117; 0x00426e1e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00426e23 jmp 0x42701d | goto label_16; | label_12: 0x00426e30 xor ebp, ebp | ebp = 0; 0x00426e32 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00426e38 jne 0x426e70 | goto label_14; | } 0x00426e3a jmp 0x426e80 | goto label_15; | label_7: 0x00426e3c cmp byte [rsp + 0x8a], 0 | 0x00426e44 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00426e47 jmp 0x426810 | | } while (1); | label_9: 0x00426e4c cmp byte [rsp + 0x8a], 0 | 0x00426e54 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00426e57 jmp 0x4268e1 | goto label_0; | label_13: 0x00426e5c mov bpl, 1 | bpl = 1; 0x00426e5f cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00426e65 je 0x426e80 | 0x00426e67 nop word [rax + rax] | | label_14: 0x00426e70 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00426e75 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00426e7a mov rax, qword [rdi] | rax = *(rdi); 0x00426e7d call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00426e80 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00426e86 je 0x426e98 | 0x00426e88 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00426e8d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00426e92 mov rax, qword [rdi] | rax = *(rdi); 0x00426e95 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00426e98 test bpl, bpl | | if (bpl == 0) { 0x00426e9b jne 0x42701d | 0x00426ea1 mov edi, 0x6e1ef0 | 0x00426ea6 mov esi, 0x4973db | 0x00426eab mov edx, 4 | 0x00426eb0 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (obj.std::__1::cout, "line", 4); 0x00426eb5 mov esi, 0x49738e | 0x00426eba mov edx, 2 | 0x00426ebf mov rdi, rax | 0x00426ec2 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426ec7 mov rdi, rax | rdi = rax; 0x00426eca mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00426ece call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426ed3 mov esi, 0x4b34a3 | 0x00426ed8 mov edx, 1 | 0x00426edd mov rdi, rax | 0x00426ee0 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426ee5 mov esi, 0x4973e0 | 0x00426eea mov edx, 8 | 0x00426eef mov rdi, rax | 0x00426ef2 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00426ef7 mov esi, 0x49738e | 0x00426efc mov edx, 2 | 0x00426f01 mov rdi, rax | 0x00426f04 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426f09 mov rdi, rax | rdi = rax; 0x00426f0c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00426f10 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00426f15 mov esi, 0x4b34a3 | 0x00426f1a mov edx, 1 | 0x00426f1f mov rdi, rax | 0x00426f22 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426f27 mov esi, 0x49695d | 0x00426f2c mov edx, 8 | 0x00426f31 mov rdi, rax | 0x00426f34 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49695d, 8); 0x00426f39 mov esi, 0x49738e | 0x00426f3e mov edx, 2 | 0x00426f43 mov rdi, rax | 0x00426f46 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426f4b mov rbp, rax | 0x00426f4e lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x00426f53 mov rdi, rbx | 0x00426f56 lea rsi, [rsp + 0x230] | 0x00426f5e call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x00426f63 mov rdi, rbp | 0x00426f66 mov rsi, rbx | 0x00426f69 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00426f6e mov esi, 0x4b34a3 | 0x00426f73 mov edx, 1 | 0x00426f78 mov rdi, rax | 0x00426f7b call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426f80 mov esi, 0x496d41 | 0x00426f85 mov edx, 9 | 0x00426f8a mov rdi, rax | 0x00426f8d call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496d41, 9); 0x00426f92 mov esi, 0x49738e | 0x00426f97 mov edx, 2 | 0x00426f9c mov rdi, rax | 0x00426f9f call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426fa4 mov rbp, rax | 0x00426fa7 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x00426fac mov rdi, rbx | 0x00426faf lea rsi, [rsp + 0x110] | 0x00426fb7 call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x00426fbc mov rdi, rbp | 0x00426fbf mov rsi, rbx | 0x00426fc2 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00426fc7 mov esi, 0x4971f1 | 0x00426fcc mov edx, 1 | 0x00426fd1 mov rdi, rax | 0x00426fd4 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00426fd9 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00426fdf je 0x426ff1 | 0x00426fe1 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00426fe6 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00426feb mov rax, qword [rdi] | rax = *(rdi); 0x00426fee call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00426ff1 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00426ff7 je 0x427009 | 0x00426ff9 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00426ffe mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00427003 mov rax, qword [rdi] | rax = *(rdi); 0x00427006 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00427009 mov esi, 0x496d35 | esi = "os.str() == exp.str()"; 0x0042700e mov edi, 1 | edi = 1; 0x00427013 mov edx, 0x114 | edx = 0x114; 0x00427018 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x0042701d test r13b, 1 | | if ((r13b & 1) != 0) { 0x00427021 je 0x427030 | 0x00427023 mov rdi, r12 | 0x00427026 call 0x42b830 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x0042702b jmp 0x42703d | | } else { 0x00427030 mov rdi, r12 | 0x00427033 mov esi, 1 | 0x00427038 call 0x42b790 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x0042703d mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00427045 cmp rax, 2 | | if (rax >= 2) { 0x00427049 jb 0x42706b | 0x0042704b dec rax | rax--; 0x0042704e mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00427056 mov rdx, rax | rdx = rax; 0x00427059 shr rdx, 6 | rdx >>= 6; 0x0042705d mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00427061 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00427065 jae 0x42716c | goto label_17; | } | } 0x0042706b xor eax, eax | eax = 0; | label_2: 0x0042706d movzx edi, al | edi = (int32_t) al; 0x00427070 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x00427075 mov edx, 0x123 | edx = 0x123; 0x0042707a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042707f cmp byte [rsp + 0x89], 0 | 0x00427087 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042708a cmp qword [rsp + 0xb0], 1 | 0x00427093 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00427096 or cl, al | cl |= al; 0x00427098 movzx edi, cl | edi = (int32_t) cl; 0x0042709b mov esi, 0x496cc0 | esi = 0x496cc0; 0x004270a0 mov edx, 0x124 | edx = 0x124; 0x004270a5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004270aa mov rdi, r12 | 0x004270ad call 0x42b770 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x004270b2 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x004270ba call 0x42ad60 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x004270bf mov esi, 0x497500 | esi = 0x497500; 0x004270c4 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x004270cc call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004270d1 mov qword [rsp + 0x110], 0x497650 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x497650; 0x004270dd cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x004270e6 je 0x4270fe | 0x004270e8 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x004270f0 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x004270f8 mov rax, qword [rdi] | rax = *(rdi); 0x004270fb call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004270fe mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042710a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00427112 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00427117 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042711f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00427124 mov esi, 0x497500 | esi = 0x497500; 0x00427129 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x00427131 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00427136 mov qword [rsp + 0x230], 0x497650 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x497650; 0x00427142 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x0042714b je 0x426510 | goto label_1; | } 0x00427151 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x00427159 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x00427161 mov rax, qword [rdi] | rax = *(rdi); 0x00427164 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x00427167 jmp 0x426510 | goto label_1; | label_17: 0x0042716c cmp byte [rsp + 0x8a], 0 | 0x00427174 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00427177 jmp 0x42706d | goto label_2; | label_4: 0x0042717c add rsp, 0x348 | 0x00427183 pop rbx | 0x00427184 pop r12 | 0x00427186 pop r13 | 0x00427188 pop r14 | 0x0042718a pop r15 | 0x0042718c pop rbp | 0x0042718d ret | return rax; | }