; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x480930 */ | #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 */ 0x00480930 push r15 | 0x00480932 push r14 | 0x00480934 push r12 | 0x00480936 push rbx | 0x00480937 sub rsp, 0x48 | 0x0048093b mov r12, rsi | r12 = rsi; 0x0048093e mov r14, rdi | r14 = rdi; 0x00480941 mov rsi, qword [rsi] | rsi = *(rsi); 0x00480944 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480949 mov rcx, qword [rip + 0xcdd58] | rcx = *(str.element1); 0x00480950 movsxd rdi, dword [rip + 0xcdd59] | rdi = *(0x0054e6b0); 0x00480957 mov r9d, dword [rip + 0xcdd62] | r9d = .comment; 0x0048095e mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480963 mov al, byte [r12 + 0x18] | al = *((r12 + 0x18)); 0x00480968 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0048096d mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480972 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480977 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0048097c mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480981 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480986 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0048098b mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x0048098f mov rcx, qword [r14 + 0xd0] | rcx = *((r14 + 0xd0)); 0x00480996 cmp rcx, qword [r14 + 0xc8] | | if (rcx == *((r14 + 0xc8))) { 0x0048099d jne 0x4809a5 | 0x0048099f cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x004809a3 je 0x4809e7 | goto label_0; | } | } 0x004809a5 lea r8, [r14 + 0xc8] | r8 = r14 + 0xc8; 0x004809ac mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004809b1 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004809b6 movzx eax, al | eax = (int32_t) al; 0x004809b9 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004809be push rax | 0x004809bf push rbx | 0x004809c0 call 0x4813d0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb9Sequence3ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdl (); 0x004809c5 add rsp, 0x10 | 0x004809c9 test eax, eax | | if (eax == 0) { 0x004809cb jne 0x4813bf | 0x004809d1 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004809d7 mov rsi, qword [r12] | rsi = *(r12); 0x004809db mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004809e0 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x004809e5 xor eax, eax | eax = 0; | label_0: 0x004809e7 mov rcx, qword [rip + 0xcdce2] | rcx = *(str.element2); 0x004809ee movsxd rdi, dword [rip + 0xcdce3] | rdi = *(0x0054e6d8); 0x004809f5 mov r9d, dword [rip + 0xcdcec] | r9d = .comment; 0x004809fc mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480a01 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480a06 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480a0b mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480a10 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480a15 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480a1a mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480a1f mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480a23 mov rcx, qword [r14 + 0x110] | rcx = *((r14 + 0x110)); 0x00480a2a cmp rcx, qword [r14 + 0x108] | | if (rcx == *((r14 + 0x108))) { 0x00480a31 jne 0x480a39 | 0x00480a33 cmp byte [rbx + 0x18], 0 | | if (*((rbx + 0x18)) == 0) { 0x00480a37 je 0x480a7b | goto label_1; | } | } 0x00480a39 lea r8, [r14 + 0x108] | r8 = r14 + 0x108; 0x00480a40 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00480a45 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480a4a movzx eax, al | eax = (int32_t) al; 0x00480a4d lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00480a52 push rax | 0x00480a53 push rbx | 0x00480a54 call 0x481620 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb7Choice1ENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat (); 0x00480a59 add rsp, 0x10 | 0x00480a5d test eax, eax | | if (eax != 0) { 0x00480a5f jne 0x4813bf | goto label_2; | } 0x00480a65 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00480a6b mov rsi, qword [r12] | rsi = *(r12); 0x00480a6f mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480a74 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480a79 xor eax, eax | eax = 0; | label_1: 0x00480a7b lea r15, [r12 + 0x18] | r15 = r12 + 0x18; 0x00480a80 mov rcx, qword [rip + 0xcdc71] | rcx = *(str.element3); 0x00480a87 movsxd rdi, dword [rip + 0xcdc72] | rdi = *(0x0054e700); 0x00480a8e mov r9d, dword [rip + 0xcdc7b] | r9d = *(0x0054e710); 0x00480a95 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480a9a mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480a9f mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480aa4 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480aa9 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480aae mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480ab3 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480ab8 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480abc cmp byte [r14 + 0x178], 0 | | if (*((r14 + 0x178)) == 0) { 0x00480ac4 jne 0x480acc | 0x00480ac6 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480aca je 0x480b05 | goto label_3; | } | } 0x00480acc lea r8, [r14 + 0x158] | r8 = r14 + 0x158; 0x00480ad3 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480ad8 movzx eax, al | eax = (int32_t) al; 0x00480adb lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480ae0 push rax | 0x00480ae1 push rbx | 0x00480ae2 call 0x47b280 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIN3bsl6vectorIcNS5_9allocatorIcEEEEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSG_11char_traitsIcEEEERKNSG_17basic_string_vie (); 0x00480ae7 add rsp, 0x10 | 0x00480aeb test eax, eax | | if (eax != 0) { 0x00480aed jne 0x4813bf | goto label_2; | } 0x00480af3 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480af8 je 0x480aff | 0x00480afa mov al, byte [r15] | al = *(r15); 0x00480afd jmp 0x480b05 | | } else { 0x00480aff mov byte [r15], 0 | *(r15) = 0; 0x00480b03 xor eax, eax | eax = 0; | } | label_3: 0x00480b05 mov rsi, qword [r12] | rsi = *(r12); 0x00480b09 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480b0e mov rcx, qword [rip + 0xcdc0b] | rcx = *(str.element4); 0x00480b15 movsxd rdi, dword [rip + 0xcdc0c] | rdi = *(0x0054e728); 0x00480b1c mov r9d, dword [rip + 0xcdc15] | r9d = *(0x0054e738); 0x00480b23 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480b28 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480b2d mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480b32 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480b37 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480b3c mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480b41 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480b46 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480b4b mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480b4f cmp byte [r14 + 0x1e8], 0 | | if (*((r14 + 0x1e8)) == 0) { 0x00480b57 jne 0x480b5f | 0x00480b59 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480b5d je 0x480b98 | goto label_4; | } | } 0x00480b5f lea r8, [r14 + 0x1e4] | r8 = r14 + 0x1e4; 0x00480b66 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480b6b movzx eax, al | eax = (int32_t) al; 0x00480b6e lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480b73 push rax | 0x00480b74 push rbx | 0x00480b75 call 0x466120 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueIiEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptio (); 0x00480b7a add rsp, 0x10 | 0x00480b7e test eax, eax | | if (eax != 0) { 0x00480b80 jne 0x4813bf | goto label_2; | } 0x00480b86 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480b8b je 0x480b92 | 0x00480b8d mov al, byte [r15] | al = *(r15); 0x00480b90 jmp 0x480b98 | | } else { 0x00480b92 mov byte [r15], 0 | *(r15) = 0; 0x00480b96 xor eax, eax | eax = 0; | } | label_4: 0x00480b98 mov rsi, qword [r12] | rsi = *(r12); 0x00480b9c mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480ba1 mov rcx, qword [rip + 0xcdba0] | rcx = *(str.element5); 0x00480ba8 movsxd rdi, dword [rip + 0xcdba1] | rdi = *(0x0054e750); 0x00480baf mov r9d, dword [rip + 0xcdbaa] | r9d = .comment; 0x00480bb6 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480bbb mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480bc0 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480bc5 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480bca mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480bcf mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480bd4 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480bd9 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480bde mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480be2 cmp byte [r14 + 0x198], 0 | | if (*((r14 + 0x198)) == 0) { 0x00480bea jne 0x480bf2 | 0x00480bec cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480bf0 je 0x480c2b | goto label_5; | } | } 0x00480bf2 lea r8, [r14 + 0x188] | 0x00480bf9 lea rcx, [rsp + 0x20] | 0x00480bfe movzx eax, al | eax = (int32_t) al; 0x00480c01 lea rdi, [rsp + 8] | 0x00480c06 push rax | 0x00480c07 push rbx | 0x00480c08 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); 0x00480c0d add rsp, 0x10 | 0x00480c11 test eax, eax | | if (eax != 0) { 0x00480c13 jne 0x4813bf | goto label_2; | } 0x00480c19 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480c1e je 0x480c25 | 0x00480c20 mov al, byte [r15] | al = *(r15); 0x00480c23 jmp 0x480c2b | | } else { 0x00480c25 mov byte [r15], 0 | *(r15) = 0; 0x00480c29 xor eax, eax | eax = 0; | } | label_5: 0x00480c2b mov rsi, qword [r12] | rsi = *(r12); 0x00480c2f mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480c34 mov rcx, qword [rip + 0xcdb35] | rcx = *(str.element6); 0x00480c3b movsxd rdi, dword [rip + 0xcdb36] | rdi = *(0x0054e778); 0x00480c42 mov r9d, dword [rip + 0xcdb3f] | r9d = *(0x0054e788); 0x00480c49 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480c4e mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480c53 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480c58 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480c5d mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480c62 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480c67 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480c6c mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480c71 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480c75 cmp byte [r14 + 0x1d0], 0 | | if (*((r14 + 0x1d0)) == 0) { 0x00480c7d jne 0x480c85 | 0x00480c7f cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480c83 je 0x480cbe | goto label_6; | } | } 0x00480c85 lea r8, [r14 + 0x1a0] | r8 = r14 + 0x1a0; 0x00480c8c lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480c91 movzx eax, al | eax = (int32_t) al; 0x00480c94 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480c99 push rax | 0x00480c9a push rbx | 0x00480c9b call 0x481880 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_4balb12CustomStringEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT (); 0x00480ca0 add rsp, 0x10 | 0x00480ca4 test eax, eax | | if (eax != 0) { 0x00480ca6 jne 0x4813bf | goto label_2; | } 0x00480cac cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480cb1 je 0x480cb8 | 0x00480cb3 mov al, byte [r15] | al = *(r15); 0x00480cb6 jmp 0x480cbe | | } else { 0x00480cb8 mov byte [r15], 0 | *(r15) = 0; 0x00480cbc xor eax, eax | eax = 0; | } | label_6: 0x00480cbe mov rsi, qword [r12] | rsi = *(r12); 0x00480cc2 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480cc7 mov rcx, qword [rip + 0xcdaca] | rcx = *(str.element7); 0x00480cce movsxd rdi, dword [rip + 0xcdacb] | rdi = *(0x0054e7a0); 0x00480cd5 mov r9d, dword [rip + 0xcdad4] | r9d = .comment; 0x00480cdc mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480ce1 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480ce6 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480ceb mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480cf0 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480cf5 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x00480cfa mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480cff mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480d04 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480d08 cmp byte [r14 + 0x1f0], 0 | | if (*((r14 + 0x1f0)) == 0) { 0x00480d10 jne 0x480d18 | 0x00480d12 cmp byte [rbx + 0x19], 0 | | if (*((rbx + 0x19)) == 0) { 0x00480d16 je 0x480d51 | goto label_7; | } | } 0x00480d18 lea r8, [r14 + 0x1ec] | r8 = r14 + 0x1ec; 0x00480d1f lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480d24 movzx eax, al | eax = (int32_t) al; 0x00480d27 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480d2c push rax | 0x00480d2d push rbx | 0x00480d2e call 0x481ac0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4bdlb13NullableValueINS_4balb10Enumerated5ValueEEENS_18bdlat_TypeCategory13NullableValueEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSE_11char_traitsIcEEEERKNSE_17basic_string_viewIcSH_E (); 0x00480d33 add rsp, 0x10 | 0x00480d37 test eax, eax | | if (eax != 0) { 0x00480d39 jne 0x4813bf | goto label_2; | } 0x00480d3f cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) != 0) { 0x00480d44 je 0x480d4b | 0x00480d46 mov al, byte [r15] | al = *(r15); 0x00480d49 jmp 0x480d51 | | } else { 0x00480d4b mov byte [r15], 0 | *(r15) = 0; 0x00480d4f xor eax, eax | eax = 0; | } | label_7: 0x00480d51 lea rdi, [r14 + 0x1f8] | 0x00480d58 movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x00480d5d mov rcx, qword [rip + 0xcda5c] | rcx = *(str.element8); 0x00480d64 movsxd rdx, dword [rip + 0xcda5d] | rdx = *(0x0054e7c8); 0x00480d6b mov esi, dword [rip + 0xcda67] | esi = *(0x0054e7d8); 0x00480d71 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480d76 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480d7b movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00480d80 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480d85 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x00480d8a mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x00480d8e mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480d93 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480d97 lea rsi, [rsp + 8] | 0x00480d9c call 0x47b770 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(boolconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1f8, rsp + 8); 0x00480da1 test eax, eax | | if (eax == 0) { 0x00480da3 jne 0x480db5 | 0x00480da5 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480daa jne 0x480db5 | 0x00480dac mov byte [r15], 0 | *(r15) = 0; 0x00480db0 xor r10d, r10d | r10d = 0; 0x00480db3 jmp 0x480dc0 | | } | } else { 0x00480db5 test eax, eax | | if (eax != 0) { 0x00480db7 jne 0x4813bf | goto label_2; | } 0x00480dbd mov r10b, byte [r15] | r10b = *(r15); | } 0x00480dc0 lea r8, [r14 + 0x128] | r8 = r14 + 0x128; 0x00480dc7 mov rsi, qword [r12] | rsi = *(r12); 0x00480dcb mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480dd0 mov rdi, qword [rip + 0xcda11] | rdi = *(str.element9); 0x00480dd7 movsxd rbx, dword [rip + 0xcda12] | rbx = *(0x0054e7f0); 0x00480dde mov r9d, dword [rip + 0xcda1b] | r9d = *(0x0054e800); 0x00480de5 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00480dea mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480def mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480df4 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480df9 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00480dfe mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00480e03 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00480e08 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480e0d mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00480e12 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00480e17 movzx ebx, r10b | ebx = (int32_t) r10b; 0x00480e1b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00480e20 push rbx | 0x00480e21 push rax | 0x00480e22 call 0x464ad0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl12basic_stringIcNSt3_111char_traitsIcEENS3_9allocatorIcEEEENS_18bdlat_TypeCategory6SimpleEEEiPbPNS0_9FormatterEPNS5_13basic_ostreamIcS7_EERKNS5_17basic_string_viewIcS7_EERKT_iRKNS0_14Enc (); 0x00480e27 add rsp, 0x10 | 0x00480e2b test eax, eax | | if (eax == 0) { 0x00480e2d jne 0x480e3e | 0x00480e2f cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480e34 jne 0x480e3e | 0x00480e36 mov byte [r15], 0 | *(r15) = 0; 0x00480e3a xor eax, eax | eax = 0; 0x00480e3c jmp 0x480e49 | | } | } else { 0x00480e3e test eax, eax | | if (eax != 0) { 0x00480e40 jne 0x4813bf | goto label_2; | } 0x00480e46 mov al, byte [r15] | al = *(r15); | } 0x00480e49 mov rsi, qword [r12] | 0x00480e4d mov rdx, qword [r12 + 8] | 0x00480e52 mov rdi, qword [rip + 0xcd9b7] | rdi = *(str.element10); 0x00480e59 movsxd r8, dword [rip + 0xcd9b8] | r8 = *(0x0054e818); 0x00480e60 mov r9d, dword [rip + 0xcd9c1] | 0x00480e67 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480e6c mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480e71 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480e76 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480e7b lea rcx, [rsp + 0x20] | 0x00480e80 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00480e85 mov qword [rsp + 0x28], r8 | *((rsp + 0x28)) = r8; 0x00480e8a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480e8f mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480e94 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480e98 movzx eax, al | eax = (int32_t) al; 0x00480e9b lea rdi, [rsp + 8] | 0x00480ea0 mov r8, r14 | 0x00480ea3 push rax | 0x00480ea4 push rbx | 0x00480ea5 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, *(0x0054e828)); 0x00480eaa add rsp, 0x10 | 0x00480eae test eax, eax | | if (eax == 0) { 0x00480eb0 jne 0x480ec2 | 0x00480eb2 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480eb7 jne 0x480ec2 | 0x00480eb9 mov byte [r15], 0 | *(r15) = 0; 0x00480ebd xor r10d, r10d | r10d = 0; 0x00480ec0 jmp 0x480ecd | | } | } else { 0x00480ec2 test eax, eax | | if (eax != 0) { 0x00480ec4 jne 0x4813bf | goto label_2; | } 0x00480eca mov r10b, byte [r15] | r10b = *(r15); | } 0x00480ecd lea r8, [r14 + 0x48] | 0x00480ed1 mov rsi, qword [r12] | 0x00480ed5 mov rdx, qword [r12 + 8] | 0x00480eda mov rdi, qword [rip + 0xcd957] | rdi = *(str.element11); 0x00480ee1 movsxd rbx, dword [rip + 0xcd958] | rbx = *(0x0054e840); 0x00480ee8 mov r9d, dword [rip + 0xcd961] | 0x00480eef mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00480ef4 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480ef9 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480efe mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480f03 lea rcx, [rsp + 0x20] | 0x00480f08 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00480f0d mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x00480f12 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00480f17 mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00480f1c mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00480f21 movzx ebx, r10b | ebx = (int32_t) r10b; 0x00480f25 lea rdi, [rsp + 8] | 0x00480f2a push rbx | 0x00480f2b push rax | 0x00480f2c 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, *(0x0054e850)); 0x00480f31 add rsp, 0x10 | 0x00480f35 test eax, eax | | if (eax == 0) { 0x00480f37 jne 0x480f48 | 0x00480f39 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480f3e jne 0x480f48 | 0x00480f40 mov byte [r15], 0 | *(r15) = 0; 0x00480f44 xor eax, eax | eax = 0; 0x00480f46 jmp 0x480f53 | | } | } else { 0x00480f48 test eax, eax | | if (eax != 0) { 0x00480f4a jne 0x4813bf | goto label_2; | } 0x00480f50 mov al, byte [r15] | al = *(r15); | } 0x00480f53 lea rdi, [r14 + 0x1e0] | 0x00480f5a movups xmm0, xmmword [r12] | __asm ("movups xmm0, xmmword [r12]"); 0x00480f5f mov rcx, qword [rip + 0xcd8fa] | rcx = *(str.element12); 0x00480f66 movsxd rdx, dword [rip + 0xcd8fb] | rdx = *(0x0054e868); 0x00480f6d mov esi, dword [rip + 0xcd905] | esi = *(0x0054e878); 0x00480f73 mov rbx, qword [r12 + 0x10] | rbx = *((r12 + 0x10)); 0x00480f78 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480f7d movups xmmword [rsp + 0x10], xmm0 | __asm ("movups xmmword [rsp + 0x10], xmm0"); 0x00480f82 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x00480f87 mov qword [rsp + 0x28], rdx | *((rsp + 0x28)) = rdx; 0x00480f8c mov dword [rsp + 0x30], esi | *((rsp + 0x30)) = esi; 0x00480f90 mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x00480f95 mov byte [rsp + 0x40], al | *((rsp + 0x40)) = al; 0x00480f99 lea rsi, [rsp + 8] | 0x00480f9e call 0x464c50 | eax = intBloombergLP::bdlat_TypeCategoryUtil::accessByCategory(intconst&,BloombergLP::baljsn::Encoder_AttributeDispatcher&) (r14 + 0x1e0, rsp + 8); 0x00480fa3 test eax, eax | | if (eax == 0) { 0x00480fa5 jne 0x480fb7 | 0x00480fa7 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00480fac jne 0x480fb7 | 0x00480fae mov byte [r15], 0 | *(r15) = 0; 0x00480fb2 xor r10d, r10d | r10d = 0; 0x00480fb5 jmp 0x480fc2 | | } | } else { 0x00480fb7 test eax, eax | | if (eax != 0) { 0x00480fb9 jne 0x4813bf | goto label_2; | } 0x00480fbf mov r10b, byte [r15] | r10b = *(r15); | } 0x00480fc2 lea r8, [r14 + 0x1f4] | r8 = r14 + 0x1f4; 0x00480fc9 mov rsi, qword [r12] | rsi = *(r12); 0x00480fcd mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00480fd2 mov rdi, qword [rip + 0xcd8af] | rdi = *(str.element13); 0x00480fd9 movsxd rbx, dword [rip + 0xcd8b0] | rbx = *(0x0054e890); 0x00480fe0 mov r9d, dword [rip + 0xcd8b9] | r9d = .comment; 0x00480fe7 mov rax, qword [r12 + 0x10] | rax = *((r12 + 0x10)); 0x00480fec mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00480ff1 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00480ff6 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00480ffb lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00481000 mov qword [rsp + 0x20], rdi | *((rsp + 0x20)) = rdi; 0x00481005 mov qword [rsp + 0x28], rbx | *((rsp + 0x28)) = rbx; 0x0048100a mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0048100f mov qword [rsp + 0x38], rax | *((rsp + 0x38)) = rax; 0x00481014 mov byte [rsp + 0x40], r10b | *((rsp + 0x40)) = r10b; 0x00481019 movzx ebx, r10b | ebx = (int32_t) r10b; 0x0048101d lea rdi, [rsp + 8] | rdi = rsp + 8; 0x00481022 push rbx | 0x00481023 push rax | 0x00481024 call 0x481c80 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberINS_4balb10Enumerated5ValueENS_18bdlat_TypeCategory11EnumerationEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptions (); 0x00481029 add rsp, 0x10 | 0x0048102d test eax, eax | | if (eax == 0) { 0x0048102f jne 0x481040 | 0x00481031 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x00481036 jne 0x481040 | 0x00481038 mov byte [r15], 0 | *(r15) = 0; 0x0048103c xor edi, edi | edi = 0; 0x0048103e jmp 0x48104b | | } | } else { 0x00481040 test eax, eax | | if (eax != 0) { 0x00481042 jne 0x4813bf | goto label_2; | } 0x00481048 mov dil, byte [r15] | dil = *(r15); | } 0x0048104b mov rsi, qword [r12] | rsi = *(r12); 0x0048104f mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481054 mov rax, qword [rip + 0xcd855] | rax = *(str.element14); 0x0048105b movsxd rcx, dword [rip + 0xcd856] | rcx = *(0x0054e8b8); 0x00481062 mov r9d, dword [rip + 0xcd85f] | r9d = *(0x0054e8c8); 0x00481069 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0048106e mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481073 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481078 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0048107d mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00481082 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x00481087 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x0048108c mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00481091 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00481096 mov rax, qword [r14 + 0x90] | rax = *((r14 + 0x90)); 0x0048109d cmp rax, qword [r14 + 0x88] | | if (rax == *((r14 + 0x88))) { 0x004810a4 jne 0x4810ad | 0x004810a6 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x004810ab je 0x4810f1 | goto label_8; | } | } 0x004810ad lea r8, [r14 + 0x88] | r8 = r14 + 0x88; 0x004810b4 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004810b9 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004810be movzx eax, dil | eax = (int32_t) dil; 0x004810c2 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004810c7 push rax | 0x004810c8 push r10 | 0x004810ca call 0x47b970 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIbNS3_9allocatorIbEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x004810cf add rsp, 0x10 | 0x004810d3 test eax, eax | | if (eax != 0) { 0x004810d5 jne 0x4813bf | goto label_2; | } 0x004810db mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004810e1 mov rsi, qword [r12] | rsi = *(r12); 0x004810e5 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x004810ea mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x004810ef xor edi, edi | edi = 0; | label_8: 0x004810f1 mov rax, qword [rip + 0xcd7e0] | rax = *(str.element15); 0x004810f8 movsxd rcx, dword [rip + 0xcd7e1] | rcx = *(0x0054e8e0); 0x004810ff mov r9d, dword [rip + 0xcd7ea] | r9d = .comment; 0x00481106 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0048110b mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481110 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00481115 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0048111a mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0048111f mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481124 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00481129 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x0048112e mov rax, qword [r14 + 0x30] | rax = *((r14 + 0x30)); 0x00481132 cmp rax, qword [r14 + 0x28] | | if (rax == *((r14 + 0x28))) { 0x00481136 jne 0x48113f | 0x00481138 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x0048113d je 0x481180 | goto label_9; | } | } 0x0048113f lea r8, [r14 + 0x28] | r8 = r14 + 0x28; 0x00481143 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481148 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0048114d movzx eax, dil | eax = (int32_t) dil; 0x00481151 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00481156 push rax | 0x00481157 push r10 | 0x00481159 call 0x47bbe0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIdNS3_9allocatorIdEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x0048115e add rsp, 0x10 | 0x00481162 test eax, eax | | if (eax != 0) { 0x00481164 jne 0x4813bf | goto label_2; | } 0x0048116a mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00481170 mov rsi, qword [r12] | rsi = *(r12); 0x00481174 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481179 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0048117e xor edi, edi | edi = 0; | label_9: 0x00481180 mov rax, qword [rip + 0xcd779] | rax = *(str.element16); 0x00481187 movsxd rcx, dword [rip + 0xcd77a] | rcx = *(0x0054e908); 0x0048118e mov r9d, dword [rip + 0xcd783] | r9d = *(0x0054e918); 0x00481195 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x0048119a mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0048119f mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004811a4 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x004811a9 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x004811ae mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004811b3 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x004811b8 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004811bd mov rax, qword [r14 + 0x70] | rax = *((r14 + 0x70)); 0x004811c1 cmp rax, qword [r14 + 0x68] | | if (rax == *((r14 + 0x68))) { 0x004811c5 jne 0x4811ce | 0x004811c7 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x004811cc je 0x48120f | goto label_10; | } | } 0x004811ce lea r8, [r14 + 0x68] | r8 = r14 + 0x68; 0x004811d2 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004811d7 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x004811dc movzx eax, dil | eax = (int32_t) dil; 0x004811e0 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004811e5 push rax | 0x004811e6 push r10 | 0x004811e8 call 0x47be40 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS4_IcNS3_9allocatorIcEEEENS5_IS7_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_ (); 0x004811ed add rsp, 0x10 | 0x004811f1 test eax, eax | | if (eax != 0) { 0x004811f3 jne 0x4813bf | goto label_2; | } 0x004811f9 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x004811ff mov rsi, qword [r12] | rsi = *(r12); 0x00481203 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481208 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0048120d xor edi, edi | edi = 0; | label_10: 0x0048120f mov rax, qword [rip + 0xcd712] | rax = *(str.element17); 0x00481216 movsxd rcx, dword [rip + 0xcd713] | rcx = *(0x0054e930); 0x0048121d mov r9d, dword [rip + 0xcd71c] | r9d = *(0x0054e940); 0x00481224 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481229 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0048122e mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x00481233 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00481238 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0048123d mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481242 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x00481247 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x0048124c mov rax, qword [r14 + 0x10] | rax = *((r14 + 0x10)); 0x00481250 cmp rax, qword [r14 + 8] | | if (rax == *((r14 + 8))) { 0x00481254 jne 0x48125d | 0x00481256 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x0048125b je 0x48129e | goto label_11; | } | } 0x0048125d lea r8, [r14 + 8] | r8 = r14 + 8; 0x00481261 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481266 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0048126b movzx eax, dil | eax = (int32_t) dil; 0x0048126f lea rdi, [rsp + 7] | rdi = rsp + 7; 0x00481274 push rax | 0x00481275 push r10 | 0x00481277 call 0x465960 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorIiNS3_9allocatorIiEEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSB_11char_traitsIcEEEERKNSB_17basic_string_viewIcSE_EERKT_iRKNS0_14EncoderOptionsEbNS_18bdlat_TypeCategory5Arra (); 0x0048127c add rsp, 0x10 | 0x00481280 test eax, eax | | if (eax != 0) { 0x00481282 jne 0x4813bf | goto label_2; | } 0x00481288 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x0048128e mov rsi, qword [r12] | rsi = *(r12); 0x00481292 mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x00481297 mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x0048129c xor edi, edi | edi = 0; | label_11: 0x0048129e mov rax, qword [rip + 0xcd6ab] | rax = *(str.element18); 0x004812a5 movsxd rcx, dword [rip + 0xcd6ac] | rcx = *(0x0054e958); 0x004812ac mov r9d, dword [rip + 0xcd6b5] | r9d = .comment; 0x004812b3 mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x004812b8 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004812bd mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x004812c2 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x004812c7 mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x004812cc mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x004812d1 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x004812d6 mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x004812db mov rax, qword [r14 + 0xb0] | rax = *((r14 + 0xb0)); 0x004812e2 cmp rax, qword [r14 + 0xa8] | | if (rax == *((r14 + 0xa8))) { 0x004812e9 jne 0x4812f2 | 0x004812eb cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x004812f0 je 0x481336 | goto label_12; | } | } 0x004812f2 lea r8, [r14 + 0xa8] | r8 = r14 + 0xa8; 0x004812f9 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x004812fe lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x00481303 movzx eax, dil | eax = (int32_t) dil; 0x00481307 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x0048130c push rax | 0x0048130d push r10 | 0x0048130f call 0x47c030 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4bdlt10DatetimeTzENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_18b (); 0x00481314 add rsp, 0x10 | 0x00481318 test eax, eax | | if (eax != 0) { 0x0048131a jne 0x4813bf | goto label_2; | } 0x00481320 mov byte [r12 + 0x18], 0 | *((r12 + 0x18)) = 0; 0x00481326 mov rsi, qword [r12] | rsi = *(r12); 0x0048132a mov rdx, qword [r12 + 8] | rdx = *((r12 + 8)); 0x0048132f mov r10, qword [r12 + 0x10] | r10 = *((r12 + 0x10)); 0x00481334 xor edi, edi | edi = 0; | label_12: 0x00481336 mov rax, qword [rip + 0xcd63b] | rax = *(str.element19); 0x0048133d movsxd rcx, dword [rip + 0xcd63c] | rcx = *(0x0054e980); 0x00481344 mov r9d, dword [rip + 0xcd645] | r9d = *(0x0054e990); 0x0048134b mov byte [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00481350 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x00481355 mov qword [rsp + 0x18], rdx | *((rsp + 0x18)) = rdx; 0x0048135a mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0048135f mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x00481364 mov dword [rsp + 0x30], r9d | *((rsp + 0x30)) = r9d; 0x00481369 mov qword [rsp + 0x38], r10 | *((rsp + 0x38)) = r10; 0x0048136e mov byte [rsp + 0x40], dil | *((rsp + 0x40)) = dil; 0x00481373 mov rcx, qword [r14 + 0xf0] | rcx = *((r14 + 0xf0)); 0x0048137a xor eax, eax | eax = 0; 0x0048137c cmp rcx, qword [r14 + 0xe8] | | if (rcx == *((r14 + 0xe8))) { 0x00481383 jne 0x48138c | 0x00481385 cmp byte [r10 + 0x18], 0 | | if (*((r10 + 0x18)) == 0) { 0x0048138a je 0x4813bf | goto label_2; | } | } 0x0048138c add r14, 0xe8 | r14 += 0xe8; 0x00481393 mov byte [rsp + 7], 0 | *((rsp + 7)) = 0; 0x00481398 lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0048139d movzx eax, dil | eax = (int32_t) dil; 0x004813a1 lea rdi, [rsp + 7] | rdi = rsp + 7; 0x004813a6 mov r8, r14 | r8 = r14; 0x004813a9 push rax | 0x004813aa push r10 | 0x004813ac call 0x481df0 | eax = _ZN11BloombergLP6baljsn22Encoder_EncodeImplUtil12encodeMemberIN3bsl6vectorINS_4balb12CustomStringENS3_9allocatorIS6_EEEEEEiPbPNS0_9FormatterEPNSt3_113basic_ostreamIcNSD_11char_traitsIcEEEERKNSD_17basic_string_viewIcSG_EERKT_iRKNS0_14EncoderOptionsEbNS_1 (); 0x004813b1 add rsp, 0x10 | 0x004813b5 test eax, eax | | if (eax != 0) { 0x004813b7 jne 0x4813bf | goto label_2; | } 0x004813b9 mov byte [r15], 0 | *(r15) = 0; 0x004813bd xor eax, eax | eax = 0; | } | label_2: 0x004813bf add rsp, 0x48 | 0x004813c3 pop rbx | 0x004813c4 pop r12 | 0x004813c6 pop r14 | 0x004813c8 pop r15 | 0x004813ca ret | return rax; | }