; assembly | /* r2dec pseudo code output */ | /* bblb_schedulegenerationutil.t/none @ 0x41d1b0 */ | #include | ; (fcn) method.BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Signed_.operator___unsigned_long__const () | int64_t method_BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Signed_operator_unsigned_long_const (int64_t arg1) { | rdi = arg1; | /* BloombergLP::bdlc::PackedIntArrayImp::operator[](unsigned long) const */ 0x0041d1b0 mov ecx, dword [rdi + 0x10] | ecx = *((rdi + 0x10)); 0x0041d1b3 xor eax, eax | eax = 0; 0x0041d1b5 dec ecx | ecx--; 0x0041d1b7 cmp ecx, 7 | | if (ecx <= 7) { 0x0041d1ba ja 0x41d1e4 | | /* switch table (8 cases) at 0x460470 */ 0x0041d1bc jmp qword [rcx*8 + 0x460470] | 0x0041d1c3 mov rax, qword [rdi] | rax = *(rdi); 0x0041d1c6 movsx rax, byte [rax + rsi] | rax = *((rax + rsi)); 0x0041d1cb ret | return rax; 0x0041d1cc mov rax, qword [rdi] | rax = *(rdi); 0x0041d1cf movsx rax, word [rax + rsi*2] | rax = *((rax + rsi*2)); 0x0041d1d4 ret | return rax; 0x0041d1d5 mov rax, qword [rdi] | rax = *(rdi); 0x0041d1d8 movsxd rax, dword [rax + rsi*4] | rax = *((rax + rsi*4)); 0x0041d1dc ret | return rax; 0x0041d1dd mov rax, qword [rdi] | rax = *(rdi); 0x0041d1e0 mov rax, qword [rax + rsi*8] | rax = *((rax + rsi*8)); | } 0x0041d1e4 ret | return rax; | }