; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x478fb0 */ | #include | ; (fcn) method.int_BloombergLP::s_baltst::Sequence4::accessAttributes_BloombergLP::baljsn.Encoder_AttributeVisitor__BloombergLP::baljsn::Encoder_AttributeVisitor__const () | uint64_t method_int_BloombergLP::s_baltst::Sequence4::accessAttributes_BloombergLP::baljsn_Encoder_AttributeVisitor_BloombergLP::baljsn::Encoder_AttributeVisitor_const (int64_t arg2, int64_t arg1) { | int64_t var_7h; | uint32_t var_8h; | int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | int64_t var_38h; | int64_t var_40h; | rsi = arg2; | rdi = arg1; | /* int BloombergLP::s_baltst::Sequence4::accessAttributes(BloombergLP::baljsn::Encoder_AttributeVisitor&) const */ 0x00478fb0 push r15 | 0x00478fb2 push r14 | 0x00478fb4 push r12 | 0x00478fb6 push rbx | 0x00478fb7 sub rsp, 0x48 | 0x00478fbb mov r12, rsi | r12 = rsi; 0x00478fbe mov r14, rdi | r14 = rdi; 0x00478fc1 mov rsi, qword [rsi] | rsi = *(rsi); 0x00478fc4 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00478fc9 mov rcx, qword [rip + 0x1d04e8] | rcx = *(str.element1); 0x00478fd0 movsxd rdi, dword [rip + 0x1d04e9] | rdi = *(0x006494c0); 0x00478fd7 mov r9d, dword [rip + 0x1d04f2] | r9d = .comment; 0x00478fde mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00478fe3 mov al, byte [r12 + 0x18] | al = *((r12 + 0x18)); 0x00478fe8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00478fed mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00478ff2 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00478ff7 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00478ffc mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479001 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479006 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0047900b mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x0047900f mov rcx, qword [r14 + 0xd0] | rcx = *((r14 + 0xd0)); 0x00479016 cmp rcx, qword [r14 + 0xc8] | | if (rcx == *((r14 + 0xc8))) { 0x0047901d jne 0x479025 | 0x0047901f cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x00479023 je 0x479067 | goto label_0; | } | } 0x00479025 lea r8, [r14 + 0xc8] | r8 = r14 + 0xc8; 0x0047902c mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479031 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479036 movzx eax, al | eax = (int32_t) al; 0x00479039 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x0047903e push rax | 0x0047903f push rbx | 0x00479040 call 0x479a50 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_8s_baltst9Sequence3ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_1 (); 0x00479045 add rsp, 0x10 | 0x00479049 test eax, eax | | if (eax == 0) { 0x0047904b jne 0x479a3f | 0x00479051 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479057 mov rsi, qword [r12] | rsi = *(r12); 0x0047905b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479060 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479065 xor eax, eax | eax = 0; | label_0: 0x00479067 mov rcx, qword [rip + 0x1d0472] | rcx = *(str.element2); 0x0047906e movsxd rdi, dword [rip + 0x1d0473] | rdi = *(0x006494e8); 0x00479075 mov r9d, dword [rip + 0x1d047c] | r9d = .comment; 0x0047907c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479081 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479086 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047908b mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479090 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479095 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047909a mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0047909f mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004790a3 mov rcx, qword [r14 + 0x110] | rcx = *((r14 + 0x110)); 0x004790aa cmp rcx, qword [r14 + 0x108] | | if (rcx == *((r14 + 0x108))) { 0x004790b1 jne 0x4790b9 | 0x004790b3 cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x004790b7 je 0x4790fb | goto label_1; | } | } 0x004790b9 lea r8, [r14 + 0x108] | r8 = r14 + 0x108; 0x004790c0 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004790c5 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004790ca movzx eax, al | eax = (int32_t) al; 0x004790cd lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004790d2 push rax | 0x004790d3 push rbx | 0x004790d4 call 0x478800 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_8s_baltst7Choice1ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x004790d9 add rsp, 0x10 | 0x004790dd test eax, eax | | if (eax != 0) { 0x004790df jne 0x479a3f | goto label_2; | } 0x004790e5 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004790eb mov rsi, qword [r12] | rsi = *(r12); 0x004790ef mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004790f4 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004790f9 xor eax, eax | eax = 0; | label_1: 0x004790fb lea r15, [r12 + 0x18] | r15 = r12 + 0x18; 0x00479100 mov rcx, qword [rip + 0x1d0401] | rcx = *(str.element3); 0x00479107 movsxd rdi, dword [rip + 0x1d0402] | rdi = *(0x00649510); 0x0047910e mov r9d, dword [rip + 0x1d040b] | r9d = *(0x00649520); 0x00479115 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047911a mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047911f mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479124 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479129 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x0047912e mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479133 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479138 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x0047913c cmp byte [r14 + 0x178], 0 | | if (*((r14 + 0x178)) == 0) { 0x00479144 jne 0x47914c | 0x00479146 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x0047914a je 0x479185 | goto label_3; | } | } 0x0047914c lea r8, [r14 + 0x158] | r8 = r14 + 0x158; 0x00479153 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479158 movzx eax, al | eax = (int32_t) al; 0x0047915b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00479160 push rax | 0x00479161 push rbx | 0x00479162 call 0x47b280 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIN3bsl6vectorIcNS5_9allocatorIcEEEEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSG_11char_traitsIcEEEERKNSG_17basic_string_vie (); 0x00479167 add rsp, 0x10 | 0x0047916b test eax, eax | | if (eax != 0) { 0x0047916d jne 0x479a3f | goto label_2; | } 0x00479173 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00479178 je 0x47917f | 0x0047917a mov al, byte [r15] | al = *(r15); 0x0047917d jmp 0x479185 | | } else { 0x0047917f mov byte [r15], 0 | *(r15) = 0; 0x00479183 xor eax, eax | eax = 0; | } | label_3: 0x00479185 mov rsi, qword [r12] | rsi = *(r12); 0x00479189 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x0047918e mov rcx, qword [rip + 0x1d039b] | rcx = *(str.element4); 0x00479195 movsxd rdi, dword [rip + 0x1d039c] | rdi = *(0x00649538); 0x0047919c mov r9d, dword [rip + 0x1d03a5] | r9d = *(0x00649548); 0x004791a3 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004791a8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004791ad mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004791b2 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004791b7 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004791bc mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x004791c1 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004791c6 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004791cb mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004791cf cmp byte [r14 + 0x1e8], 0 | | if (*((r14 + 0x1e8)) == 0) { 0x004791d7 jne 0x4791df | 0x004791d9 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x004791dd je 0x479218 | goto label_4; | } | } 0x004791df lea r8, [r14 + 0x1e4] | r8 = r14 + 0x1e4; 0x004791e6 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004791eb movzx eax, al | eax = (int32_t) al; 0x004791ee lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004791f3 push rax | 0x004791f4 push rbx | 0x004791f5 call 0x466120 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIiEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptio (); 0x004791fa add rsp, 0x10 | 0x004791fe test eax, eax | | if (eax != 0) { 0x00479200 jne 0x479a3f | goto label_2; | } 0x00479206 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x0047920b je 0x479212 | 0x0047920d mov al, byte [r15] | al = *(r15); 0x00479210 jmp 0x479218 | | } else { 0x00479212 mov byte [r15], 0 | *(r15) = 0; 0x00479216 xor eax, eax | eax = 0; | } | label_4: 0x00479218 mov rsi, qword [r12] | rsi = *(r12); 0x0047921c mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479221 mov rcx, qword [rip + 0x1d0330] | rcx = *(str.element5); 0x00479228 movsxd rdi, dword [rip + 0x1d0331] | rdi = *(0x00649560); 0x0047922f mov r9d, dword [rip + 0x1d033a] | r9d = .comment; 0x00479236 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x0047923b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479240 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479245 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047924a mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0047924f mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479254 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479259 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0047925e mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479262 cmp byte [r14 + 0x198], 0 | | if (*((r14 + 0x198)) == 0) { 0x0047926a jne 0x479272 | 0x0047926c cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00479270 je 0x4792ab | goto label_5; | } | } 0x00479272 lea r8, [r14 + 0x188] | 0x00479279 lea rcx, [rsp + 0x20] | 0x0047927e movzx eax, al | eax = (int32_t) al; 0x00479281 lea rdi, [rsp + 8] | 0x00479286 push rax | 0x00479287 push rbx | 0x00479288 call 0x47b3f0 | eax = intBloombergLP::baljsn::Encoder_EncodeImplUtil::encodeMember,BloombergLP::bdlat_TypeCategory::NullableValue>(bool*,BloombergLP::baljsn::Formatter*,std::_1::basic_ostream>*,std::_1::basic_string_view>const&,BloombergLP::bdlb::NullableValueconst&,int) (rsp + 8, rsi, rdx, rsp + 0x20, r14 + 0x188, r9); 0x0047928d add rsp, 0x10 | 0x00479291 test eax, eax | | if (eax != 0) { 0x00479293 jne 0x479a3f | goto label_2; | } 0x00479299 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x0047929e je 0x4792a5 | 0x004792a0 mov al, byte [r15] | al = *(r15); 0x004792a3 jmp 0x4792ab | | } else { 0x004792a5 mov byte [r15], 0 | *(r15) = 0; 0x004792a9 xor eax, eax | eax = 0; | } | label_5: 0x004792ab mov rsi, qword [r12] | rsi = *(r12); 0x004792af mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004792b4 mov rcx, qword [rip + 0x1d02c5] | rcx = *(str.element6); 0x004792bb movsxd rdi, dword [rip + 0x1d02c6] | rdi = *(0x00649588); 0x004792c2 mov r9d, dword [rip + 0x1d02cf] | r9d = *(0x00649598); 0x004792c9 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004792ce mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004792d3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004792d8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004792dd mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004792e2 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x004792e7 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004792ec mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004792f1 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004792f5 cmp byte [r14 + 0x1d0], 0 | | if (*((r14 + 0x1d0)) == 0) { 0x004792fd jne 0x479305 | 0x004792ff cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00479303 je 0x47933e | goto label_6; | } | } 0x00479305 lea r8, [r14 + 0x1a0] | r8 = r14 + 0x1a0; 0x0047930c lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479311 movzx eax, al | eax = (int32_t) al; 0x00479314 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00479319 push rax | 0x0047931a push rbx | 0x0047931b call 0x476f50 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_8s_baltst12CustomStringEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_E (); 0x00479320 add rsp, 0x10 | 0x00479324 test eax, eax | | if (eax != 0) { 0x00479326 jne 0x479a3f | goto label_2; | } 0x0047932c cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00479331 je 0x479338 | 0x00479333 mov al, byte [r15] | al = *(r15); 0x00479336 jmp 0x47933e | | } else { 0x00479338 mov byte [r15], 0 | *(r15) = 0; 0x0047933c xor eax, eax | eax = 0; | } | label_6: 0x0047933e mov rsi, qword [r12] | rsi = *(r12); 0x00479342 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479347 mov rcx, qword [rip + 0x1d025a] | rcx = *(str.element7); 0x0047934e movsxd rdi, dword [rip + 0x1d025b] | rdi = *(0x006495b0); 0x00479355 mov r9d, dword [rip + 0x1d0264] | r9d = .comment; 0x0047935c mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479361 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479366 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047936b mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479370 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479375 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x0047937a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047937f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479384 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479388 cmp byte [r14 + 0x1f0], 0 | | if (*((r14 + 0x1f0)) == 0) { 0x00479390 jne 0x479398 | 0x00479392 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00479396 je 0x4793d1 | goto label_7; | } | } 0x00479398 lea r8, [r14 + 0x1ec] | r8 = r14 + 0x1ec; 0x0047939f lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004793a4 movzx eax, al | eax = (int32_t) al; 0x004793a7 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004793ac push rax | 0x004793ad push rbx | 0x004793ae call 0x47b5b0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_8s_baltst10Enumerated5ValueEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSE_11char_traitsIcEEEERKNSE_17basic_string_viewIc (); 0x004793b3 add rsp, 0x10 | 0x004793b7 test eax, eax | | if (eax != 0) { 0x004793b9 jne 0x479a3f | goto label_2; | } 0x004793bf cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x004793c4 je 0x4793cb | 0x004793c6 mov al, byte [r15] | al = *(r15); 0x004793c9 jmp 0x4793d1 | | } else { 0x004793cb mov byte [r15], 0 | *(r15) = 0; 0x004793cf xor eax, eax | eax = 0; | } | label_7: 0x004793d1 lea rdi, [r14 + 0x1f8] | 0x004793d8 movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x004793dd mov rcx, qword [rip + 0x1d01ec] | rcx = *(str.element8); 0x004793e4 movsxd rdx, dword [rip + 0x1d01ed] | rdx = *(0x006495d8); 0x004793eb mov esi, dword [rip + 0x1d01f7] | esi = *(0x006495e8); 0x004793f1 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004793f6 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004793fb movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00479400 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479405 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x0047940a mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x0047940e mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479413 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479417 lea rsi, [rsp + 8] | 0x0047941c call 0x47b770 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(boolconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1f8, rsp + 8); 0x00479421 test eax, eax | | if (eax == 0) { 0x00479423 jne 0x479435 | 0x00479425 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0047942a jne 0x479435 | 0x0047942c mov byte [r15], 0 | *(r15) = 0; 0x00479430 xor r10d, r10d | r10d = 0; 0x00479433 jmp 0x479440 | | } | } else { 0x00479435 test eax, eax | | if (eax != 0) { 0x00479437 jne 0x479a3f | goto label_2; | } 0x0047943d mov r10b, byte [r15] | r10b = *(r15); | } 0x00479440 lea r8, [r14 + 0x128] | r8 = r14 + 0x128; 0x00479447 mov rsi, qword [r12] | rsi = *(r12); 0x0047944b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479450 mov rdi, qword [rip + 0x1d01a1] | rdi = *(str.element9); 0x00479457 movsxd rbx, dword [rip + 0x1d01a2] | rbx = *(0x00649600); 0x0047945e mov r9d, dword [rip + 0x1d01ab] | r9d = *(0x00649610); 0x00479465 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047946a mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047946f mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479474 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479479 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047947e mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00479483 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00479488 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047948d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479492 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00479497 movzx ebx, r10b | ebx = (int32_t) r10b; 0x0047949b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004794a0 push rbx | 0x004794a1 push rax | 0x004794a2 call 0x464ad0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl12basic_stringIcNSt3_111char_traitsIcEENS3_9allocatorIcEEEENS_18bdlat_TypeCategory6SimpleEEEiPbPNS0_9FormatterEPNS5_13basic_ostreamIcS7_EERKNS5_17basic_string_viewIcS7_EERKT_iRKNS0_14Enc (); 0x004794a7 add rsp, 0x10 | 0x004794ab test eax, eax | | if (eax == 0) { 0x004794ad jne 0x4794be | 0x004794af cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004794b4 jne 0x4794be | 0x004794b6 mov byte [r15], 0 | *(r15) = 0; 0x004794ba xor eax, eax | eax = 0; 0x004794bc jmp 0x4794c9 | | } | } else { 0x004794be test eax, eax | | if (eax != 0) { 0x004794c0 jne 0x479a3f | goto label_2; | } 0x004794c6 mov al, byte [r15] | al = *(r15); | } 0x004794c9 mov rsi, qword [r12] | 0x004794cd mov rdx, qword [r12 + 8] | 0x004794d2 mov rdi, qword [rip + 0x1d0147] | rdi = *(str.element10); 0x004794d9 movsxd r8, dword [rip + 0x1d0148] | r8 = *(0x00649628); 0x004794e0 mov r9d, dword [rip + 0x1d0151] | 0x004794e7 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004794ec mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004794f1 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004794f6 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004794fb lea rcx, [rsp + 0x20] | 0x00479500 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00479505 mov qword [rsp + 0x28], r8 | *((rsp + 0x28)) = r8; 0x0047950a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047950f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479514 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479518 movzx eax, al | eax = (int32_t) al; 0x0047951b lea rdi, [rsp + 8] | 0x00479520 mov r8, r14 | 0x00479523 push rax | 0x00479524 push rbx | 0x00479525 call 0x478ce0 | eax = intBloombergLP::baljsn::Encoder_EncodeImplUtil::encodeMember(bool*,BloombergLP::baljsn::Formatter*,std::_1::basic_ostream>*,std::_1::basic_string_view>const&,doubleconst&,int,BloombergLP::baljsn::EncoderOptionsconst&,bool,BloombergLP::bdlat_TypeCategory::Simple) (rsp + 8, *(r12), *((r12 + 8)), rsp + 0x20, r14, *(0x00649638)); 0x0047952a add rsp, 0x10 | 0x0047952e test eax, eax | | if (eax == 0) { 0x00479530 jne 0x479542 | 0x00479532 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00479537 jne 0x479542 | 0x00479539 mov byte [r15], 0 | *(r15) = 0; 0x0047953d xor r10d, r10d | r10d = 0; 0x00479540 jmp 0x47954d | | } | } else { 0x00479542 test eax, eax | | if (eax != 0) { 0x00479544 jne 0x479a3f | goto label_2; | } 0x0047954a mov r10b, byte [r15] | r10b = *(r15); | } 0x0047954d lea r8, [r14 + 0x48] | 0x00479551 mov rsi, qword [r12] | 0x00479555 mov rdx, qword [r12 + 8] | 0x0047955a mov rdi, qword [rip + 0x1d00e7] | rdi = *(str.element11); 0x00479561 movsxd rbx, dword [rip + 0x1d00e8] | rbx = *(0x00649650); 0x00479568 mov r9d, dword [rip + 0x1d00f1] | 0x0047956f mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00479574 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479579 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047957e mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479583 lea rcx, [rsp + 0x20] | 0x00479588 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x0047958d mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00479592 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479597 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x0047959c mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x004795a1 movzx ebx, r10b | ebx = (int32_t) r10b; 0x004795a5 lea rdi, [rsp + 8] | 0x004795aa push rbx | 0x004795ab push rax | 0x004795ac call 0x484a50 | eax = BloombergLP::baljsn::Encoder_EncodeImplUtil::encodeMember(bool*,BloombergLP::baljsn::Formatter*,std::_1::basic_ostream>*,std::_1::basic_string_view>const&,bsl::vector>const&,int,BloombergLP::baljsn::EncoderOptionsconst&,bool,BloombergLP::bdlat_TypeCategory::Array) (rsp + 8, *(r12), *((r12 + 8)), rsp + 0x20, r14 + 0x48, *(0x00649660)); 0x004795b1 add rsp, 0x10 | 0x004795b5 test eax, eax | | if (eax == 0) { 0x004795b7 jne 0x4795c8 | 0x004795b9 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004795be jne 0x4795c8 | 0x004795c0 mov byte [r15], 0 | *(r15) = 0; 0x004795c4 xor eax, eax | eax = 0; 0x004795c6 jmp 0x4795d3 | | } | } else { 0x004795c8 test eax, eax | | if (eax != 0) { 0x004795ca jne 0x479a3f | goto label_2; | } 0x004795d0 mov al, byte [r15] | al = *(r15); | } 0x004795d3 lea rdi, [r14 + 0x1e0] | 0x004795da movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x004795df mov rcx, qword [rip + 0x1d008a] | rcx = *(str.element12); 0x004795e6 movsxd rdx, dword [rip + 0x1d008b] | rdx = *(0x00649678); 0x004795ed mov esi, dword [rip + 0x1d0095] | esi = *(0x00649688); 0x004795f3 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004795f8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004795fd movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00479602 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479607 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x0047960c mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x00479610 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479615 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479619 lea rsi, [rsp + 8] | 0x0047961e call 0x464c50 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(intconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1e0, rsp + 8); 0x00479623 test eax, eax | | if (eax == 0) { 0x00479625 jne 0x479637 | 0x00479627 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0047962c jne 0x479637 | 0x0047962e mov byte [r15], 0 | *(r15) = 0; 0x00479632 xor r10d, r10d | r10d = 0; 0x00479635 jmp 0x479642 | | } | } else { 0x00479637 test eax, eax | | if (eax != 0) { 0x00479639 jne 0x479a3f | goto label_2; | } 0x0047963f mov r10b, byte [r15] | r10b = *(r15); | } 0x00479642 lea r8, [r14 + 0x1f4] | r8 = r14 + 0x1f4; 0x00479649 mov rsi, qword [r12] | rsi = *(r12); 0x0047964d mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479652 mov rdi, qword [rip + 0x1d003f] | rdi = *(str.element13); 0x00479659 movsxd rbx, dword [rip + 0x1d0040] | rbx = *(0x006496a0); 0x00479660 mov r9d, dword [rip + 0x1d0049] | r9d = .comment; 0x00479667 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047966c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479671 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479676 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047967b lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479680 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00479685 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0047968a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047968f mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479694 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00479699 movzx ebx, r10b | ebx = (int32_t) r10b; 0x0047969d lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004796a2 push rbx | 0x004796a3 push rax | 0x004796a4 call 0x47b800 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_8s_baltst10Enumerated5ValueENS_18bdlat_TypeCategory11EnumerationEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOpt (); 0x004796a9 add rsp, 0x10 | 0x004796ad test eax, eax | | if (eax == 0) { 0x004796af jne 0x4796c0 | 0x004796b1 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004796b6 jne 0x4796c0 | 0x004796b8 mov byte [r15], 0 | *(r15) = 0; 0x004796bc xor edi, edi | edi = 0; 0x004796be jmp 0x4796cb | | } | } else { 0x004796c0 test eax, eax | | if (eax != 0) { 0x004796c2 jne 0x479a3f | goto label_2; | } 0x004796c8 mov dil, byte [r15] | dil = *(r15); | } 0x004796cb mov rsi, qword [r12] | rsi = *(r12); 0x004796cf mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004796d4 mov rax, qword [rip + 0x1cffe5] | rax = *(str.element14); 0x004796db movsxd rcx, dword [rip + 0x1cffe6] | rcx = *(0x006496c8); 0x004796e2 mov r9d, dword [rip + 0x1cffef] | r9d = *(0x006496d8); 0x004796e9 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x004796ee mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004796f3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004796f8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004796fd mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00479702 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x00479707 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047970c mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00479711 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00479716 mov rax, qword [r14 + 0x90] | rax = *((r14 + 0x90)); 0x0047971d cmp rax, qword [r14 + 0x88] | | if (rax == *((r14 + 0x88))) { 0x00479724 jne 0x47972d | 0x00479726 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x0047972b je 0x479771 | goto label_8; | } | } 0x0047972d lea r8, [r14 + 0x88] | r8 = r14 + 0x88; 0x00479734 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479739 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047973e movzx eax, dil | eax = (int32_t) dil; 0x00479742 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479747 push rax | 0x00479748 push r10 | 0x0047974a call 0x47b970 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIbNS3_9allocatorIbEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x0047974f add rsp, 0x10 | 0x00479753 test eax, eax | | if (eax != 0) { 0x00479755 jne 0x479a3f | goto label_2; | } 0x0047975b mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479761 mov rsi, qword [r12] | rsi = *(r12); 0x00479765 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x0047976a mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0047976f xor edi, edi | edi = 0; | label_8: 0x00479771 mov rax, qword [rip + 0x1cff70] | rax = *(str.element15); 0x00479778 movsxd rcx, dword [rip + 0x1cff71] | rcx = *(0x006496f0); 0x0047977f mov r9d, dword [rip + 0x1cff7a] | r9d = .comment; 0x00479786 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047978b mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479790 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479795 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0047979a mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0047979f mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004797a4 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x004797a9 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004797ae mov rax, qword [r14 + 0x30] | rax = *((r14 + 0x30)); 0x004797b2 cmp rax, qword [r14 + 0x28] | | if (rax == *((r14 + 0x28))) { 0x004797b6 jne 0x4797bf | 0x004797b8 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x004797bd je 0x479800 | goto label_9; | } | } 0x004797bf lea r8, [r14 + 0x28] | r8 = r14 + 0x28; 0x004797c3 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004797c8 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004797cd movzx eax, dil | eax = (int32_t) dil; 0x004797d1 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004797d6 push rax | 0x004797d7 push r10 | 0x004797d9 call 0x47bbe0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIdNS3_9allocatorIdEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004797de add rsp, 0x10 | 0x004797e2 test eax, eax | | if (eax != 0) { 0x004797e4 jne 0x479a3f | goto label_2; | } 0x004797ea mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004797f0 mov rsi, qword [r12] | rsi = *(r12); 0x004797f4 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004797f9 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x004797fe xor edi, edi | edi = 0; | label_9: 0x00479800 mov rax, qword [rip + 0x1cff09] | rax = *(str.element16); 0x00479807 movsxd rcx, dword [rip + 0x1cff0a] | rcx = *(0x00649718); 0x0047980e mov r9d, dword [rip + 0x1cff13] | r9d = *(0x00649728); 0x00479815 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047981a mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047981f mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479824 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00479829 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0047982e mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479833 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00479838 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x0047983d mov rax, qword [r14 + 0x70] | rax = *((r14 + 0x70)); 0x00479841 cmp rax, qword [r14 + 0x68] | | if (rax == *((r14 + 0x68))) { 0x00479845 jne 0x47984e | 0x00479847 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x0047984c je 0x47988f | goto label_10; | } | } 0x0047984e lea r8, [r14 + 0x68] | r8 = r14 + 0x68; 0x00479852 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479857 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047985c movzx eax, dil | eax = (int32_t) dil; 0x00479860 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479865 push rax | 0x00479866 push r10 | 0x00479868 call 0x47be40 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS4_IcNS3_9allocatorIcEEEENS5_IS7_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_ (); 0x0047986d add rsp, 0x10 | 0x00479871 test eax, eax | | if (eax != 0) { 0x00479873 jne 0x479a3f | goto label_2; | } 0x00479879 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0047987f mov rsi, qword [r12] | rsi = *(r12); 0x00479883 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479888 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0047988d xor edi, edi | edi = 0; | label_10: 0x0047988f mov rax, qword [rip + 0x1cfea2] | rax = *(str.element17); 0x00479896 movsxd rcx, dword [rip + 0x1cfea3] | rcx = *(0x00649740); 0x0047989d mov r9d, dword [rip + 0x1cfeac] | r9d = *(0x00649750); 0x004798a4 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004798a9 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004798ae mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004798b3 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x004798b8 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x004798bd mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004798c2 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x004798c7 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004798cc mov rax, qword [r14 + 0x10] | rax = *((r14 + 0x10)); 0x004798d0 cmp rax, qword [r14 + 8] | | if (rax == *((r14 + 8))) { 0x004798d4 jne 0x4798dd | 0x004798d6 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x004798db je 0x47991e | goto label_11; | } | } 0x004798dd lea r8, [r14 + 8] | r8 = r14 + 8; 0x004798e1 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004798e6 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004798eb movzx eax, dil | eax = (int32_t) dil; 0x004798ef lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004798f4 push rax | 0x004798f5 push r10 | 0x004798f7 call 0x465960 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIiNS3_9allocatorIiEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004798fc add rsp, 0x10 | 0x00479900 test eax, eax | | if (eax != 0) { 0x00479902 jne 0x479a3f | goto label_2; | } 0x00479908 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0047990e mov rsi, qword [r12] | rsi = *(r12); 0x00479912 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479917 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0047991c xor edi, edi | edi = 0; | label_11: 0x0047991e mov rax, qword [rip + 0x1cfe3b] | rax = *(str.element18); 0x00479925 movsxd rcx, dword [rip + 0x1cfe3c] | rcx = *(0x00649768); 0x0047992c mov r9d, dword [rip + 0x1cfe45] | r9d = .comment; 0x00479933 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479938 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047993d mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479942 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00479947 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0047994c mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479951 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00479956 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x0047995b mov rax, qword [r14 + 0xb0] | rax = *((r14 + 0xb0)); 0x00479962 cmp rax, qword [r14 + 0xa8] | | if (rax == *((r14 + 0xa8))) { 0x00479969 jne 0x479972 | 0x0047996b cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x00479970 je 0x4799b6 | goto label_12; | } | } 0x00479972 lea r8, [r14 + 0xa8] | r8 = r14 + 0xa8; 0x00479979 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x0047997e lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479983 movzx eax, dil | eax = (int32_t) dil; 0x00479987 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x0047998c push rax | 0x0047998d push r10 | 0x0047998f call 0x47c030 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4bdlt10DatetimeTzENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x00479994 add rsp, 0x10 | 0x00479998 test eax, eax | | if (eax != 0) { 0x0047999a jne 0x479a3f | goto label_2; | } 0x004799a0 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004799a6 mov rsi, qword [r12] | rsi = *(r12); 0x004799aa mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004799af mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x004799b4 xor edi, edi | edi = 0; | label_12: 0x004799b6 mov rax, qword [rip + 0x1cfdcb] | rax = *(str.element19); 0x004799bd movsxd rcx, dword [rip + 0x1cfdcc] | rcx = *(0x00649790); 0x004799c4 mov r9d, dword [rip + 0x1cfdd5] | r9d = *(0x006497a0); 0x004799cb mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004799d0 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004799d5 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004799da mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x004799df mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x004799e4 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004799e9 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x004799ee mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004799f3 mov rcx, qword [r14 + 0xf0] | rcx = *((r14 + 0xf0)); 0x004799fa xor eax, eax | eax = 0; 0x004799fc cmp rcx, qword [r14 + 0xe8] | | if (rcx == *((r14 + 0xe8))) { 0x00479a03 jne 0x479a0c | 0x00479a05 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x00479a0a je 0x479a3f | goto label_2; | } | } 0x00479a0c add r14, 0xe8 | r14 += 0xe8; 0x00479a13 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479a18 lea rcx, [rsp + 0x20] | 0x00479a1d movzx eax, dil | eax = (int32_t) dil; 0x00479a21 lea rdi, [rsp + 7] | 0x00479a26 mov r8, r14 | 0x00479a29 push rax | 0x00479a2a push r10 | 0x00479a2c call 0x477b60 | eax = intBloombergLP::baljsn::Encoder_EncodeImplUtil::encodeMember>>(bool*,BloombergLP::baljsn::Formatter*,std::_1::basic_ostream>*,std::_1::basic_string_view>const&,bsl::vector>const&,int,BloombergLP::baljsn::EncoderOptionsconst&,bool) (rsp + 7, rsi, rdx, rsp + 0x20, r14, r9); 0x00479a31 add rsp, 0x10 | 0x00479a35 test eax, eax | | if (eax != 0) { 0x00479a37 jne 0x479a3f | goto label_2; | } 0x00479a39 mov byte [r15], 0 | *(r15) = 0; 0x00479a3d xor eax, eax | eax = 0; | } | label_2: 0x00479a3f add rsp, 0x48 | 0x00479a43 pop rbx | 0x00479a44 pop r12 | 0x00479a46 pop r14 | 0x00479a48 pop r15 | 0x00479a4a ret | return rax; | }