; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4790d0 */ | #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 */ 0x004790d0 push r15 | 0x004790d2 push r14 | 0x004790d4 push r12 | 0x004790d6 push rbx | 0x004790d7 sub rsp, 0x48 | 0x004790db mov r12, rsi | r12 = rsi; 0x004790de mov r14, rdi | r14 = rdi; 0x004790e1 mov rsi, qword [rsi] | rsi = *(rsi); 0x004790e4 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004790e9 mov rcx, qword [rip + 0x1d04c8] | rcx = *(str.element1); 0x004790f0 movsxd rdi, dword [rip + 0x1d04c9] | rdi = *(0x006495c0); 0x004790f7 mov r9d, dword [rip + 0x1d04d2] | r9d = .comment; 0x004790fe mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479103 mov al, byte [r12 + 0x18] | al = *((r12 + 0x18)); 0x00479108 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047910d mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479112 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479117 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0047911c mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479121 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479126 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0047912b mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x0047912f mov rcx, qword [r14 + 0xd0] | rcx = *((r14 + 0xd0)); 0x00479136 cmp rcx, qword [r14 + 0xc8] | | if (rcx == *((r14 + 0xc8))) { 0x0047913d jne 0x479145 | 0x0047913f cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x00479143 je 0x479187 | goto label_0; | } | } 0x00479145 lea r8, [r14 + 0xc8] | r8 = r14 + 0xc8; 0x0047914c mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479151 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479156 movzx eax, al | eax = (int32_t) al; 0x00479159 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x0047915e push rax | 0x0047915f push rbx | 0x00479160 call 0x479b70 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_8s_baltst9Sequence3ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_1 (); 0x00479165 add rsp, 0x10 | 0x00479169 test eax, eax | | if (eax == 0) { 0x0047916b jne 0x479b58 | 0x00479171 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479177 mov rsi, qword [r12] | rsi = *(r12); 0x0047917b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479180 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479185 xor eax, eax | eax = 0; | label_0: 0x00479187 mov rcx, qword [rip + 0x1d0452] | rcx = *(str.element2); 0x0047918e movsxd rdi, dword [rip + 0x1d0453] | rdi = *(0x006495e8); 0x00479195 mov r9d, dword [rip + 0x1d045c] | r9d = .comment; 0x0047919c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004791a1 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004791a6 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004791ab mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004791b0 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x004791b5 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004791ba mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004791bf mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004791c3 mov rcx, qword [r14 + 0x110] | rcx = *((r14 + 0x110)); 0x004791ca cmp rcx, qword [r14 + 0x108] | | if (rcx == *((r14 + 0x108))) { 0x004791d1 jne 0x4791d9 | 0x004791d3 cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x004791d7 je 0x47921b | goto label_1; | } | } 0x004791d9 lea r8, [r14 + 0x108] | r8 = r14 + 0x108; 0x004791e0 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004791e5 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004791ea movzx eax, al | eax = (int32_t) al; 0x004791ed lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004791f2 push rax | 0x004791f3 push rbx | 0x004791f4 call 0x478920 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_8s_baltst7Choice1ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x004791f9 add rsp, 0x10 | 0x004791fd test eax, eax | | if (eax != 0) { 0x004791ff jne 0x479b58 | goto label_2; | } 0x00479205 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0047920b mov rsi, qword [r12] | rsi = *(r12); 0x0047920f mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479214 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479219 xor eax, eax | eax = 0; | label_1: 0x0047921b lea r15, [r12 + 0x18] | r15 = r12 + 0x18; 0x00479220 mov rcx, qword [rip + 0x1d03e1] | rcx = *(str.element3); 0x00479227 movsxd rdi, dword [rip + 0x1d03e2] | rdi = *(0x00649610); 0x0047922e mov r9d, dword [rip + 0x1d03eb] | r9d = *(0x00649620); 0x00479235 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047923a mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047923f mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479244 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479249 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x0047924e mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479253 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479258 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x0047925c cmp byte [r14 + 0x178], 0 | | if (*((r14 + 0x178)) == 0) { 0x00479264 jne 0x47926c | 0x00479266 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x0047926a je 0x4792a5 | goto label_3; | } | } 0x0047926c lea r8, [r14 + 0x158] | r8 = r14 + 0x158; 0x00479273 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479278 movzx eax, al | eax = (int32_t) al; 0x0047927b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00479280 push rax | 0x00479281 push rbx | 0x00479282 call 0x47b390 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIN3bsl6vectorIcNS5_9allocatorIcEEEEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSG_11char_traitsIcEEEERKNSG_17basic_string_vie (); 0x00479287 add rsp, 0x10 | 0x0047928b test eax, eax | | if (eax != 0) { 0x0047928d jne 0x479b58 | goto label_2; | } 0x00479293 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00479298 je 0x47929f | 0x0047929a mov al, byte [r15] | al = *(r15); 0x0047929d jmp 0x4792a5 | | } else { 0x0047929f mov byte [r15], 0 | *(r15) = 0; 0x004792a3 xor eax, eax | eax = 0; | } | label_3: 0x004792a5 mov rsi, qword [r12] | rsi = *(r12); 0x004792a9 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004792ae mov rcx, qword [rip + 0x1d037b] | rcx = *(str.element4); 0x004792b5 movsxd rdi, dword [rip + 0x1d037c] | rdi = *(0x00649638); 0x004792bc mov r9d, dword [rip + 0x1d0385] | r9d = *(0x00649648); 0x004792c3 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004792c8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004792cd mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004792d2 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004792d7 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004792dc mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x004792e1 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004792e6 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004792eb mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004792ef cmp byte [r14 + 0x1e8], 0 | | if (*((r14 + 0x1e8)) == 0) { 0x004792f7 jne 0x4792ff | 0x004792f9 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x004792fd je 0x479338 | goto label_4; | } | } 0x004792ff lea r8, [r14 + 0x1e4] | r8 = r14 + 0x1e4; 0x00479306 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047930b movzx eax, al | eax = (int32_t) al; 0x0047930e lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00479313 push rax | 0x00479314 push rbx | 0x00479315 call 0x4660f0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIiEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptio (); 0x0047931a add rsp, 0x10 | 0x0047931e test eax, eax | | if (eax != 0) { 0x00479320 jne 0x479b58 | goto label_2; | } 0x00479326 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x0047932b je 0x479332 | 0x0047932d mov al, byte [r15] | al = *(r15); 0x00479330 jmp 0x479338 | | } else { 0x00479332 mov byte [r15], 0 | *(r15) = 0; 0x00479336 xor eax, eax | eax = 0; | } | label_4: 0x00479338 mov rsi, qword [r12] | rsi = *(r12); 0x0047933c mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479341 mov rcx, qword [rip + 0x1d0310] | rcx = *(str.element5); 0x00479348 movsxd rdi, dword [rip + 0x1d0311] | rdi = *(0x00649660); 0x0047934f mov r9d, dword [rip + 0x1d031a] | r9d = .comment; 0x00479356 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x0047935b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479360 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479365 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047936a mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0047936f mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479374 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479379 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0047937e mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479382 cmp byte [r14 + 0x198], 0 | | if (*((r14 + 0x198)) == 0) { 0x0047938a jne 0x479392 | 0x0047938c cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00479390 je 0x4793cb | goto label_5; | } | } 0x00479392 lea r8, [r14 + 0x188] | 0x00479399 lea rcx, [rsp + 0x20] | 0x0047939e movzx eax, al | eax = (int32_t) al; 0x004793a1 lea rdi, [rsp + 8] | 0x004793a6 push rax | 0x004793a7 push rbx | 0x004793a8 call 0x47b500 | 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); 0x004793ad add rsp, 0x10 | 0x004793b1 test eax, eax | | if (eax != 0) { 0x004793b3 jne 0x479b58 | goto label_2; | } 0x004793b9 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x004793be je 0x4793c5 | 0x004793c0 mov al, byte [r15] | al = *(r15); 0x004793c3 jmp 0x4793cb | | } else { 0x004793c5 mov byte [r15], 0 | *(r15) = 0; 0x004793c9 xor eax, eax | eax = 0; | } | label_5: 0x004793cb mov rsi, qword [r12] | rsi = *(r12); 0x004793cf mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004793d4 mov rcx, qword [rip + 0x1d02a5] | rcx = *(str.element6); 0x004793db movsxd rdi, dword [rip + 0x1d02a6] | rdi = *(0x00649688); 0x004793e2 mov r9d, dword [rip + 0x1d02af] | r9d = *(0x00649698); 0x004793e9 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004793ee mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004793f3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004793f8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004793fd mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479402 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00479407 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047940c mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479411 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479415 cmp byte [r14 + 0x1d0], 0 | | if (*((r14 + 0x1d0)) == 0) { 0x0047941d jne 0x479425 | 0x0047941f cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00479423 je 0x47945e | goto label_6; | } | } 0x00479425 lea r8, [r14 + 0x1a0] | r8 = r14 + 0x1a0; 0x0047942c lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479431 movzx eax, al | eax = (int32_t) al; 0x00479434 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00479439 push rax | 0x0047943a push rbx | 0x0047943b call 0x477070 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_8s_baltst12CustomStringEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_E (); 0x00479440 add rsp, 0x10 | 0x00479444 test eax, eax | | if (eax != 0) { 0x00479446 jne 0x479b58 | goto label_2; | } 0x0047944c cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00479451 je 0x479458 | 0x00479453 mov al, byte [r15] | al = *(r15); 0x00479456 jmp 0x47945e | | } else { 0x00479458 mov byte [r15], 0 | *(r15) = 0; 0x0047945c xor eax, eax | eax = 0; | } | label_6: 0x0047945e mov rsi, qword [r12] | rsi = *(r12); 0x00479462 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479467 mov rcx, qword [rip + 0x1d023a] | rcx = *(str.element7); 0x0047946e movsxd rdi, dword [rip + 0x1d023b] | rdi = *(0x006496b0); 0x00479475 mov r9d, dword [rip + 0x1d0244] | r9d = .comment; 0x0047947c mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479481 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479486 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047948b mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479490 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479495 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x0047949a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047949f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004794a4 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004794a8 cmp byte [r14 + 0x1f0], 0 | | if (*((r14 + 0x1f0)) == 0) { 0x004794b0 jne 0x4794b8 | 0x004794b2 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x004794b6 je 0x4794f1 | goto label_7; | } | } 0x004794b8 lea r8, [r14 + 0x1ec] | r8 = r14 + 0x1ec; 0x004794bf lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004794c4 movzx eax, al | eax = (int32_t) al; 0x004794c7 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004794cc push rax | 0x004794cd push rbx | 0x004794ce call 0x47b6c0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_8s_baltst10Enumerated5ValueEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSE_11char_traitsIcEEEERKNSE_17basic_string_viewIc (); 0x004794d3 add rsp, 0x10 | 0x004794d7 test eax, eax | | if (eax != 0) { 0x004794d9 jne 0x479b58 | goto label_2; | } 0x004794df cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x004794e4 je 0x4794eb | 0x004794e6 mov al, byte [r15] | al = *(r15); 0x004794e9 jmp 0x4794f1 | | } else { 0x004794eb mov byte [r15], 0 | *(r15) = 0; 0x004794ef xor eax, eax | eax = 0; | } | label_7: 0x004794f1 lea rdi, [r14 + 0x1f8] | 0x004794f8 movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x004794fd mov rcx, qword [rip + 0x1d01cc] | rcx = *(str.element8); 0x00479504 movsxd rdx, dword [rip + 0x1d01cd] | rdx = *(0x006496d8); 0x0047950b mov esi, dword [rip + 0x1d01d7] | esi = *(0x006496e8); 0x00479511 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479516 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047951b movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00479520 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479525 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x0047952a mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x0047952e mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479533 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479537 lea rsi, [rsp + 8] | 0x0047953c call 0x47b880 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(boolconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1f8, rsp + 8); 0x00479541 test eax, eax | | if (eax == 0) { 0x00479543 jne 0x479555 | 0x00479545 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0047954a jne 0x479555 | 0x0047954c mov byte [r15], 0 | *(r15) = 0; 0x00479550 xor r10d, r10d | r10d = 0; 0x00479553 jmp 0x479560 | | } | } else { 0x00479555 test eax, eax | | if (eax != 0) { 0x00479557 jne 0x479b58 | goto label_2; | } 0x0047955d mov r10b, byte [r15] | r10b = *(r15); | } 0x00479560 lea r8, [r14 + 0x128] | r8 = r14 + 0x128; 0x00479567 mov rsi, qword [r12] | rsi = *(r12); 0x0047956b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479570 mov rdi, qword [rip + 0x1d0181] | rdi = *(str.element9); 0x00479577 movsxd rbx, dword [rip + 0x1d0182] | rbx = *(0x00649700); 0x0047957e mov r9d, dword [rip + 0x1d018b] | r9d = *(0x00649710); 0x00479585 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047958a mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047958f mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479594 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479599 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047959e mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x004795a3 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004795a8 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004795ad mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004795b2 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x004795b7 movzx ebx, r10b | ebx = (int32_t) r10b; 0x004795bb lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004795c0 push rbx | 0x004795c1 push rax | 0x004795c2 call 0x464a80 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl12basic_stringIcNSt3_111char_traitsIcEENS3_9allocatorIcEEEENS_18bdlat_TypeCategory6SimpleEEEiPbPNS0_9FormatterEPNS5_13basic_ostreamIcS7_EERKNS5_17basic_string_viewIcS7_EERKT_iRKNS0_14Enc (); 0x004795c7 add rsp, 0x10 | 0x004795cb test eax, eax | | if (eax == 0) { 0x004795cd jne 0x4795de | 0x004795cf cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004795d4 jne 0x4795de | 0x004795d6 mov byte [r15], 0 | *(r15) = 0; 0x004795da xor eax, eax | eax = 0; 0x004795dc jmp 0x4795e9 | | } | } else { 0x004795de test eax, eax | | if (eax != 0) { 0x004795e0 jne 0x479b58 | goto label_2; | } 0x004795e6 mov al, byte [r15] | al = *(r15); | } 0x004795e9 mov rsi, qword [r12] | 0x004795ed mov rdx, qword [r12 + 8] | 0x004795f2 mov rdi, qword [rip + 0x1d0127] | rdi = *(str.element10); 0x004795f9 movsxd r8, dword [rip + 0x1d0128] | r8 = *(0x00649728); 0x00479600 mov r9d, dword [rip + 0x1d0131] | 0x00479607 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x0047960c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479611 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479616 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047961b lea rcx, [rsp + 0x20] | 0x00479620 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00479625 mov qword [rsp + 0x28], r8 | *((rsp + 0x28)) = r8; 0x0047962a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047962f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479634 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479638 movzx eax, al | eax = (int32_t) al; 0x0047963b lea rdi, [rsp + 8] | 0x00479640 mov r8, r14 | 0x00479643 push rax | 0x00479644 push rbx | 0x00479645 call 0x478e00 | 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, *(0x00649738)); 0x0047964a add rsp, 0x10 | 0x0047964e test eax, eax | | if (eax == 0) { 0x00479650 jne 0x479662 | 0x00479652 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00479657 jne 0x479662 | 0x00479659 mov byte [r15], 0 | *(r15) = 0; 0x0047965d xor r10d, r10d | r10d = 0; 0x00479660 jmp 0x47966d | | } | } else { 0x00479662 test eax, eax | | if (eax != 0) { 0x00479664 jne 0x479b58 | goto label_2; | } 0x0047966a mov r10b, byte [r15] | r10b = *(r15); | } 0x0047966d lea r8, [r14 + 0x48] | 0x00479671 mov rsi, qword [r12] | 0x00479675 mov rdx, qword [r12 + 8] | 0x0047967a mov rdi, qword [rip + 0x1d00c7] | rdi = *(str.element11); 0x00479681 movsxd rbx, dword [rip + 0x1d00c8] | rbx = *(0x00649750); 0x00479688 mov r9d, dword [rip + 0x1d00d1] | 0x0047968f mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00479694 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479699 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047969e mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004796a3 lea rcx, [rsp + 0x20] | 0x004796a8 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x004796ad mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004796b2 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004796b7 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004796bc mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x004796c1 movzx ebx, r10b | ebx = (int32_t) r10b; 0x004796c5 lea rdi, [rsp + 8] | 0x004796ca push rbx | 0x004796cb push rax | 0x004796cc call 0x484c10 | 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, *(0x00649760)); 0x004796d1 add rsp, 0x10 | 0x004796d5 test eax, eax | | if (eax == 0) { 0x004796d7 jne 0x4796e8 | 0x004796d9 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004796de jne 0x4796e8 | 0x004796e0 mov byte [r15], 0 | *(r15) = 0; 0x004796e4 xor eax, eax | eax = 0; 0x004796e6 jmp 0x4796f3 | | } | } else { 0x004796e8 test eax, eax | | if (eax != 0) { 0x004796ea jne 0x479b58 | goto label_2; | } 0x004796f0 mov al, byte [r15] | al = *(r15); | } 0x004796f3 lea rdi, [r14 + 0x1e0] | 0x004796fa movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x004796ff mov rcx, qword [rip + 0x1d006a] | rcx = *(str.element12); 0x00479706 movsxd rdx, dword [rip + 0x1d006b] | rdx = *(0x00649778); 0x0047970d mov esi, dword [rip + 0x1d0075] | esi = *(0x00649788); 0x00479713 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00479718 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0047971d movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00479722 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479727 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x0047972c mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x00479730 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00479735 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00479739 lea rsi, [rsp + 8] | 0x0047973e call 0x464c00 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(intconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1e0, rsp + 8); 0x00479743 test eax, eax | | if (eax == 0) { 0x00479745 jne 0x479757 | 0x00479747 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0047974c jne 0x479757 | 0x0047974e mov byte [r15], 0 | *(r15) = 0; 0x00479752 xor r10d, r10d | r10d = 0; 0x00479755 jmp 0x479762 | | } | } else { 0x00479757 test eax, eax | | if (eax != 0) { 0x00479759 jne 0x479b58 | goto label_2; | } 0x0047975f mov r10b, byte [r15] | r10b = *(r15); | } 0x00479762 lea r8, [r14 + 0x1f4] | r8 = r14 + 0x1f4; 0x00479769 mov rsi, qword [r12] | rsi = *(r12); 0x0047976d mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479772 mov rdi, qword [rip + 0x1d001f] | rdi = *(str.element13); 0x00479779 movsxd rbx, dword [rip + 0x1d0020] | rbx = *(0x006497a0); 0x00479780 mov r9d, dword [rip + 0x1d0029] | r9d = .comment; 0x00479787 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047978c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479791 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479796 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047979b lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004797a0 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x004797a5 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004797aa mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004797af mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004797b4 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x004797b9 movzx ebx, r10b | ebx = (int32_t) r10b; 0x004797bd lea rdi, [rsp + 8] | rdi = rsp + 8; 0x004797c2 push rbx | 0x004797c3 push rax | 0x004797c4 call 0x47b910 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_8s_baltst10Enumerated5ValueENS_18bdlat_TypeCategory11EnumerationEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOpt (); 0x004797c9 add rsp, 0x10 | 0x004797cd test eax, eax | | if (eax == 0) { 0x004797cf jne 0x4797e0 | 0x004797d1 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x004797d6 jne 0x4797e0 | 0x004797d8 mov byte [r15], 0 | *(r15) = 0; 0x004797dc xor edi, edi | edi = 0; 0x004797de jmp 0x4797eb | | } | } else { 0x004797e0 test eax, eax | | if (eax != 0) { 0x004797e2 jne 0x479b58 | goto label_2; | } 0x004797e8 mov dil, byte [r15] | dil = *(r15); | } 0x004797eb mov rsi, qword [r12] | rsi = *(r12); 0x004797ef mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004797f4 mov rcx, qword [rip + 0x1cffc5] | rcx = *(str.element14); 0x004797fb movsxd rbx, dword [rip + 0x1cffc6] | rbx = *(0x006497c8); 0x00479802 mov r9d, dword [rip + 0x1cffcf] | r9d = *(0x006497d8); 0x00479809 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047980e mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479813 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479818 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0047981d mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479822 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00479827 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047982c mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479831 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00479836 mov rcx, qword [r14 + 0x90] | rcx = *((r14 + 0x90)); 0x0047983d cmp rcx, qword [r14 + 0x88] | | if (rcx == *((r14 + 0x88))) { 0x00479844 jne 0x47984c | 0x00479846 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x0047984a je 0x47988f | goto label_8; | } | } 0x0047984c lea r8, [r14 + 0x88] | r8 = r14 + 0x88; 0x00479853 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479858 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0047985d movzx ebx, dil | ebx = (int32_t) dil; 0x00479861 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479866 push rbx | 0x00479867 push rax | 0x00479868 call 0x47ba80 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIbNS3_9allocatorIbEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x0047986d add rsp, 0x10 | 0x00479871 test eax, eax | | if (eax != 0) { 0x00479873 jne 0x479b58 | 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 rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047988d xor edi, edi | edi = 0; | label_8: 0x0047988f mov rcx, qword [rip + 0x1cff52] | rcx = *(str.element15); 0x00479896 movsxd rbx, dword [rip + 0x1cff53] | rbx = *(0x006497f0); 0x0047989d mov r9d, dword [rip + 0x1cff5c] | r9d = .comment; 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], rcx | *((rsp + 0x20)) = rcx; 0x004798b8 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004798bd mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004798c2 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004798c7 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004798cc mov rcx, qword [r14 + 0x30] | rcx = *((r14 + 0x30)); 0x004798d0 cmp rcx, qword [r14 + 0x28] | | if (rcx == *((r14 + 0x28))) { 0x004798d4 jne 0x4798dc | 0x004798d6 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x004798da je 0x47991c | goto label_9; | } | } 0x004798dc lea r8, [r14 + 0x28] | r8 = r14 + 0x28; 0x004798e0 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004798e5 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004798ea movzx ebx, dil | ebx = (int32_t) dil; 0x004798ee lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004798f3 push rbx | 0x004798f4 push rax | 0x004798f5 call 0x47bcf0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIdNS3_9allocatorIdEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004798fa add rsp, 0x10 | 0x004798fe test eax, eax | | if (eax != 0) { 0x00479900 jne 0x479b58 | goto label_2; | } 0x00479906 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0047990c mov rsi, qword [r12] | rsi = *(r12); 0x00479910 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479915 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0047991a xor edi, edi | edi = 0; | label_9: 0x0047991c mov rcx, qword [rip + 0x1cfeed] | rcx = *(str.element16); 0x00479923 movsxd rbx, dword [rip + 0x1cfeee] | rbx = *(0x00649818); 0x0047992a mov r9d, dword [rip + 0x1cfef7] | r9d = *(0x00649828); 0x00479931 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479936 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0047993b mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479940 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479945 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0047994a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0047994f mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479954 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00479959 mov rcx, qword [r14 + 0x70] | rcx = *((r14 + 0x70)); 0x0047995d cmp rcx, qword [r14 + 0x68] | | if (rcx == *((r14 + 0x68))) { 0x00479961 jne 0x479969 | 0x00479963 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x00479967 je 0x4799a9 | goto label_10; | } | } 0x00479969 lea r8, [r14 + 0x68] | r8 = r14 + 0x68; 0x0047996d mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479972 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479977 movzx ebx, dil | ebx = (int32_t) dil; 0x0047997b lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479980 push rbx | 0x00479981 push rax | 0x00479982 call 0x47bf50 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS4_IcNS3_9allocatorIcEEEENS5_IS7_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_ (); 0x00479987 add rsp, 0x10 | 0x0047998b test eax, eax | | if (eax != 0) { 0x0047998d jne 0x479b58 | goto label_2; | } 0x00479993 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479999 mov rsi, qword [r12] | rsi = *(r12); 0x0047999d mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004799a2 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x004799a7 xor edi, edi | edi = 0; | label_10: 0x004799a9 mov rcx, qword [rip + 0x1cfe88] | rcx = *(str.element17); 0x004799b0 movsxd rbx, dword [rip + 0x1cfe89] | rbx = *(0x00649840); 0x004799b7 mov r9d, dword [rip + 0x1cfe92] | r9d = *(0x00649850); 0x004799be mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004799c3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004799c8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004799cd mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004799d2 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004799d7 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004799dc mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004799e1 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004799e6 mov rcx, qword [r14 + 0x10] | rcx = *((r14 + 0x10)); 0x004799ea cmp rcx, qword [r14 + 8] | | if (rcx == *((r14 + 8))) { 0x004799ee jne 0x4799f6 | 0x004799f0 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x004799f4 je 0x479a36 | goto label_11; | } | } 0x004799f6 lea r8, [r14 + 8] | r8 = r14 + 8; 0x004799fa mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004799ff lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479a04 movzx ebx, dil | ebx = (int32_t) dil; 0x00479a08 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479a0d push rbx | 0x00479a0e push rax | 0x00479a0f call 0x465920 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIiNS3_9allocatorIiEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x00479a14 add rsp, 0x10 | 0x00479a18 test eax, eax | | if (eax != 0) { 0x00479a1a jne 0x479b58 | goto label_2; | } 0x00479a20 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479a26 mov rsi, qword [r12] | rsi = *(r12); 0x00479a2a mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479a2f mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00479a34 xor edi, edi | edi = 0; | label_11: 0x00479a36 mov rcx, qword [rip + 0x1cfe23] | rcx = *(str.element18); 0x00479a3d movsxd rbx, dword [rip + 0x1cfe24] | rbx = *(0x00649868); 0x00479a44 mov r9d, dword [rip + 0x1cfe2d] | r9d = .comment; 0x00479a4b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479a50 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479a55 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479a5a mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479a5f mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00479a64 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479a69 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479a6e mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00479a73 mov rcx, qword [r14 + 0xb0] | rcx = *((r14 + 0xb0)); 0x00479a7a cmp rcx, qword [r14 + 0xa8] | | if (rcx == *((r14 + 0xa8))) { 0x00479a81 jne 0x479a89 | 0x00479a83 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x00479a87 je 0x479acc | goto label_12; | } | } 0x00479a89 lea r8, [r14 + 0xa8] | r8 = r14 + 0xa8; 0x00479a90 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479a95 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00479a9a movzx ebx, dil | ebx = (int32_t) dil; 0x00479a9e lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00479aa3 push rbx | 0x00479aa4 push rax | 0x00479aa5 call 0x47c140 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4bdlt10DatetimeTzENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x00479aaa add rsp, 0x10 | 0x00479aae test eax, eax | | if (eax != 0) { 0x00479ab0 jne 0x479b58 | goto label_2; | } 0x00479ab6 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00479abc mov rsi, qword [r12] | rsi = *(r12); 0x00479ac0 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00479ac5 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00479aca xor edi, edi | edi = 0; | label_12: 0x00479acc mov rcx, qword [rip + 0x1cfdb5] | rcx = *(str.element19); 0x00479ad3 movsxd rbx, dword [rip + 0x1cfdb6] | rbx = *(0x00649890); 0x00479ada mov r9d, dword [rip + 0x1cfdbf] | r9d = *(0x006498a0); 0x00479ae1 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00479ae6 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00479aeb mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00479af0 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00479af5 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00479afa mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00479aff mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00479b04 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00479b09 mov rcx, qword [r14 + 0xf0] | rcx = *((r14 + 0xf0)); 0x00479b10 xor ebx, ebx | ebx = 0; 0x00479b12 cmp rcx, qword [r14 + 0xe8] | | if (rcx == *((r14 + 0xe8))) { 0x00479b19 jne 0x479b21 | 0x00479b1b cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x00479b1f je 0x479b56 | goto label_13; | } | } 0x00479b21 add r14, 0xe8 | r14 += 0xe8; 0x00479b28 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00479b2d lea rcx, [rsp + 0x20] | 0x00479b32 movzx r10d, dil | r10d = (int32_t) dil; 0x00479b36 lea rdi, [rsp + 7] | 0x00479b3b mov r8, r14 | 0x00479b3e push r10 | 0x00479b40 push rax | 0x00479b41 call 0x477c80 | 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); 0x00479b46 add rsp, 0x10 | 0x00479b4a test eax, eax | | if (eax != 0) { 0x00479b4c je 0x479b52 | 0x00479b4e mov ebx, eax | ebx = eax; 0x00479b50 jmp 0x479b56 | | } else { 0x00479b52 mov byte [r15], 0 | *(r15) = 0; | } | label_13: 0x00479b56 mov eax, ebx | eax = ebx; | } | label_2: 0x00479b58 add rsp, 0x48 | 0x00479b5c pop rbx | 0x00479b5d pop r12 | 0x00479b5f pop r14 | 0x00479b61 pop r15 | 0x00479b63 ret | return rax; | }