; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/assume @ 0x427440 */ | #include | ; (fcn) method.void_testPutValue_BloombergLP::bdlt.DatetimeTz__int__int__int__int__int__BloombergLP::bdlt::DatetimeTz_const__BloombergLP::baljsn::EncoderOptions_const__bool_ () | uint64_t method_void_testPutValue_BloombergLP::bdlt_DatetimeTz_int_int_int_int_int_BloombergLP::bdlt::DatetimeTz_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::DatetimeTz const&, BloombergLP::baljsn::EncoderOptions const*, bool) */ 0x00427440 push rbp | 0x00427441 push r15 | 0x00427443 push r14 | 0x00427445 push r13 | 0x00427447 push r12 | 0x00427449 push rbx | 0x0042744a sub rsp, 0x348 | 0x00427451 mov qword [rsp + 0xd8], r9 | *((rsp + 0xd8)) = r9; 0x00427459 mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x0042745e mov r15d, edx | r15d = edx; 0x00427461 mov dword [rsp + 4], esi | *((rsp + 4)) = esi; 0x00427465 mov dword [rsp + 8], edi | *((rsp + 8)) = edi; 0x00427469 mov qword [rsp + 0xe0], rcx | *((rsp + 0xe0)) = rcx; 0x00427471 lea eax, [rcx + 1] | eax = rcx + 1; 0x00427474 mov dword [rsp + 0x4c], eax | *((rsp + 0x4c)) = eax; 0x00427478 mov r13b, 1 | r13b = 1; 0x0042747b lea r12, [rsp + 0x80] | r12 = rsp + 0x80; 0x00427483 jmp 0x4274c6 | goto label_3; | label_1: 0x00427490 mov qword [rsp + 0x288], 0xffffffffffffffff | *((rsp + 0x288)) = 0xffffffffffffffff; 0x0042749c lea rdi, [rsp + 0x230] | rdi = rsp + 0x230; 0x004274a4 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x004274a9 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x004274b1 call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004274b6 test r13b, 1 | 0x004274ba mov r13d, 0 | r13d = 0; | if ((r13b & 1) == 0) { 0x004274c0 je 0x4280fc | goto label_4; | } | label_3: 0x004274c6 mov rax, qword [rip + 0x2b9b93] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004274cd test rax, rax | | if (rax == 0) { 0x004274d0 jne 0x4274d7 | 0x004274d2 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x004274d7 mov qword [rsp + 0x108], rax | *((rsp + 0x108)) = rax; 0x004274df mov qword [rsp + 0x2b0], 0x6d6ca0 | *((rsp + 0x2b0)) = 0x6d6ca0; 0x004274eb lea rbp, [rsp + 0x230] | rbp = rsp + 0x230; 0x004274f3 mov rdi, rbp | 0x004274f6 mov esi, 0x10 | 0x004274fb lea rdx, [rsp + 0x108] | 0x00427503 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, rsp + 0x108); 0x00427508 mov qword [rsp + 0x228], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x00427514 mov qword [rsp + 0x2b0], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x00427520 lea rdi, [rsp + 0x2b0] | rdi = rsp + 0x2b0; 0x00427528 mov rsi, rbp | rsi = rbp; 0x0042752b call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x00427530 mov qword [rsp + 0x338], 0 | *((rsp + 0x338)) = 0; 0x0042753c mov dword [rsp + 0x340], 0xffffffff | *((rsp + 0x340)) = 0xffffffff; 0x00427547 mov qword [rsp + 0x228], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x00427553 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; 0x0042755f mov rax, qword [rip + 0x2b9afa] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00427566 test rax, rax | | if (rax == 0) { 0x00427569 jne 0x427570 | 0x0042756b call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x00427570 mov qword [rsp + 0x80], rax | *((rsp + 0x80)) = rax; 0x00427578 mov qword [rsp + 0x190], 0x6d6ca0 | *((rsp + 0x190)) = 0x6d6ca0; 0x00427584 lea rbp, [rsp + 0x110] | rbp = rsp + 0x110; 0x0042758c mov rdi, rbp | 0x0042758f mov esi, 0x10 | 0x00427594 mov rdx, r12 | 0x00427597 call 0x4294e0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbp, 0x10, r12); 0x0042759c mov qword [rsp + 0x108], 0x496b20 | *((rsp + sym.imp.std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b20; 0x004275a8 mov qword [rsp + 0x190], 0x496b48 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x496b48; 0x004275b4 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x004275bc mov rsi, rbp | rsi = rbp; 0x004275bf call 0x4043d0 | std::_1::ios_base::init(void*) (); 0x004275c4 mov qword [rsp + 0x218], 0 | *((rsp + 0x218)) = 0; 0x004275d0 mov dword [rsp + 0x220], 0xffffffff | *((rsp + 0x220)) = 0xffffffff; 0x004275db mov qword [rsp + 0x108], 0x496ab0 | *((rsp + sym.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___::basic_ostringstream__)) = 0x496ab0; 0x004275e7 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; 0x004275f3 lea rdi, [rsp + 0xe8] | 0x004275fb mov rsi, qword [rsp + 0x380] | 0x00427603 call 0x42ad10 | BloombergLP::baljsn::EncoderOptions::EncoderOptions(BloombergLP::baljsn::EncoderOptionsconst&) (rsp + 0xe8, *((rsp + 0x380))); 0x00427608 cmp r15d, 0xffffffff | 0x0042760c mov rax, qword [rsp + 0xe0] | rax = *((rsp + 0xe0)); | if (r15d != 0xffffffff) { 0x00427614 je 0x42761e | 0x00427616 mov dword [rsp + 0xfc], r15d | *((rsp + 0xfc)) = r15d; | } 0x0042761e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00427621 je 0x42762a | 0x00427623 mov dword [rsp + 0xe8], eax | *((rsp + 0xe8)) = eax; | } 0x0042762a mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x0042762e cmp eax, 0xffffffff | | if (eax != 0xffffffff) { 0x00427631 je 0x42763a | 0x00427633 mov dword [rsp + 0xec], eax | *((rsp + 0xec)) = eax; | } 0x0042763a mov rdi, r12 | 0x0042763d lea rsi, [rsp + 0x228] | 0x00427645 lea rdx, [rsp + 0xe8] | 0x0042764d xor ecx, ecx | 0x0042764f call 0x42b660 | BloombergLP::baljsn::SimpleFormatter::SimpleFormatter(std::_1::basic_ostream>&,BloombergLP::baljsn::EncoderOptionsconst&,BloombergLP::bslma::Allocator*) (r12, rsp + 0x228, rsp + 0xe8, 0); 0x00427654 cmp byte [rsp + 0x89], 0 | 0x0042765c setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x0042765f cmp qword [rsp + 0xb0], 1 | 0x00427668 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x0042766b and cl, al | cl &= al; 0x0042766d movzx edi, cl | edi = (int32_t) cl; 0x00427670 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00427675 mov edx, 0xe4 | edx = 0xe4; 0x0042767a call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042767f cmp r15d, 1 | | if (r15d == 1) { 0x00427683 jne 0x42769e | 0x00427685 lea rdi, [rsp + 0x108] | 0x0042768d mov rsi, qword [rsp + 0xe0] | 0x00427695 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x00427699 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0xe0))); | } 0x0042769e test r13b, 1 | | if ((r13b & 1) != 0) { 0x004276a2 je 0x427700 | 0x004276a4 mov rdi, r12 | 0x004276a7 call 0x42bb20 | BloombergLP::baljsn::SimpleFormatter::openObject() (r12); 0x004276ac mov byte [rsp + 0x10], 0x7b | *((rsp + 0x10)) = 0x7b; 0x004276b1 mov edx, 1 | 0x004276b6 lea rdi, [rsp + 0x108] | 0x004276be lea rsi, [rsp + 0x10] | 0x004276c3 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x004276c8 mov qword [rsp + 0x10], 0 | *((rsp + 0x10)) = 0; 0x004276d1 movaps xmm0, xmmword [rip + 0x6dfb8] | xmm0 = .comment; 0x004276d8 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x004276dd mov rax, qword [rip + 0x2b997c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004276e4 test rax, rax | | if (rax == 0) { 0x004276e7 je 0x4277a7 | goto label_5; | } 0x004276ed mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004276f2 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; 0x004276f7 jmp 0x4277d0 | goto label_6; | } 0x00427700 mov rdi, r12 | 0x00427703 mov esi, 1 | 0x00427708 call 0x42b8b0 | BloombergLP::baljsn::SimpleFormatter::openArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1); 0x0042770d mov byte [rsp + 0x10], 0x5b | *((rsp + 0x10)) = 0x5b; 0x00427712 mov edx, 1 | 0x00427717 lea rdi, [rsp + 0x108] | 0x0042771f lea rsi, [rsp + 0x10] | 0x00427724 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x00427729 cmp r15d, 1 | | if (r15d == 1) { 0x0042772d jne 0x427760 | 0x0042772f mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x00427734 mov edx, 1 | 0x00427739 lea rdi, [rsp + 0x108] | 0x00427741 lea rsi, [rsp + 0x10] | 0x00427746 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x10, 1); 0x0042774b lea rdi, [rsp + 0x108] | 0x00427753 mov esi, dword [rsp + 0x4c] | 0x00427757 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x0042775b call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00427760 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00427768 cmp rax, 2 | | if (rax >= 2) { 0x0042776c jb 0x42778e | 0x0042776e dec rax | rax--; 0x00427771 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00427779 mov rdx, rax | rdx = rax; 0x0042777c shr rdx, 6 | rdx >>= 6; 0x00427780 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00427784 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00427788 jae 0x427dbc | goto label_7; | } | } 0x0042778e xor eax, eax | eax = 0; | do { 0x00427790 movzx edi, al | edi = (int32_t) al; 0x00427793 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00427798 mov edx, 0x104 | edx = 0x104; 0x0042779d call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x004277a2 jmp 0x4279d5 | goto label_8; | label_5: 0x004277a7 call 0x46e1f0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004277ac cmp qword [rsp + 0x30], 0x17 | 0x004277b2 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004277b7 lea rcx, [rsp + 0x10] | rcx = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x004277bc je 0x4277d0 | 0x004277be mov rcx, qword [rsp + 0x10] | rcx = *((rsp + 0x10)); 0x004277c3 nop word cs:[rax + rax] | 0x004277cd nop dword [rax] | | } | label_6: 0x004277d0 mov byte [rcx], 0 | *(rcx) = 0; 0x004277d3 cmp r15d, 1 | | if (r15d == 1) { 0x004277d7 jne 0x427831 | 0x004277d9 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x004277de mov qword [rsp + 0x28], 0 | *((rsp + 0x28)) = 0; 0x004277e7 mov esi, 0x4b2832 | 0x004277ec mov edx, 1 | 0x004277f1 mov ecx, 0x496987 | 0x004277f6 lea rdi, [rsp + 0x10] | 0x004277fb call 0x472610 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x10, 0x4b2832, 1, "string<...>::assign(char*...): string too long"); 0x00427800 mov byte [rsp + 0x50], 0xa | *((rsp + 0x50)) = 0xa; 0x00427805 mov edx, 1 | 0x0042780a lea rdi, [rsp + 0x108] | 0x00427812 lea rsi, [rsp + 0x50] | 0x00427817 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, rsp + 0x50, 1); 0x0042781c lea rdi, [rsp + 0x108] | 0x00427824 mov esi, dword [rsp + 0x4c] | 0x00427828 mov edx, dword [rsp + 0xc] | edx = *((rsp + 0xc)); 0x0042782c call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (rsp + 0x108, *((rsp + 0x4c))); | } 0x00427831 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00427839 cmp rax, 2 | | if (rax >= 2) { 0x0042783d jb 0x42785f | 0x0042783f dec rax | rax--; 0x00427842 mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x0042784a mov rdx, rax | rdx = rax; 0x0042784d shr rdx, 6 | rdx >>= 6; 0x00427851 mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00427855 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00427859 jae 0x427dcc | goto label_9; | } | } 0x0042785f xor eax, eax | eax = 0; | label_0: 0x00427861 xor al, 1 | al ^= 1; 0x00427863 movzx edi, al | edi = (int32_t) al; 0x00427866 mov esi, 0x496366 | esi = 0x496366; 0x0042786b mov edx, 0xf6 | edx = 0xf6; 0x00427870 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00427875 mov qword [rsp + 0x50], 0x496316 | *((rsp + 0x50)) = "name"; 0x0042787e mov qword [rsp + 0x58], 4 | *((rsp + 0x58)) = 4; 0x00427887 mov byte [rsp + 0x89], 1 | *((rsp + 0x89)) = 1; 0x0042788f cmp byte [rsp + 0x88], 0 | | if (*((rsp + 0x88)) != 0) { 0x00427897 je 0x4278d5 | 0x00427899 mov rdi, qword [rsp + 0x80] | 0x004278a1 mov byte [rsp], 0x2c | *(rsp) = 0x2c; 0x004278a5 mov edx, 1 | 0x004278aa mov rsi, rsp | 0x004278ad call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); 0x004278b2 cmp dword [rsp + 0xcc], 1 | | if (*((rsp + 0xcc)) != 1) { 0x004278ba jne 0x42790e | goto label_10; | } 0x004278bc mov rdi, qword [rsp + 0x80] | 0x004278c4 mov byte [rsp], 0xa | *(rsp) = 0xa; 0x004278c8 mov edx, 1 | 0x004278cd mov rsi, rsp | 0x004278d0 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x80)), rsp, 1); | } 0x004278d5 mov eax, dword [rsp + 0xcc] | eax = *((rsp + 0xcc)); 0x004278dc mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x004278e4 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; 0x004278ec cmp eax, 1 | | if (eax == 1) { 0x004278ef jne 0x42791e | 0x004278f1 mov rdi, qword [rsp + 0x80] | 0x004278f9 mov esi, dword [rsp + 0xd4] | 0x00427900 mov edx, dword [rsp + 0xbc] | edx = *((rsp + 0xbc)); 0x00427907 call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*((rsp + 0x80)), *((rsp + 0xd4))); 0x0042790c jmp 0x42791e | goto label_11; | label_10: 0x0042790e mov byte [rsp + 0x8a], 0 | *((rsp + 0x8a)) = 0; 0x00427916 mov byte [rsp + 0x88], 0 | *((rsp + 0x88)) = 0; | } | label_11: 0x0042791e mov rdi, qword [rsp + 0x80] | 0x00427926 lea rsi, [rsp + 0x50] | 0x0042792b call 0x42b270 | eax = BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (*((rsp + 0x80)), rsp + 0x50); 0x00427930 test eax, eax | | if (eax == 0) { 0x00427932 jne 0x427961 | 0x00427934 mov rdi, qword [rsp + 0x80] | rdi = *((rsp + 0x80)); 0x0042793c xor eax, eax | eax = 0; 0x0042793e cmp dword [rsp + 0xcc], 1 | 0x00427946 sete al | al = (*((rsp + 0xcc)) == 1) ? 1 : 0; 0x00427949 mov esi, 0x4b2a43 | esi = 0x4b2a43; 0x0042794e mov ecx, 0x496983 | ecx = 0x496983; | if (*((rsp + 0xcc)) == 1) { 0x00427953 cmove rsi, rcx | rsi = rcx; | } 0x00427957 lea rdx, [rax + rax + 1] | 0x0042795c call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rdi, rsi, rax + rax + 1); | } 0x00427961 mov byte [rsp + 0x8a], 1 | *((rsp + 0x8a)) = 1; 0x00427969 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x0042796e xor edi, edi | edi = 0; 0x00427970 mov edx, 0xf8 | edx = 0xf8; 0x00427975 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042797a mov esi, 0x49631b | 0x0042797f mov edx, 6 | 0x00427984 lea rdi, [rsp + 0x108] | 0x0042798c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rsp + 0x108, "\"name\", 6); 0x00427991 mov rdi, rax | 0x00427994 lea rsi, [rsp + 0x10] | 0x00427999 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x0042799e mov esi, 0x4b2a43 | 0x004279a3 mov edx, 1 | 0x004279a8 mov rdi, rax | 0x004279ab call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b2a43, 1); 0x004279b0 mov rdi, rax | 0x004279b3 lea rsi, [rsp + 0x10] | 0x004279b8 call 0x413e50 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rax, rsp + 0x10); 0x004279bd cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x004279c3 je 0x4279d5 | 0x004279c5 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x004279ca mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x004279cf mov rax, qword [rdi] | rax = *(rdi); 0x004279d2 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_8: 0x004279d5 cmp byte [rsp + 0x89], 0 | 0x004279dd setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x004279e0 cmp qword [rsp + 0xb0], 1 | 0x004279e9 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x004279ec and cl, al | cl &= al; 0x004279ee movzx edi, cl | edi = (int32_t) cl; 0x004279f1 mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x004279f6 mov edx, 0x107 | edx = 0x107; 0x004279fb call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00427a00 mov rdi, r12 | 0x00427a03 mov rsi, qword [rsp + 0xd8] | 0x00427a0b call 0x42aa50 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::DatetimeTzconst&) (r12, *((rsp + 0xd8))); 0x00427a10 mov r14d, eax | r14d = eax; 0x00427a13 cmp byte [rsp + 0x89], 0 | 0x00427a1b setne al | al = (*((rsp + 0x89)) != 0) ? 1 : 0; 0x00427a1e cmp qword [rsp + 0xb0], 1 | 0x00427a27 sete cl | cl = (*((rsp + 0xb0)) == 1) ? 1 : 0; 0x00427a2a and cl, al | cl &= al; 0x00427a2c movzx edi, cl | edi = (int32_t) cl; 0x00427a2f mov esi, 0x4962b1 | esi = "!mX.isCompleteJSON()"; 0x00427a34 mov edx, 0x10b | edx = 0x10b; 0x00427a39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00427a3e cmp byte [rsp + 0x388], 0 | | if (*((rsp + 0x388)) != 0) { 0x00427a46 je 0x427cc0 | 0x00427a4c test r14d, r14d | | if (r14d != 0) { 0x00427a4f je 0x427b30 | 0x00427a55 mov edi, 0x6e0ef0 | 0x00427a5a mov esi, 0x4969d1 | 0x00427a5f mov edx, 4 | 0x00427a64 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); 0x00427a69 mov esi, 0x496984 | 0x00427a6e mov edx, 2 | 0x00427a73 mov rdi, rax | 0x00427a76 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427a7b mov rdi, rax | rdi = rax; 0x00427a7e mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00427a82 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427a87 mov esi, 0x4b29a3 | 0x00427a8c mov edx, 1 | 0x00427a91 mov rdi, rax | 0x00427a94 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427a99 mov esi, 0x4969d6 | 0x00427a9e mov edx, 8 | 0x00427aa3 mov rdi, rax | 0x00427aa6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00427aab mov esi, 0x496984 | 0x00427ab0 mov edx, 2 | 0x00427ab5 mov rdi, rax | 0x00427ab8 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427abd mov rdi, rax | rdi = rax; 0x00427ac0 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00427ac4 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427ac9 mov esi, 0x4b29a3 | 0x00427ace mov edx, 1 | 0x00427ad3 mov rdi, rax | 0x00427ad6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427adb mov esi, 0x4969f7 | 0x00427ae0 mov edx, 2 | 0x00427ae5 mov rdi, rax | 0x00427ae8 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00427aed mov esi, 0x496984 | 0x00427af2 mov edx, 2 | 0x00427af7 mov rdi, rax | 0x00427afa call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427aff mov rdi, rax | rdi = rax; 0x00427b02 mov esi, r14d | esi = r14d; 0x00427b05 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427b0a mov esi, 0x4967e3 | 0x00427b0f mov edx, 1 | 0x00427b14 mov rdi, rax | 0x00427b17 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00427b1c mov esi, 0x4969df | esi = "0 == rc"; 0x00427b21 mov edi, 1 | edi = 1; 0x00427b26 mov edx, 0x10e | edx = 0x10e; 0x00427b2b call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00427b30 mov dword [rsp], 3 | *(rsp) = 3; 0x00427b37 mov rax, qword [rsp + 0x380] | rax = *((rsp + 0x380)); 0x00427b3f mov esi, dword [rax + 8] | 0x00427b42 mov rdi, rsp | 0x00427b45 call 0x441a90 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp, *((rax + 8))); 0x00427b4a lea rdi, [rsp + 0x10] | 0x00427b4f mov esi, 0x27 | 0x00427b54 mov rdx, qword [rsp + 0xd8] | 0x00427b5c mov rcx, rsp | 0x00427b5f call 0x43fbb0 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::DatetimeTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rsp + 0x10, 0x27, *((rsp + 0xd8)), rsp); 0x00427b64 lea rdi, [rsp + 0x10] | 0x00427b69 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x00427b6e call 0x404440 | rax = strlen (rsp + 0x10); 0x00427b73 mov qword [rsp + 0x58], rax | *((rsp + 0x58)) = rax; 0x00427b78 lea rdi, [rsp + 0x108] | 0x00427b80 lea rsi, [rsp + 0x50] | 0x00427b85 call 0x42b270 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (rsp + 0x108, rsp + 0x50); 0x00427b8a mov rax, qword [rsp + 0x108] | rax = *((rsp + 0x108)); 0x00427b92 mov rax, qword [rax - 0x18] | rax = *((rax - 0x18)); 0x00427b96 cmp dword [rsp + rax + 0x128], 0 | | if (*((rsp + rax + 0x128)) != 0) { 0x00427b9e je 0x427c3e | 0x00427ba4 mov edi, 0x6e0ef0 | 0x00427ba9 mov esi, 0x4969d1 | 0x00427bae mov edx, 4 | 0x00427bb3 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); 0x00427bb8 mov esi, 0x496984 | 0x00427bbd mov edx, 2 | 0x00427bc2 mov rdi, rax | 0x00427bc5 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427bca mov rdi, rax | rdi = rax; 0x00427bcd mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00427bd1 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427bd6 mov esi, 0x4b29a3 | 0x00427bdb mov edx, 1 | 0x00427be0 mov rdi, rax | 0x00427be3 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427be8 mov esi, 0x4969d6 | 0x00427bed mov edx, 8 | 0x00427bf2 mov rdi, rax | 0x00427bf5 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00427bfa mov esi, 0x496984 | 0x00427bff mov edx, 2 | 0x00427c04 mov rdi, rax | 0x00427c07 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427c0c mov rdi, rax | rdi = rax; 0x00427c0f mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00427c13 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427c18 mov esi, 0x4967e3 | 0x00427c1d mov edx, 1 | 0x00427c22 mov rdi, rax | 0x00427c25 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00427c2a mov esi, 0x4969e7 | esi = "exp.good()"; 0x00427c2f mov edi, 1 | edi = 1; 0x00427c34 mov edx, 0x111 | edx = 0x111; 0x00427c39 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } 0x00427c3e lea rdi, [rsp + 0x10] | 0x00427c43 lea rsi, [rsp + 0x230] | 0x00427c4b call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x10, rsp + 0x230); 0x00427c50 lea rdi, [rsp + 0x50] | 0x00427c55 lea rsi, [rsp + 0x110] | 0x00427c5d call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rsp + 0x50, rsp + 0x110); 0x00427c62 mov rdx, qword [rsp + 0x28] | rdx = *((rsp + 0x28)); 0x00427c67 cmp rdx, qword [rsp + 0x68] | | if (rdx != *((rsp + 0x68))) { 0x00427c6c jne 0x427db0 | goto label_12; | } 0x00427c72 test rdx, rdx | | if (rdx == 0) { 0x00427c75 je 0x427ddc | goto label_13; | } 0x00427c7b cmp qword [rsp + 0x70], 0x17 | 0x00427c81 lea rsi, [rsp + 0x50] | rsi = rsp + 0x50; | if (*((rsp + 0x70)) != 0x17) { 0x00427c86 je 0x427c8d | 0x00427c88 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); | } 0x00427c8d cmp qword [rsp + 0x30], 0x17 | 0x00427c93 lea rdi, [rsp + 0x10] | rdi = rsp + 0x10; | if (*((rsp + 0x30)) != 0x17) { 0x00427c98 je 0x427c9f | 0x00427c9a mov rdi, qword [rsp + 0x10] | rdi = *((rsp + 0x10)); | } 0x00427c9f call 0x404590 | eax = bcmp (); 0x00427ca4 test eax, eax | 0x00427ca6 sete bpl | bpl = (eax == 0) ? 1 : 0; 0x00427caa cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00427cb0 jne 0x427df0 | goto label_14; | } 0x00427cb6 jmp 0x427e00 | goto label_15; | } 0x00427cc0 test r14d, r14d | | if (r14d != 0) { 0x00427cc3 jne 0x427f9d | goto label_16; | } 0x00427cc9 mov edi, 0x6e0ef0 | 0x00427cce mov esi, 0x4969d1 | 0x00427cd3 mov edx, 4 | 0x00427cd8 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); 0x00427cdd mov esi, 0x496984 | 0x00427ce2 mov edx, 2 | 0x00427ce7 mov rdi, rax | 0x00427cea call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427cef mov rdi, rax | rdi = rax; 0x00427cf2 mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00427cf6 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427cfb mov esi, 0x4b29a3 | 0x00427d00 mov edx, 1 | 0x00427d05 mov rdi, rax | 0x00427d08 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427d0d mov esi, 0x4969d6 | 0x00427d12 mov edx, 8 | 0x00427d17 mov rdi, rax | 0x00427d1a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00427d1f mov esi, 0x496984 | 0x00427d24 mov edx, 2 | 0x00427d29 mov rdi, rax | 0x00427d2c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427d31 mov rdi, rax | rdi = rax; 0x00427d34 mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00427d38 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427d3d mov esi, 0x4b29a3 | 0x00427d42 mov edx, 1 | 0x00427d47 mov rdi, rax | 0x00427d4a call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427d4f mov esi, 0x4969f7 | 0x00427d54 mov edx, 2 | 0x00427d59 mov rdi, rax | 0x00427d5c call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4969f7, 2); 0x00427d61 mov esi, 0x496984 | 0x00427d66 mov edx, 2 | 0x00427d6b mov rdi, rax | 0x00427d6e call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427d73 mov rdi, rax | rdi = rax; 0x00427d76 xor esi, esi | esi = 0; 0x00427d78 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427d7d mov esi, 0x4967e3 | 0x00427d82 mov edx, 1 | 0x00427d87 mov rdi, rax | 0x00427d8a call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00427d8f mov esi, 0x4969f2 | esi = "0 != rc"; 0x00427d94 mov edi, 1 | edi = 1; 0x00427d99 mov edx, 0x117 | edx = 0x117; 0x00427d9e call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00427da3 jmp 0x427f9d | goto label_16; | label_12: 0x00427db0 xor ebp, ebp | ebp = 0; 0x00427db2 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00427db8 jne 0x427df0 | goto label_14; | } 0x00427dba jmp 0x427e00 | goto label_15; | label_7: 0x00427dbc cmp byte [rsp + 0x8a], 0 | 0x00427dc4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00427dc7 jmp 0x427790 | | } while (1); | label_9: 0x00427dcc cmp byte [rsp + 0x8a], 0 | 0x00427dd4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x00427dd7 jmp 0x427861 | goto label_0; | label_13: 0x00427ddc mov bpl, 1 | bpl = 1; 0x00427ddf cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00427de5 je 0x427e00 | 0x00427de7 nop word [rax + rax] | | label_14: 0x00427df0 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00427df5 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00427dfa mov rax, qword [rdi] | rax = *(rdi); 0x00427dfd call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } | label_15: 0x00427e00 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00427e06 je 0x427e18 | 0x00427e08 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00427e0d mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00427e12 mov rax, qword [rdi] | rax = *(rdi); 0x00427e15 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00427e18 test bpl, bpl | | if (bpl == 0) { 0x00427e1b jne 0x427f9d | 0x00427e21 mov edi, 0x6e0ef0 | 0x00427e26 mov esi, 0x4969d1 | 0x00427e2b mov edx, 4 | 0x00427e30 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); 0x00427e35 mov esi, 0x496984 | 0x00427e3a mov edx, 2 | 0x00427e3f mov rdi, rax | 0x00427e42 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427e47 mov rdi, rax | rdi = rax; 0x00427e4a mov esi, dword [rsp + 8] | esi = *((rsp + 8)); 0x00427e4e call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427e53 mov esi, 0x4b29a3 | 0x00427e58 mov edx, 1 | 0x00427e5d mov rdi, rax | 0x00427e60 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427e65 mov esi, 0x4969d6 | 0x00427e6a mov edx, 8 | 0x00427e6f mov rdi, rax | 0x00427e72 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, "callLine", 8); 0x00427e77 mov esi, 0x496984 | 0x00427e7c mov edx, 2 | 0x00427e81 mov rdi, rax | 0x00427e84 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427e89 mov rdi, rax | rdi = rax; 0x00427e8c mov esi, dword [rsp + 4] | esi = *((rsp + 4)); 0x00427e90 call 0x404690 | rax = std::_1::basic_ostream>::operator << (int) (); 0x00427e95 mov esi, 0x4b29a3 | 0x00427e9a mov edx, 1 | 0x00427e9f mov rdi, rax | 0x00427ea2 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427ea7 mov esi, 0x495f4f | 0x00427eac mov edx, 8 | 0x00427eb1 mov rdi, rax | 0x00427eb4 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x495f4f, 8); 0x00427eb9 mov esi, 0x496984 | 0x00427ebe mov edx, 2 | 0x00427ec3 mov rdi, rax | 0x00427ec6 call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427ecb mov rbp, rax | 0x00427ece lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x00427ed3 mov rdi, rbx | 0x00427ed6 lea rsi, [rsp + 0x230] | 0x00427ede call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x230); 0x00427ee3 mov rdi, rbp | 0x00427ee6 mov rsi, rbx | 0x00427ee9 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00427eee mov esi, 0x4b29a3 | 0x00427ef3 mov edx, 1 | 0x00427ef8 mov rdi, rax | 0x00427efb call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4b29a3, 1); 0x00427f00 mov esi, 0x496333 | 0x00427f05 mov edx, 9 | 0x00427f0a mov rdi, rax | 0x00427f0d call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496333, 9); 0x00427f12 mov esi, 0x496984 | 0x00427f17 mov edx, 2 | 0x00427f1c mov rdi, rax | 0x00427f1f call 0x429220 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x496984, 2); 0x00427f24 mov rbp, rax | 0x00427f27 lea rbx, [rsp + 0x50] | rbx = rsp + 0x50; 0x00427f2c mov rdi, rbx | 0x00427f2f lea rsi, [rsp + 0x110] | 0x00427f37 call 0x4296b0 | bsl::basic_stringbuf,bsl::allocator>::str()const (rbx, rsp + 0x110); 0x00427f3c mov rdi, rbp | 0x00427f3f mov rsi, rbx | 0x00427f42 call 0x413e50 | rax = std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbp, rbx); 0x00427f47 mov esi, 0x4967e3 | 0x00427f4c mov edx, 1 | 0x00427f51 mov rdi, rax | 0x00427f54 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rax, 0x4967e3, 1); 0x00427f59 cmp qword [rsp + 0x70], 0x17 | | if (*((rsp + 0x70)) != 0x17) { 0x00427f5f je 0x427f71 | 0x00427f61 mov rsi, qword [rsp + 0x50] | rsi = *((rsp + 0x50)); 0x00427f66 mov rdi, qword [rsp + 0x78] | rdi = *((rsp + 0x78)); 0x00427f6b mov rax, qword [rdi] | rax = *(rdi); 0x00427f6e call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00427f71 cmp qword [rsp + 0x30], 0x17 | | if (*((rsp + 0x30)) != 0x17) { 0x00427f77 je 0x427f89 | 0x00427f79 mov rsi, qword [rsp + 0x10] | rsi = *((rsp + 0x10)); 0x00427f7e mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x00427f83 mov rax, qword [rdi] | rax = *(rdi); 0x00427f86 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x00427f89 mov esi, 0x496327 | esi = "os.str() == exp.str()"; 0x00427f8e mov edi, 1 | edi = 1; 0x00427f93 mov edx, 0x114 | edx = 0x114; 0x00427f98 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_16: 0x00427f9d test r13b, 1 | | if ((r13b & 1) != 0) { 0x00427fa1 je 0x427fb0 | 0x00427fa3 mov rdi, r12 | 0x00427fa6 call 0x42b820 | BloombergLP::baljsn::SimpleFormatter::closeObject() (r12, rsi); 0x00427fab jmp 0x427fbd | | } else { 0x00427fb0 mov rdi, r12 | 0x00427fb3 mov esi, 1 | 0x00427fb8 call 0x42b780 | BloombergLP::baljsn::SimpleFormatter::closeArray(BloombergLP::baljsn::SimpleFormatter::ArrayFormattingStyle) (r12, 1, rdx); | } 0x00427fbd mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x00427fc5 cmp rax, 2 | | if (rax >= 2) { 0x00427fc9 jb 0x427feb | 0x00427fcb dec rax | rax--; 0x00427fce mov rcx, qword [rsp + 0x90] | rcx = *((rsp + 0x90)); 0x00427fd6 mov rdx, rax | rdx = rax; 0x00427fd9 shr rdx, 6 | rdx >>= 6; 0x00427fdd mov rcx, qword [rcx + rdx*8] | rcx = *((rcx + rdx*8)); 0x00427fe1 bt rcx, rax | | if (((rcx >> rax) & 1) >= 0) { 0x00427fe5 jae 0x4280ec | goto label_17; | } | } 0x00427feb xor eax, eax | eax = 0; | label_2: 0x00427fed movzx edi, al | edi = (int32_t) al; 0x00427ff0 mov esi, 0x496365 | esi = "!mX.isNameNeeded()"; 0x00427ff5 mov edx, 0x123 | edx = 0x123; 0x00427ffa call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x00427fff cmp byte [rsp + 0x89], 0 | 0x00428007 sete al | al = (*((rsp + 0x89)) == 0) ? 1 : 0; 0x0042800a cmp qword [rsp + 0xb0], 1 | 0x00428013 setne cl | cl = (*((rsp + 0xb0)) != 1) ? 1 : 0; 0x00428016 or cl, al | cl |= al; 0x00428018 movzx edi, cl | edi = (int32_t) cl; 0x0042801b mov esi, 0x4962b2 | esi = 0x4962b2; 0x00428020 mov edx, 0x124 | edx = 0x124; 0x00428025 call 0x413960 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0042802a mov rdi, r12 | 0x0042802d call 0x42b760 | BloombergLP::baljsn::SimpleFormatter::~SimpleFormatter() (r12); 0x00428032 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0042803a call 0x42ad50 | BloombergLP::baljsn::EncoderOptions::~EncoderOptions() (); 0x0042803f mov esi, 0x496af0 | esi = 0x496af0; 0x00428044 lea rdi, [rsp + 0x108] | rdi = rsp + 0x108; 0x0042804c call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x00428051 mov qword [rsp + 0x110], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x0042805d cmp qword [rsp + 0x170], 0x17 | | if (*((rsp + 0x170)) != 0x17) { 0x00428066 je 0x42807e | 0x00428068 mov rsi, qword [rsp + 0x150] | rsi = *((rsp + 0x150)); 0x00428070 mov rdi, qword [rsp + 0x178] | rdi = *((rsp + 0x178)); 0x00428078 mov rax, qword [rdi] | rax = *(rdi); 0x0042807b call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0042807e mov qword [rsp + 0x168], 0xffffffffffffffff | *((rsp + 0x168)) = 0xffffffffffffffff; 0x0042808a lea rdi, [rsp + 0x110] | rdi = rsp + 0x110; 0x00428092 call 0x4042e0 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x00428097 lea rdi, [rsp + 0x190] | rdi = rsp + 0x190; 0x0042809f call 0x404220 | std::_1::basic_ios>::~basic_ios() (); 0x004280a4 mov esi, 0x496af0 | esi = 0x496af0; 0x004280a9 lea rdi, [rsp + 0x228] | rdi = rsp + 0x228; 0x004280b1 call 0x404870 | std::_1::basic_ostream>::~basic_ostream() (); 0x004280b6 mov qword [rsp + 0x230], 0x496c40 | *((rsp + method.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.virtual_0)) = 0x496c40; 0x004280c2 cmp qword [rsp + 0x290], 0x17 | | if (*((rsp + 0x290)) == 0x17) { 0x004280cb je 0x427490 | goto label_1; | } 0x004280d1 mov rsi, qword [rsp + 0x270] | rsi = *((rsp + 0x270)); 0x004280d9 mov rdi, qword [rsp + 0x298] | rdi = *((rsp + 0x298)); 0x004280e1 mov rax, qword [rdi] | rax = *(rdi); 0x004280e4 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x004280e7 jmp 0x427490 | goto label_1; | label_17: 0x004280ec cmp byte [rsp + 0x8a], 0 | 0x004280f4 sete al | al = (*((rsp + 0x8a)) == 0) ? 1 : 0; 0x004280f7 jmp 0x427fed | goto label_2; | label_4: 0x004280fc add rsp, 0x348 | 0x00428103 pop rbx | 0x00428104 pop r12 | 0x00428106 pop r13 | 0x00428108 pop r14 | 0x0042810a pop r15 | 0x0042810c pop rbp | 0x0042810d ret | return rax; | }