; assembly | /* r2dec pseudo code output */ | /* balcl_typeinfo.t/none @ 0x412d20 */ | #include | ; (fcn) sym._anonymous_namespace_::u::constructTypeInfo_void__BloombergLP::balcl::OptionType::Enum__void_ () | int64_t anonymous_namespace_::u::constructTypeInfo_void_BloombergLP::balcl::OptionType::Enum_void_ (uint32_t arg3, uint32_t arg2, int64_t arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::u::constructTypeInfo(void*, BloombergLP::balcl::OptionType::Enum, void*) */ 0x00412d20 push rbx | 0x00412d21 dec esi | esi--; 0x00412d23 cmp esi, 0x10 | | if (esi <= 0x10) { 0x00412d26 ja 0x412d44 | 0x00412d28 mov rbx, rdi | rbx = rdi; | /* switch table (17 cases) at 0x4549a8 */ 0x00412d2b jmp qword [rsi*8 + 0x4549a8] | 0x00412d32 mov rdi, rbx | 0x00412d35 mov rsi, rdx | 0x00412d38 xor edx, edx | 0x00412d3a call 0x419320 | BloombergLP::balcl::TypeInfo::TypeInfo(bool*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412d3f jmp 0x412e4e | | } else { 0x00412d44 xor ebx, ebx | ebx = 0; 0x00412d46 jmp 0x412e4e | goto label_0; 0x00412d4b mov rdi, rbx | 0x00412d4e mov rsi, rdx | 0x00412d51 xor edx, edx | 0x00412d53 call 0x419390 | BloombergLP::balcl::TypeInfo::TypeInfo(char*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412d58 jmp 0x412e4e | goto label_0; 0x00412d5d mov rdi, rbx | 0x00412d60 mov rsi, rdx | 0x00412d63 xor edx, edx | 0x00412d65 call 0x419750 | BloombergLP::balcl::TypeInfo::TypeInfo(int*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412d6a jmp 0x412e4e | goto label_0; 0x00412d6f mov rdi, rbx | 0x00412d72 mov rsi, rdx | 0x00412d75 xor edx, edx | 0x00412d77 call 0x419b10 | BloombergLP::balcl::TypeInfo::TypeInfo(long long*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412d7c jmp 0x412e4e | goto label_0; 0x00412d81 mov rdi, rbx | 0x00412d84 mov rsi, rdx | 0x00412d87 xor edx, edx | 0x00412d89 call 0x419ed0 | BloombergLP::balcl::TypeInfo::TypeInfo(double*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412d8e jmp 0x412e4e | goto label_0; 0x00412d93 mov rdi, rbx | 0x00412d96 mov rsi, rdx | 0x00412d99 xor edx, edx | 0x00412d9b call 0x41a290 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::basic_string,bsl::allocator>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412da0 jmp 0x412e4e | goto label_0; 0x00412da5 mov rdi, rbx | 0x00412da8 mov rsi, rdx | 0x00412dab xor edx, edx | 0x00412dad call 0x41a650 | BloombergLP::balcl::TypeInfo::TypeInfo(BloombergLP::bdlt::Datetime*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412db2 jmp 0x412e4e | goto label_0; 0x00412db7 mov rdi, rbx | 0x00412dba mov rsi, rdx | 0x00412dbd xor edx, edx | 0x00412dbf call 0x41aa10 | BloombergLP::balcl::TypeInfo::TypeInfo(BloombergLP::bdlt::Date*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412dc4 jmp 0x412e4e | goto label_0; 0x00412dc9 mov rdi, rbx | 0x00412dcc mov rsi, rdx | 0x00412dcf xor edx, edx | 0x00412dd1 call 0x41add0 | BloombergLP::balcl::TypeInfo::TypeInfo(BloombergLP::bdlt::Time*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412dd6 jmp 0x412e4e | goto label_0; 0x00412dd8 mov rdi, rbx | 0x00412ddb mov rsi, rdx | 0x00412dde xor edx, edx | 0x00412de0 call 0x41b190 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412de5 jmp 0x412e4e | goto label_0; 0x00412de7 mov rdi, rbx | 0x00412dea mov rsi, rdx | 0x00412ded xor edx, edx | 0x00412def call 0x41b270 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412df4 jmp 0x412e4e | goto label_0; 0x00412df6 mov rdi, rbx | 0x00412df9 mov rsi, rdx | 0x00412dfc xor edx, edx | 0x00412dfe call 0x41b350 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412e03 jmp 0x412e4e | goto label_0; 0x00412e05 mov rdi, rbx | 0x00412e08 mov rsi, rdx | 0x00412e0b xor edx, edx | 0x00412e0d call 0x41b430 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412e12 jmp 0x412e4e | goto label_0; 0x00412e14 mov rdi, rbx | 0x00412e17 mov rsi, rdx | 0x00412e1a xor edx, edx | 0x00412e1c call 0x41b510 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector,bsl::allocator>,bsl::allocator,bsl::allocator>>>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412e21 jmp 0x412e4e | goto label_0; 0x00412e23 mov rdi, rbx | 0x00412e26 mov rsi, rdx | 0x00412e29 xor edx, edx | 0x00412e2b call 0x41b5f0 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412e30 jmp 0x412e4e | goto label_0; 0x00412e32 mov rdi, rbx | 0x00412e35 mov rsi, rdx | 0x00412e38 xor edx, edx | 0x00412e3a call 0x41b6d0 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); 0x00412e3f jmp 0x412e4e | goto label_0; 0x00412e41 mov rdi, rbx | 0x00412e44 mov rsi, rdx | 0x00412e47 xor edx, edx | 0x00412e49 call 0x41b7b0 | BloombergLP::balcl::TypeInfo::TypeInfo(bsl::vector>*,BloombergLP::bslma::Allocator*) (rbx, rdx, 0); | } | label_0: 0x00412e4e mov rax, rbx | rax = rbx; 0x00412e51 pop rbx | 0x00412e52 ret | return rax; | }