; assembly | /* r2dec pseudo code output */ | /* balcl_commandline.t/assume @ 0x45b790 */ | #include | ; (fcn) method.BloombergLP::balcl::CommandLine.printUsage_std::__1::basic_ostream_char__std::__1::char_traits_char_____const () | int64_t method_BloombergLP::balcl::CommandLine_printUsage_std::_1::basic_ostream_char_std::_1::char_traits_char_const (int64_t arg2, int64_t arg1) { | uint32_t var_8h; | int64_t var_10h; | int64_t var_18h; | int64_t var_30h; | uint32_t var_38h; | int64_t var_40h; | int64_t var_48h; | int64_t var_50h; | int64_t var_58h; | int64_t var_60h; | int64_t var_68h; | int64_t var_70h; | int64_t var_78h; | int64_t var_80h; | int64_t var_88h; | int64_t var_90h; | int64_t var_a8h; | uint32_t var_b0h; | int64_t var_b8h; | int64_t var_c0h; | int64_t var_c8h; | int64_t var_d0h; | int64_t var_d8h; | uint32_t var_e0h; | int64_t var_e8h; | int64_t var_108h; | int64_t var_120h; | uint32_t var_128h; | int64_t var_130h; | int64_t var_148h; | int64_t var_1d0h; | int64_t var_1d8h; | int64_t var_1e8h; | int64_t var_200h; | uint32_t var_208h; | int64_t var_210h; | int64_t var_218h; | int64_t var_230h; | uint32_t var_238h; | int64_t var_240h; | int64_t var_248h; | uint32_t var_268h; | int64_t var_270h; | int64_t var_278h; | int64_t var_290h; | uint32_t var_298h; | int64_t var_2a0h; | rsi = arg2; | rdi = arg1; | /* BloombergLP::balcl::CommandLine::printUsage(std::__1::basic_ostream >&) const */ 0x0045b790 push rbp | 0x0045b791 push r15 | 0x0045b793 push r14 | 0x0045b795 push r13 | 0x0045b797 push r12 | 0x0045b799 push rbx | 0x0045b79a sub rsp, 0x2a8 | 0x0045b7a1 mov rbp, rsi | 0x0045b7a4 mov r12, rdi | r12 = rdi; 0x0045b7a7 mov rax, qword [rip + 0x2a947a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045b7ae test rax, rax | | if (rax == 0) { 0x0045b7b1 jne 0x45b7b8 | 0x0045b7b3 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045b7b8 mov qword [rsp + 0x278], 0 | *((rsp + 0x278)) = 0; 0x0045b7c4 mov qword [rsp + 0x2a0], rax | *((rsp + 0x2a0)) = rax; 0x0045b7cc movaps xmm0, xmmword [rip + 0x488fd] | xmm0 = .comment; 0x0045b7d3 movups xmmword [rsp + 0x290], xmm0 | __asm ("movups xmmword [rsp + 0x290], xmm0"); 0x0045b7db lea rdi, [rsp + 0x278] | 0x0045b7e3 mov esi, 0x4af7e9 | 0x0045b7e8 mov edx, 7 | 0x0045b7ed mov ecx, 0x4ae59e | 0x0045b7f2 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x278, "Usage: ", 7, "string<...>::assign(char*...): string too long"); 0x0045b7f7 mov rbx, qword [r12 + 0x68] | rbx = *((r12 + 0x68)); 0x0045b7fc cmp qword [r12 + 0x70], rbx | | if (*((r12 + 0x70)) != rbx) { 0x0045b801 je 0x45b8d0 | 0x0045b807 mov rax, qword [rbx + 0x20] | rax = *((rbx + 0x20)); 0x0045b80b mov qword [rsp + 0xe0], rax | *((rsp + 0xe0)) = rax; 0x0045b813 movups xmm0, xmmword [rbx] | __asm ("movups xmm0, xmmword [rbx]"); 0x0045b816 movups xmm1, xmmword [rbx + 0x10] | __asm ("movups xmm1, xmmword [rbx + 0x10]"); 0x0045b81a movaps xmmword [rsp + 0xd0], xmm1 | *((rsp + 0xd0)) = xmm1; 0x0045b822 movaps xmmword [rsp + 0xc0], xmm0 | *((rsp + 0xc0)) = xmm0; 0x0045b82a mov rax, qword [rip + 0x2a93f7] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045b831 test rax, rax | | if (rax == 0) { 0x0045b834 jne 0x45b83b | 0x0045b836 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045b83b mov qword [rsp + 0xe8], rax | *((rsp + 0xe8)) = rax; 0x0045b843 cmp qword [rsp + 0xe0], 0x17 | | if (*((rsp + 0xe0)) == 0x17) { 0x0045b84c je 0x45b920 | goto label_7; | } 0x0045b852 mov rcx, qword [rbx + 0x18] | rcx = *((rbx + 0x18)); 0x0045b856 cmp rcx, 0x17 | 0x0045b85a mov esi, 0x17 | esi = 0x17; | if (rcx > 0x17) { 0x0045b85f cmova rsi, rcx | rsi = rcx; | } 0x0045b863 mov qword [rsp + 0xc0], 0 | *((rsp + 0xc0)) = 0; 0x0045b86f mov qword [rsp + 0xd8], rcx | *((rsp + 0xd8)) = rcx; 0x0045b877 mov qword [rsp + 0xe0], rsi | *((rsp + 0xe0)) = rsi; 0x0045b87f cmp rcx, 0x18 | | if (rcx >= 0x18) { 0x0045b883 jb 0x45b8a4 | 0x0045b885 inc rsi | rsi++; 0x0045b888 mov rcx, qword [rax] | rcx = *(rax); 0x0045b88b mov rdi, rax | rdi = rax; 0x0045b88e call qword [rcx + 0x10] | rax = uint64_t (*rcx + 0x10)() (); 0x0045b891 mov qword [rsp + 0xc0], rax | *((rsp + 0xc0)) = rax; 0x0045b899 cmp qword [rsp + 0xe0], 0x17 | | if (*((rsp + 0xe0)) != 0x17) { 0x0045b8a2 jne 0x45b8ac | goto label_8; | } | } 0x0045b8a4 lea rax, [rsp + 0xc0] | rax = rsp + 0xc0; | label_8: 0x0045b8ac mov rdx, qword [rsp + 0xd8] | rdx = *((rsp + 0xd8)); 0x0045b8b4 inc rdx | rdx++; | if (rdx == 0) { 0x0045b8b7 je 0x45b920 | goto label_7; | } 0x0045b8b9 cmp qword [rbx + 0x20], 0x17 | | if (*((rbx + 0x20)) != 0x17) { 0x0045b8be je 0x45b8c3 | 0x0045b8c0 mov rbx, qword [rbx] | rbx = *(rbx); | } 0x0045b8c3 mov rdi, rax | 0x0045b8c6 mov rsi, rbx | 0x0045b8c9 call 0x404c70 | memcpy (rax, rbx, rdx); 0x0045b8ce jmp 0x45b920 | | } else { 0x0045b8d0 mov rax, qword [rip + 0x2a9351] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045b8d7 test rax, rax | | if (rax == 0) { 0x0045b8da jne 0x45b8e1 | 0x0045b8dc call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045b8e1 mov qword [rsp + 0xc0], 0 | *((rsp + 0xc0)) = 0; 0x0045b8ed mov qword [rsp + 0xe8], rax | *((rsp + 0xe8)) = rax; 0x0045b8f5 movaps xmm0, xmmword [rip + 0x487d4] | xmm0 = .comment; 0x0045b8fc movups xmmword [rsp + 0xd8], xmm0 | __asm ("movups xmmword [rsp + 0xd8], xmm0"); 0x0045b904 lea rdi, [rsp + 0xc0] | 0x0045b90c mov esi, 0x4ae4fe | 0x0045b911 mov edx, 0xb | 0x0045b916 mov ecx, 0x4ae59e | 0x0045b91b call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0xc0, 0x4ae4fe, 0xb, "string<...>::assign(char*...): string too long"); | } | label_7: 0x0045b920 lea rdi, [rsp + 0x278] | 0x0045b928 lea rsi, [rsp + 0xc0] | 0x0045b930 xor edx, edx | 0x0045b932 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045b939 call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (rsp + 0x278, rsp + 0xc0, 0); 0x0045b93e cmp qword [rsp + 0xe0], 0x17 | | if (*((rsp + 0xe0)) != 0x17) { 0x0045b947 je 0x45b95f | 0x0045b949 mov rsi, qword [rsp + 0xc0] | rsi = *((rsp + 0xc0)); 0x0045b951 mov rdi, qword [rsp + 0xe8] | rdi = *((rsp + 0xe8)); 0x0045b959 mov rax, qword [rdi] | rax = *(rdi); 0x0045b95c call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045b95f lea rdi, [rsp + 0x278] | 0x0045b967 mov esi, 1 | 0x0045b96c mov ecx, 0x4afa84 | 0x0045b971 mov edx, 0x20 | 0x0045b976 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x278, 1, 0x20, "string<...>::append(n,c): string too long"); 0x0045b97b xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0045b97e movaps xmmword [rsp + 0x50], xmm0 | *((rsp + 0x50)) = xmm0; 0x0045b983 mov qword [rsp + 0x60], 0 | *((rsp + 0x60)) = 0; 0x0045b98c mov rax, qword [rip + 0x2a9295] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045b993 test rax, rax | | if (rax == 0) { 0x0045b996 jne 0x45b99d | 0x0045b998 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045b99d mov qword [rsp + 0x68], rax | *((rsp + 0x68)) = rax; 0x0045b9a2 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0045b9a5 movaps xmmword [rsp + 0x70], xmm0 | *((rsp + 0x70)) = xmm0; 0x0045b9aa mov qword [rsp + 0x80], 0 | *((rsp + 0x80)) = 0; 0x0045b9b6 mov rax, qword [rip + 0x2a926b] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045b9bd test rax, rax | 0x0045b9c0 mov qword [rsp + 0x10], rbp | *((rsp + 0x10)) = rbp; | if (rax == 0) { 0x0045b9c5 jne 0x45b9cc | 0x0045b9c7 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045b9cc mov qword [rsp + 0x88], rax | *((rsp + 0x88)) = rax; 0x0045b9d4 mov rdi, qword [r12] | rdi = *(r12); 0x0045b9d8 cmp qword [r12 + 8], rdi | | if (*((r12 + 8)) == rdi) { 0x0045b9dd je 0x45beb6 | goto label_9; | } 0x0045b9e3 mov r13d, 1 | r13d = 1; 0x0045b9e9 xor eax, eax | eax = 0; 0x0045b9eb mov qword [rsp], r12 | *(rsp) = r12; 0x0045b9ef jmp 0x45ba31 | | while (al != 0) { | label_0: 0x0045ba00 mov eax, r13d | eax = r13d; 0x0045ba03 mov r12, qword [rsp] | r12 = *(rsp); 0x0045ba07 mov rdi, qword [r12] | rdi = *(r12); 0x0045ba0b mov rcx, qword [r12 + 8] | rcx = *((r12 + 8)); 0x0045ba10 sub rcx, rdi | rcx -= rdi; 0x0045ba13 sar rcx, 3 | rcx >>= 3; 0x0045ba17 movabs rdx, 0xaf8af8af8af8af8b | rdx = 0xaf8af8af8af8af8b; 0x0045ba21 imul rcx, rdx | rcx *= rdx; 0x0045ba25 inc r13d | r13d++; 0x0045ba28 cmp rcx, rax | | if (rcx <= rax) { 0x0045ba2b jbe 0x45beb6 | goto label_9; | } 0x0045ba31 imul rbp, rax, 0x118 | rbp = rax * 0x118; 0x0045ba38 add rdi, rbp | rdi += rbp; 0x0045ba3b call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (rdi); 0x0045ba40 mov rdi, qword [r12] | rdi = *(r12); 0x0045ba44 add rdi, rbp | rdi += rbp; 0x0045ba47 cmp eax, 2 | | if (eax >= 2) { 0x0045ba4a jae 0x45baa0 | goto label_10; | } 0x0045ba4c call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (rdi); 0x0045ba51 mov rdi, rax | 0x0045ba54 call 0x462dc0 | al = BloombergLP::balcl::OccurrenceInfo::isHidden()const (rax); 0x0045ba59 test al, al | 0x0045ba5b jne 0x45ba00 | | } 0x0045ba5d mov rbx, qword [rsp] | rbx = *(rsp); 0x0045ba61 mov rdi, qword [rbx] | 0x0045ba64 add rdi, rbp | rdi += rbp; 0x0045ba67 call 0x464f70 | al = BloombergLP::balcl::Option::isArray()const (*(rbx)); 0x0045ba6c test al, al | | if (al != 0) { 0x0045ba6e jne 0x45bc69 | goto label_11; | } 0x0045ba74 mov rdi, qword [rbx] | 0x0045ba77 add rdi, rbp | rdi += rbp; 0x0045ba7a call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(rbx)); 0x0045ba7f mov rdi, rax | 0x0045ba82 call 0x462dd0 | al = BloombergLP::balcl::OccurrenceInfo::isRequired()const (rax); 0x0045ba87 test al, al | | if (al == 0) { 0x0045ba89 je 0x45bc69 | goto label_11; | } 0x0045ba8f mov al, 1 | al = 1; 0x0045ba91 mov dword [rsp + 8], eax | *((rsp + 8)) = eax; 0x0045ba95 xor r14d, r14d | r14d = 0; 0x0045ba98 xor r12d, r12d | r12d = 0; 0x0045ba9b jmp 0x45bc77 | goto label_12; | label_10: 0x0045baa0 call 0x464f70 | al = BloombergLP::balcl::Option::isArray()const (rdi); 0x0045baa5 test al, al | | if (al == 0) { 0x0045baa7 jne 0x45bae0 | 0x0045baa9 mov rax, qword [rsp] | rax = *(rsp); 0x0045baad mov rdi, qword [rax] | 0x0045bab0 add rdi, rbp | rdi += rbp; 0x0045bab3 call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(rax)); 0x0045bab8 mov rdi, rax | 0x0045babb call 0x462dd0 | al = BloombergLP::balcl::OccurrenceInfo::isRequired()const (rax); 0x0045bac0 test al, al | | if (al != 0) { 0x0045bac2 je 0x45bae0 | 0x0045bac4 mov al, 1 | al = 1; 0x0045bac6 mov dword [rsp + 8], eax | *((rsp + 8)) = eax; 0x0045baca xor r12d, r12d | r12d = 0; 0x0045bacd xor r15d, r15d | r15d = 0; 0x0045bad0 jmp 0x45baee | | } | } else { 0x0045bae0 mov r15b, 0x5b | r15b = 0x5b; 0x0045bae3 mov r12b, 0x5d | r12b = 0x5d; 0x0045bae6 mov dword [rsp + 8], 0 | *((rsp + 8)) = 0; | } 0x0045baee mov rax, qword [rsp] | rax = *(rsp); 0x0045baf2 mov rdi, qword [rax] | 0x0045baf5 add rdi, rbp | rdi += rbp; 0x0045baf8 call 0x464f70 | al = BloombergLP::balcl::Option::isArray()const (*(rax)); 0x0045bafd test al, al | | if (al != 0) { 0x0045baff je 0x45bb30 | 0x0045bb01 mov rax, qword [rsp] | rax = *(rsp); 0x0045bb05 mov rdi, qword [rax] | 0x0045bb08 add rdi, rbp | rdi += rbp; 0x0045bb0b call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(rax)); 0x0045bb10 mov rdi, rax | 0x0045bb13 call 0x462dd0 | eax = BloombergLP::balcl::OccurrenceInfo::isRequired()const (rax); 0x0045bb18 mov r14d, eax | r14d = eax; 0x0045bb1b or r14b, 0x2a | r14b |= 0x2a; 0x0045bb1f jmp 0x45bb33 | | } else { 0x0045bb30 xor r14d, r14d | r14d = 0; | } 0x0045bb33 mov rax, qword [rip + 0x2a90ee] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045bb3a test rax, rax | | if (rax == 0) { 0x0045bb3d jne 0x45bb44 | 0x0045bb3f call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045bb44 mov qword [rsp + 0xc0], 0 | *((rsp + 0xc0)) = 0; 0x0045bb50 mov qword [rsp + 0xe8], rax | *((rsp + 0xe8)) = rax; 0x0045bb58 movaps xmm0, xmmword [rip + 0x48571] | xmm0 = .comment; 0x0045bb5f movups xmmword [rsp + 0xd8], xmm0 | __asm ("movups xmmword [rsp + 0xd8], xmm0"); 0x0045bb67 mov esi, 0x4cd0c4 | 0x0045bb6c mov ecx, 0x4ae59e | 0x0045bb71 lea rbx, [rsp + 0xc0] | rbx = rsp + 0xc0; 0x0045bb79 mov rdi, rbx | 0x0045bb7c xor edx, edx | 0x0045bb7e call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rbx, 0x4cd0c4, 0, "string<...>::assign(char*...): string too long"); 0x0045bb83 lea rdi, [rsp + 0x70] | rdi = rsp + 0x70; 0x0045bb88 mov rsi, rbx | rsi = rbx; 0x0045bb8b call 0x4543d0 | bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>::push_back(bsl::basic_string,bsl::allocator>&&) (); 0x0045bb90 cmp qword [rsp + 0xe0], 0x17 | | if (*((rsp + 0xe0)) != 0x17) { 0x0045bb99 je 0x45bbb1 | 0x0045bb9b mov rsi, qword [rsp + 0xc0] | rsi = *((rsp + 0xc0)); 0x0045bba3 mov rdi, qword [rsp + 0xe8] | rdi = *((rsp + 0xe8)); 0x0045bbab mov rax, qword [rdi] | rax = *(rdi); 0x0045bbae call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045bbb1 mov rbx, qword [rsp + 0x78] | rbx = *((rsp + 0x78)); 0x0045bbb6 add rbx, 0xffffffffffffffd0 | rbx += 0xffffffffffffffd0; 0x0045bbba cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0045bbbf jne 0x45bbd7 | 0x0045bbc1 movzx edx, r15b | edx = (int32_t) r15b; 0x0045bbc5 mov esi, 1 | 0x0045bbca mov ecx, 0x4afa84 | 0x0045bbcf mov rdi, rbx | 0x0045bbd2 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rbx, 1, rdx, "string<...>::append(n,c): string too long"); | } 0x0045bbd7 mov esi, 1 | 0x0045bbdc mov ecx, 0x4afa84 | 0x0045bbe1 mov rdi, rbx | 0x0045bbe4 mov edx, 0x3c | 0x0045bbe9 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rbx, 1, 0x3c, "string<...>::append(n,c): string too long"); 0x0045bbee mov rax, qword [rsp] | rax = *(rsp); 0x0045bbf2 add rbp, qword [rax] | rbp += *(rax); 0x0045bbf5 mov rdi, rbp | 0x0045bbf8 call 0x464fb0 | rax = BloombergLP::balcl::Option::name()const (rbp); 0x0045bbfd mov rdi, rbx | 0x0045bc00 mov rsi, rax | 0x0045bc03 xor edx, edx | 0x0045bc05 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045bc0c call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (rbx, rax, 0); 0x0045bc11 mov esi, 1 | 0x0045bc16 mov ecx, 0x4afa84 | 0x0045bc1b mov rdi, rbx | 0x0045bc1e mov edx, 0x3e | 0x0045bc23 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rbx, 1, 0x3e, "string<...>::append(n,c): string too long"); 0x0045bc28 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0045bc2d jne 0x45bc45 | 0x0045bc2f movzx edx, r12b | edx = (int32_t) r12b; 0x0045bc33 mov esi, 1 | 0x0045bc38 mov ecx, 0x4afa84 | 0x0045bc3d mov rdi, rbx | 0x0045bc40 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rbx, 1, rdx, "string<...>::append(n,c): string too long"); | } 0x0045bc45 test r14b, r14b | | if (r14b == 0) { 0x0045bc48 je 0x45ba00 | goto label_0; | } 0x0045bc4e movzx edx, r14b | edx = (int32_t) r14b; 0x0045bc52 mov esi, 1 | 0x0045bc57 mov ecx, 0x4afa84 | 0x0045bc5c mov rdi, rbx | 0x0045bc5f call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rbx, 1, rdx, "string<...>::append(n,c): string too long"); 0x0045bc64 jmp 0x45ba00 | goto label_0; | label_11: 0x0045bc69 mov r12b, 0x5b | r12b = 0x5b; 0x0045bc6c mov r14b, 0x5d | r14b = 0x5d; 0x0045bc6f mov dword [rsp + 8], 0 | *((rsp + 8)) = 0; | label_12: 0x0045bc77 mov rdi, qword [rbx] | 0x0045bc7a add rdi, rbp | rdi += rbp; 0x0045bc7d call 0x464f70 | al = BloombergLP::balcl::Option::isArray()const (*(rbx)); 0x0045bc82 test al, al | | if (al != 0) { 0x0045bc84 je 0x45bca2 | 0x0045bc86 mov rdi, qword [rbx] | 0x0045bc89 add rdi, rbp | rdi += rbp; 0x0045bc8c call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(rbx)); 0x0045bc91 mov rdi, rax | 0x0045bc94 call 0x462dd0 | eax = BloombergLP::balcl::OccurrenceInfo::isRequired()const (rax); 0x0045bc99 mov r15d, eax | r15d = eax; 0x0045bc9c or r15b, 0x2a | r15b |= 0x2a; 0x0045bca0 jmp 0x45bca5 | | } else { 0x0045bca2 xor r15d, r15d | r15d = 0; | } 0x0045bca5 mov rax, qword [rip + 0x2a8f7c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045bcac test rax, rax | | if (rax == 0) { 0x0045bcaf jne 0x45bcb6 | 0x0045bcb1 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045bcb6 mov qword [rsp + 0xc0], 0 | *((rsp + 0xc0)) = 0; 0x0045bcc2 mov qword [rsp + 0xe8], rax | *((rsp + 0xe8)) = rax; 0x0045bcca movaps xmm0, xmmword [rip + 0x483ff] | xmm0 = .comment; 0x0045bcd1 movups xmmword [rsp + 0xd8], xmm0 | __asm ("movups xmmword [rsp + 0xd8], xmm0"); 0x0045bcd9 mov esi, 0x4cd0c4 | 0x0045bcde mov ecx, 0x4ae59e | 0x0045bce3 lea rbx, [rsp + 0xc0] | rbx = rsp + 0xc0; 0x0045bceb mov rdi, rbx | 0x0045bcee xor edx, edx | 0x0045bcf0 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rbx, 0x4cd0c4, 0, "string<...>::assign(char*...): string too long"); 0x0045bcf5 lea rdi, [rsp + 0x50] | rdi = rsp + 0x50; 0x0045bcfa mov rsi, rbx | rsi = rbx; 0x0045bcfd call 0x4543d0 | bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>::push_back(bsl::basic_string,bsl::allocator>&&) (); 0x0045bd02 mov dword [rsp + 0x48], r14d | *((rsp + 0x48)) = r14d; 0x0045bd07 cmp qword [rsp + 0xe0], 0x17 | | if (*((rsp + 0xe0)) != 0x17) { 0x0045bd10 je 0x45bd28 | 0x0045bd12 mov rsi, qword [rsp + 0xc0] | rsi = *((rsp + 0xc0)); 0x0045bd1a mov rdi, qword [rsp + 0xe8] | rdi = *((rsp + 0xe8)); 0x0045bd22 mov rax, qword [rdi] | rax = *(rdi); 0x0045bd25 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045bd28 mov r14, qword [rsp + 0x58] | r14 = *((rsp + 0x58)); 0x0045bd2d add r14, 0xffffffffffffffd0 | r14 += 0xffffffffffffffd0; 0x0045bd31 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0045bd36 jne 0x45bd4e | 0x0045bd38 movzx edx, r12b | edx = (int32_t) r12b; 0x0045bd3c mov esi, 1 | 0x0045bd41 mov ecx, 0x4afa84 | 0x0045bd46 mov rdi, r14 | 0x0045bd49 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, rdx, "string<...>::append(n,c): string too long"); | } 0x0045bd4e mov rax, qword [rsp] | rax = *(rsp); 0x0045bd52 mov rdi, qword [rax] | 0x0045bd55 add rdi, rbp | rdi += rbp; 0x0045bd58 call 0x464fd0 | al = BloombergLP::balcl::Option::shortTag()const (*(rax)); 0x0045bd5d test al, al | | if (al != 0) { 0x0045bd5f je 0x45bdb5 | 0x0045bd61 mov esi, 1 | 0x0045bd66 mov ecx, 0x4afa84 | 0x0045bd6b mov rdi, r14 | 0x0045bd6e mov edx, 0x2d | 0x0045bd73 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, 0x2d, "string<...>::append(n,c): string too long"); 0x0045bd78 mov rax, qword [rsp] | rax = *(rsp); 0x0045bd7c mov rdi, qword [rax] | 0x0045bd7f add rdi, rbp | rdi += rbp; 0x0045bd82 call 0x464fd0 | al = BloombergLP::balcl::Option::shortTag()const (*(rax)); 0x0045bd87 movsx edx, al | edx = (int32_t) al; 0x0045bd8a mov esi, 1 | 0x0045bd8f mov ecx, 0x4afa84 | 0x0045bd94 mov rdi, r14 | 0x0045bd97 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, rdx, "string<...>::append(n,c): string too long"); 0x0045bd9c mov esi, 1 | 0x0045bda1 mov ecx, 0x4afa84 | 0x0045bda6 mov rdi, r14 | 0x0045bda9 mov edx, 0x7c | 0x0045bdae call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, 0x7c, "string<...>::append(n,c): string too long"); 0x0045bdb3 jmp 0x45bdcc | | } else { 0x0045bdb5 mov esi, 2 | 0x0045bdba mov ecx, 0x4afa84 | 0x0045bdbf mov rdi, r14 | 0x0045bdc2 mov edx, 0x2d | 0x0045bdc7 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 2, 0x2d, "string<...>::append(n,c): string too long"); | } 0x0045bdcc mov rax, qword [rsp] | rax = *(rsp); 0x0045bdd0 mov rdi, qword [rax] | 0x0045bdd3 add rdi, rbp | rdi += rbp; 0x0045bdd6 call 0x464f90 | rax = BloombergLP::balcl::Option::longTag()const (*(rax)); 0x0045bddb mov rbx, rax | rbx = rax; 0x0045bdde mov rdi, rax | 0x0045bde1 call 0x4046c0 | rax = strlen (rax); 0x0045bde6 mov ecx, 0x4ae074 | 0x0045bdeb mov rdi, r14 | 0x0045bdee mov rsi, rbx | 0x0045bdf1 mov rdx, rax | 0x0045bdf4 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r14, rbx, rax, "string<...>::append(char*...): string too long"); 0x0045bdf9 mov rax, qword [rsp] | rax = *(rsp); 0x0045bdfd mov rdi, qword [rax] | 0x0045be00 add rdi, rbp | rdi += rbp; 0x0045be03 call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (*(rax)); 0x0045be08 test eax, eax | | if (eax != 0) { 0x0045be0a je 0x45be74 | 0x0045be0c mov esi, 1 | 0x0045be11 mov ecx, 0x4afa84 | 0x0045be16 mov rdi, r14 | 0x0045be19 mov edx, 0x20 | 0x0045be1e call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, 0x20, "string<...>::append(n,c): string too long"); 0x0045be23 mov esi, 1 | 0x0045be28 mov ecx, 0x4afa84 | 0x0045be2d mov rdi, r14 | 0x0045be30 mov edx, 0x3c | 0x0045be35 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, 0x3c, "string<...>::append(n,c): string too long"); 0x0045be3a mov rax, qword [rsp] | rax = *(rsp); 0x0045be3e add rbp, qword [rax] | rbp += *(rax); 0x0045be41 mov rdi, rbp | 0x0045be44 call 0x464fb0 | rax = BloombergLP::balcl::Option::name()const (rbp); 0x0045be49 mov rdi, r14 | 0x0045be4c mov rsi, rax | 0x0045be4f xor edx, edx | 0x0045be51 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045be58 call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (r14, rax, 0); 0x0045be5d mov esi, 1 | 0x0045be62 mov ecx, 0x4afa84 | 0x0045be67 mov rdi, r14 | 0x0045be6a mov edx, 0x3e | 0x0045be6f call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, 0x3e, "string<...>::append(n,c): string too long"); | } 0x0045be74 cmp byte [rsp + 8], 0 | | if (*((rsp + 8)) == 0) { 0x0045be79 jne 0x45be92 | 0x0045be7b movzx edx, byte [rsp + 0x48] | edx = *((rsp + 0x48)); 0x0045be80 mov esi, 1 | 0x0045be85 mov ecx, 0x4afa84 | 0x0045be8a mov rdi, r14 | 0x0045be8d call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, rdx, "string<...>::append(n,c): string too long"); | } 0x0045be92 test r15b, r15b | | if (r15b == 0) { 0x0045be95 je 0x45ba00 | goto label_0; | } 0x0045be9b movzx edx, r15b | edx = (int32_t) r15b; 0x0045be9f mov esi, 1 | 0x0045bea4 mov ecx, 0x4afa84 | 0x0045bea9 mov rdi, r14 | 0x0045beac call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r14, 1, rdx, "string<...>::append(n,c): string too long"); 0x0045beb1 jmp 0x45ba00 | goto label_0; | label_9: 0x0045beb6 mov rsi, qword [rsp + 0x58] | rsi = *((rsp + 0x58)); 0x0045bebb mov rdx, qword [rsp + 0x70] | rdx = *((rsp + 0x70)); 0x0045bec0 mov rcx, qword [rsp + 0x78] | rcx = *((rsp + 0x78)); 0x0045bec5 lea rdi, [rsp + 0x50] | rdi = rsp + 0x50; 0x0045beca lea r8, [rsp + 0xc0] | r8 = rsp + 0xc0; 0x0045bed2 call 0x461fa0 | voidbsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>::privateInsert,bsl::allocator>*>(bsl::basic_string,bsl::allocator>const*,bsl::basic_string,bsl::allocator>*,bsl::basic_string,bsl::allocator>*,std::_1::forward_iterator_tagconst&) (); 0x0045bed7 mov byte [rsp + 0xc0], 0xa | *((rsp + 0xc0)) = 0xa; 0x0045bedf lea rsi, [rsp + 0xc0] | 0x0045bee7 mov edx, 1 | 0x0045beec mov rbx, qword [rsp + 0x10] | rbx = *((rsp + 0x10)); 0x0045bef1 mov rdi, rbx | 0x0045bef4 call 0x455a90 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x10)), rsp + 0xc0, 1); 0x0045bef9 lea rsi, [rsp + 0x278] | 0x0045bf01 mov rdi, rbx | 0x0045bf04 call 0x44fd10 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (rbx, rsp + 0x278); 0x0045bf09 movsxd rcx, dword [rsp + 0x290] | rcx = *((rsp + 0x290)); 0x0045bf11 lea rsi, [rsp + 0x50] | 0x0045bf16 mov rdi, rcx | 0x0045bf19 mov rdx, rbx | 0x0045bf1c call 0x45de80 | BloombergLP::balcl::(anonymousnamespace)::u::format(unsigned long,unsigned long,bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>const&,std::_1::basic_ostream>&,unsigned long) (rcx, rsp + 0x50, rbx, rcx); 0x0045bf21 mov esi, 0x4af7f1 | 0x0045bf26 mov edx, 8 | 0x0045bf2b mov rdi, rbx | 0x0045bf2e call 0x455a90 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, "\nWhere:\n", 8); 0x0045bf33 mov qword [rsp + 0x1e8], 0 | *((rsp + 0x1e8)) = 0; 0x0045bf3f movaps xmm0, xmmword [rip + 0x4818a] | xmm0 = .comment; 0x0045bf46 movups xmmword [rsp + 0x200], xmm0 | __asm ("movups xmmword [rsp + 0x200], xmm0"); 0x0045bf4e mov rax, qword [rip + 0x2a8cd3] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045bf55 test rax, rax | | if (rax != 0) { 0x0045bf58 je 0x45bf6c | 0x0045bf5a lea rcx, [rsp + 0x1e8] | rcx = rsp + 0x1e8; 0x0045bf62 mov qword [rsp + 0x210], rax | *((rsp + 0x210)) = rax; 0x0045bf6a jmp 0x45bf96 | | } else { 0x0045bf6c call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0045bf71 cmp qword [rsp + 0x208], 0x17 | 0x0045bf7a mov qword [rsp + 0x210], rax | *((rsp + 0x210)) = rax; | if (*((rsp + 0x208)) != 0x17) { 0x0045bf82 je 0x45bf8e | 0x0045bf84 mov rcx, qword [rsp + 0x1e8] | rcx = *((rsp + 0x1e8)); 0x0045bf8c jmp 0x45bf96 | | } else { 0x0045bf8e lea rcx, [rsp + 0x1e8] | rcx = rsp + 0x1e8; | } | } 0x0045bf96 mov byte [rcx], 0 | *(rcx) = 0; 0x0045bf99 lea rdi, [rsp + 0x1e8] | 0x0045bfa1 mov esi, 2 | 0x0045bfa6 mov ecx, 0x4afa84 | 0x0045bfab mov edx, 0x20 | 0x0045bfb0 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x1e8, 2, 0x20, "string<...>::append(n,c): string too long"); 0x0045bfb5 lea rdi, [rsp + 0x1e8] | 0x0045bfbd mov esi, 1 | 0x0045bfc2 mov ecx, 0x4afa84 | 0x0045bfc7 mov edx, 0x2d | 0x0045bfcc call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x1e8, 1, 0x2d, "string<...>::append(n,c): string too long"); 0x0045bfd1 lea rdi, [rsp + 0x1e8] | 0x0045bfd9 mov esi, 1 | 0x0045bfde mov ecx, 0x4afa84 | 0x0045bfe3 mov edx, 0x58 | 0x0045bfe8 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x1e8, 1, 0x58, "string<...>::append(n,c): string too long"); 0x0045bfed lea rdi, [rsp + 0x1e8] | 0x0045bff5 mov esi, 0x4af7fa | 0x0045bffa mov edx, 5 | 0x0045bfff mov ecx, 0x4ae074 | 0x0045c004 call 0x481b20 | eax = bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x1e8, " | --", 5, "string<...>::append(char*...): string too long"); 0x0045c009 mov rdi, qword [r12] | rdi = *(r12); 0x0045c00d cmp qword [r12 + 8], rdi | | if (*((r12 + 8)) == rdi) { 0x0045c012 je 0x45ca9f | goto label_13; | } 0x0045c018 mov r14, qword [rsp + 0x200] | r14 = *((rsp + 0x200)); 0x0045c020 xor eax, eax | eax = 0; 0x0045c022 mov ebp, 1 | 0x0045c027 xor r13d, r13d | r13d = 0; 0x0045c02a jmp 0x45c069 | goto label_14; | label_1: 0x0045c030 mov rdi, rax | 0x0045c033 call 0x4046c0 | eax = strlen (rax); 0x0045c038 cmp r13d, eax | 0x0045c03b cmovl r13d, eax | r13d = eax; | while (eax == 2) { 0x0045c03f mov eax, ebp | eax = ebp; 0x0045c041 mov rdi, qword [r12] | rdi = *(r12); 0x0045c045 mov rcx, qword [r12 + 8] | rcx = *((r12 + 8)); 0x0045c04a mov rdx, rcx | rdx = *((r12 + 8)); 0x0045c04d sub rdx, rdi | rdx -= rdi; 0x0045c050 sar rdx, 3 | rdx >>= 3; 0x0045c054 movabs rsi, 0xaf8af8af8af8af8b | rsi = 0xaf8af8af8af8af8b; 0x0045c05e imul rdx, rsi | rdx *= rsi; 0x0045c062 inc ebp | ebp++; 0x0045c064 cmp rdx, rax | | if (rdx <= rax) { 0x0045c067 jbe 0x45c08b | goto label_15; | } | label_14: 0x0045c069 imul rbx, rax, 0x118 | rbx = rax * 0x118; 0x0045c070 add rdi, rbx | rdi += rbx; 0x0045c073 call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (rdi); 0x0045c078 cmp eax, 2 | 0x0045c07b je 0x45c03f | | } 0x0045c07d add rbx, qword [r12] | rbx += *(r12); 0x0045c081 mov rdi, rbx | 0x0045c084 call 0x464f90 | BloombergLP::balcl::Option::longTag()const (rbx); 0x0045c089 jmp 0x45c030 | goto label_1; | label_15: 0x0045c08b cmp rcx, rdi | | if (rcx == rdi) { 0x0045c08e je 0x45ca9f | goto label_13; | } 0x0045c094 mov eax, r13d | eax = r13d; 0x0045c097 add r13d, r14d | r13d += r14d; 0x0045c09a lea r15d, [rax + r14 + 2] | r15d = rax + r14 + 2; 0x0045c09f xor eax, eax | eax = 0; 0x0045c0a1 mov ebp, 1 | 0x0045c0a6 xor r14d, r14d | r14d = 0; 0x0045c0a9 jmp 0x45c0e4 | goto label_16; | label_2: 0x0045c0b0 mov eax, dword [rax + 0x18] | eax = *((rax + 0x18)); 0x0045c0b3 cmp r14d, eax | 0x0045c0b6 cmovl r14d, eax | r14d = eax; | while (eax == 0) { 0x0045c0ba mov eax, ebp | eax = ebp; 0x0045c0bc mov rdi, qword [r12] | rdi = *(r12); 0x0045c0c0 mov rcx, qword [r12 + 8] | rcx = *((r12 + 8)); 0x0045c0c5 mov rdx, rcx | rdx = *((r12 + 8)); 0x0045c0c8 sub rdx, rdi | rdx -= rdi; 0x0045c0cb sar rdx, 3 | rdx >>= 3; 0x0045c0cf movabs rsi, 0xaf8af8af8af8af8b | rsi = 0xaf8af8af8af8af8b; 0x0045c0d9 imul rdx, rsi | rdx *= rsi; 0x0045c0dd inc ebp | ebp++; 0x0045c0df cmp rdx, rax | | if (rdx <= rax) { 0x0045c0e2 jbe 0x45c105 | goto label_17; | } | label_16: 0x0045c0e4 imul rbx, rax, 0x118 | rbx = rax * 0x118; 0x0045c0eb add rdi, rbx | rdi += rbx; 0x0045c0ee call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (rdi); 0x0045c0f3 test eax, eax | 0x0045c0f5 je 0x45c0ba | | } 0x0045c0f7 add rbx, qword [r12] | rbx += *(r12); 0x0045c0fb mov rdi, rbx | 0x0045c0fe call 0x464fb0 | BloombergLP::balcl::Option::name()const (rbx); 0x0045c103 jmp 0x45c0b0 | goto label_2; | label_17: 0x0045c105 cmp rcx, rdi | | if (rcx == rdi) { 0x0045c108 je 0x45ca9f | goto label_13; | } 0x0045c10e lea eax, [r13 + r14 + 3] | eax = r13 + r14 + 3; 0x0045c113 mov dword [rsp], eax | *(rsp) = eax; 0x0045c116 lea eax, [r13 + r14 + 6] | eax = r13 + r14 + 6; 0x0045c11b movsxd rcx, r15d | rcx = (int64_t) r15d; 0x0045c11e mov qword [rsp + 0x48], rcx | *((rsp + 0x48)) = rcx; 0x0045c123 cdqe | rax = (int64_t) eax; 0x0045c125 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0045c12a mov r14d, 1 | r14d = 1; 0x0045c130 xor eax, eax | eax = 0; 0x0045c132 lea r13, [rsp + 0x18] | r13 = rsp + 0x18; 0x0045c137 jmp 0x45c170 | | while (eax == 2) { | label_3: 0x0045c140 mov eax, r14d | eax = r14d; 0x0045c143 mov rdi, qword [r12] | rdi = *(r12); 0x0045c147 mov rcx, qword [r12 + 8] | rcx = *((r12 + 8)); 0x0045c14c mov rdx, rcx | rdx = *((r12 + 8)); 0x0045c14f sub rdx, rdi | rdx -= rdi; 0x0045c152 sar rdx, 3 | rdx >>= 3; 0x0045c156 movabs rsi, 0xaf8af8af8af8af8b | rsi = 0xaf8af8af8af8af8b; 0x0045c160 imul rdx, rsi | rdx *= rsi; 0x0045c164 inc r14d | r14d++; 0x0045c167 cmp rdx, rax | | if (rdx <= rax) { 0x0045c16a jbe 0x45c659 | goto label_18; | } 0x0045c170 imul rbp, rax, 0x118 | rbp = rax * 0x118; 0x0045c177 add rdi, rbp | rdi += rbp; 0x0045c17a call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (rdi); 0x0045c17f cmp eax, 2 | 0x0045c182 je 0x45c140 | | } 0x0045c184 mov rdi, qword [r12] | 0x0045c188 add rdi, rbp | rdi += rbp; 0x0045c18b call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(r12)); 0x0045c190 mov rdi, rax | 0x0045c193 call 0x462dc0 | al = BloombergLP::balcl::OccurrenceInfo::isHidden()const (rax); 0x0045c198 test al, al | | if (al != 0) { 0x0045c19a jne 0x45c140 | goto label_3; | } 0x0045c19c mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0045c1a5 movaps xmm0, xmmword [rip + 0x47f24] | xmm0 = .comment; 0x0045c1ac movups xmmword [rsp + 0x30], xmm0 | __asm ("movups xmmword [rsp + 0x30], xmm0"); 0x0045c1b1 mov rax, qword [rip + 0x2a8a70] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045c1b8 test rax, rax | | if (rax != 0) { 0x0045c1bb je 0x45c1c7 | 0x0045c1bd mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0045c1c2 mov rcx, r13 | rcx = r13; 0x0045c1c5 jmp 0x45c1f0 | | } else { 0x0045c1c7 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0045c1cc cmp qword [rsp + 0x38], 0x17 | 0x0045c1d2 mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0045c1d7 mov rcx, r13 | rcx = r13; | if (*((rsp + 0x38)) == 0x17) { 0x0045c1da je 0x45c1f0 | goto label_19; | } 0x0045c1dc mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); 0x0045c1e1 nop word cs:[rax + rax] | 0x0045c1eb nop dword [rax + rax] | | } | label_19: 0x0045c1f0 mov byte [rcx], 0 | *(rcx) = 0; 0x0045c1f3 mov esi, 2 | 0x0045c1f8 mov ecx, 0x4afa84 | 0x0045c1fd mov rdi, r13 | 0x0045c200 mov edx, 0x20 | 0x0045c205 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, 2, 0x20, "string<...>::append(n,c): string too long"); 0x0045c20a mov rdi, qword [r12] | 0x0045c20e add rdi, rbp | rdi += rbp; 0x0045c211 call 0x464fd0 | al = BloombergLP::balcl::Option::shortTag()const (*(r12)); 0x0045c216 test al, al | | if (al != 0) { 0x0045c218 je 0x45c26b | 0x0045c21a mov esi, 1 | 0x0045c21f mov ecx, 0x4afa84 | 0x0045c224 mov rdi, r13 | 0x0045c227 mov edx, 0x2d | 0x0045c22c call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, 1, 0x2d, "string<...>::append(n,c): string too long"); 0x0045c231 mov rdi, qword [r12] | 0x0045c235 add rdi, rbp | rdi += rbp; 0x0045c238 call 0x464fd0 | al = BloombergLP::balcl::Option::shortTag()const (*(r12)); 0x0045c23d movsx edx, al | edx = (int32_t) al; 0x0045c240 mov esi, 1 | 0x0045c245 mov ecx, 0x4afa84 | 0x0045c24a mov rdi, r13 | 0x0045c24d call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, 1, rdx, "string<...>::append(n,c): string too long"); 0x0045c252 mov esi, 0x4af7fa | 0x0045c257 mov edx, 5 | 0x0045c25c mov ecx, 0x4ae074 | 0x0045c261 mov rdi, r13 | 0x0045c264 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r13, " | --", 5, "string<...>::append(char*...): string too long"); 0x0045c269 jmp 0x45c282 | | } else { 0x0045c26b mov esi, 0x4af800 | 0x0045c270 mov edx, 7 | 0x0045c275 mov ecx, 0x4ae074 | 0x0045c27a mov rdi, r13 | 0x0045c27d call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r13, " --", 7, "string<...>::append(char*...): string too long"); | } 0x0045c282 mov rdi, qword [r12] | 0x0045c286 add rdi, rbp | rdi += rbp; 0x0045c289 call 0x464f90 | rax = BloombergLP::balcl::Option::longTag()const (*(r12)); 0x0045c28e mov rbx, rax | rbx = rax; 0x0045c291 mov rdi, rax | 0x0045c294 call 0x4046c0 | rax = strlen (rax); 0x0045c299 mov ecx, 0x4ae074 | 0x0045c29e mov rdi, r13 | 0x0045c2a1 mov rsi, rbx | 0x0045c2a4 mov rdx, rax | 0x0045c2a7 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r13, rbx, rax, "string<...>::append(char*...): string too long"); 0x0045c2ac mov rdi, qword [r12] | 0x0045c2b0 add rdi, rbp | rdi += rbp; 0x0045c2b3 call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (*(r12)); 0x0045c2b8 cmp eax, 1 | | if (eax == 1) { 0x0045c2bb jne 0x45c32a | 0x0045c2bd mov rsi, qword [rsp + 0x48] | 0x0045c2c2 sub rsi, qword [rsp + 0x30] | rsi -= *((rsp + 0x30)); 0x0045c2c7 mov ecx, 0x4afa84 | 0x0045c2cc mov rdi, r13 | 0x0045c2cf mov edx, 0x20 | 0x0045c2d4 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, *((rsp + 0x48)), 0x20, "string<...>::append(n,c): string too long"); 0x0045c2d9 mov esi, 1 | 0x0045c2de mov ecx, 0x4afa84 | 0x0045c2e3 mov rdi, r13 | 0x0045c2e6 mov edx, 0x3c | 0x0045c2eb call 0x481cf0 | rax = bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, 1, 0x3c, "string<...>::append(n,c): string too long"); 0x0045c2f0 mov rbx, rax | rbx = rax; 0x0045c2f3 mov rdi, qword [r12] | 0x0045c2f7 add rdi, rbp | rdi += rbp; 0x0045c2fa call 0x464fb0 | rax = BloombergLP::balcl::Option::name()const (*(r12)); 0x0045c2ff mov rdi, rbx | 0x0045c302 mov rsi, rax | 0x0045c305 xor edx, edx | 0x0045c307 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045c30e call 0x4836a0 | rax = bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (rbx, rax, 0); 0x0045c313 mov esi, 1 | 0x0045c318 mov ecx, 0x4afa84 | 0x0045c31d mov rdi, rax | 0x0045c320 mov edx, 0x3e | 0x0045c325 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rax, 1, 0x3e, "string<...>::append(n,c): string too long"); | } 0x0045c32a cmp dword [rsp], 0x1c | | if (*(rsp) >= 0x1c) { 0x0045c32e jl 0x45c349 | 0x0045c330 mov esi, 0x4afa82 | 0x0045c335 mov edx, 1 | 0x0045c33a mov ecx, 0x4ae074 | 0x0045c33f mov rdi, r13 | 0x0045c342 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r13, 0x4afa82, 1, "string<...>::append(char*...): string too long"); 0x0045c347 jmp 0x45c365 | | } else { 0x0045c349 mov rsi, qword [rsp + 8] | 0x0045c34e sub rsi, qword [rsp + 0x30] | rsi -= *((rsp + 0x30)); 0x0045c353 mov ecx, 0x4afa84 | 0x0045c358 mov rdi, r13 | 0x0045c35b mov edx, 0x20 | 0x0045c360 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (r13, *((rsp + 8)), 0x20, "string<...>::append(n,c): string too long"); | } 0x0045c365 mov rdi, qword [rsp + 0x10] | 0x0045c36a mov rsi, r13 | 0x0045c36d call 0x44fd10 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (*((rsp + 0x10)), r13); 0x0045c372 mov rdi, qword [r12] | 0x0045c376 add rdi, rbp | rdi += rbp; 0x0045c379 call 0x464f60 | rax = BloombergLP::balcl::Option::description()const (*(r12)); 0x0045c37e cmp r13, rax | | if (r13 != rax) { 0x0045c381 je 0x45c3af | 0x0045c383 cmp qword [rax + 0x20], 0x17 | 0x0045c388 mov rsi, rax | rsi = rax; | if (*((rax + 0x20)) != 0x17) { 0x0045c38b je 0x45c390 | 0x0045c38d mov rsi, qword [rax] | | } 0x0045c390 mov rdx, qword [rax + 0x18] | 0x0045c394 mov rbx, qword [rsp + 0x30] | rbx = *((rsp + 0x30)); 0x0045c399 mov qword [rsp + 0x30], 0 | *((rsp + 0x30)) = 0; 0x0045c3a2 mov ecx, 0x4ae4a6 | 0x0045c3a7 mov rdi, r13 | 0x0045c3aa call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (r13, *(rax), *((rax + 0x18)), "string<...>::operator=(const string&...): string too long"); | } 0x0045c3af mov rdi, qword [r12] | 0x0045c3b3 add rdi, rbp | rdi += rbp; 0x0045c3b6 call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (*(r12)); 0x0045c3bb cmp eax, 1 | | if (eax == 1) { 0x0045c3be jne 0x45c5e0 | 0x0045c3c4 mov rdi, qword [r12] | 0x0045c3c8 add rdi, rbp | rdi += rbp; 0x0045c3cb call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(r12)); 0x0045c3d0 mov rdi, rax | 0x0045c3d3 call 0x462db0 | al = BloombergLP::balcl::OccurrenceInfo::hasDefaultValue()const (rax); 0x0045c3d8 test al, al | | if (al == 0) { 0x0045c3da je 0x45c5e0 | goto label_20; | } 0x0045c3e0 mov rax, qword [rip + 0x2a8841] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045c3e7 test rax, rax | | if (rax == 0) { 0x0045c3ea jne 0x45c3f1 | 0x0045c3ec call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045c3f1 mov qword [rsp + 0x90], rax | *((rsp + 0x90)) = rax; 0x0045c3f9 mov qword [rsp + 0x148], 0x6f9c10 | *((rsp + 0x148)) = 0x6f9c10; 0x0045c405 lea rbx, [rsp + 0xc8] | rbx = rsp + 0xc8; 0x0045c40d mov rdi, rbx | 0x0045c410 mov esi, 0x10 | 0x0045c415 lea rdx, [rsp + 0x90] | 0x0045c41d call 0x4559a0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (rbx, 0x10, rsp + 0x90); 0x0045c422 mov qword [rsp + 0xc0], 0x4ae740 | *((rsp + 0xc0)) = fcn.004ae740; 0x0045c42e mov qword [rsp + 0x148], 0x4ae768 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x4ae768; 0x0045c43a lea rdi, [rsp + 0x148] | rdi = rsp + 0x148; 0x0045c442 mov rsi, rbx | rsi = rbx; 0x0045c445 call 0x404640 | std::_1::ios_base::init(void*) (); 0x0045c44a mov qword [rsp + 0x1d0], 0 | *((rsp + 0x1d0)) = 0; 0x0045c456 mov dword [rsp + 0x1d8], 0xffffffff | *((rsp + 0x1d8)) = 0xffffffff; 0x0045c461 mov qword [rsp + 0xc0], 0x4ae6d0 | *((rsp + 0xc0)) = vtable.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.0; 0x0045c46d mov qword [rsp + 0x148], 0x4ae6f8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x4ae6f8; 0x0045c479 add rbp, qword [r12] | rbp += *(r12); 0x0045c47d mov rdi, rbp | 0x0045c480 call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (rbp); 0x0045c485 mov rdi, rax | 0x0045c488 call 0x462da0 | rax = BloombergLP::balcl::OccurrenceInfo::defaultValue()const (rax); 0x0045c48d mov rdi, rax | 0x0045c490 lea rsi, [rsp + 0xc0] | 0x0045c498 xor edx, edx | 0x0045c49a mov ecx, 0xffffffff | 0x0045c49f call 0x465e80 | BloombergLP::balcl::OptionValue::print(std::_1::basic_ostream>&,int,int)const (rax, rsp + 0xc0, 0, 0xffffffff); 0x0045c4a4 lea r15, [rsp + 0x248] | r15 = rsp + 0x248; 0x0045c4ac mov rdi, r15 | 0x0045c4af lea rsi, [rsp + 0xc8] | 0x0045c4b7 call 0x4564f0 | bsl::basic_stringbuf,bsl::allocator>::str()const (r15, rsp + 0xc8); 0x0045c4bc lea rbp, [rsp + 0x90] | rbp = rsp + 0x90; 0x0045c4c4 mov esi, 0x4af808 | 0x0045c4c9 lea rbx, [rsp + 0x218] | rbx = rsp + 0x218; 0x0045c4d1 mov rdi, rbx | 0x0045c4d4 mov rdx, r15 | 0x0045c4d7 call 0x45ef80 | bsl::basic_string,bsl::allocator>bsl::operator+,bsl::allocator>(char const*,bsl::basic_string,bsl::allocator>const&) (rbx, " (default: ", r15); 0x0045c4dc mov rdi, rbp | 0x0045c4df mov rsi, rbx | 0x0045c4e2 mov edx, 0x29 | 0x0045c4e7 call 0x455090 | bsl::basic_string,bsl::allocator>bsl::operator+,bsl::allocator>(bsl::basic_string,bsl::allocator>const&,char) (rbp, rbx, 0x29); 0x0045c4ec mov rdi, r13 | 0x0045c4ef mov rsi, rbp | 0x0045c4f2 xor edx, edx | 0x0045c4f4 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045c4fb call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (r13, rbp, 0); 0x0045c500 cmp qword [rsp + 0xb0], 0x17 | | if (*((rsp + 0xb0)) != 0x17) { 0x0045c509 je 0x45c521 | 0x0045c50b mov rsi, qword [rsp + 0x90] | rsi = *((rsp + 0x90)); 0x0045c513 mov rdi, qword [rsp + 0xb8] | rdi = *((rsp + 0xb8)); 0x0045c51b mov rax, qword [rdi] | rax = *(rdi); 0x0045c51e call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c521 mov qword [rsp + 0xa8], 0xffffffffffffffff | *((rsp + 0xa8)) = 0xffffffffffffffff; 0x0045c52d cmp qword [rsp + 0x238], 0x17 | | if (*((rsp + 0x238)) != 0x17) { 0x0045c536 je 0x45c54e | 0x0045c538 mov rsi, qword [rsp + 0x218] | rsi = *((rsp + 0x218)); 0x0045c540 mov rdi, qword [rsp + 0x240] | rdi = *((rsp + 0x240)); 0x0045c548 mov rax, qword [rdi] | rax = *(rdi); 0x0045c54b call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c54e mov qword [rsp + 0x230], 0xffffffffffffffff | *((rsp + 0x230)) = 0xffffffffffffffff; 0x0045c55a cmp qword [rsp + 0x268], 0x17 | | if (*((rsp + 0x268)) != 0x17) { 0x0045c563 je 0x45c57b | 0x0045c565 mov rsi, qword [rsp + 0x248] | rsi = *((rsp + 0x248)); 0x0045c56d mov rdi, qword [rsp + 0x270] | rdi = *((rsp + 0x270)); 0x0045c575 mov rax, qword [rdi] | rax = *(rdi); 0x0045c578 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c57b mov esi, 0x4ae710 | esi = 0x4ae710; 0x0045c580 lea rdi, [rsp + 0xc0] | rdi = rsp + 0xc0; 0x0045c588 call 0x404b70 | std::_1::basic_ostream>::~basic_ostream() (); 0x0045c58d mov qword [rsp + 0xc8], 0x4ae860 | *((rsp + 0xc8)) = vtable.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.0; 0x0045c599 cmp qword [rsp + 0x128], 0x17 | | if (*((rsp + 0x128)) != 0x17) { 0x0045c5a2 je 0x45c5ba | 0x0045c5a4 mov rsi, qword [rsp + 0x108] | rsi = *((rsp + 0x108)); 0x0045c5ac mov rdi, qword [rsp + 0x130] | rdi = *((rsp + 0x130)); 0x0045c5b4 mov rax, qword [rdi] | rax = *(rdi); 0x0045c5b7 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c5ba mov qword [rsp + 0x120], 0xffffffffffffffff | *((rsp + 0x120)) = 0xffffffffffffffff; 0x0045c5c6 lea rdi, [rsp + 0xc8] | rdi = rsp + 0xc8; 0x0045c5ce call 0x404560 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x0045c5d3 lea rdi, [rsp + 0x148] | rdi = rsp + 0x148; 0x0045c5db call 0x404490 | std::_1::basic_ios>::~basic_ios() (); | } | label_20: 0x0045c5e0 cmp dword [rsp], 0x1c | | if (*(rsp) >= 0x1c) { 0x0045c5e4 jl 0x45c5fc | 0x0045c5e6 mov edi, 0xa | 0x0045c5eb mov rsi, r13 | 0x0045c5ee mov rdx, qword [rsp + 0x10] | 0x0045c5f3 xor ecx, ecx | 0x0045c5f5 call 0x45e110 | BloombergLP::balcl::(anonymousnamespace)::u::format(unsigned long,unsigned long,bsl::basic_string,bsl::allocator>&,std::_1::basic_ostream>&,unsigned long) (0xa, r13, *((rsp + 0x10)), 0); 0x0045c5fa jmp 0x45c611 | | } else { 0x0045c5fc mov rcx, qword [rsp + 8] | rcx = *((rsp + 8)); 0x0045c601 mov rdi, rcx | 0x0045c604 mov rsi, r13 | 0x0045c607 mov rdx, qword [rsp + 0x10] | 0x0045c60c call 0x45e110 | BloombergLP::balcl::(anonymousnamespace)::u::format(unsigned long,unsigned long,bsl::basic_string,bsl::allocator>&,std::_1::basic_ostream>&,unsigned long) (*((rsp + 8)), r13, *((rsp + 0x10)), *(rcx)); | } 0x0045c611 mov byte [rsp + 0xc0], 0xa | *((rsp + 0xc0)) = 0xa; 0x0045c619 mov edx, 1 | 0x0045c61e mov rdi, qword [rsp + 0x10] | 0x0045c623 lea rsi, [rsp + 0xc0] | 0x0045c62b call 0x455a90 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x10)), rsp + 0xc0, 1); 0x0045c630 mov rdi, rax | rdi = rax; 0x0045c633 call 0x404980 | std::_1::basic_ostream>::flush() (); 0x0045c638 cmp qword [rsp + 0x38], 0x17 | | if (*((rsp + 0x38)) == 0x17) { 0x0045c63e je 0x45c140 | goto label_3; | } 0x0045c644 mov rsi, qword [rsp + 0x18] | rsi = *((rsp + 0x18)); 0x0045c649 mov rdi, qword [rsp + 0x40] | rdi = *((rsp + 0x40)); 0x0045c64e mov rax, qword [rdi] | rax = *(rdi); 0x0045c651 call qword [rax + 0x18] | eax = uint64_t (*rax + 0x18)() (); 0x0045c654 jmp 0x45c140 | goto label_3; | label_18: 0x0045c659 cmp rcx, rdi | | if (rcx == rdi) { 0x0045c65c je 0x45ca9f | goto label_13; | } 0x0045c662 mov ebx, 1 | ebx = 1; 0x0045c667 xor eax, eax | eax = 0; 0x0045c669 jmp 0x45c69b | | while (eax != 2) { | label_4: 0x0045c670 mov eax, ebx | eax = ebx; 0x0045c672 mov rdi, qword [r12] | rdi = *(r12); 0x0045c676 mov rcx, qword [r12 + 8] | rcx = *((r12 + 8)); 0x0045c67b sub rcx, rdi | rcx -= rdi; 0x0045c67e sar rcx, 3 | rcx >>= 3; 0x0045c682 movabs rdx, 0xaf8af8af8af8af8b | rdx = 0xaf8af8af8af8af8b; 0x0045c68c imul rcx, rdx | rcx *= rdx; 0x0045c690 inc ebx | ebx++; 0x0045c692 cmp rcx, rax | | if (rcx <= rax) { 0x0045c695 jbe 0x45ca9f | goto label_13; | } 0x0045c69b imul rbp, rax, 0x118 | rbp = rax * 0x118; 0x0045c6a2 add rdi, rbp | rdi += rbp; 0x0045c6a5 call 0x464f30 | eax = BloombergLP::balcl::Option::argType()const (rdi); 0x0045c6aa cmp eax, 2 | 0x0045c6ad jne 0x45c670 | | } 0x0045c6af mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0045c6b8 movaps xmm0, xmmword [rip + 0x47a11] | xmm0 = .comment; 0x0045c6bf movups xmmword [rsp + 0x30], xmm0 | __asm ("movups xmmword [rsp + 0x30], xmm0"); 0x0045c6c4 mov rax, qword [rip + 0x2a855d] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045c6cb test rax, rax | | if (rax != 0) { 0x0045c6ce je 0x45c6df | 0x0045c6d0 mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0045c6d5 lea rdi, [rsp + 0x18] | rdi = rsp + 0x18; 0x0045c6da mov rcx, rdi | rcx = rdi; 0x0045c6dd jmp 0x45c700 | | } else { 0x0045c6df call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0045c6e4 cmp qword [rsp + 0x38], 0x17 | 0x0045c6ea mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0045c6ef lea rcx, [rsp + 0x18] | rcx = rsp + 0x18; | if (*((rsp + 0x38)) != 0x17) { 0x0045c6f4 je 0x45c6fb | 0x0045c6f6 mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); | } 0x0045c6fb lea rdi, [rsp + 0x18] | | } 0x0045c700 mov byte [rcx], 0 | *(rcx) = 0; 0x0045c703 mov ecx, 0x4afa84 | 0x0045c708 mov rsi, qword [rsp + 0x48] | 0x0045c70d mov edx, 0x20 | 0x0045c712 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x18, *((rsp + 0x48)), 0x20, "string<...>::append(n,c): string too long"); 0x0045c717 mov esi, 1 | 0x0045c71c mov ecx, 0x4afa84 | 0x0045c721 lea rdi, [rsp + 0x18] | 0x0045c726 mov edx, 0x3c | 0x0045c72b call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x18, 1, 0x3c, "string<...>::append(n,c): string too long"); 0x0045c730 mov rdi, qword [r12] | 0x0045c734 add rdi, rbp | rdi += rbp; 0x0045c737 call 0x464fb0 | rax = BloombergLP::balcl::Option::name()const (*(r12)); 0x0045c73c lea rdi, [rsp + 0x18] | 0x0045c741 mov rsi, rax | 0x0045c744 xor edx, edx | 0x0045c746 mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045c74d call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (rsp + 0x18, rax, 0); 0x0045c752 mov esi, 1 | 0x0045c757 mov ecx, 0x4afa84 | 0x0045c75c lea rdi, [rsp + 0x18] | 0x0045c761 mov edx, 0x3e | 0x0045c766 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x18, 1, 0x3e, "string<...>::append(n,c): string too long"); 0x0045c76b cmp dword [rsp], 0x1c | | if (*(rsp) >= 0x1c) { 0x0045c76f jl 0x45c790 | 0x0045c771 mov esi, 0x4afa82 | 0x0045c776 mov edx, 1 | 0x0045c77b mov ecx, 0x4ae074 | 0x0045c780 lea rdi, [rsp + 0x18] | 0x0045c785 call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x18, 0x4afa82, 1, "string<...>::append(char*...): string too long"); 0x0045c78a jmp 0x45c7ae | | } else { 0x0045c790 mov rsi, qword [rsp + 8] | 0x0045c795 sub rsi, qword [rsp + 0x30] | rsi -= *((rsp + 0x30)); 0x0045c79a mov ecx, 0x4afa84 | 0x0045c79f lea rdi, [rsp + 0x18] | 0x0045c7a4 mov edx, 0x20 | 0x0045c7a9 call 0x481cf0 | bsl::basic_string,bsl::allocator>::privateAppend(unsigned long,char,char const*) (rsp + 0x18, *((rsp + 8)), 0x20, "string<...>::append(n,c): string too long"); | } 0x0045c7ae mov rdi, qword [rsp + 0x10] | 0x0045c7b3 lea rsi, [rsp + 0x18] | 0x0045c7b8 call 0x44fd10 | std::_1::basic_ostream>&bsl::operator << ,bsl::allocator>(std::_1::basic_ostream>&,bsl::basic_string,bsl::allocator>const&) (*((rsp + 0x10)), rsp + 0x18); 0x0045c7bd mov rdi, qword [r12] | 0x0045c7c1 add rdi, rbp | rdi += rbp; 0x0045c7c4 call 0x464f60 | rax = BloombergLP::balcl::Option::description()const (*(r12)); 0x0045c7c9 lea rcx, [rsp + 0x18] | rcx = rsp + 0x18; 0x0045c7ce cmp rcx, rax | | if (rcx != rax) { 0x0045c7d1 je 0x45c801 | 0x0045c7d3 cmp qword [rax + 0x20], 0x17 | 0x0045c7d8 mov rsi, rax | rsi = rax; | if (*((rax + 0x20)) != 0x17) { 0x0045c7db je 0x45c7e0 | 0x0045c7dd mov rsi, qword [rax] | | } 0x0045c7e0 mov rdx, qword [rax + 0x18] | 0x0045c7e4 mov r14, qword [rsp + 0x30] | r14 = *((rsp + 0x30)); 0x0045c7e9 mov qword [rsp + 0x30], 0 | *((rsp + 0x30)) = 0; 0x0045c7f2 mov ecx, 0x4ae4a6 | 0x0045c7f7 lea rdi, [rsp + 0x18] | 0x0045c7fc call 0x481b20 | bsl::basic_string,bsl::allocator>::privateAppend(char const*,unsigned long,char const*) (rsp + 0x18, *(rax), *((rax + 0x18)), "string<...>::operator=(const string&...): string too long"); | } 0x0045c801 mov rdi, qword [r12] | 0x0045c805 add rdi, rbp | rdi += rbp; 0x0045c808 call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (*(r12)); 0x0045c80d lea r14, [rsp + 0xc8] | r14 = rsp + 0xc8; 0x0045c815 mov rdi, rax | 0x0045c818 call 0x462db0 | al = BloombergLP::balcl::OccurrenceInfo::hasDefaultValue()const (rax); 0x0045c81d test al, al | | if (al != 0) { 0x0045c81f je 0x45ca15 | 0x0045c825 mov rax, qword [rip + 0x2a83fc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0045c82c test rax, rax | | if (rax == 0) { 0x0045c82f jne 0x45c836 | 0x0045c831 call 0x47cad0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0045c836 mov qword [rsp + 0x90], rax | *((rsp + 0x90)) = rax; 0x0045c83e mov qword [rsp + 0x148], 0x6f9c10 | *((rsp + 0x148)) = 0x6f9c10; 0x0045c84a mov rdi, r14 | 0x0045c84d mov esi, 0x10 | 0x0045c852 lea rdx, [rsp + 0x90] | 0x0045c85a call 0x4559a0 | bsl::basic_stringbuf,bsl::allocator>::basic_stringbuf(unsignedint,bsl::allocatorconst&) (r14, 0x10, rsp + 0x90); 0x0045c85f mov qword [rsp + 0xc0], 0x4ae740 | *((rsp + 0xc0)) = fcn.004ae740; 0x0045c86b mov qword [rsp + 0x148], 0x4ae768 | *((rsp + sym.imp.virtual_thunk_to_std::__1::basic_ostream_char__std::__1::char_traits_char___::basic_ostream__)) = 0x4ae768; 0x0045c877 lea rdi, [rsp + 0x148] | rdi = rsp + 0x148; 0x0045c87f mov rsi, r14 | rsi = r14; 0x0045c882 call 0x404640 | std::_1::ios_base::init(void*) (); 0x0045c887 mov qword [rsp + 0x1d0], 0 | *((rsp + 0x1d0)) = 0; 0x0045c893 mov dword [rsp + 0x1d8], 0xffffffff | *((rsp + 0x1d8)) = 0xffffffff; 0x0045c89e mov qword [rsp + 0xc0], 0x4ae6d0 | *((rsp + 0xc0)) = vtable.bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.0; 0x0045c8aa mov qword [rsp + 0x148], 0x4ae6f8 | *((rsp + method.virtual_thunk_to_bsl::basic_ostringstream_char__std::__1::char_traits_char___bsl::allocator_char___.basic_ostringstream__)) = 0x4ae6f8; 0x0045c8b6 add rbp, qword [r12] | rbp += *(r12); 0x0045c8ba mov rdi, rbp | 0x0045c8bd call 0x464fc0 | rax = BloombergLP::balcl::Option::occurrenceInfo()const (rbp); 0x0045c8c2 mov rdi, rax | 0x0045c8c5 call 0x462da0 | rax = BloombergLP::balcl::OccurrenceInfo::defaultValue()const (rax); 0x0045c8ca mov rdi, rax | 0x0045c8cd lea rsi, [rsp + 0xc0] | 0x0045c8d5 xor edx, edx | 0x0045c8d7 mov ecx, 0xffffffff | 0x0045c8dc call 0x465e80 | BloombergLP::balcl::OptionValue::print(std::_1::basic_ostream>&,int,int)const (rax, rsp + 0xc0, 0, 0xffffffff); 0x0045c8e1 lea r15, [rsp + 0x248] | r15 = rsp + 0x248; 0x0045c8e9 mov rdi, r15 | 0x0045c8ec mov rsi, r14 | 0x0045c8ef call 0x4564f0 | bsl::basic_stringbuf,bsl::allocator>::str()const (r15, r14); 0x0045c8f4 lea rbp, [rsp + 0x90] | rbp = rsp + 0x90; 0x0045c8fc mov esi, 0x4af808 | 0x0045c901 lea r13, [rsp + 0x218] | r13 = rsp + 0x218; 0x0045c909 mov rdi, r13 | 0x0045c90c mov rdx, r15 | 0x0045c90f call 0x45ef80 | bsl::basic_string,bsl::allocator>bsl::operator+,bsl::allocator>(char const*,bsl::basic_string,bsl::allocator>const&) (r13, " (default: ", r15); 0x0045c914 mov rdi, rbp | 0x0045c917 mov rsi, r13 | 0x0045c91a mov edx, 0x29 | 0x0045c91f call 0x455090 | bsl::basic_string,bsl::allocator>bsl::operator+,bsl::allocator>(bsl::basic_string,bsl::allocator>const&,char) (rbp, r13, 0x29); 0x0045c924 lea rdi, [rsp + 0x18] | 0x0045c929 mov rsi, rbp | 0x0045c92c xor edx, edx | 0x0045c92e mov rcx, 0xffffffffffffffff | rcx = 0xffffffffffffffff; 0x0045c935 call 0x4836a0 | bsl::basic_string,bsl::allocator>::append(bsl::basic_string,bsl::allocator>const&,unsigned long,unsigned long) (rsp + 0x18, rbp, 0); 0x0045c93a cmp qword [rsp + 0xb0], 0x17 | | if (*((rsp + 0xb0)) != 0x17) { 0x0045c943 je 0x45c95b | 0x0045c945 mov rsi, qword [rsp + 0x90] | rsi = *((rsp + 0x90)); 0x0045c94d mov rdi, qword [rsp + 0xb8] | rdi = *((rsp + 0xb8)); 0x0045c955 mov rax, qword [rdi] | rax = *(rdi); 0x0045c958 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c95b mov qword [rsp + 0xa8], 0xffffffffffffffff | *((rsp + 0xa8)) = 0xffffffffffffffff; 0x0045c967 cmp qword [rsp + 0x238], 0x17 | | if (*((rsp + 0x238)) != 0x17) { 0x0045c970 je 0x45c988 | 0x0045c972 mov rsi, qword [rsp + 0x218] | rsi = *((rsp + 0x218)); 0x0045c97a mov rdi, qword [rsp + 0x240] | rdi = *((rsp + 0x240)); 0x0045c982 mov rax, qword [rdi] | rax = *(rdi); 0x0045c985 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c988 mov qword [rsp + 0x230], 0xffffffffffffffff | *((rsp + 0x230)) = 0xffffffffffffffff; 0x0045c994 cmp qword [rsp + 0x268], 0x17 | | if (*((rsp + 0x268)) != 0x17) { 0x0045c99d je 0x45c9b5 | 0x0045c99f mov rsi, qword [rsp + 0x248] | rsi = *((rsp + 0x248)); 0x0045c9a7 mov rdi, qword [rsp + 0x270] | rdi = *((rsp + 0x270)); 0x0045c9af mov rax, qword [rdi] | rax = *(rdi); 0x0045c9b2 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c9b5 mov esi, 0x4ae710 | esi = 0x4ae710; 0x0045c9ba lea rdi, [rsp + 0xc0] | rdi = rsp + 0xc0; 0x0045c9c2 call 0x404b70 | std::_1::basic_ostream>::~basic_ostream() (); 0x0045c9c7 mov qword [rsp + 0xc8], 0x4ae860 | *((rsp + 0xc8)) = vtable.bsl::basic_stringbuf_char__std::__1::char_traits_char___bsl::allocator_char___.0; 0x0045c9d3 cmp qword [rsp + 0x128], 0x17 | | if (*((rsp + 0x128)) != 0x17) { 0x0045c9dc je 0x45c9f4 | 0x0045c9de mov rsi, qword [rsp + 0x108] | rsi = *((rsp + 0x108)); 0x0045c9e6 mov rdi, qword [rsp + 0x130] | rdi = *((rsp + 0x130)); 0x0045c9ee mov rax, qword [rdi] | rax = *(rdi); 0x0045c9f1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045c9f4 mov qword [rsp + 0x120], 0xffffffffffffffff | *((rsp + 0x120)) = 0xffffffffffffffff; 0x0045ca00 mov rdi, r14 | rdi = r14; 0x0045ca03 call 0x404560 | std::_1::basic_streambuf>::~basic_streambuf() (); 0x0045ca08 lea rdi, [rsp + 0x148] | rdi = rsp + 0x148; 0x0045ca10 call 0x404490 | std::_1::basic_ios>::~basic_ios() (); | } 0x0045ca15 cmp dword [rsp], 0x1c | | if (*(rsp) >= 0x1c) { 0x0045ca19 jl 0x45ca40 | 0x0045ca1b mov edi, 0xa | 0x0045ca20 lea rsi, [rsp + 0x18] | 0x0045ca25 mov rdx, qword [rsp + 0x10] | 0x0045ca2a xor ecx, ecx | 0x0045ca2c call 0x45e110 | BloombergLP::balcl::(anonymousnamespace)::u::format(unsigned long,unsigned long,bsl::basic_string,bsl::allocator>&,std::_1::basic_ostream>&,unsigned long) (0xa, rsp + 0x18, *((rsp + 0x10)), 0); 0x0045ca31 jmp 0x45ca57 | | } else { 0x0045ca40 mov rcx, qword [rsp + 8] | rcx = *((rsp + 8)); 0x0045ca45 mov rdi, rcx | 0x0045ca48 lea rsi, [rsp + 0x18] | 0x0045ca4d mov rdx, qword [rsp + 0x10] | 0x0045ca52 call 0x45e110 | BloombergLP::balcl::(anonymousnamespace)::u::format(unsigned long,unsigned long,bsl::basic_string,bsl::allocator>&,std::_1::basic_ostream>&,unsigned long) (*((rsp + 8)), rsp + 0x18, *((rsp + 0x10)), *(rcx)); | } 0x0045ca57 mov byte [rsp + 0xc0], 0xa | *((rsp + 0xc0)) = 0xa; 0x0045ca5f mov edx, 1 | 0x0045ca64 mov rdi, qword [rsp + 0x10] | 0x0045ca69 lea rsi, [rsp + 0xc0] | 0x0045ca71 call 0x455a90 | rax = std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*((rsp + 0x10)), rsp + 0xc0, 1); 0x0045ca76 mov rdi, rax | rdi = rax; 0x0045ca79 call 0x404980 | std::_1::basic_ostream>::flush() (); 0x0045ca7e cmp qword [rsp + 0x38], 0x17 | | if (*((rsp + 0x38)) == 0x17) { 0x0045ca84 je 0x45c670 | goto label_4; | } 0x0045ca8a mov rsi, qword [rsp + 0x18] | rsi = *((rsp + 0x18)); 0x0045ca8f mov rdi, qword [rsp + 0x40] | rdi = *((rsp + 0x40)); 0x0045ca94 mov rax, qword [rdi] | rax = *(rdi); 0x0045ca97 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0045ca9a jmp 0x45c670 | goto label_4; | label_13: 0x0045ca9f cmp qword [rsp + 0x208], 0x17 | | if (*((rsp + 0x208)) != 0x17) { 0x0045caa8 je 0x45cac0 | 0x0045caaa mov rsi, qword [rsp + 0x1e8] | rsi = *((rsp + 0x1e8)); 0x0045cab2 mov rdi, qword [rsp + 0x210] | rdi = *((rsp + 0x210)); 0x0045caba mov rax, qword [rdi] | rax = *(rdi); 0x0045cabd call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045cac0 mov rbx, qword [rsp + 0x70] | rbx = *((rsp + 0x70)); 0x0045cac5 test rbx, rbx | | if (rbx == 0) { 0x0045cac8 je 0x45cb1d | goto label_21; | } 0x0045caca mov rbp, qword [rsp + 0x78] | rbp = *((rsp + 0x78)); 0x0045cacf cmp rbx, rbp | | if (rbx != rbp) { 0x0045cad2 jne 0x45caf1 | goto label_22; | } 0x0045cad4 jmp 0x45cb0c | goto label_23; | do { | label_5: 0x0045cae0 mov qword [rbx + 0x18], 0xffffffffffffffff | *((rbx + 0x18)) = 0xffffffffffffffff; 0x0045cae8 add rbx, 0x30 | rbx += 0x30; 0x0045caec cmp rbp, rbx | | if (rbp == rbx) { 0x0045caef je 0x45cb07 | goto label_24; | } | label_22: 0x0045caf1 cmp qword [rbx + 0x20], 0x17 | 0x0045caf6 je 0x45cae0 | | } while (*((rbx + 0x20)) == 0x17); 0x0045caf8 mov rsi, qword [rbx] | rsi = *(rbx); 0x0045cafb mov rdi, qword [rbx + 0x28] | rdi = *((rbx + 0x28)); 0x0045caff mov rax, qword [rdi] | rax = *(rdi); 0x0045cb02 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0045cb05 jmp 0x45cae0 | goto label_5; | label_24: 0x0045cb07 mov rbx, qword [rsp + 0x70] | rbx = *((rsp + 0x70)); | label_23: 0x0045cb0c mov rdi, qword [rsp + 0x88] | rdi = *((rsp + 0x88)); 0x0045cb14 mov rax, qword [rdi] | rax = *(rdi); 0x0045cb17 mov rsi, rbx | rsi = rbx; 0x0045cb1a call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | label_21: 0x0045cb1d mov rbx, qword [rsp + 0x50] | rbx = *((rsp + 0x50)); 0x0045cb22 test rbx, rbx | | if (rbx == 0) { 0x0045cb25 je 0x45cb7a | goto label_25; | } 0x0045cb27 mov rbp, qword [rsp + 0x58] | rbp = *((rsp + 0x58)); 0x0045cb2c cmp rbx, rbp | | if (rbx != rbp) { 0x0045cb2f jne 0x45cb51 | goto label_26; | } 0x0045cb31 jmp 0x45cb6c | goto label_27; | do { | label_6: 0x0045cb40 mov qword [rbx + 0x18], 0xffffffffffffffff | *((rbx + 0x18)) = 0xffffffffffffffff; 0x0045cb48 add rbx, 0x30 | rbx += 0x30; 0x0045cb4c cmp rbp, rbx | | if (rbp == rbx) { 0x0045cb4f je 0x45cb67 | goto label_28; | } | label_26: 0x0045cb51 cmp qword [rbx + 0x20], 0x17 | 0x0045cb56 je 0x45cb40 | | } while (*((rbx + 0x20)) == 0x17); 0x0045cb58 mov rsi, qword [rbx] | rsi = *(rbx); 0x0045cb5b mov rdi, qword [rbx + 0x28] | rdi = *((rbx + 0x28)); 0x0045cb5f mov rax, qword [rdi] | rax = *(rdi); 0x0045cb62 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0045cb65 jmp 0x45cb40 | goto label_6; | label_28: 0x0045cb67 mov rbx, qword [rsp + 0x50] | rbx = *((rsp + 0x50)); | label_27: 0x0045cb6c mov rdi, qword [rsp + 0x68] | rdi = *((rsp + 0x68)); 0x0045cb71 mov rax, qword [rdi] | rax = *(rdi); 0x0045cb74 mov rsi, rbx | rsi = rbx; 0x0045cb77 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | label_25: 0x0045cb7a cmp qword [rsp + 0x298], 0x17 | | if (*((rsp + 0x298)) != 0x17) { 0x0045cb83 je 0x45cb9b | 0x0045cb85 mov rsi, qword [rsp + 0x278] | rsi = *((rsp + 0x278)); 0x0045cb8d mov rdi, qword [rsp + 0x2a0] | rdi = *((rsp + 0x2a0)); 0x0045cb95 mov rax, qword [rdi] | rax = *(rdi); 0x0045cb98 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0045cb9b add rsp, 0x2a8 | 0x0045cba2 pop rbx | 0x0045cba3 pop r12 | 0x0045cba5 pop r13 | 0x0045cba7 pop r14 | 0x0045cba9 pop r15 | 0x0045cbab pop rbp | 0x0045cbac ret | return rax; | }