; assembly | /* r2dec pseudo code output */ | /* balcl_commandline.t/none @ 0x44ad00 */ | #include | ; (fcn) sym._anonymous_namespace_::u::createTypeInfo_BloombergLP::balcl::OptionType::Enum__void__void_ () | int64_t anonymous_namespace_::u::createTypeInfo_BloombergLP::balcl::OptionType::Enum_void_void_ (int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::u::createTypeInfo(BloombergLP::balcl::OptionType::Enum, void*, void*) */ 0x0044ad00 push r15 | 0x0044ad02 push r14 | 0x0044ad04 push r13 | 0x0044ad06 push r12 | 0x0044ad08 push rbx | 0x0044ad09 mov r14, rcx | r14 = rcx; 0x0044ad0c mov r12, rdx | r12 = rdx; 0x0044ad0f mov r15d, esi | r15d = esi; 0x0044ad12 mov r13, rdi | r13 = rdi; 0x0044ad15 call 0x466f10 | BloombergLP::balcl::TypeInfo::TypeInfo() (rdi); 0x0044ad1a mov esi, 0x4ae3ef | esi = "typeInfo"; 0x0044ad1f xor edi, edi | edi = 0; 0x0044ad21 mov edx, 0x409 | edx = 0x409; 0x0044ad26 call 0x408f20 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0044ad2b lea ebx, [r15 - 1] | ebx = r15 - 1; 0x0044ad2f cmp ebx, 0x10 | | if (ebx <= 0x10) { 0x0044ad32 ja 0x44ae79 | | /* switch table (17 cases) at 0x4a49b0 */ 0x0044ad38 jmp qword [rbx*8 + 0x4a49b0] | 0x0044ad3f mov rsi, qword [rip + 0x65362] | 0x0044ad46 mov rdi, r13 | 0x0044ad49 call 0x46ada0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bool*) (r13, *(obj.BloombergLP::balcl::OptionType::k_BOOL)); 0x0044ad4e jmp 0x44ae79 | goto label_0; 0x0044ad53 mov rsi, qword [rip + 0x65356] | 0x0044ad5a mov rdi, r13 | 0x0044ad5d call 0x46adb0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(char*) (r13, *(obj.BloombergLP::balcl::OptionType::k_CHAR)); 0x0044ad62 jmp 0x44ae79 | goto label_0; 0x0044ad67 mov rsi, qword [rip + 0x6534a] | 0x0044ad6e mov rdi, r13 | 0x0044ad71 call 0x46adc0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(int*) (r13, *(obj.BloombergLP::balcl::OptionType::k_INT)); 0x0044ad76 jmp 0x44ae79 | goto label_0; 0x0044ad7b mov rsi, qword [rip + 0x6533e] | 0x0044ad82 mov rdi, r13 | 0x0044ad85 call 0x46add0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(long long*) (r13, *(obj.BloombergLP::balcl::OptionType::k_INT64)); 0x0044ad8a jmp 0x44ae79 | goto label_0; 0x0044ad8f mov rsi, qword [rip + 0x65332] | 0x0044ad96 mov rdi, r13 | 0x0044ad99 call 0x46ade0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(double*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DOUBLE)); 0x0044ad9e jmp 0x44ae79 | goto label_0; 0x0044ada3 mov rsi, qword [rip + 0x65326] | 0x0044adaa mov rdi, r13 | 0x0044adad call 0x46adf0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::basic_string,bsl::allocator>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_STRING)); 0x0044adb2 jmp 0x44ae79 | goto label_0; 0x0044adb7 mov rsi, qword [rip + 0x6531a] | 0x0044adbe mov rdi, r13 | 0x0044adc1 call 0x46ae00 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Datetime*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DATETIME)); 0x0044adc6 jmp 0x44ae79 | goto label_0; 0x0044adcb mov rsi, qword [rip + 0x6530e] | 0x0044add2 mov rdi, r13 | 0x0044add5 call 0x46ae10 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Date*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DATE)); 0x0044adda jmp 0x44ae79 | goto label_0; 0x0044addf mov rsi, qword [rip + 0x65302] | 0x0044ade6 mov rdi, r13 | 0x0044ade9 call 0x46ae20 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Time*) (r13, *(obj.BloombergLP::balcl::OptionType::k_TIME)); 0x0044adee jmp 0x44ae79 | goto label_0; 0x0044adf3 mov rsi, qword [rip + 0x652f6] | 0x0044adfa mov rdi, r13 | 0x0044adfd call 0x46ae30 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_CHAR_ARRAY)); 0x0044ae02 jmp 0x44ae79 | goto label_0; 0x0044ae04 mov rsi, qword [rip + 0x652ed] | 0x0044ae0b mov rdi, r13 | 0x0044ae0e call 0x46ae40 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_INT_ARRAY)); 0x0044ae13 jmp 0x44ae79 | goto label_0; 0x0044ae15 mov rsi, qword [rip + 0x652e4] | 0x0044ae1c mov rdi, r13 | 0x0044ae1f call 0x46ae50 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_INT64_ARRAY)); 0x0044ae24 jmp 0x44ae79 | goto label_0; 0x0044ae26 mov rsi, qword [rip + 0x652db] | 0x0044ae2d mov rdi, r13 | 0x0044ae30 call 0x46ae60 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DOUBLE_ARRAY)); 0x0044ae35 jmp 0x44ae79 | goto label_0; 0x0044ae37 mov rsi, qword [rip + 0x652d2] | 0x0044ae3e mov rdi, r13 | 0x0044ae41 call 0x46ae70 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_STRING_ARRAY)); 0x0044ae46 jmp 0x44ae79 | goto label_0; 0x0044ae48 mov rsi, qword [rip + 0x652c9] | 0x0044ae4f mov rdi, r13 | 0x0044ae52 call 0x46ae80 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DATETIME_ARRAY)); 0x0044ae57 jmp 0x44ae79 | goto label_0; 0x0044ae59 mov rsi, qword [rip + 0x652c0] | 0x0044ae60 mov rdi, r13 | 0x0044ae63 call 0x46ae90 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_DATE_ARRAY)); 0x0044ae68 jmp 0x44ae79 | goto label_0; 0x0044ae6a mov rsi, qword [rip + 0x652b7] | 0x0044ae71 mov rdi, r13 | 0x0044ae74 call 0x46aea0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, *(obj.BloombergLP::balcl::OptionType::k_TIME_ARRAY)); | } | label_0: 0x0044ae79 test r12, r12 | | if (r12 != 0) { 0x0044ae7c je 0x44af93 | 0x0044ae82 mov esi, 0x4ae3ef | esi = "typeInfo"; 0x0044ae87 xor edi, edi | edi = 0; 0x0044ae89 mov edx, 0x3da | edx = 0x3da; 0x0044ae8e call 0x408f20 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0044ae93 cmp ebx, 0x10 | | if (ebx > 0x10) { 0x0044ae96 ja 0x44af93 | goto label_1; | } | /* switch table (17 cases) at 0x4a4a38 */ 0x0044ae9c jmp qword [rbx*8 + 0x4a4a38] | 0x0044aea3 mov rdi, r13 | 0x0044aea6 mov rsi, r12 | 0x0044aea9 call 0x46ada0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bool*) (r13, r12); 0x0044aeae jmp 0x44af93 | goto label_1; 0x0044aeb3 mov rdi, r13 | 0x0044aeb6 mov rsi, r12 | 0x0044aeb9 call 0x46adb0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(char*) (r13, r12); 0x0044aebe jmp 0x44af93 | goto label_1; 0x0044aec3 mov rdi, r13 | 0x0044aec6 mov rsi, r12 | 0x0044aec9 call 0x46adc0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(int*) (r13, r12); 0x0044aece jmp 0x44af93 | goto label_1; 0x0044aed3 mov rdi, r13 | 0x0044aed6 mov rsi, r12 | 0x0044aed9 call 0x46add0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(long long*) (r13, r12); 0x0044aede jmp 0x44af93 | goto label_1; 0x0044aee3 mov rdi, r13 | 0x0044aee6 mov rsi, r12 | 0x0044aee9 call 0x46ade0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(double*) (r13, r12); 0x0044aeee jmp 0x44af93 | goto label_1; 0x0044aef3 mov rdi, r13 | 0x0044aef6 mov rsi, r12 | 0x0044aef9 call 0x46adf0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::basic_string,bsl::allocator>*) (r13, r12); 0x0044aefe jmp 0x44af93 | goto label_1; 0x0044af03 mov rdi, r13 | 0x0044af06 mov rsi, r12 | 0x0044af09 call 0x46ae00 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Datetime*) (r13, r12); 0x0044af0e jmp 0x44af93 | goto label_1; 0x0044af13 mov rdi, r13 | 0x0044af16 mov rsi, r12 | 0x0044af19 call 0x46ae10 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Date*) (r13, r12); 0x0044af1e jmp 0x44af93 | goto label_1; 0x0044af20 mov rdi, r13 | 0x0044af23 mov rsi, r12 | 0x0044af26 call 0x46ae20 | BloombergLP::balcl::TypeInfo::setLinkedVariable(BloombergLP::bdlt::Time*) (r13, r12); 0x0044af2b jmp 0x44af93 | goto label_1; 0x0044af2d mov rdi, r13 | 0x0044af30 mov rsi, r12 | 0x0044af33 call 0x46ae30 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af38 jmp 0x44af93 | goto label_1; 0x0044af3a mov rdi, r13 | 0x0044af3d mov rsi, r12 | 0x0044af40 call 0x46ae40 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af45 jmp 0x44af93 | goto label_1; 0x0044af47 mov rdi, r13 | 0x0044af4a mov rsi, r12 | 0x0044af4d call 0x46ae50 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af52 jmp 0x44af93 | goto label_1; 0x0044af54 mov rdi, r13 | 0x0044af57 mov rsi, r12 | 0x0044af5a call 0x46ae60 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af5f jmp 0x44af93 | goto label_1; 0x0044af61 mov rdi, r13 | 0x0044af64 mov rsi, r12 | 0x0044af67 call 0x46ae70 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>*) (r13, r12); 0x0044af6c jmp 0x44af93 | goto label_1; 0x0044af6e mov rdi, r13 | 0x0044af71 mov rsi, r12 | 0x0044af74 call 0x46ae80 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af79 jmp 0x44af93 | goto label_1; 0x0044af7b mov rdi, r13 | 0x0044af7e mov rsi, r12 | 0x0044af81 call 0x46ae90 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); 0x0044af86 jmp 0x44af93 | goto label_1; 0x0044af88 mov rdi, r13 | 0x0044af8b mov rsi, r12 | 0x0044af8e call 0x46aea0 | BloombergLP::balcl::TypeInfo::setLinkedVariable(bsl::vector>*) (r13, r12); | } | label_1: 0x0044af93 test r14, r14 | | if (r14 != 0) { 0x0044af96 je 0x44b045 | 0x0044af9c cmp r15d, 0x11 | | if (r15d > 0x11) { 0x0044afa0 ja 0x44b045 | goto label_2; | } 0x0044afa6 mov eax, r15d | eax = r15d; | /* switch table (18 cases) at 0x4a4ac0 */ 0x0044afa9 jmp qword [rax*8 + 0x4a4ac0] | 0x0044afb0 mov rdi, r13 | 0x0044afb3 mov rsi, r14 | 0x0044afb6 call 0x468710 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044afbb jmp 0x44b045 | goto label_2; 0x0044afc0 mov rdi, r13 | 0x0044afc3 mov rsi, r14 | 0x0044afc6 call 0x468ad0 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044afcb jmp 0x44b045 | goto label_2; 0x0044afcd mov rdi, r13 | 0x0044afd0 mov rsi, r14 | 0x0044afd3 call 0x468e90 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044afd8 jmp 0x44b045 | goto label_2; 0x0044afda mov rdi, r13 | 0x0044afdd mov rsi, r14 | 0x0044afe0 call 0x469250 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044afe5 jmp 0x44b045 | goto label_2; 0x0044afe7 mov rdi, r13 | 0x0044afea mov rsi, r14 | 0x0044afed call 0x469610 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function,bsl::allocator>const*,std::_1::basic_ostream>&)>const&) (r13, r14); 0x0044aff2 jmp 0x44b045 | goto label_2; 0x0044aff4 mov rdi, r13 | 0x0044aff7 mov rsi, r14 | 0x0044affa call 0x4699d0 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044afff jmp 0x44b045 | goto label_2; 0x0044b001 mov rdi, r13 | 0x0044b004 mov rsi, r14 | 0x0044b007 call 0x469d90 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044b00c jmp 0x44b045 | goto label_2; 0x0044b00e mov rdi, r13 | 0x0044b011 mov rsi, r14 | 0x0044b014 call 0x46a150 | BloombergLP::balcl::TypeInfo::setConstraint(bsl::function>&)>const&) (r13, r14); 0x0044b019 jmp 0x44b045 | goto label_2; 0x0044b01b mov esi, 0x4ac18b | esi = "!\"Reached\"; 0x0044b020 mov edi, 1 | edi = 1; 0x0044b025 mov edx, 0x3b8 | edx = 0x3b8; 0x0044b02a call 0x408f20 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); 0x0044b02f jmp 0x44b045 | goto label_2; 0x0044b031 mov esi, 0x4ac18b | esi = "!\"Reached\"; 0x0044b036 mov edi, 1 | edi = 1; 0x0044b03b mov edx, 0x3bb | edx = 0x3bb; 0x0044b040 call 0x408f20 | (anonymousnamespace)::aSsErT(bool,char const*,int) (); | } | label_2: 0x0044b045 mov rax, r13 | rax = r13; 0x0044b048 pop rbx | 0x0044b049 pop r12 | 0x0044b04b pop r13 | 0x0044b04d pop r14 | 0x0044b04f pop r15 | 0x0044b051 ret | return rax; | }