; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/none @ 0x425540 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.DateTz__int__int__int__int__int__BloombergLP::bdlt::DateTz_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_DateTz_int_int_int_int_int_BloombergLP::bdlt::DateTz_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::DateTz const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x00425540 push rbp | 0x00425541 push r15 | 0x00425543 push r14 | 0x00425545 push r13 | 0x00425547 push r12 | 0x00425549 push rbx | 0x0042554a sub rsp, 0x348 | 0x00425551 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x00425559 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x0042555e mov r15d, edx | r15d = edx; 0x00425561 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x00425565 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x00425569 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x00425571 lea eax, [rcx + 1] | eax = rcx + 1; 0x00425574 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x00425578 mov r13b, 1 | r13b = 1; 0x0042557b lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00425583 jmp 0x4255c6 | goto label_3; | label_1: 0x00425590 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042559c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x004255a4 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x004255a9 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004255b1 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004255b6 test r13b, 1 | 0x004255ba mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x004255c0 je 0x4261fc | goto label_4; | } | label_3: 0x004255c6 mov rax, qword [rip + 0x2bca93] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004255cd test rax, rax | | if (rax == 0) { 0x004255d0 jne 0x4255d7 | 0x004255d2 call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004255d7 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x004255df mov qword [rsp + 0x2b0], 0x6d7ca0 | *((rsp + 0x2b0)) = 0x6d7ca0; 0x004255eb lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x004255f3 mov rdi, rbp | 0x004255f6 mov esi, 0x10 | 0x004255fb lea rdx, [rsp + 0x108] | 0x00425603 call 0x4294f0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00425608 mov qword [rsp + 0x228], 0x497530 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497530; 0x00425614 mov qword [rsp + 0x2b0], 0x497558 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497558; 0x00425620 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00425628 mov rsi, rbp | rsi = rbp; 0x0042562b call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00425630 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x0042563c mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x00425647 mov qword [rsp + 0x228], 0x4974c0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x4974c0; 0x00425653 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; 0x0042565f mov rax, qword [rip + 0x2bc9fa] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00425666 test rax, rax | | if (rax == 0) { 0x00425669 jne 0x425670 | 0x0042566b call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00425670 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x00425678 mov qword [rsp + 0x190], 0x6d7ca0 | *((rsp + 0x190)) = 0x6d7ca0; 0x00425684 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042568c mov rdi, rbp | 0x0042568f mov esi, 0x10 | 0x00425694 mov rdx, r12 | 0x00425697 call 0x4294f0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042569c mov qword [rsp + 0x108], 0x497530 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497530; 0x004256a8 mov qword [rsp + 0x190], 0x497558 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x497558; 0x004256b4 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x004256bc mov rsi, rbp | rsi = rbp; 0x004256bf call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004256c4 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x004256d0 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x004256db mov qword [rsp + 0x108], 0x4974c0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x4974c0; 0x004256e7 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; 0x004256f3 lea rdi, [rsp + 0xe8] | 0x004256fb mov rsi, qword [rsp + 0x380] | 0x00425703 call 0x42ad20 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00425708 cmp r15d, 0xffffffff | 0x0042570c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00425714 je 0x42571e | 0x00425716 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042571e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00425721 je 0x42572a | 0x00425723 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x0042572a mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x0042572e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00425731 je 0x42573a | 0x00425733 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x0042573a mov rdi, r12 | 0x0042573d lea rsi, [rsp + 0x228] | 0x00425745 lea rdx, [rsp + 0xe8] | 0x0042574d xor ecx, ecx | 0x0042574f call 0x42b670 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x00425754 cmp byte [rsp + 0x89], 0 | 0x0042575c setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x0042575f cmp qword [rsp + 0xb0], 1 | 0x00425768 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x0042576b and cl, al | cl &= al; 0x0042576d movzx edi, cl | edi = (int32_t) cl; 0x00425770 mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x00425775 mov edx, 0xe4 | edx = 0xe4; 0x0042577a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042577f cmp r15d, 1 | | if (r15d == 1) { 0x00425783 jne 0x42579e | 0x00425785 lea rdi, [rsp + 0x108] | 0x0042578d mov rsi, qword [rsp + 0xe0] | 0x00425795 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00425799 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042579e test r13b, 1 | | if ((r13b & 1) != 0) { 0x004257a2 je 0x425800 | 0x004257a4 mov rdi, r12 | 0x004257a7 call 0x42bb30 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x004257ac mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x004257b1 mov edx, 1 | 0x004257b6 lea rdi, [rsp + 0x108] | 0x004257be lea rsi, [rsp + 0x10] | 0x004257c3 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004257c8 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x004257d1 movaps xmm0, xmmword [rip + 0x708c8] | xmm0 = .comment; 0x004257d8 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x004257dd mov rax, qword [rip + 0x2bc87c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004257e4 test rax, rax | | if (rax == 0) { 0x004257e7 je 0x4258a7 | goto label_5; | } 0x004257ed mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004257f2 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x004257f7 jmp 0x4258d0 | goto label_6; | } 0x00425800 mov rdi, r12 | 0x00425803 mov esi, 1 | 0x00425808 call 0x42b8c0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042580d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00425812 mov edx, 1 | 0x00425817 lea rdi, [rsp + 0x108] | 0x0042581f lea rsi, [rsp + 0x10] | 0x00425824 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00425829 cmp r15d, 1 | | if (r15d == 1) { 0x0042582d jne 0x425860 | 0x0042582f mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x00425834 mov edx, 1 | 0x00425839 lea rdi, [rsp + 0x108] | 0x00425841 lea rsi, [rsp + 0x10] | 0x00425846 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x0042584b lea rdi, [rsp + 0x108] | 0x00425853 mov esi, dword [rsp + 0x4c] | 0x00425857 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x0042585b call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00425860 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00425868 cmp rax, 2 | | if (rax >= 2) { 0x0042586c jb 0x42588e | 0x0042586e dec rax | rax--; 0x00425871 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00425879 mov rdx, rax | rdx = rax; 0x0042587c shr rdx, 6 | rdx >>= 6; 0x00425880 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00425884 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00425888 jae 0x425ebc | goto label_7; | } | } 0x0042588e xor eax, eax | eax = 0; | do { 0x00425890 movzx edi, al | edi = (int32_t) al; 0x00425893 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x00425898 mov edx, 0x104 | edx = 0x104; 0x0042589d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004258a2 jmp 0x425ad5 | goto label_8; | label_5: 0x004258a7 call 0x46ebd0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004258ac cmp qword [rsp + 0x30], 0x17 | 0x004258b2 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004258b7 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x004258bc je 0x4258d0 | 0x004258be mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x004258c3 nop word cs:[rax + rax] | 0x004258cd nop dword [rax] | | } | label_6: 0x004258d0 mov byte [rcx], 0 | *(rcx) = 0; 0x004258d3 cmp r15d, 1 | | if (r15d == 1) { 0x004258d7 jne 0x425931 | 0x004258d9 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x004258de mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x004258e7 mov esi, 0x4b3332 | 0x004258ec mov edx, 1 | 0x004258f1 mov ecx, 0x497391 | 0x004258f6 lea rdi, [rsp + 0x10] | 0x004258fb call 0x473000 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b3332, 1, "string<...>::assign(char*...): string too long"); 0x00425900 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00425905 mov edx, 1 | 0x0042590a lea rdi, [rsp + 0x108] | 0x00425912 lea rsi, [rsp + 0x50] | 0x00425917 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x0042591c lea rdi, [rsp + 0x108] | 0x00425924 mov esi, dword [rsp + 0x4c] | 0x00425928 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x0042592c call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00425931 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00425939 cmp rax, 2 | | if (rax >= 2) { 0x0042593d jb 0x42595f | 0x0042593f dec rax | rax--; 0x00425942 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x0042594a mov rdx, rax | rdx = rax; 0x0042594d shr rdx, 6 | rdx >>= 6; 0x00425951 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00425955 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00425959 jae 0x425ecc | goto label_9; | } | } 0x0042595f xor eax, eax | eax = 0; | label_0: 0x00425961 xor al, 1 | al ^= 1; 0x00425963 movzx edi, al | edi = (int32_t) al; 0x00425966 mov esi, 0x496d74 | esi = 0x496d74; 0x0042596b mov edx, 0xf6 | edx = 0xf6; 0x00425970 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00425975 mov qword [rsp + 0x50], 0x496d24 | *((rsp + 0x50)) = "name"; 0x0042597e mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00425987 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x0042598f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00425997 je 0x4259d5 | 0x00425999 mov rdi, qword [rsp + 0x80] | 0x004259a1 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x004259a5 mov edx, 1 | 0x004259aa mov rsi, rsp | 0x004259ad call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x004259b2 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x004259ba jne 0x425a0e | goto label_10; | } 0x004259bc mov rdi, qword [rsp + 0x80] | 0x004259c4 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x004259c8 mov edx, 1 | 0x004259cd mov rsi, rsp | 0x004259d0 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x004259d5 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x004259dc mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x004259e4 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x004259ec cmp eax, 1 | | if (eax == 1) { 0x004259ef jne 0x425a1e | 0x004259f1 mov rdi, qword [rsp + 0x80] | 0x004259f9 mov esi, dword [rsp + 0xd4] | 0x00425a00 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00425a07 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x00425a0c jmp 0x425a1e | goto label_11; | label_10: 0x00425a0e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00425a16 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x00425a1e mov rdi, qword [rsp + 0x80] | 0x00425a26 lea rsi, [rsp + 0x50] | 0x00425a2b call 0x42b280 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x00425a30 test eax, eax | | if (eax == 0) { 0x00425a32 jne 0x425a61 | 0x00425a34 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x00425a3c xor eax, eax | eax = 0; 0x00425a3e cmp dword [rsp + 0xcc], 1 | 0x00425a46 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x00425a49 mov esi, 0x4b3543 | esi = 0x4b3543; 0x00425a4e mov ecx, 0x49738d | ecx = 0x49738d; | if (*((rsp + 0xcc)) == 1) { 0x00425a53 cmove rsi, rcx | rsi = rcx; | } 0x00425a57 lea rdx, [rax + rax + 1] | 0x00425a5c call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x00425a61 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x00425a69 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x00425a6e xor edi, edi | edi = 0; 0x00425a70 mov edx, 0xf8 | edx = 0xf8; 0x00425a75 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00425a7a mov esi, 0x496d29 | 0x00425a7f mov edx, 6 | 0x00425a84 lea rdi, [rsp + 0x108] | 0x00425a8c call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00425a91 mov rdi, rax | 0x00425a94 lea rsi, [rsp + 0x10] | 0x00425a99 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00425a9e mov esi, 0x4b3543 | 0x00425aa3 mov edx, 1 | 0x00425aa8 mov rdi, rax | 0x00425aab call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b3543, 1); 0x00425ab0 mov rdi, rax | 0x00425ab3 lea rsi, [rsp + 0x10] | 0x00425ab8 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00425abd cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00425ac3 je 0x425ad5 | 0x00425ac5 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00425aca mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00425acf mov rax, qword [rdi] | rax = *(rdi); 0x00425ad2 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x00425ad5 cmp byte [rsp + 0x89], 0 | 0x00425add setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00425ae0 cmp qword [rsp + 0xb0], 1 | 0x00425ae9 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00425aec and cl, al | cl &= al; 0x00425aee movzx edi, cl | edi = (int32_t) cl; 0x00425af1 mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x00425af6 mov edx, 0x107 | edx = 0x107; 0x00425afb call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00425b00 mov rdi, r12 | 0x00425b03 mov rsi, qword [rsp + 0xd8] | 0x00425b0b call 0x42a820 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::DateTzconst&) (r12, *((rsp + 0xd8))); 0x00425b10 mov r14d, eax | r14d = eax; 0x00425b13 cmp byte [rsp + 0x89], 0 | 0x00425b1b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00425b1e cmp qword [rsp + 0xb0], 1 | 0x00425b27 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00425b2a and cl, al | cl &= al; 0x00425b2c movzx edi, cl | edi = (int32_t) cl; 0x00425b2f mov esi, 0x496cbf | esi = "!mX.isCompleteJSON()"; 0x00425b34 mov edx, 0x10b | edx = 0x10b; 0x00425b39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00425b3e cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00425b46 je 0x425dc0 | 0x00425b4c test r14d, r14d | | if (r14d != 0) { 0x00425b4f je 0x425c30 | 0x00425b55 mov edi, 0x6e1ef0 | 0x00425b5a mov esi, 0x4973db | 0x00425b5f mov edx, 4 | 0x00425b64 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); 0x00425b69 mov esi, 0x49738e | 0x00425b6e mov edx, 2 | 0x00425b73 mov rdi, rax | 0x00425b76 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425b7b mov rdi, rax | rdi = rax; 0x00425b7e mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00425b82 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425b87 mov esi, 0x4b34a3 | 0x00425b8c mov edx, 1 | 0x00425b91 mov rdi, rax | 0x00425b94 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425b99 mov esi, 0x4973e0 | 0x00425b9e mov edx, 8 | 0x00425ba3 mov rdi, rax | 0x00425ba6 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00425bab mov esi, 0x49738e | 0x00425bb0 mov edx, 2 | 0x00425bb5 mov rdi, rax | 0x00425bb8 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425bbd mov rdi, rax | rdi = rax; 0x00425bc0 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00425bc4 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425bc9 mov esi, 0x4b34a3 | 0x00425bce mov edx, 1 | 0x00425bd3 mov rdi, rax | 0x00425bd6 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425bdb mov esi, 0x497401 | 0x00425be0 mov edx, 2 | 0x00425be5 mov rdi, rax | 0x00425be8 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x497401, 2); 0x00425bed mov esi, 0x49738e | 0x00425bf2 mov edx, 2 | 0x00425bf7 mov rdi, rax | 0x00425bfa call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425bff mov rdi, rax | rdi = rax; 0x00425c02 mov esi, r14d | esi = r14d; 0x00425c05 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425c0a mov esi, 0x4971f1 | 0x00425c0f mov edx, 1 | 0x00425c14 mov rdi, rax | 0x00425c17 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00425c1c mov esi, 0x4973e9 | esi = "0 == rc"; 0x00425c21 mov edi, 1 | edi = 1; 0x00425c26 mov edx, 0x10e | edx = 0x10e; 0x00425c2b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00425c30 mov dword [rsp], 3 | *(rsp) = 3; 0x00425c37 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00425c3f mov esi, dword [rax + 8] | 0x00425c42 mov rdi, rsp | 0x00425c45 call 0x442440 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00425c4a lea rdi, [rsp + 0x10] | 0x00425c4f mov esi, 0x27 | 0x00425c54 mov rdx, qword [rsp + 0xd8] | 0x00425c5c mov rcx, rsp | 0x00425c5f call 0x43ffa0 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::DateTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8)), rsp); 0x00425c64 lea rdi, [rsp + 0x10] | 0x00425c69 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00425c6e call 0x404440 | rax = strlen (rsp + 0x10); 0x00425c73 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00425c78 lea rdi, [rsp + 0x108] | 0x00425c80 lea rsi, [rsp + 0x50] | 0x00425c85 call 0x42b280 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00425c8a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00425c92 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00425c96 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00425c9e je 0x425d3e | 0x00425ca4 mov edi, 0x6e1ef0 | 0x00425ca9 mov esi, 0x4973db | 0x00425cae mov edx, 4 | 0x00425cb3 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); 0x00425cb8 mov esi, 0x49738e | 0x00425cbd mov edx, 2 | 0x00425cc2 mov rdi, rax | 0x00425cc5 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425cca mov rdi, rax | rdi = rax; 0x00425ccd mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00425cd1 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425cd6 mov esi, 0x4b34a3 | 0x00425cdb mov edx, 1 | 0x00425ce0 mov rdi, rax | 0x00425ce3 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425ce8 mov esi, 0x4973e0 | 0x00425ced mov edx, 8 | 0x00425cf2 mov rdi, rax | 0x00425cf5 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00425cfa mov esi, 0x49738e | 0x00425cff mov edx, 2 | 0x00425d04 mov rdi, rax | 0x00425d07 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425d0c mov rdi, rax | rdi = rax; 0x00425d0f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00425d13 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425d18 mov esi, 0x4971f1 | 0x00425d1d mov edx, 1 | 0x00425d22 mov rdi, rax | 0x00425d25 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00425d2a mov esi, 0x4973f1 | esi = "exp.good()"; 0x00425d2f mov edi, 1 | edi = 1; 0x00425d34 mov edx, 0x111 | edx = 0x111; 0x00425d39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00425d3e lea rdi, [rsp + 0x10] | 0x00425d43 lea rsi, [rsp + 0x230] | 0x00425d4b call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00425d50 lea rdi, [rsp + 0x50] | 0x00425d55 lea rsi, [rsp + 0x110] | 0x00425d5d call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00425d62 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00425d67 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00425d6c jne 0x425eb0 | goto label_12; | } 0x00425d72 test rdx, rdx | | if (rdx == 0) { 0x00425d75 je 0x425edc | goto label_13; | } 0x00425d7b cmp qword [rsp + 0x70], 0x17 | 0x00425d81 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00425d86 je 0x425d8d | 0x00425d88 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00425d8d cmp qword [rsp + 0x30], 0x17 | 0x00425d93 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00425d98 je 0x425d9f | 0x00425d9a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00425d9f call 0x404590 | eax = bcmp (); 0x00425da4 test eax, eax | 0x00425da6 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00425daa cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00425db0 jne 0x425ef0 | goto label_14; | } 0x00425db6 jmp 0x425f00 | goto label_15; | } 0x00425dc0 test r14d, r14d | | if (r14d != 0) { 0x00425dc3 jne 0x42609d | goto label_16; | } 0x00425dc9 mov edi, 0x6e1ef0 | 0x00425dce mov esi, 0x4973db | 0x00425dd3 mov edx, 4 | 0x00425dd8 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); 0x00425ddd mov esi, 0x49738e | 0x00425de2 mov edx, 2 | 0x00425de7 mov rdi, rax | 0x00425dea call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425def mov rdi, rax | rdi = rax; 0x00425df2 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00425df6 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425dfb mov esi, 0x4b34a3 | 0x00425e00 mov edx, 1 | 0x00425e05 mov rdi, rax | 0x00425e08 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425e0d mov esi, 0x4973e0 | 0x00425e12 mov edx, 8 | 0x00425e17 mov rdi, rax | 0x00425e1a call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00425e1f mov esi, 0x49738e | 0x00425e24 mov edx, 2 | 0x00425e29 mov rdi, rax | 0x00425e2c call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425e31 mov rdi, rax | rdi = rax; 0x00425e34 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00425e38 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425e3d mov esi, 0x4b34a3 | 0x00425e42 mov edx, 1 | 0x00425e47 mov rdi, rax | 0x00425e4a call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425e4f mov esi, 0x497401 | 0x00425e54 mov edx, 2 | 0x00425e59 mov rdi, rax | 0x00425e5c call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x497401, 2); 0x00425e61 mov esi, 0x49738e | 0x00425e66 mov edx, 2 | 0x00425e6b mov rdi, rax | 0x00425e6e call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425e73 mov rdi, rax | rdi = rax; 0x00425e76 xor esi, esi | esi = 0; 0x00425e78 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425e7d mov esi, 0x4971f1 | 0x00425e82 mov edx, 1 | 0x00425e87 mov rdi, rax | 0x00425e8a call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00425e8f mov esi, 0x4973fc | esi = "0 != rc"; 0x00425e94 mov edi, 1 | edi = 1; 0x00425e99 mov edx, 0x117 | edx = 0x117; 0x00425e9e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00425ea3 jmp 0x42609d | goto label_16; | label_12: 0x00425eb0 xor ebp, ebp | ebp = 0; 0x00425eb2 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00425eb8 jne 0x425ef0 | goto label_14; | } 0x00425eba jmp 0x425f00 | goto label_15; | label_7: 0x00425ebc cmp byte [rsp + 0x8a], 0 | 0x00425ec4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00425ec7 jmp 0x425890 | | } while (1); | label_9: 0x00425ecc cmp byte [rsp + 0x8a], 0 | 0x00425ed4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00425ed7 jmp 0x425961 | goto label_0; | label_13: 0x00425edc mov bpl, 1 | bpl = 1; 0x00425edf cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00425ee5 je 0x425f00 | 0x00425ee7 nop word [rax + rax] | | label_14: 0x00425ef0 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00425ef5 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00425efa mov rax, qword [rdi] | rax = *(rdi); 0x00425efd call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00425f00 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00425f06 je 0x425f18 | 0x00425f08 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00425f0d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00425f12 mov rax, qword [rdi] | rax = *(rdi); 0x00425f15 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00425f18 test bpl, bpl | | if (bpl == 0) { 0x00425f1b jne 0x42609d | 0x00425f21 mov edi, 0x6e1ef0 | 0x00425f26 mov esi, 0x4973db | 0x00425f2b mov edx, 4 | 0x00425f30 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); 0x00425f35 mov esi, 0x49738e | 0x00425f3a mov edx, 2 | 0x00425f3f mov rdi, rax | 0x00425f42 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425f47 mov rdi, rax | rdi = rax; 0x00425f4a mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00425f4e call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425f53 mov esi, 0x4b34a3 | 0x00425f58 mov edx, 1 | 0x00425f5d mov rdi, rax | 0x00425f60 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425f65 mov esi, 0x4973e0 | 0x00425f6a mov edx, 8 | 0x00425f6f mov rdi, rax | 0x00425f72 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00425f77 mov esi, 0x49738e | 0x00425f7c mov edx, 2 | 0x00425f81 mov rdi, rax | 0x00425f84 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425f89 mov rdi, rax | rdi = rax; 0x00425f8c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00425f90 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00425f95 mov esi, 0x4b34a3 | 0x00425f9a mov edx, 1 | 0x00425f9f mov rdi, rax | 0x00425fa2 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00425fa7 mov esi, 0x49695d | 0x00425fac mov edx, 8 | 0x00425fb1 mov rdi, rax | 0x00425fb4 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49695d, 8); 0x00425fb9 mov esi, 0x49738e | 0x00425fbe mov edx, 2 | 0x00425fc3 mov rdi, rax | 0x00425fc6 call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00425fcb mov rbp, rax | 0x00425fce lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x00425fd3 mov rdi, rbx | 0x00425fd6 lea rsi, [rsp + 0x230] | 0x00425fde call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x00425fe3 mov rdi, rbp | 0x00425fe6 mov rsi, rbx | 0x00425fe9 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00425fee mov esi, 0x4b34a3 | 0x00425ff3 mov edx, 1 | 0x00425ff8 mov rdi, rax | 0x00425ffb call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b34a3, 1); 0x00426000 mov esi, 0x496d41 | 0x00426005 mov edx, 9 | 0x0042600a mov rdi, rax | 0x0042600d call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496d41, 9); 0x00426012 mov esi, 0x49738e | 0x00426017 mov edx, 2 | 0x0042601c mov rdi, rax | 0x0042601f call 0x429230 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x49738e, 2); 0x00426024 mov rbp, rax | 0x00426027 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x0042602c mov rdi, rbx | 0x0042602f lea rsi, [rsp + 0x110] | 0x00426037 call 0x4296c0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x0042603c mov rdi, rbp | 0x0042603f mov rsi, rbx | 0x00426042 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00426047 mov esi, 0x4971f1 | 0x0042604c mov edx, 1 | 0x00426051 mov rdi, rax | 0x00426054 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4971f1, 1); 0x00426059 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x0042605f je 0x426071 | 0x00426061 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00426066 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x0042606b mov rax, qword [rdi] | rax = *(rdi); 0x0042606e call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00426071 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00426077 je 0x426089 | 0x00426079 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x0042607e mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00426083 mov rax, qword [rdi] | rax = *(rdi); 0x00426086 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00426089 mov esi, 0x496d35 | esi = "os.str() == exp.str()"; 0x0042608e mov edi, 1 | edi = 1; 0x00426093 mov edx, 0x114 | edx = 0x114; 0x00426098 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x0042609d test r13b, 1 | | if ((r13b & 1) != 0) { 0x004260a1 je 0x4260b0 | 0x004260a3 mov rdi, r12 | 0x004260a6 call 0x42b830 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x004260ab jmp 0x4260bd | | } else { 0x004260b0 mov rdi, r12 | 0x004260b3 mov esi, 1 | 0x004260b8 call 0x42b790 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x004260bd mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004260c5 cmp rax, 2 | | if (rax >= 2) { 0x004260c9 jb 0x4260eb | 0x004260cb dec rax | rax--; 0x004260ce mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004260d6 mov rdx, rax | rdx = rax; 0x004260d9 shr rdx, 6 | rdx >>= 6; 0x004260dd mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x004260e1 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x004260e5 jae 0x4261ec | goto label_17; | } | } 0x004260eb xor eax, eax | eax = 0; | label_2: 0x004260ed movzx edi, al | edi = (int32_t) al; 0x004260f0 mov esi, 0x496d73 | esi = "!mX.isNameNeeded()"; 0x004260f5 mov edx, 0x123 | edx = 0x123; 0x004260fa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004260ff cmp byte [rsp + 0x89], 0 | 0x00426107 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042610a cmp qword [rsp + 0xb0], 1 | 0x00426113 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00426116 or cl, al | cl |= al; 0x00426118 movzx edi, cl | edi = (int32_t) cl; 0x0042611b mov esi, 0x496cc0 | esi = 0x496cc0; 0x00426120 mov edx, 0x124 | edx = 0x124; 0x00426125 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042612a mov rdi, r12 | 0x0042612d call 0x42b770 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x00426132 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0042613a call 0x42ad60 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x0042613f mov esi, 0x497500 | esi = 0x497500; 0x00426144 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x0042614c call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00426151 mov qword [rsp + 0x110], 0x497650 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x497650; 0x0042615d cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x00426166 je 0x42617e | 0x00426168 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x00426170 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x00426178 mov rax, qword [rdi] | rax = *(rdi); 0x0042617b call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0042617e mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042618a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00426192 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00426197 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042619f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004261a4 mov esi, 0x497500 | esi = 0x497500; 0x004261a9 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x004261b1 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004261b6 mov qword [rsp + 0x230], 0x497650 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x497650; 0x004261c2 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x004261cb je 0x425590 | goto label_1; | } 0x004261d1 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x004261d9 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x004261e1 mov rax, qword [rdi] | rax = *(rdi); 0x004261e4 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x004261e7 jmp 0x425590 | goto label_1; | label_17: 0x004261ec cmp byte [rsp + 0x8a], 0 | 0x004261f4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x004261f7 jmp 0x4260ed | goto label_2; | label_4: 0x004261fc add rsp, 0x348 | 0x00426203 pop rbx | 0x00426204 pop r12 | 0x00426206 pop r13 | 0x00426208 pop r14 | 0x0042620a pop r15 | 0x0042620c pop rbp | 0x0042620d ret | return rax; | }