; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/assume @ 0x423640 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.Time__int__int__int__int__int__BloombergLP::bdlt::Time_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_Time_int_int_int_int_int_BloombergLP::bdlt::Time_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::Time const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x00423640 push rbp | 0x00423641 push r15 | 0x00423643 push r14 | 0x00423645 push r13 | 0x00423647 push r12 | 0x00423649 push rbx | 0x0042364a sub rsp, 0x348 | 0x00423651 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x00423659 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x0042365e mov r15d, edx | r15d = edx; 0x00423661 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x00423665 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x00423669 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x00423671 lea eax, [rcx + 1] | eax = rcx + 1; 0x00423674 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x00423678 mov r13b, 1 | r13b = 1; 0x0042367b lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00423683 jmp 0x4236c6 | goto label_3; | label_1: 0x00423690 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042369c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x004236a4 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x004236a9 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004236b1 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004236b6 test r13b, 1 | 0x004236ba mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x004236c0 je 0x4242fc | goto label_4; | } | label_3: 0x004236c6 mov rax, qword [rip + 0x2bd993] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004236cd test rax, rax | | if (rax == 0) { 0x004236d0 jne 0x4236d7 | 0x004236d2 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004236d7 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x004236df mov qword [rsp + 0x2b0], 0x6d6ca0 | *((rsp + 0x2b0)) = 0x6d6ca0; 0x004236eb lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x004236f3 mov rdi, rbp | 0x004236f6 mov esi, 0x10 | 0x004236fb lea rdx, [rsp + 0x108] | 0x00423703 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00423708 mov qword [rsp + 0x228], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00423714 mov qword [rsp + 0x2b0], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x00423720 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00423728 mov rsi, rbp | rsi = rbp; 0x0042372b call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00423730 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x0042373c mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x00423747 mov qword [rsp + 0x228], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x00423753 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; 0x0042375f mov rax, qword [rip + 0x2bd8fa] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00423766 test rax, rax | | if (rax == 0) { 0x00423769 jne 0x423770 | 0x0042376b call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00423770 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x00423778 mov qword [rsp + 0x190], 0x6d6ca0 | *((rsp + 0x190)) = 0x6d6ca0; 0x00423784 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042378c mov rdi, rbp | 0x0042378f mov esi, 0x10 | 0x00423794 mov rdx, r12 | 0x00423797 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042379c mov qword [rsp + 0x108], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x004237a8 mov qword [rsp + 0x190], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x004237b4 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x004237bc mov rsi, rbp | rsi = rbp; 0x004237bf call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004237c4 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x004237d0 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x004237db mov qword [rsp + 0x108], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x004237e7 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; 0x004237f3 lea rdi, [rsp + 0xe8] | 0x004237fb mov rsi, qword [rsp + 0x380] | 0x00423803 call 0x42ad10 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00423808 cmp r15d, 0xffffffff | 0x0042380c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00423814 je 0x42381e | 0x00423816 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042381e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00423821 je 0x42382a | 0x00423823 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x0042382a mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x0042382e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00423831 je 0x42383a | 0x00423833 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x0042383a mov rdi, r12 | 0x0042383d lea rsi, [rsp + 0x228] | 0x00423845 lea rdx, [rsp + 0xe8] | 0x0042384d xor ecx, ecx | 0x0042384f call 0x42b660 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x00423854 cmp byte [rsp + 0x89], 0 | 0x0042385c setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x0042385f cmp qword [rsp + 0xb0], 1 | 0x00423868 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x0042386b and cl, al | cl &= al; 0x0042386d movzx edi, cl | edi = (int32_t) cl; 0x00423870 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00423875 mov edx, 0xe4 | edx = 0xe4; 0x0042387a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042387f cmp r15d, 1 | | if (r15d == 1) { 0x00423883 jne 0x42389e | 0x00423885 lea rdi, [rsp + 0x108] | 0x0042388d mov rsi, qword [rsp + 0xe0] | 0x00423895 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00423899 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042389e test r13b, 1 | | if ((r13b & 1) != 0) { 0x004238a2 je 0x423900 | 0x004238a4 mov rdi, r12 | 0x004238a7 call 0x42bb20 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x004238ac mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x004238b1 mov edx, 1 | 0x004238b6 lea rdi, [rsp + 0x108] | 0x004238be lea rsi, [rsp + 0x10] | 0x004238c3 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004238c8 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x004238d1 movaps xmm0, xmmword [rip + 0x71db8] | xmm0 = .comment; 0x004238d8 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x004238dd mov rax, qword [rip + 0x2bd77c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004238e4 test rax, rax | | if (rax == 0) { 0x004238e7 je 0x4239a7 | goto label_5; | } 0x004238ed mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004238f2 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x004238f7 jmp 0x4239d0 | goto label_6; | } 0x00423900 mov rdi, r12 | 0x00423903 mov esi, 1 | 0x00423908 call 0x42b8b0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042390d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00423912 mov edx, 1 | 0x00423917 lea rdi, [rsp + 0x108] | 0x0042391f lea rsi, [rsp + 0x10] | 0x00423924 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00423929 cmp r15d, 1 | | if (r15d == 1) { 0x0042392d jne 0x423960 | 0x0042392f mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x00423934 mov edx, 1 | 0x00423939 lea rdi, [rsp + 0x108] | 0x00423941 lea rsi, [rsp + 0x10] | 0x00423946 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x0042394b lea rdi, [rsp + 0x108] | 0x00423953 mov esi, dword [rsp + 0x4c] | 0x00423957 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x0042395b call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00423960 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00423968 cmp rax, 2 | | if (rax >= 2) { 0x0042396c jb 0x42398e | 0x0042396e dec rax | rax--; 0x00423971 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00423979 mov rdx, rax | rdx = rax; 0x0042397c shr rdx, 6 | rdx >>= 6; 0x00423980 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00423984 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00423988 jae 0x423fbc | goto label_7; | } | } 0x0042398e xor eax, eax | eax = 0; | do { 0x00423990 movzx edi, al | edi = (int32_t) al; 0x00423993 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00423998 mov edx, 0x104 | edx = 0x104; 0x0042399d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004239a2 jmp 0x423bd5 | goto label_8; | label_5: 0x004239a7 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004239ac cmp qword [rsp + 0x30], 0x17 | 0x004239b2 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004239b7 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x004239bc je 0x4239d0 | 0x004239be mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x004239c3 nop word cs:[rax + rax] | 0x004239cd nop dword [rax] | | } | label_6: 0x004239d0 mov byte [rcx], 0 | *(rcx) = 0; 0x004239d3 cmp r15d, 1 | | if (r15d == 1) { 0x004239d7 jne 0x423a31 | 0x004239d9 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x004239de mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x004239e7 mov esi, 0x4b2832 | 0x004239ec mov edx, 1 | 0x004239f1 mov ecx, 0x496987 | 0x004239f6 lea rdi, [rsp + 0x10] | 0x004239fb call 0x472610 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b2832, 1, "string<...>::assign(char*...): string too long"); 0x00423a00 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00423a05 mov edx, 1 | 0x00423a0a lea rdi, [rsp + 0x108] | 0x00423a12 lea rsi, [rsp + 0x50] | 0x00423a17 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x00423a1c lea rdi, [rsp + 0x108] | 0x00423a24 mov esi, dword [rsp + 0x4c] | 0x00423a28 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00423a2c call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00423a31 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00423a39 cmp rax, 2 | | if (rax >= 2) { 0x00423a3d jb 0x423a5f | 0x00423a3f dec rax | rax--; 0x00423a42 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00423a4a mov rdx, rax | rdx = rax; 0x00423a4d shr rdx, 6 | rdx >>= 6; 0x00423a51 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00423a55 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00423a59 jae 0x423fcc | goto label_9; | } | } 0x00423a5f xor eax, eax | eax = 0; | label_0: 0x00423a61 xor al, 1 | al ^= 1; 0x00423a63 movzx edi, al | edi = (int32_t) al; 0x00423a66 mov esi, 0x496366 | esi = 0x496366; 0x00423a6b mov edx, 0xf6 | edx = 0xf6; 0x00423a70 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423a75 mov qword [rsp + 0x50], 0x496316 | *((rsp + 0x50)) = "name"; 0x00423a7e mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00423a87 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x00423a8f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00423a97 je 0x423ad5 | 0x00423a99 mov rdi, qword [rsp + 0x80] | 0x00423aa1 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x00423aa5 mov edx, 1 | 0x00423aaa mov rsi, rsp | 0x00423aad call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x00423ab2 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x00423aba jne 0x423b0e | goto label_10; | } 0x00423abc mov rdi, qword [rsp + 0x80] | 0x00423ac4 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x00423ac8 mov edx, 1 | 0x00423acd mov rsi, rsp | 0x00423ad0 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x00423ad5 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x00423adc mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00423ae4 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x00423aec cmp eax, 1 | | if (eax == 1) { 0x00423aef jne 0x423b1e | 0x00423af1 mov rdi, qword [rsp + 0x80] | 0x00423af9 mov esi, dword [rsp + 0xd4] | 0x00423b00 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00423b07 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x00423b0c jmp 0x423b1e | goto label_11; | label_10: 0x00423b0e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00423b16 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x00423b1e mov rdi, qword [rsp + 0x80] | 0x00423b26 lea rsi, [rsp + 0x50] | 0x00423b2b call 0x42b270 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x00423b30 test eax, eax | | if (eax == 0) { 0x00423b32 jne 0x423b61 | 0x00423b34 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x00423b3c xor eax, eax | eax = 0; 0x00423b3e cmp dword [rsp + 0xcc], 1 | 0x00423b46 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x00423b49 mov esi, 0x4b2a43 | esi = 0x4b2a43; 0x00423b4e mov ecx, 0x496983 | ecx = 0x496983; | if (*((rsp + 0xcc)) == 1) { 0x00423b53 cmove rsi, rcx | rsi = rcx; | } 0x00423b57 lea rdx, [rax + rax + 1] | 0x00423b5c call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x00423b61 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x00423b69 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00423b6e xor edi, edi | edi = 0; 0x00423b70 mov edx, 0xf8 | edx = 0xf8; 0x00423b75 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423b7a mov esi, 0x49631b | 0x00423b7f mov edx, 6 | 0x00423b84 lea rdi, [rsp + 0x108] | 0x00423b8c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00423b91 mov rdi, rax | 0x00423b94 lea rsi, [rsp + 0x10] | 0x00423b99 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00423b9e mov esi, 0x4b2a43 | 0x00423ba3 mov edx, 1 | 0x00423ba8 mov rdi, rax | 0x00423bab call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b2a43, 1); 0x00423bb0 mov rdi, rax | 0x00423bb3 lea rsi, [rsp + 0x10] | 0x00423bb8 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x00423bbd cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00423bc3 je 0x423bd5 | 0x00423bc5 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00423bca mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00423bcf mov rax, qword [rdi] | rax = *(rdi); 0x00423bd2 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x00423bd5 cmp byte [rsp + 0x89], 0 | 0x00423bdd setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00423be0 cmp qword [rsp + 0xb0], 1 | 0x00423be9 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00423bec and cl, al | cl &= al; 0x00423bee movzx edi, cl | edi = (int32_t) cl; 0x00423bf1 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00423bf6 mov edx, 0x107 | edx = 0x107; 0x00423bfb call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423c00 mov rdi, r12 | 0x00423c03 mov rsi, qword [rsp + 0xd8] | 0x00423c0b call 0x42a5d0 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::Timeconst&) (r12, *((rsp + 0xd8))); 0x00423c10 mov r14d, eax | r14d = eax; 0x00423c13 cmp byte [rsp + 0x89], 0 | 0x00423c1b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00423c1e cmp qword [rsp + 0xb0], 1 | 0x00423c27 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00423c2a and cl, al | cl &= al; 0x00423c2c movzx edi, cl | edi = (int32_t) cl; 0x00423c2f mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00423c34 mov edx, 0x10b | edx = 0x10b; 0x00423c39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423c3e cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00423c46 je 0x423ec0 | 0x00423c4c test r14d, r14d | | if (r14d != 0) { 0x00423c4f je 0x423d30 | 0x00423c55 mov edi, 0x6e0ef0 | 0x00423c5a mov esi, 0x4969d1 | 0x00423c5f mov edx, 4 | 0x00423c64 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); 0x00423c69 mov esi, 0x496984 | 0x00423c6e mov edx, 2 | 0x00423c73 mov rdi, rax | 0x00423c76 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423c7b mov rdi, rax | rdi = rax; 0x00423c7e mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00423c82 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423c87 mov esi, 0x4b29a3 | 0x00423c8c mov edx, 1 | 0x00423c91 mov rdi, rax | 0x00423c94 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423c99 mov esi, 0x4969d6 | 0x00423c9e mov edx, 8 | 0x00423ca3 mov rdi, rax | 0x00423ca6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00423cab mov esi, 0x496984 | 0x00423cb0 mov edx, 2 | 0x00423cb5 mov rdi, rax | 0x00423cb8 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423cbd mov rdi, rax | rdi = rax; 0x00423cc0 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00423cc4 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423cc9 mov esi, 0x4b29a3 | 0x00423cce mov edx, 1 | 0x00423cd3 mov rdi, rax | 0x00423cd6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423cdb mov esi, 0x4969f7 | 0x00423ce0 mov edx, 2 | 0x00423ce5 mov rdi, rax | 0x00423ce8 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00423ced mov esi, 0x496984 | 0x00423cf2 mov edx, 2 | 0x00423cf7 mov rdi, rax | 0x00423cfa call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423cff mov rdi, rax | rdi = rax; 0x00423d02 mov esi, r14d | esi = r14d; 0x00423d05 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423d0a mov esi, 0x4967e3 | 0x00423d0f mov edx, 1 | 0x00423d14 mov rdi, rax | 0x00423d17 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00423d1c mov esi, 0x4969df | esi = "0 == rc"; 0x00423d21 mov edi, 1 | edi = 1; 0x00423d26 mov edx, 0x10e | edx = 0x10e; 0x00423d2b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00423d30 mov dword [rsp], 3 | *(rsp) = 3; 0x00423d37 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00423d3f mov esi, dword [rax + 8] | 0x00423d42 mov rdi, rsp | 0x00423d45 call 0x441a90 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00423d4a lea rdi, [rsp + 0x10] | 0x00423d4f mov esi, 0x27 | 0x00423d54 mov rdx, qword [rsp + 0xd8] | 0x00423d5c mov rcx, rsp | 0x00423d5f call 0x43e900 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::Timeconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8)), rsp); 0x00423d64 lea rdi, [rsp + 0x10] | 0x00423d69 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00423d6e call 0x404440 | rax = strlen (rsp + 0x10); 0x00423d73 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00423d78 lea rdi, [rsp + 0x108] | 0x00423d80 lea rsi, [rsp + 0x50] | 0x00423d85 call 0x42b270 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00423d8a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00423d92 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00423d96 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00423d9e je 0x423e3e | 0x00423da4 mov edi, 0x6e0ef0 | 0x00423da9 mov esi, 0x4969d1 | 0x00423dae mov edx, 4 | 0x00423db3 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); 0x00423db8 mov esi, 0x496984 | 0x00423dbd mov edx, 2 | 0x00423dc2 mov rdi, rax | 0x00423dc5 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423dca mov rdi, rax | rdi = rax; 0x00423dcd mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00423dd1 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423dd6 mov esi, 0x4b29a3 | 0x00423ddb mov edx, 1 | 0x00423de0 mov rdi, rax | 0x00423de3 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423de8 mov esi, 0x4969d6 | 0x00423ded mov edx, 8 | 0x00423df2 mov rdi, rax | 0x00423df5 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00423dfa mov esi, 0x496984 | 0x00423dff mov edx, 2 | 0x00423e04 mov rdi, rax | 0x00423e07 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423e0c mov rdi, rax | rdi = rax; 0x00423e0f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00423e13 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423e18 mov esi, 0x4967e3 | 0x00423e1d mov edx, 1 | 0x00423e22 mov rdi, rax | 0x00423e25 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00423e2a mov esi, 0x4969e7 | esi = "exp.good()"; 0x00423e2f mov edi, 1 | edi = 1; 0x00423e34 mov edx, 0x111 | edx = 0x111; 0x00423e39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00423e3e lea rdi, [rsp + 0x10] | 0x00423e43 lea rsi, [rsp + 0x230] | 0x00423e4b call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00423e50 lea rdi, [rsp + 0x50] | 0x00423e55 lea rsi, [rsp + 0x110] | 0x00423e5d call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00423e62 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00423e67 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00423e6c jne 0x423fb0 | goto label_12; | } 0x00423e72 test rdx, rdx | | if (rdx == 0) { 0x00423e75 je 0x423fdc | goto label_13; | } 0x00423e7b cmp qword [rsp + 0x70], 0x17 | 0x00423e81 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00423e86 je 0x423e8d | 0x00423e88 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00423e8d cmp qword [rsp + 0x30], 0x17 | 0x00423e93 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00423e98 je 0x423e9f | 0x00423e9a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00423e9f call 0x404590 | eax = bcmp (); 0x00423ea4 test eax, eax | 0x00423ea6 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00423eaa cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00423eb0 jne 0x423ff0 | goto label_14; | } 0x00423eb6 jmp 0x424000 | goto label_15; | } 0x00423ec0 test r14d, r14d | | if (r14d != 0) { 0x00423ec3 jne 0x42419d | goto label_16; | } 0x00423ec9 mov edi, 0x6e0ef0 | 0x00423ece mov esi, 0x4969d1 | 0x00423ed3 mov edx, 4 | 0x00423ed8 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); 0x00423edd mov esi, 0x496984 | 0x00423ee2 mov edx, 2 | 0x00423ee7 mov rdi, rax | 0x00423eea call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423eef mov rdi, rax | rdi = rax; 0x00423ef2 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00423ef6 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423efb mov esi, 0x4b29a3 | 0x00423f00 mov edx, 1 | 0x00423f05 mov rdi, rax | 0x00423f08 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423f0d mov esi, 0x4969d6 | 0x00423f12 mov edx, 8 | 0x00423f17 mov rdi, rax | 0x00423f1a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00423f1f mov esi, 0x496984 | 0x00423f24 mov edx, 2 | 0x00423f29 mov rdi, rax | 0x00423f2c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423f31 mov rdi, rax | rdi = rax; 0x00423f34 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00423f38 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423f3d mov esi, 0x4b29a3 | 0x00423f42 mov edx, 1 | 0x00423f47 mov rdi, rax | 0x00423f4a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00423f4f mov esi, 0x4969f7 | 0x00423f54 mov edx, 2 | 0x00423f59 mov rdi, rax | 0x00423f5c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00423f61 mov esi, 0x496984 | 0x00423f66 mov edx, 2 | 0x00423f6b mov rdi, rax | 0x00423f6e call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00423f73 mov rdi, rax | rdi = rax; 0x00423f76 xor esi, esi | esi = 0; 0x00423f78 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00423f7d mov esi, 0x4967e3 | 0x00423f82 mov edx, 1 | 0x00423f87 mov rdi, rax | 0x00423f8a call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00423f8f mov esi, 0x4969f2 | esi = "0 != rc"; 0x00423f94 mov edi, 1 | edi = 1; 0x00423f99 mov edx, 0x117 | edx = 0x117; 0x00423f9e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00423fa3 jmp 0x42419d | goto label_16; | label_12: 0x00423fb0 xor ebp, ebp | ebp = 0; 0x00423fb2 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00423fb8 jne 0x423ff0 | goto label_14; | } 0x00423fba jmp 0x424000 | goto label_15; | label_7: 0x00423fbc cmp byte [rsp + 0x8a], 0 | 0x00423fc4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00423fc7 jmp 0x423990 | | } while (1); | label_9: 0x00423fcc cmp byte [rsp + 0x8a], 0 | 0x00423fd4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00423fd7 jmp 0x423a61 | goto label_0; | label_13: 0x00423fdc mov bpl, 1 | bpl = 1; 0x00423fdf cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00423fe5 je 0x424000 | 0x00423fe7 nop word [rax + rax] | | label_14: 0x00423ff0 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00423ff5 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00423ffa mov rax, qword [rdi] | rax = *(rdi); 0x00423ffd call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00424000 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00424006 je 0x424018 | 0x00424008 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x0042400d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00424012 mov rax, qword [rdi] | rax = *(rdi); 0x00424015 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00424018 test bpl, bpl | | if (bpl == 0) { 0x0042401b jne 0x42419d | 0x00424021 mov edi, 0x6e0ef0 | 0x00424026 mov esi, 0x4969d1 | 0x0042402b mov edx, 4 | 0x00424030 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); 0x00424035 mov esi, 0x496984 | 0x0042403a mov edx, 2 | 0x0042403f mov rdi, rax | 0x00424042 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424047 mov rdi, rax | rdi = rax; 0x0042404a mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x0042404e call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424053 mov esi, 0x4b29a3 | 0x00424058 mov edx, 1 | 0x0042405d mov rdi, rax | 0x00424060 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424065 mov esi, 0x4969d6 | 0x0042406a mov edx, 8 | 0x0042406f mov rdi, rax | 0x00424072 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00424077 mov esi, 0x496984 | 0x0042407c mov edx, 2 | 0x00424081 mov rdi, rax | 0x00424084 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424089 mov rdi, rax | rdi = rax; 0x0042408c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00424090 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00424095 mov esi, 0x4b29a3 | 0x0042409a mov edx, 1 | 0x0042409f mov rdi, rax | 0x004240a2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x004240a7 mov esi, 0x495f4f | 0x004240ac mov edx, 8 | 0x004240b1 mov rdi, rax | 0x004240b4 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x495f4f, 8); 0x004240b9 mov esi, 0x496984 | 0x004240be mov edx, 2 | 0x004240c3 mov rdi, rax | 0x004240c6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x004240cb mov rbp, rax | 0x004240ce lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x004240d3 mov rdi, rbx | 0x004240d6 lea rsi, [rsp + 0x230] | 0x004240de call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x004240e3 mov rdi, rbp | 0x004240e6 mov rsi, rbx | 0x004240e9 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x004240ee mov esi, 0x4b29a3 | 0x004240f3 mov edx, 1 | 0x004240f8 mov rdi, rax | 0x004240fb call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00424100 mov esi, 0x496333 | 0x00424105 mov edx, 9 | 0x0042410a mov rdi, rax | 0x0042410d call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496333, 9); 0x00424112 mov esi, 0x496984 | 0x00424117 mov edx, 2 | 0x0042411c mov rdi, rax | 0x0042411f call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00424124 mov rbp, rax | 0x00424127 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x0042412c mov rdi, rbx | 0x0042412f lea rsi, [rsp + 0x110] | 0x00424137 call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x0042413c mov rdi, rbp | 0x0042413f mov rsi, rbx | 0x00424142 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00424147 mov esi, 0x4967e3 | 0x0042414c mov edx, 1 | 0x00424151 mov rdi, rax | 0x00424154 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00424159 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x0042415f je 0x424171 | 0x00424161 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00424166 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x0042416b mov rax, qword [rdi] | rax = *(rdi); 0x0042416e call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00424171 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00424177 je 0x424189 | 0x00424179 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x0042417e mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00424183 mov rax, qword [rdi] | rax = *(rdi); 0x00424186 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00424189 mov esi, 0x496327 | esi = "os.str() == exp.str()"; 0x0042418e mov edi, 1 | edi = 1; 0x00424193 mov edx, 0x114 | edx = 0x114; 0x00424198 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x0042419d test r13b, 1 | | if ((r13b & 1) != 0) { 0x004241a1 je 0x4241b0 | 0x004241a3 mov rdi, r12 | 0x004241a6 call 0x42b820 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x004241ab jmp 0x4241bd | | } else { 0x004241b0 mov rdi, r12 | 0x004241b3 mov esi, 1 | 0x004241b8 call 0x42b780 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x004241bd mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x004241c5 cmp rax, 2 | | if (rax >= 2) { 0x004241c9 jb 0x4241eb | 0x004241cb dec rax | rax--; 0x004241ce mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x004241d6 mov rdx, rax | rdx = rax; 0x004241d9 shr rdx, 6 | rdx >>= 6; 0x004241dd mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x004241e1 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x004241e5 jae 0x4242ec | goto label_17; | } | } 0x004241eb xor eax, eax | eax = 0; | label_2: 0x004241ed movzx edi, al | edi = (int32_t) al; 0x004241f0 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x004241f5 mov edx, 0x123 | edx = 0x123; 0x004241fa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004241ff cmp byte [rsp + 0x89], 0 | 0x00424207 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042420a cmp qword [rsp + 0xb0], 1 | 0x00424213 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00424216 or cl, al | cl |= al; 0x00424218 movzx edi, cl | edi = (int32_t) cl; 0x0042421b mov esi, 0x4962b2 | esi = 0x4962b2; 0x00424220 mov edx, 0x124 | edx = 0x124; 0x00424225 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042422a mov rdi, r12 | 0x0042422d call 0x42b760 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x00424232 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0042423a call 0x42ad50 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x0042423f mov esi, 0x496af0 | esi = 0x496af0; 0x00424244 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x0042424c call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00424251 mov qword [rsp + 0x110], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x0042425d cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x00424266 je 0x42427e | 0x00424268 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x00424270 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x00424278 mov rax, qword [rdi] | rax = *(rdi); 0x0042427b call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0042427e mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042428a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00424292 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00424297 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042429f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004242a4 mov esi, 0x496af0 | esi = 0x496af0; 0x004242a9 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x004242b1 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004242b6 mov qword [rsp + 0x230], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x004242c2 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x004242cb je 0x423690 | goto label_1; | } 0x004242d1 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x004242d9 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x004242e1 mov rax, qword [rdi] | rax = *(rdi); 0x004242e4 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x004242e7 jmp 0x423690 | goto label_1; | label_17: 0x004242ec cmp byte [rsp + 0x8a], 0 | 0x004242f4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x004242f7 jmp 0x4241ed | goto label_2; | label_4: 0x004242fc add rsp, 0x348 | 0x00424303 pop rbx | 0x00424304 pop r12 | 0x00424306 pop r13 | 0x00424308 pop r14 | 0x0042430a pop r15 | 0x0042430c pop rbp | 0x0042430d ret | return rax; | }