; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/assume @ 0x4245c0 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.Datetime__int__int__int__int__int__BloombergLP::bdlt::Datetime_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_Datetime_int_int_int_int_int_BloombergLP::bdlt::Datetime_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::Datetime const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x004245c0 push rbp | 0x004245c1 push r15 | 0x004245c3 push r14 | 0x004245c5 push r13 | 0x004245c7 push r12 | 0x004245c9 push rbx | 0x004245ca sub rsp, 0x348 | 0x004245d1 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x004245d9 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x004245de mov r15d, edx | r15d = edx; 0x004245e1 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x004245e5 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x004245e9 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x004245f1 lea eax, [rcx + 1] | eax = rcx + 1; 0x004245f4 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x004245f8 mov r13b, 1 | r13b = 1; 0x004245fb lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00424603 jmp 0x424646 | goto label_3; | label_1: 0x00424610 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042461c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x00424624 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00424629 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00424631 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00424636 test r13b, 1 | 0x0042463a mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x00424640 je 0x42527c | goto label_4; | } | label_3: 0x00424646 mov rax, qword [rip + 0x2bca13] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0042464d test rax, rax | | if (rax == 0) { 0x00424650 jne 0x424657 | 0x00424652 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00424657 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x0042465f mov qword [rsp + 0x2b0], 0x6d6ca0 | *((rsp + 0x2b0)) = 0x6d6ca0; 0x0042466b lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x00424673 mov rdi, rbp | 0x00424676 mov esi, 0x10 | 0x0042467b lea rdx, [rsp + 0x108] | 0x00424683 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00424688 mov qword [rsp + 0x228], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00424694 mov qword [rsp + 0x2b0], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x004246a0 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004246a8 mov rsi, rbp | rsi = rbp; 0x004246ab call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004246b0 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x004246bc mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x004246c7 mov qword [rsp + 0x228], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x004246d3 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; 0x004246df mov rax, qword [rip + 0x2bc97a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004246e6 test rax, rax | | if (rax == 0) { 0x004246e9 jne 0x4246f0 | 0x004246eb call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004246f0 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x004246f8 mov qword [rsp + 0x190], 0x6d6ca0 | *((rsp + 0x190)) = 0x6d6ca0; 0x00424704 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042470c mov rdi, rbp | 0x0042470f mov esi, 0x10 | 0x00424714 mov rdx, r12 | 0x00424717 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042471c mov qword [rsp + 0x108], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00424728 mov qword [rsp + 0x190], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x00424734 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042473c mov rsi, rbp | rsi = rbp; 0x0042473f call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00424744 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x00424750 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x0042475b mov qword [rsp + 0x108], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x00424767 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; 0x00424773 lea rdi, [rsp + 0xe8] | 0x0042477b mov rsi, qword [rsp + 0x380] | 0x00424783 call 0x42ad10 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00424788 cmp r15d, 0xffffffff | 0x0042478c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00424794 je 0x42479e | 0x00424796 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042479e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004247a1 je 0x4247aa | 0x004247a3 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x004247aa mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x004247ae cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x004247b1 je 0x4247ba | 0x004247b3 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x004247ba mov rdi, r12 | 0x004247bd lea rsi, [rsp + 0x228] | 0x004247c5 lea rdx, [rsp + 0xe8] | 0x004247cd xor ecx, ecx | 0x004247cf call 0x42b660 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x004247d4 cmp byte [rsp + 0x89], 0 | 0x004247dc setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x004247df cmp qword [rsp + 0xb0], 1 | 0x004247e8 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x004247eb and cl, al | cl &= al; 0x004247ed movzx edi, cl | edi = (int32_t) cl; 0x004247f0 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x004247f5 mov edx, 0xe4 | edx = 0xe4; 0x004247fa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004247ff cmp r15d, 1 | | if (r15d == 1) { 0x00424803 jne 0x42481e | 0x00424805 lea rdi, [rsp + 0x108] | 0x0042480d mov rsi, qword [rsp + 0xe0] | 0x00424815 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00424819 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042481e test r13b, 1 | | if ((r13b & 1) != 0) { 0x00424822 je 0x424880 | 0x00424824 mov rdi, r12 | 0x00424827 call 0x42bb20 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x0042482c mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x00424831 mov edx, 1 | 0x00424836 lea rdi, [rsp + 0x108] | 0x0042483e lea rsi, [rsp + 0x10] | 0x00424843 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00424848 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x00424851 movaps xmm0, xmmword [rip + 0x70e38] | xmm0 = .comment; 0x00424858 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x0042485d mov rax, qword [rip + 0x2bc7fc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00424864 test rax, rax | | if (rax == 0) { 0x00424867 je 0x424927 | goto label_5; | } 0x0042486d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00424872 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x00424877 jmp 0x424950 | goto label_6; | } 0x00424880 mov rdi, r12 | 0x00424883 mov esi, 1 | 0x00424888 call 0x42b8b0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042488d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00424892 mov edx, 1 | 0x00424897 lea rdi, [rsp + 0x108] | 0x0042489f lea rsi, [rsp + 0x10] | 0x004248a4 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004248a9 cmp r15d, 1 | | if (r15d == 1) { 0x004248ad jne 0x4248e0 | 0x004248af mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x004248b4 mov edx, 1 | 0x004248b9 lea rdi, [rsp + 0x108] | 0x004248c1 lea rsi, [rsp + 0x10] | 0x004248c6 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004248cb lea rdi, [rsp + 0x108] | 0x004248d3 mov esi, dword [rsp + 0x4c] | 0x004248d7 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x004248db call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x004248e0 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004248e8 cmp rax, 2 | | if (rax >= 2) { 0x004248ec jb 0x42490e | 0x004248ee dec rax | rax--; 0x004248f1 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004248f9 mov rdx, rax | rdx = rax; 0x004248fc shr rdx, 6 | rdx >>= 6; 0x00424900 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00424904 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00424908 jae 0x424f3c | goto label_7; | } | } 0x0042490e xor eax, eax | eax = 0; | do { 0x00424910 movzx edi, al | edi = (int32_t) al; 0x00424913 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00424918 mov edx, 0x104 | edx = 0x104; 0x0042491d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00424922 jmp 0x424b55 | goto label_8; | label_5: 0x00424927 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0042492c cmp qword [rsp + 0x30], 0x17 | 0x00424932 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00424937 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x0042493c je 0x424950 | 0x0042493e mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x00424943 nop word cs:[rax + rax] | 0x0042494d nop dword [rax] | | } | label_6: 0x00424950 mov byte [rcx], 0 | *(rcx) = 0; 0x00424953 cmp r15d, 1 | | if (r15d == 1) { 0x00424957 jne 0x4249b1 | 0x00424959 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x0042495e mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x00424967 mov esi, 0x4b2832 | 0x0042496c mov edx, 1 | 0x00424971 mov ecx, 0x496987 | 0x00424976 lea rdi, [rsp + 0x10] | 0x0042497b call 0x472610 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b2832, 1, "string<...>::assign(char*...): string too long"); 0x00424980 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00424985 mov edx, 1 | 0x0042498a lea rdi, [rsp + 0x108] | 0x00424992 lea rsi, [rsp + 0x50] | 0x00424997 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x0042499c lea rdi, [rsp + 0x108] | 0x004249a4 mov esi, dword [rsp + 0x4c] | 0x004249a8 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x004249ac call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x004249b1 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004249b9 cmp rax, 2 | | if (rax >= 2) { 0x004249bd jb 0x4249df | 0x004249bf dec rax | rax--; 0x004249c2 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004249ca mov rdx, rax | rdx = rax; 0x004249cd shr rdx, 6 | rdx >>= 6; 0x004249d1 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x004249d5 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x004249d9 jae 0x424f4c | goto label_9; | } | } 0x004249df xor eax, eax | eax = 0; | label_0: 0x004249e1 xor al, 1 | al ^= 1; 0x004249e3 movzx edi, al | edi = (int32_t) al; 0x004249e6 mov esi, 0x496366 | esi = 0x496366; 0x004249eb mov edx, 0xf6 | edx = 0xf6; 0x004249f0 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004249f5 mov qword [rsp + 0x50], 0x496316 | *((rsp + 0x50)) = "name"; 0x004249fe mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00424a07 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x00424a0f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00424a17 je 0x424a55 | 0x00424a19 mov rdi, qword [rsp + 0x80] | 0x00424a21 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x00424a25 mov edx, 1 | 0x00424a2a mov rsi, rsp | 0x00424a2d call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x00424a32 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x00424a3a jne 0x424a8e | goto label_10; | } 0x00424a3c mov rdi, qword [rsp + 0x80] | 0x00424a44 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x00424a48 mov edx, 1 | 0x00424a4d mov rsi, rsp | 0x00424a50 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x00424a55 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x00424a5c mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00424a64 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x00424a6c cmp eax, 1 | | if (eax == 1) { 0x00424a6f jne 0x424a9e | 0x00424a71 mov rdi, qword [rsp + 0x80] | 0x00424a79 mov esi, dword [rsp + 0xd4] | 0x00424a80 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00424a87 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x00424a8c jmp 0x424a9e | goto label_11; | label_10: 0x00424a8e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00424a96 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x00424a9e mov rdi, qword [rsp + 0x80] | 0x00424aa6 lea rsi, [rsp + 0x50] | 0x00424aab call 0x42b270 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x00424ab0 test eax, eax | | if (eax == 0) { 0x00424ab2 jne 0x424ae1 | 0x00424ab4 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x00424abc xor eax, eax | eax = 0; 0x00424abe cmp dword [rsp + 0xcc], 1 | 0x00424ac6 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x00424ac9 mov esi, 0x4b2a43 | esi = 0x4b2a43; 0x00424ace mov ecx, 0x496983 | ecx = 0x496983; | if (*((rsp + 0xcc)) == 1) { 0x00424ad3 cmove rsi, rcx | rsi = rcx; | } 0x00424ad7 lea rdx, [rax + rax + 1] | 0x00424adc call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x00424ae1 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x00424ae9 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00424aee xor edi, edi | edi = 0; 0x00424af0 mov edx, 0xf8 | edx = 0xf8; 0x00424af5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00424afa mov esi, 0x49631b | 0x00424aff mov edx, 6 | 0x00424b04 lea rdi, [rsp + 0x108] | 0x00424b0c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00424b11 mov rdi, rax | 0x00424b14 lea rsi, [rsp + 0x10] | 0x00424b19 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00424b1e mov esi, 0x4b2a43 | 0x00424b23 mov edx, 1 | 0x00424b28 mov rdi, rax | 0x00424b2b call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b2a43, 1); 0x00424b30 mov rdi, rax | 0x00424b33 lea rsi, [rsp + 0x10] | 0x00424b38 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00424b3d cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00424b43 je 0x424b55 | 0x00424b45 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00424b4a mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00424b4f mov rax, qword [rdi] | rax = *(rdi); 0x00424b52 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x00424b55 cmp byte [rsp + 0x89], 0 | 0x00424b5d setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00424b60 cmp qword [rsp + 0xb0], 1 | 0x00424b69 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00424b6c and cl, al | cl &= al; 0x00424b6e movzx edi, cl | edi = (int32_t) cl; 0x00424b71 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00424b76 mov edx, 0x107 | edx = 0x107; 0x00424b7b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00424b80 mov rdi, r12 | 0x00424b83 mov rsi, qword [rsp + 0xd8] | 0x00424b8b call 0x42a6f0 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::Datetimeconst&) (r12, *((rsp + 0xd8))); 0x00424b90 mov r14d, eax | r14d = eax; 0x00424b93 cmp byte [rsp + 0x89], 0 | 0x00424b9b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00424b9e cmp qword [rsp + 0xb0], 1 | 0x00424ba7 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00424baa and cl, al | cl &= al; 0x00424bac movzx edi, cl | edi = (int32_t) cl; 0x00424baf mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00424bb4 mov edx, 0x10b | edx = 0x10b; 0x00424bb9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00424bbe cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00424bc6 je 0x424e40 | 0x00424bcc test r14d, r14d | | if (r14d != 0) { 0x00424bcf je 0x424cb0 | 0x00424bd5 mov edi, 0x6e0ef0 | 0x00424bda mov esi, 0x4969d1 | 0x00424bdf mov edx, 4 | 0x00424be4 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); 0x00424be9 mov esi, 0x496984 | 0x00424bee mov edx, 2 | 0x00424bf3 mov rdi, rax | 0x00424bf6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424bfb mov rdi, rax | rdi = rax; 0x00424bfe mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00424c02 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424c07 mov esi, 0x4b29a3 | 0x00424c0c mov edx, 1 | 0x00424c11 mov rdi, rax | 0x00424c14 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424c19 mov esi, 0x4969d6 | 0x00424c1e mov edx, 8 | 0x00424c23 mov rdi, rax | 0x00424c26 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00424c2b mov esi, 0x496984 | 0x00424c30 mov edx, 2 | 0x00424c35 mov rdi, rax | 0x00424c38 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424c3d mov rdi, rax | rdi = rax; 0x00424c40 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00424c44 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424c49 mov esi, 0x4b29a3 | 0x00424c4e mov edx, 1 | 0x00424c53 mov rdi, rax | 0x00424c56 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424c5b mov esi, 0x4969f7 | 0x00424c60 mov edx, 2 | 0x00424c65 mov rdi, rax | 0x00424c68 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00424c6d mov esi, 0x496984 | 0x00424c72 mov edx, 2 | 0x00424c77 mov rdi, rax | 0x00424c7a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424c7f mov rdi, rax | rdi = rax; 0x00424c82 mov esi, r14d | esi = r14d; 0x00424c85 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424c8a mov esi, 0x4967e3 | 0x00424c8f mov edx, 1 | 0x00424c94 mov rdi, rax | 0x00424c97 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00424c9c mov esi, 0x4969df | esi = "0 == rc"; 0x00424ca1 mov edi, 1 | edi = 1; 0x00424ca6 mov edx, 0x10e | edx = 0x10e; 0x00424cab call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00424cb0 mov dword [rsp], 3 | *(rsp) = 3; 0x00424cb7 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00424cbf mov esi, dword [rax + 8] | 0x00424cc2 mov rdi, rsp | 0x00424cc5 call 0x441a90 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00424cca lea rdi, [rsp + 0x10] | 0x00424ccf mov esi, 0x27 | 0x00424cd4 mov rdx, qword [rsp + 0xd8] | 0x00424cdc mov rcx, rsp | 0x00424cdf call 0x43eed0 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::Datetimeconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8)), rsp); 0x00424ce4 lea rdi, [rsp + 0x10] | 0x00424ce9 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00424cee call 0x404440 | rax = strlen (rsp + 0x10); 0x00424cf3 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00424cf8 lea rdi, [rsp + 0x108] | 0x00424d00 lea rsi, [rsp + 0x50] | 0x00424d05 call 0x42b270 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00424d0a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00424d12 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00424d16 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00424d1e je 0x424dbe | 0x00424d24 mov edi, 0x6e0ef0 | 0x00424d29 mov esi, 0x4969d1 | 0x00424d2e mov edx, 4 | 0x00424d33 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); 0x00424d38 mov esi, 0x496984 | 0x00424d3d mov edx, 2 | 0x00424d42 mov rdi, rax | 0x00424d45 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424d4a mov rdi, rax | rdi = rax; 0x00424d4d mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00424d51 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424d56 mov esi, 0x4b29a3 | 0x00424d5b mov edx, 1 | 0x00424d60 mov rdi, rax | 0x00424d63 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424d68 mov esi, 0x4969d6 | 0x00424d6d mov edx, 8 | 0x00424d72 mov rdi, rax | 0x00424d75 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00424d7a mov esi, 0x496984 | 0x00424d7f mov edx, 2 | 0x00424d84 mov rdi, rax | 0x00424d87 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424d8c mov rdi, rax | rdi = rax; 0x00424d8f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00424d93 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424d98 mov esi, 0x4967e3 | 0x00424d9d mov edx, 1 | 0x00424da2 mov rdi, rax | 0x00424da5 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00424daa mov esi, 0x4969e7 | esi = "exp.good()"; 0x00424daf mov edi, 1 | edi = 1; 0x00424db4 mov edx, 0x111 | edx = 0x111; 0x00424db9 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00424dbe lea rdi, [rsp + 0x10] | 0x00424dc3 lea rsi, [rsp + 0x230] | 0x00424dcb call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00424dd0 lea rdi, [rsp + 0x50] | 0x00424dd5 lea rsi, [rsp + 0x110] | 0x00424ddd call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00424de2 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00424de7 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00424dec jne 0x424f30 | goto label_12; | } 0x00424df2 test rdx, rdx | | if (rdx == 0) { 0x00424df5 je 0x424f5c | goto label_13; | } 0x00424dfb cmp qword [rsp + 0x70], 0x17 | 0x00424e01 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00424e06 je 0x424e0d | 0x00424e08 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00424e0d cmp qword [rsp + 0x30], 0x17 | 0x00424e13 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00424e18 je 0x424e1f | 0x00424e1a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00424e1f call 0x404590 | eax = bcmp (); 0x00424e24 test eax, eax | 0x00424e26 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00424e2a cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00424e30 jne 0x424f70 | goto label_14; | } 0x00424e36 jmp 0x424f80 | goto label_15; | } 0x00424e40 test r14d, r14d | | if (r14d != 0) { 0x00424e43 jne 0x42511d | goto label_16; | } 0x00424e49 mov edi, 0x6e0ef0 | 0x00424e4e mov esi, 0x4969d1 | 0x00424e53 mov edx, 4 | 0x00424e58 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); 0x00424e5d mov esi, 0x496984 | 0x00424e62 mov edx, 2 | 0x00424e67 mov rdi, rax | 0x00424e6a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424e6f mov rdi, rax | rdi = rax; 0x00424e72 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00424e76 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424e7b mov esi, 0x4b29a3 | 0x00424e80 mov edx, 1 | 0x00424e85 mov rdi, rax | 0x00424e88 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424e8d mov esi, 0x4969d6 | 0x00424e92 mov edx, 8 | 0x00424e97 mov rdi, rax | 0x00424e9a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00424e9f mov esi, 0x496984 | 0x00424ea4 mov edx, 2 | 0x00424ea9 mov rdi, rax | 0x00424eac call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424eb1 mov rdi, rax | rdi = rax; 0x00424eb4 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00424eb8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424ebd mov esi, 0x4b29a3 | 0x00424ec2 mov edx, 1 | 0x00424ec7 mov rdi, rax | 0x00424eca call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424ecf mov esi, 0x4969f7 | 0x00424ed4 mov edx, 2 | 0x00424ed9 mov rdi, rax | 0x00424edc call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00424ee1 mov esi, 0x496984 | 0x00424ee6 mov edx, 2 | 0x00424eeb mov rdi, rax | 0x00424eee call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424ef3 mov rdi, rax | rdi = rax; 0x00424ef6 xor esi, esi | esi = 0; 0x00424ef8 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424efd mov esi, 0x4967e3 | 0x00424f02 mov edx, 1 | 0x00424f07 mov rdi, rax | 0x00424f0a call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00424f0f mov esi, 0x4969f2 | esi = "0 != rc"; 0x00424f14 mov edi, 1 | edi = 1; 0x00424f19 mov edx, 0x117 | edx = 0x117; 0x00424f1e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00424f23 jmp 0x42511d | goto label_16; | label_12: 0x00424f30 xor ebp, ebp | ebp = 0; 0x00424f32 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00424f38 jne 0x424f70 | goto label_14; | } 0x00424f3a jmp 0x424f80 | goto label_15; | label_7: 0x00424f3c cmp byte [rsp + 0x8a], 0 | 0x00424f44 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00424f47 jmp 0x424910 | | } while (1); | label_9: 0x00424f4c cmp byte [rsp + 0x8a], 0 | 0x00424f54 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00424f57 jmp 0x4249e1 | goto label_0; | label_13: 0x00424f5c mov bpl, 1 | bpl = 1; 0x00424f5f cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00424f65 je 0x424f80 | 0x00424f67 nop word [rax + rax] | | label_14: 0x00424f70 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00424f75 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00424f7a mov rax, qword [rdi] | rax = *(rdi); 0x00424f7d call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00424f80 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00424f86 je 0x424f98 | 0x00424f88 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00424f8d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00424f92 mov rax, qword [rdi] | rax = *(rdi); 0x00424f95 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00424f98 test bpl, bpl | | if (bpl == 0) { 0x00424f9b jne 0x42511d | 0x00424fa1 mov edi, 0x6e0ef0 | 0x00424fa6 mov esi, 0x4969d1 | 0x00424fab mov edx, 4 | 0x00424fb0 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); 0x00424fb5 mov esi, 0x496984 | 0x00424fba mov edx, 2 | 0x00424fbf mov rdi, rax | 0x00424fc2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424fc7 mov rdi, rax | rdi = rax; 0x00424fca mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00424fce call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424fd3 mov esi, 0x4b29a3 | 0x00424fd8 mov edx, 1 | 0x00424fdd mov rdi, rax | 0x00424fe0 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424fe5 mov esi, 0x4969d6 | 0x00424fea mov edx, 8 | 0x00424fef mov rdi, rax | 0x00424ff2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00424ff7 mov esi, 0x496984 | 0x00424ffc mov edx, 2 | 0x00425001 mov rdi, rax | 0x00425004 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00425009 mov rdi, rax | rdi = rax; 0x0042500c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00425010 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425015 mov esi, 0x4b29a3 | 0x0042501a mov edx, 1 | 0x0042501f mov rdi, rax | 0x00425022 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00425027 mov esi, 0x495f4f | 0x0042502c mov edx, 8 | 0x00425031 mov rdi, rax | 0x00425034 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x495f4f, 8); 0x00425039 mov esi, 0x496984 | 0x0042503e mov edx, 2 | 0x00425043 mov rdi, rax | 0x00425046 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x0042504b mov rbp, rax | 0x0042504e lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x00425053 mov rdi, rbx | 0x00425056 lea rsi, [rsp + 0x230] | 0x0042505e call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x00425063 mov rdi, rbp | 0x00425066 mov rsi, rbx | 0x00425069 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x0042506e mov esi, 0x4b29a3 | 0x00425073 mov edx, 1 | 0x00425078 mov rdi, rax | 0x0042507b call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00425080 mov esi, 0x496333 | 0x00425085 mov edx, 9 | 0x0042508a mov rdi, rax | 0x0042508d call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496333, 9); 0x00425092 mov esi, 0x496984 | 0x00425097 mov edx, 2 | 0x0042509c mov rdi, rax | 0x0042509f call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x004250a4 mov rbp, rax | 0x004250a7 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x004250ac mov rdi, rbx | 0x004250af lea rsi, [rsp + 0x110] | 0x004250b7 call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x004250bc mov rdi, rbp | 0x004250bf mov rsi, rbx | 0x004250c2 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x004250c7 mov esi, 0x4967e3 | 0x004250cc mov edx, 1 | 0x004250d1 mov rdi, rax | 0x004250d4 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x004250d9 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x004250df je 0x4250f1 | 0x004250e1 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x004250e6 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x004250eb mov rax, qword [rdi] | rax = *(rdi); 0x004250ee call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004250f1 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x004250f7 je 0x425109 | 0x004250f9 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x004250fe mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00425103 mov rax, qword [rdi] | rax = *(rdi); 0x00425106 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00425109 mov esi, 0x496327 | esi = "os.str() == exp.str()"; 0x0042510e mov edi, 1 | edi = 1; 0x00425113 mov edx, 0x114 | edx = 0x114; 0x00425118 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x0042511d test r13b, 1 | | if ((r13b & 1) != 0) { 0x00425121 je 0x425130 | 0x00425123 mov rdi, r12 | 0x00425126 call 0x42b820 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x0042512b jmp 0x42513d | | } else { 0x00425130 mov rdi, r12 | 0x00425133 mov esi, 1 | 0x00425138 call 0x42b780 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x0042513d mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00425145 cmp rax, 2 | | if (rax >= 2) { 0x00425149 jb 0x42516b | 0x0042514b dec rax | rax--; 0x0042514e mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00425156 mov rdx, rax | rdx = rax; 0x00425159 shr rdx, 6 | rdx >>= 6; 0x0042515d mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00425161 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00425165 jae 0x42526c | goto label_17; | } | } 0x0042516b xor eax, eax | eax = 0; | label_2: 0x0042516d movzx edi, al | edi = (int32_t) al; 0x00425170 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00425175 mov edx, 0x123 | edx = 0x123; 0x0042517a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042517f cmp byte [rsp + 0x89], 0 | 0x00425187 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042518a cmp qword [rsp + 0xb0], 1 | 0x00425193 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00425196 or cl, al | cl |= al; 0x00425198 movzx edi, cl | edi = (int32_t) cl; 0x0042519b mov esi, 0x4962b2 | esi = 0x4962b2; 0x004251a0 mov edx, 0x124 | edx = 0x124; 0x004251a5 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004251aa mov rdi, r12 | 0x004251ad call 0x42b760 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x004251b2 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x004251ba call 0x42ad50 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x004251bf mov esi, 0x496af0 | esi = 0x496af0; 0x004251c4 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x004251cc call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004251d1 mov qword [rsp + 0x110], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x004251dd cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x004251e6 je 0x4251fe | 0x004251e8 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x004251f0 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x004251f8 mov rax, qword [rdi] | rax = *(rdi); 0x004251fb call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004251fe mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042520a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00425212 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00425217 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042521f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x00425224 mov esi, 0x496af0 | esi = 0x496af0; 0x00425229 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x00425231 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00425236 mov qword [rsp + 0x230], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x00425242 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x0042524b je 0x424610 | goto label_1; | } 0x00425251 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x00425259 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x00425261 mov rax, qword [rdi] | rax = *(rdi); 0x00425264 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x00425267 jmp 0x424610 | goto label_1; | label_17: 0x0042526c cmp byte [rsp + 0x8a], 0 | 0x00425274 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00425277 jmp 0x42516d | goto label_2; | label_4: 0x0042527c add rsp, 0x348 | 0x00425283 pop rbx | 0x00425284 pop r12 | 0x00425286 pop r13 | 0x00425288 pop r14 | 0x0042528a pop r15 | 0x0042528c pop rbp | 0x0042528d ret | return rax; | }