; assembly | /* r2dec pseudo code output */ | /* bblb_schedulegenerationutil.t/none @ 0x4207d0 */ | #include | ; (fcn) method.BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Unsigned_.operator___unsigned_long__const () | int64_t method_BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Unsigned_operator_unsigned_long_const (int64_t arg1) { | rdi = arg1; | /* BloombergLP::bdlc::PackedIntArrayImp::operator[](unsigned long) const */ 0x004207d0 mov ecx, dword [rdi + 0x10] | ecx = *((rdi + 0x10)); 0x004207d3 xor eax, eax | eax = 0; 0x004207d5 dec ecx | ecx--; 0x004207d7 cmp ecx, 7 | | if (ecx <= 7) { 0x004207da ja 0x420801 | | /* switch table (8 cases) at 0x4606b0 */ 0x004207dc jmp qword [rcx*8 + 0x4606b0] | 0x004207e3 mov rax, qword [rdi] | rax = *(rdi); 0x004207e6 movzx eax, byte [rax + rsi] | eax = *((rax + rsi)); 0x004207ea ret | return rax; 0x004207eb mov rax, qword [rdi] | rax = *(rdi); 0x004207ee movzx eax, word [rax + rsi*2] | eax = *((rax + rsi*2)); 0x004207f2 ret | return rax; 0x004207f3 mov rax, qword [rdi] | rax = *(rdi); 0x004207f6 mov eax, dword [rax + rsi*4] | eax = *((rax + rsi*4)); 0x004207f9 ret | return rax; 0x004207fa mov rax, qword [rdi] | rax = *(rdi); 0x004207fd mov rax, qword [rax + rsi*8] | rax = *((rax + rsi*8)); | } 0x00420801 ret | return rax; | }