; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x480a90 */ | #include | ; (fcn) method.int_BloombergLP::balb::Sequence4::accessAttributes_BloombergLP::baljsn.Encoder_AttributeVisitor__BloombergLP::baljsn::Encoder_AttributeVisitor__const () | uint64_t method_int_BloombergLP::balb::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::balb::Sequence4::accessAttributes(BloombergLP::baljsn::Encoder_AttributeVisitor&) const */ 0x00480a90 push r15 | 0x00480a92 push r14 | 0x00480a94 push r12 | 0x00480a96 push rbx | 0x00480a97 sub rsp, 0x48 | 0x00480a9b mov r12, rsi | r12 = rsi; 0x00480a9e mov r14, rdi | r14 = rdi; 0x00480aa1 mov rsi, qword [rsi] | rsi = *(rsi); 0x00480aa4 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480aa9 mov rcx, qword [rip + 0xcd5e8] | rcx = *(str.element1); 0x00480ab0 movsxd rdi, dword [rip + 0xcd5e9] | rdi = *(0x0054e0a0); 0x00480ab7 mov r9d, dword [rip + 0xcd5f2] | r9d = .comment; 0x00480abe mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480ac3 mov al, byte [r12 + 0x18] | al = *((r12 + 0x18)); 0x00480ac8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480acd mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480ad2 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480ad7 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480adc mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480ae1 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480ae6 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480aeb mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480aef mov rcx, qword [r14 + 0xd0] | rcx = *((r14 + 0xd0)); 0x00480af6 cmp rcx, qword [r14 + 0xc8] | | if (rcx == *((r14 + 0xc8))) { 0x00480afd jne 0x480b05 | 0x00480aff cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x00480b03 je 0x480b47 | goto label_0; | } | } 0x00480b05 lea r8, [r14 + 0xc8] | r8 = r14 + 0xc8; 0x00480b0c mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00480b11 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480b16 movzx eax, al | eax = (int32_t) al; 0x00480b19 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00480b1e push rax | 0x00480b1f push rbx | 0x00480b20 call 0x481530 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb9Sequence3ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdl (); 0x00480b25 add rsp, 0x10 | 0x00480b29 test eax, eax | | if (eax == 0) { 0x00480b2b jne 0x481518 | 0x00480b31 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00480b37 mov rsi, qword [r12] | rsi = *(r12); 0x00480b3b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480b40 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480b45 xor eax, eax | eax = 0; | label_0: 0x00480b47 mov rcx, qword [rip + 0xcd572] | rcx = *(str.element2); 0x00480b4e movsxd rdi, dword [rip + 0xcd573] | rdi = *(0x0054e0c8); 0x00480b55 mov r9d, dword [rip + 0xcd57c] | r9d = .comment; 0x00480b5c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480b61 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480b66 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480b6b mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480b70 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480b75 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480b7a mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480b7f mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480b83 mov rcx, qword [r14 + 0x110] | rcx = *((r14 + 0x110)); 0x00480b8a cmp rcx, qword [r14 + 0x108] | | if (rcx == *((r14 + 0x108))) { 0x00480b91 jne 0x480b99 | 0x00480b93 cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x00480b97 je 0x480bdb | goto label_1; | } | } 0x00480b99 lea r8, [r14 + 0x108] | r8 = r14 + 0x108; 0x00480ba0 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00480ba5 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480baa movzx eax, al | eax = (int32_t) al; 0x00480bad lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00480bb2 push rax | 0x00480bb3 push rbx | 0x00480bb4 call 0x481780 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb7Choice1ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat (); 0x00480bb9 add rsp, 0x10 | 0x00480bbd test eax, eax | | if (eax != 0) { 0x00480bbf jne 0x481518 | goto label_2; | } 0x00480bc5 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00480bcb mov rsi, qword [r12] | rsi = *(r12); 0x00480bcf mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480bd4 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480bd9 xor eax, eax | eax = 0; | label_1: 0x00480bdb lea r15, [r12 + 0x18] | r15 = r12 + 0x18; 0x00480be0 mov rcx, qword [rip + 0xcd501] | rcx = *(str.element3); 0x00480be7 movsxd rdi, dword [rip + 0xcd502] | rdi = *(0x0054e0f0); 0x00480bee mov r9d, dword [rip + 0xcd50b] | r9d = *(0x0054e100); 0x00480bf5 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480bfa mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480bff mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480c04 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480c09 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480c0e mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480c13 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480c18 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480c1c cmp byte [r14 + 0x178], 0 | | if (*((r14 + 0x178)) == 0) { 0x00480c24 jne 0x480c2c | 0x00480c26 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480c2a je 0x480c65 | goto label_3; | } | } 0x00480c2c lea r8, [r14 + 0x158] | r8 = r14 + 0x158; 0x00480c33 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480c38 movzx eax, al | eax = (int32_t) al; 0x00480c3b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480c40 push rax | 0x00480c41 push rbx | 0x00480c42 call 0x47b390 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIN3bsl6vectorIcNS5_9allocatorIcEEEEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSG_11char_traitsIcEEEERKNSG_17basic_string_vie (); 0x00480c47 add rsp, 0x10 | 0x00480c4b test eax, eax | | if (eax != 0) { 0x00480c4d jne 0x481518 | goto label_2; | } 0x00480c53 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480c58 je 0x480c5f | 0x00480c5a mov al, byte [r15] | al = *(r15); 0x00480c5d jmp 0x480c65 | | } else { 0x00480c5f mov byte [r15], 0 | *(r15) = 0; 0x00480c63 xor eax, eax | eax = 0; | } | label_3: 0x00480c65 mov rsi, qword [r12] | rsi = *(r12); 0x00480c69 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480c6e mov rcx, qword [rip + 0xcd49b] | rcx = *(str.element4); 0x00480c75 movsxd rdi, dword [rip + 0xcd49c] | rdi = *(0x0054e118); 0x00480c7c mov r9d, dword [rip + 0xcd4a5] | r9d = *(0x0054e128); 0x00480c83 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480c88 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480c8d mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480c92 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480c97 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480c9c mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480ca1 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480ca6 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480cab mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480caf cmp byte [r14 + 0x1e8], 0 | | if (*((r14 + 0x1e8)) == 0) { 0x00480cb7 jne 0x480cbf | 0x00480cb9 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480cbd je 0x480cf8 | goto label_4; | } | } 0x00480cbf lea r8, [r14 + 0x1e4] | r8 = r14 + 0x1e4; 0x00480cc6 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480ccb movzx eax, al | eax = (int32_t) al; 0x00480cce lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480cd3 push rax | 0x00480cd4 push rbx | 0x00480cd5 call 0x4660f0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIiEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptio (); 0x00480cda add rsp, 0x10 | 0x00480cde test eax, eax | | if (eax != 0) { 0x00480ce0 jne 0x481518 | goto label_2; | } 0x00480ce6 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480ceb je 0x480cf2 | 0x00480ced mov al, byte [r15] | al = *(r15); 0x00480cf0 jmp 0x480cf8 | | } else { 0x00480cf2 mov byte [r15], 0 | *(r15) = 0; 0x00480cf6 xor eax, eax | eax = 0; | } | label_4: 0x00480cf8 mov rsi, qword [r12] | rsi = *(r12); 0x00480cfc mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480d01 mov rcx, qword [rip + 0xcd430] | rcx = *(str.element5); 0x00480d08 movsxd rdi, dword [rip + 0xcd431] | rdi = *(0x0054e140); 0x00480d0f mov r9d, dword [rip + 0xcd43a] | r9d = .comment; 0x00480d16 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480d1b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480d20 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480d25 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480d2a mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480d2f mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480d34 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480d39 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480d3e mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480d42 cmp byte [r14 + 0x198], 0 | | if (*((r14 + 0x198)) == 0) { 0x00480d4a jne 0x480d52 | 0x00480d4c cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480d50 je 0x480d8b | goto label_5; | } | } 0x00480d52 lea r8, [r14 + 0x188] | 0x00480d59 lea rcx, [rsp + 0x20] | 0x00480d5e movzx eax, al | eax = (int32_t) al; 0x00480d61 lea rdi, [rsp + 8] | 0x00480d66 push rax | 0x00480d67 push rbx | 0x00480d68 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); 0x00480d6d add rsp, 0x10 | 0x00480d71 test eax, eax | | if (eax != 0) { 0x00480d73 jne 0x481518 | goto label_2; | } 0x00480d79 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480d7e je 0x480d85 | 0x00480d80 mov al, byte [r15] | al = *(r15); 0x00480d83 jmp 0x480d8b | | } else { 0x00480d85 mov byte [r15], 0 | *(r15) = 0; 0x00480d89 xor eax, eax | eax = 0; | } | label_5: 0x00480d8b mov rsi, qword [r12] | rsi = *(r12); 0x00480d8f mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480d94 mov rcx, qword [rip + 0xcd3c5] | rcx = *(str.element6); 0x00480d9b movsxd rdi, dword [rip + 0xcd3c6] | rdi = *(0x0054e168); 0x00480da2 mov r9d, dword [rip + 0xcd3cf] | r9d = *(0x0054e178); 0x00480da9 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480dae mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480db3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480db8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480dbd mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480dc2 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480dc7 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480dcc mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480dd1 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480dd5 cmp byte [r14 + 0x1d0], 0 | | if (*((r14 + 0x1d0)) == 0) { 0x00480ddd jne 0x480de5 | 0x00480ddf cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480de3 je 0x480e1e | goto label_6; | } | } 0x00480de5 lea r8, [r14 + 0x1a0] | r8 = r14 + 0x1a0; 0x00480dec lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480df1 movzx eax, al | eax = (int32_t) al; 0x00480df4 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480df9 push rax | 0x00480dfa push rbx | 0x00480dfb call 0x4819e0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_4balb12CustomStringEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT (); 0x00480e00 add rsp, 0x10 | 0x00480e04 test eax, eax | | if (eax != 0) { 0x00480e06 jne 0x481518 | goto label_2; | } 0x00480e0c cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480e11 je 0x480e18 | 0x00480e13 mov al, byte [r15] | al = *(r15); 0x00480e16 jmp 0x480e1e | | } else { 0x00480e18 mov byte [r15], 0 | *(r15) = 0; 0x00480e1c xor eax, eax | eax = 0; | } | label_6: 0x00480e1e mov rsi, qword [r12] | rsi = *(r12); 0x00480e22 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480e27 mov rcx, qword [rip + 0xcd35a] | rcx = *(str.element7); 0x00480e2e movsxd rdi, dword [rip + 0xcd35b] | rdi = *(0x0054e190); 0x00480e35 mov r9d, dword [rip + 0xcd364] | r9d = .comment; 0x00480e3c mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480e41 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480e46 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480e4b mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480e50 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480e55 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480e5a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480e5f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480e64 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480e68 cmp byte [r14 + 0x1f0], 0 | | if (*((r14 + 0x1f0)) == 0) { 0x00480e70 jne 0x480e78 | 0x00480e72 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480e76 je 0x480eb1 | goto label_7; | } | } 0x00480e78 lea r8, [r14 + 0x1ec] | r8 = r14 + 0x1ec; 0x00480e7f lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480e84 movzx eax, al | eax = (int32_t) al; 0x00480e87 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480e8c push rax | 0x00480e8d push rbx | 0x00480e8e call 0x481c20 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_4balb10Enumerated5ValueEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSE_11char_traitsIcEEEERKNSE_17basic_string_viewIcSH_E (); 0x00480e93 add rsp, 0x10 | 0x00480e97 test eax, eax | | if (eax != 0) { 0x00480e99 jne 0x481518 | goto label_2; | } 0x00480e9f cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480ea4 je 0x480eab | 0x00480ea6 mov al, byte [r15] | al = *(r15); 0x00480ea9 jmp 0x480eb1 | | } else { 0x00480eab mov byte [r15], 0 | *(r15) = 0; 0x00480eaf xor eax, eax | eax = 0; | } | label_7: 0x00480eb1 lea rdi, [r14 + 0x1f8] | 0x00480eb8 movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x00480ebd mov rcx, qword [rip + 0xcd2ec] | rcx = *(str.element8); 0x00480ec4 movsxd rdx, dword [rip + 0xcd2ed] | rdx = *(0x0054e1b8); 0x00480ecb mov esi, dword [rip + 0xcd2f7] | esi = *(0x0054e1c8); 0x00480ed1 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480ed6 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480edb movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00480ee0 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480ee5 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x00480eea mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x00480eee mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480ef3 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480ef7 lea rsi, [rsp + 8] | 0x00480efc call 0x47b880 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(boolconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1f8, rsp + 8); 0x00480f01 test eax, eax | | if (eax == 0) { 0x00480f03 jne 0x480f15 | 0x00480f05 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480f0a jne 0x480f15 | 0x00480f0c mov byte [r15], 0 | *(r15) = 0; 0x00480f10 xor r10d, r10d | r10d = 0; 0x00480f13 jmp 0x480f20 | | } | } else { 0x00480f15 test eax, eax | | if (eax != 0) { 0x00480f17 jne 0x481518 | goto label_2; | } 0x00480f1d mov r10b, byte [r15] | r10b = *(r15); | } 0x00480f20 lea r8, [r14 + 0x128] | r8 = r14 + 0x128; 0x00480f27 mov rsi, qword [r12] | rsi = *(r12); 0x00480f2b mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480f30 mov rdi, qword [rip + 0xcd2a1] | rdi = *(str.element9); 0x00480f37 movsxd rbx, dword [rip + 0xcd2a2] | rbx = *(0x0054e1e0); 0x00480f3e mov r9d, dword [rip + 0xcd2ab] | r9d = *(0x0054e1f0); 0x00480f45 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00480f4a mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480f4f mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480f54 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480f59 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480f5e mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00480f63 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00480f68 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480f6d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00480f72 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00480f77 movzx ebx, r10b | ebx = (int32_t) r10b; 0x00480f7b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480f80 push rbx | 0x00480f81 push rax | 0x00480f82 call 0x464a80 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl12basic_stringIcNSt3_111char_traitsIcEENS3_9allocatorIcEEEENS_18bdlat_TypeCategory6SimpleEEEiPbPNS0_9FormatterEPNS5_13basic_ostreamIcS7_EERKNS5_17basic_string_viewIcS7_EERKT_iRKNS0_14Enc (); 0x00480f87 add rsp, 0x10 | 0x00480f8b test eax, eax | | if (eax == 0) { 0x00480f8d jne 0x480f9e | 0x00480f8f cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480f94 jne 0x480f9e | 0x00480f96 mov byte [r15], 0 | *(r15) = 0; 0x00480f9a xor eax, eax | eax = 0; 0x00480f9c jmp 0x480fa9 | | } | } else { 0x00480f9e test eax, eax | | if (eax != 0) { 0x00480fa0 jne 0x481518 | goto label_2; | } 0x00480fa6 mov al, byte [r15] | al = *(r15); | } 0x00480fa9 mov rsi, qword [r12] | 0x00480fad mov rdx, qword [r12 + 8] | 0x00480fb2 mov rdi, qword [rip + 0xcd247] | rdi = *(str.element10); 0x00480fb9 movsxd r8, dword [rip + 0xcd248] | r8 = *(0x0054e208); 0x00480fc0 mov r9d, dword [rip + 0xcd251] | 0x00480fc7 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480fcc mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480fd1 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480fd6 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480fdb lea rcx, [rsp + 0x20] | 0x00480fe0 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00480fe5 mov qword [rsp + 0x28], r8 | *((rsp + 0x28)) = r8; 0x00480fea mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480fef mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480ff4 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480ff8 movzx eax, al | eax = (int32_t) al; 0x00480ffb lea rdi, [rsp + 8] | 0x00481000 mov r8, r14 | 0x00481003 push rax | 0x00481004 push rbx | 0x00481005 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, *(0x0054e218)); 0x0048100a add rsp, 0x10 | 0x0048100e test eax, eax | | if (eax == 0) { 0x00481010 jne 0x481022 | 0x00481012 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00481017 jne 0x481022 | 0x00481019 mov byte [r15], 0 | *(r15) = 0; 0x0048101d xor r10d, r10d | r10d = 0; 0x00481020 jmp 0x48102d | | } | } else { 0x00481022 test eax, eax | | if (eax != 0) { 0x00481024 jne 0x481518 | goto label_2; | } 0x0048102a mov r10b, byte [r15] | r10b = *(r15); | } 0x0048102d lea r8, [r14 + 0x48] | 0x00481031 mov rsi, qword [r12] | 0x00481035 mov rdx, qword [r12 + 8] | 0x0048103a mov rdi, qword [rip + 0xcd1e7] | rdi = *(str.element11); 0x00481041 movsxd rbx, dword [rip + 0xcd1e8] | rbx = *(0x0054e230); 0x00481048 mov r9d, dword [rip + 0xcd1f1] | 0x0048104f mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00481054 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481059 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0048105e mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00481063 lea rcx, [rsp + 0x20] | 0x00481068 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x0048106d mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00481072 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481077 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x0048107c mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00481081 movzx ebx, r10b | ebx = (int32_t) r10b; 0x00481085 lea rdi, [rsp + 8] | 0x0048108a push rbx | 0x0048108b push rax | 0x0048108c 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, *(0x0054e240)); 0x00481091 add rsp, 0x10 | 0x00481095 test eax, eax | | if (eax == 0) { 0x00481097 jne 0x4810a8 | 0x00481099 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0048109e jne 0x4810a8 | 0x004810a0 mov byte [r15], 0 | *(r15) = 0; 0x004810a4 xor eax, eax | eax = 0; 0x004810a6 jmp 0x4810b3 | | } | } else { 0x004810a8 test eax, eax | | if (eax != 0) { 0x004810aa jne 0x481518 | goto label_2; | } 0x004810b0 mov al, byte [r15] | al = *(r15); | } 0x004810b3 lea rdi, [r14 + 0x1e0] | 0x004810ba movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x004810bf mov rcx, qword [rip + 0xcd18a] | rcx = *(str.element12); 0x004810c6 movsxd rdx, dword [rip + 0xcd18b] | rdx = *(0x0054e258); 0x004810cd mov esi, dword [rip + 0xcd195] | esi = *(0x0054e268); 0x004810d3 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004810d8 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004810dd movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x004810e2 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004810e7 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x004810ec mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x004810f0 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x004810f5 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x004810f9 lea rsi, [rsp + 8] | 0x004810fe call 0x464c00 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(intconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1e0, rsp + 8); 0x00481103 test eax, eax | | if (eax == 0) { 0x00481105 jne 0x481117 | 0x00481107 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0048110c jne 0x481117 | 0x0048110e mov byte [r15], 0 | *(r15) = 0; 0x00481112 xor r10d, r10d | r10d = 0; 0x00481115 jmp 0x481122 | | } | } else { 0x00481117 test eax, eax | | if (eax != 0) { 0x00481119 jne 0x481518 | goto label_2; | } 0x0048111f mov r10b, byte [r15] | r10b = *(r15); | } 0x00481122 lea r8, [r14 + 0x1f4] | r8 = r14 + 0x1f4; 0x00481129 mov rsi, qword [r12] | rsi = *(r12); 0x0048112d mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481132 mov rdi, qword [rip + 0xcd13f] | rdi = *(str.element13); 0x00481139 movsxd rbx, dword [rip + 0xcd140] | rbx = *(0x0054e280); 0x00481140 mov r9d, dword [rip + 0xcd149] | r9d = .comment; 0x00481147 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0048114c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481151 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481156 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0048115b lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00481160 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00481165 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0048116a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0048116f mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00481174 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00481179 movzx ebx, r10b | ebx = (int32_t) r10b; 0x0048117d lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00481182 push rbx | 0x00481183 push rax | 0x00481184 call 0x481de0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4balb10Enumerated5ValueENS_18bdlat_TypeCategory11EnumerationEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptions (); 0x00481189 add rsp, 0x10 | 0x0048118d test eax, eax | | if (eax == 0) { 0x0048118f jne 0x4811a0 | 0x00481191 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00481196 jne 0x4811a0 | 0x00481198 mov byte [r15], 0 | *(r15) = 0; 0x0048119c xor edi, edi | edi = 0; 0x0048119e jmp 0x4811ab | | } | } else { 0x004811a0 test eax, eax | | if (eax != 0) { 0x004811a2 jne 0x481518 | goto label_2; | } 0x004811a8 mov dil, byte [r15] | dil = *(r15); | } 0x004811ab mov rsi, qword [r12] | rsi = *(r12); 0x004811af mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004811b4 mov rcx, qword [rip + 0xcd0e5] | rcx = *(str.element14); 0x004811bb movsxd rbx, dword [rip + 0xcd0e6] | rbx = *(0x0054e2a8); 0x004811c2 mov r9d, dword [rip + 0xcd0ef] | r9d = *(0x0054e2b8); 0x004811c9 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x004811ce mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004811d3 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004811d8 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004811dd mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004811e2 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004811e7 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004811ec mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004811f1 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004811f6 mov rcx, qword [r14 + 0x90] | rcx = *((r14 + 0x90)); 0x004811fd cmp rcx, qword [r14 + 0x88] | | if (rcx == *((r14 + 0x88))) { 0x00481204 jne 0x48120c | 0x00481206 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x0048120a je 0x48124f | goto label_8; | } | } 0x0048120c lea r8, [r14 + 0x88] | r8 = r14 + 0x88; 0x00481213 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481218 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0048121d movzx ebx, dil | ebx = (int32_t) dil; 0x00481221 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00481226 push rbx | 0x00481227 push rax | 0x00481228 call 0x47ba80 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIbNS3_9allocatorIbEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x0048122d add rsp, 0x10 | 0x00481231 test eax, eax | | if (eax != 0) { 0x00481233 jne 0x481518 | goto label_2; | } 0x00481239 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0048123f mov rsi, qword [r12] | rsi = *(r12); 0x00481243 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481248 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0048124d xor edi, edi | edi = 0; | label_8: 0x0048124f mov rcx, qword [rip + 0xcd072] | rcx = *(str.element15); 0x00481256 movsxd rbx, dword [rip + 0xcd073] | rbx = *(0x0054e2d0); 0x0048125d mov r9d, dword [rip + 0xcd07c] | r9d = .comment; 0x00481264 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481269 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0048126e mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00481273 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00481278 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0048127d mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481282 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00481287 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x0048128c mov rcx, qword [r14 + 0x30] | rcx = *((r14 + 0x30)); 0x00481290 cmp rcx, qword [r14 + 0x28] | | if (rcx == *((r14 + 0x28))) { 0x00481294 jne 0x48129c | 0x00481296 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x0048129a je 0x4812dc | goto label_9; | } | } 0x0048129c lea r8, [r14 + 0x28] | r8 = r14 + 0x28; 0x004812a0 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004812a5 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004812aa movzx ebx, dil | ebx = (int32_t) dil; 0x004812ae lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004812b3 push rbx | 0x004812b4 push rax | 0x004812b5 call 0x47bcf0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIdNS3_9allocatorIdEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004812ba add rsp, 0x10 | 0x004812be test eax, eax | | if (eax != 0) { 0x004812c0 jne 0x481518 | goto label_2; | } 0x004812c6 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004812cc mov rsi, qword [r12] | rsi = *(r12); 0x004812d0 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004812d5 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x004812da xor edi, edi | edi = 0; | label_9: 0x004812dc mov rcx, qword [rip + 0xcd00d] | rcx = *(str.element16); 0x004812e3 movsxd rbx, dword [rip + 0xcd00e] | rbx = *(0x0054e2f8); 0x004812ea mov r9d, dword [rip + 0xcd017] | r9d = *(0x0054e308); 0x004812f1 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004812f6 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004812fb mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00481300 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00481305 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0048130a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0048130f mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00481314 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00481319 mov rcx, qword [r14 + 0x70] | rcx = *((r14 + 0x70)); 0x0048131d cmp rcx, qword [r14 + 0x68] | | if (rcx == *((r14 + 0x68))) { 0x00481321 jne 0x481329 | 0x00481323 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x00481327 je 0x481369 | goto label_10; | } | } 0x00481329 lea r8, [r14 + 0x68] | r8 = r14 + 0x68; 0x0048132d mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481332 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00481337 movzx ebx, dil | ebx = (int32_t) dil; 0x0048133b lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00481340 push rbx | 0x00481341 push rax | 0x00481342 call 0x47bf50 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS4_IcNS3_9allocatorIcEEEENS5_IS7_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_ (); 0x00481347 add rsp, 0x10 | 0x0048134b test eax, eax | | if (eax != 0) { 0x0048134d jne 0x481518 | goto label_2; | } 0x00481353 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00481359 mov rsi, qword [r12] | rsi = *(r12); 0x0048135d mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481362 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00481367 xor edi, edi | edi = 0; | label_10: 0x00481369 mov rcx, qword [rip + 0xccfa8] | rcx = *(str.element17); 0x00481370 movsxd rbx, dword [rip + 0xccfa9] | rbx = *(0x0054e320); 0x00481377 mov r9d, dword [rip + 0xccfb2] | r9d = *(0x0054e330); 0x0048137e mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481383 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481388 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0048138d mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00481392 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00481397 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0048139c mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004813a1 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004813a6 mov rcx, qword [r14 + 0x10] | rcx = *((r14 + 0x10)); 0x004813aa cmp rcx, qword [r14 + 8] | | if (rcx == *((r14 + 8))) { 0x004813ae jne 0x4813b6 | 0x004813b0 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x004813b4 je 0x4813f6 | goto label_11; | } | } 0x004813b6 lea r8, [r14 + 8] | r8 = r14 + 8; 0x004813ba mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004813bf lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004813c4 movzx ebx, dil | ebx = (int32_t) dil; 0x004813c8 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004813cd push rbx | 0x004813ce push rax | 0x004813cf call 0x465920 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIiNS3_9allocatorIiEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004813d4 add rsp, 0x10 | 0x004813d8 test eax, eax | | if (eax != 0) { 0x004813da jne 0x481518 | goto label_2; | } 0x004813e0 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004813e6 mov rsi, qword [r12] | rsi = *(r12); 0x004813ea mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004813ef mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x004813f4 xor edi, edi | edi = 0; | label_11: 0x004813f6 mov rcx, qword [rip + 0xccf43] | rcx = *(str.element18); 0x004813fd movsxd rbx, dword [rip + 0xccf44] | rbx = *(0x0054e348); 0x00481404 mov r9d, dword [rip + 0xccf4d] | r9d = .comment; 0x0048140b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481410 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481415 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0048141a mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0048141f mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00481424 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481429 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x0048142e mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00481433 mov rcx, qword [r14 + 0xb0] | rcx = *((r14 + 0xb0)); 0x0048143a cmp rcx, qword [r14 + 0xa8] | | if (rcx == *((r14 + 0xa8))) { 0x00481441 jne 0x481449 | 0x00481443 cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x00481447 je 0x48148c | goto label_12; | } | } 0x00481449 lea r8, [r14 + 0xa8] | r8 = r14 + 0xa8; 0x00481450 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481455 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0048145a movzx ebx, dil | ebx = (int32_t) dil; 0x0048145e lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00481463 push rbx | 0x00481464 push rax | 0x00481465 call 0x47c140 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4bdlt10DatetimeTzENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x0048146a add rsp, 0x10 | 0x0048146e test eax, eax | | if (eax != 0) { 0x00481470 jne 0x481518 | goto label_2; | } 0x00481476 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0048147c mov rsi, qword [r12] | rsi = *(r12); 0x00481480 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481485 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x0048148a xor edi, edi | edi = 0; | label_12: 0x0048148c mov rcx, qword [rip + 0xcced5] | rcx = *(str.element19); 0x00481493 movsxd rbx, dword [rip + 0xcced6] | rbx = *(0x0054e370); 0x0048149a mov r9d, dword [rip + 0xccedf] | r9d = *(0x0054e380); 0x004814a1 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004814a6 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004814ab mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004814b0 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x004814b5 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x004814ba mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004814bf mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x004814c4 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004814c9 mov rcx, qword [r14 + 0xf0] | rcx = *((r14 + 0xf0)); 0x004814d0 xor ebx, ebx | ebx = 0; 0x004814d2 cmp rcx, qword [r14 + 0xe8] | | if (rcx == *((r14 + 0xe8))) { 0x004814d9 jne 0x4814e1 | 0x004814db cmp byte [rax + 0x18], 0 | | if (*((rax + 0x18)) == 0) { 0x004814df je 0x481516 | goto label_13; | } | } 0x004814e1 add r14, 0xe8 | r14 += 0xe8; 0x004814e8 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004814ed lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004814f2 movzx r10d, dil | r10d = (int32_t) dil; 0x004814f6 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004814fb mov r8, r14 | r8 = r14; 0x004814fe push r10 | 0x00481500 push rax | 0x00481501 call 0x481f50 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb12CustomStringENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_1 (); 0x00481506 add rsp, 0x10 | 0x0048150a test eax, eax | | if (eax != 0) { 0x0048150c je 0x481512 | 0x0048150e mov ebx, eax | ebx = eax; 0x00481510 jmp 0x481516 | | } else { 0x00481512 mov byte [r15], 0 | *(r15) = 0; | } | label_13: 0x00481516 mov eax, ebx | eax = ebx; | } | label_2: 0x00481518 add rsp, 0x48 | 0x0048151c pop rbx | 0x0048151d pop r12 | 0x0048151f pop r14 | 0x00481521 pop r15 | 0x00481523 ret | return rax; | }