============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* CFileItemList::Size() const * ;************************************************************************************************************************************************************ ;undefined Size(CFileItemList * this) ;this CFileItemLi... RDI PUSH R12 PUSH RBP LEA RBP,[this + 0x3d8] PUSH RBX MOV RBX,this MOV this,RBP CALL .plt:::pthread_mutex_lock ;int pthread_mutex_lock(pthread_mutex... MOV R12,qword ptr [RBX + 0x338] MOV this,RBP SUB R12,qword ptr [RBX + 0x330] CALL .plt:::pthread_mutex_unlock ;int pthread_mutex_unlock(pthread_mut... SAR R12,0x4 POP RBX POP RBP MOV EAX,R12D POP R12 RET ?? 0Fh ;? -> 00841f0f Actual src: int CFileItemList::Size() const { CSingleLock lock(m_lock); return (int)m_items.size(); } Predicted src: int CFileItem::size() const { return m_size.size(); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined aom_sad_skip_32x64_c() ADD ESI,ESI ADD ECX,ECX MOV R8,RDI MOV R9D,0x20 MOVSXD R11,ESI MOV RDI,RDX MOVSXD R10,ECX XOR ESI,ESI NOP dword ptr [RAX + RAX*0x1] LAB_001479d0: XOR EDX,EDX NOP word ptr [RAX + RAX*0x1] LAB_001479d8: MOVZX ECX,byte ptr [RDI + RDX*0x1] MOVZX EAX,byte ptr [R8 + RDX*0x1] SUB EAX,ECX MOV ECX,EAX NEG ECX CMOVNS EAX,ECX ADD RDX,0x1 ADD ESI,EAX CMP RDX,0x20 JNZ LAB_001479d8 ADD R8,R11 ADD RDI,R10 SUB R9D,0x1 JNZ LAB_001479d0 LEA EAX,[RSI + RSI*0x1] RET ?? 66h f Actual src: sadMxN(32, 64); Predicted src: uint32_t arm_highbd_highbd_highbd_highbd_sad8x8_8x8(uint8_t *dst, const uint8_t *src) { uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; uint8_t *dst = (uint8_t *)dst; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; dst += 4; return dst; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined polypolygon_print() AND EDI,0xffff JZ LAB_001444e4 PUSH R15 LEA R15,[.rodata:s__Polygon[%d]:_0016b860] ;= " Polygon[%d]: " PUSH R14 MOV R14D,EDI PUSH R13 XOR R13D,R13D PUSH R12 MOV R12,RSI PUSH RBP MOV RBP,RDX PUSH RBX SUB RSP,0x8 NOP dword ptr [RAX] LAB_00144490: XOR EAX,EAX MOV EDX,R13D MOV RSI=>.rodata:s__Polygon[%d]:_0016b860,R15 ;= " Polygon[%d]: " MOV EDI,0x1 CALL .plt:::__printf_chk ;undefined __printf_chk() CMP word ptr [R12],0x0 JZ LAB_001444c8 XOR EBX,EBX NOP dword ptr [RAX] LAB_001444b0: MOV EDI,dword ptr [RBP] ADD EBX,0x1 ADD RBP,0x4 CALL .plt:point16_print ;undefined point16_print() MOVZX EAX,word ptr [R12] CMP EAX,EBX JG LAB_001444b0 LAB_001444c8: ADD R13D,0x1 ADD R12,0x2 CMP R13D,R14D JNZ LAB_00144490 ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 POP R14 POP R15 RET LAB_001444e4: RET ?? 66h f Actual src: void polypolygon_print( uint16_t nPolys, const uint16_t *aPolyCounts, const char *Points ){ int i,j; U_POINT16 pt; for(i=0; i.bss:cpuinfo_rwmtx,R13 CALL ethr_rwmutex_rlock ;undefined ethr_rwmutex_rlock() CMP qword ptr [ERTS_LOW_WRITE:erts_no_schedulers],0x0 MOV EAX,0x1 MOV RSI,qword ptr [.bss:scheduler2cpu_map] JZ LAB_00302645 NOP dword ptr [RAX + RAX*0x1] LAB_00302620: MOVSXD RDX,dword ptr [RSI + RAX*0x8 + 0x4] MOV RCX,RBP TEST EDX,EDX JS LAB_00302634 SHL RDX,0x4 LEA RCX,[RDX + 0xf] LAB_00302634: MOV qword ptr [RBX + RAX*0x8],RCX ADD RAX,0x1 CMP qword ptr [ERTS_LOW_WRITE:erts_no_schedulers],RAX JNC LAB_00302620 LAB_00302645: MOV RDI=>.bss:cpuinfo_rwmtx,R13 CALL ethr_rwmutex_runlock ;undefined ethr_rwmutex_runlock() ADD RSP,0x8 MOV RAX,R12 POP RBX POP RBP POP R12 POP R13 RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00302660: LEA RAX,[RBX + RSI*0x8] MOV qword ptr [R12 + 0x50],RAX JMP LAB_003025e8 ?? 66h f Actual src: Eterm erts_get_schedulers_binds(Process *c_p) { int ix; ERTS_DECL_AM(unbound); Eterm *hp = HAlloc(c_p, erts_no_schedulers+1); Eterm res = make_tuple(hp); *(hp++) = make_arityval(erts_no_schedulers); erts_rwmtx_rlock(&cpuinfo_rwmtx); for (ix = 1; ix <= erts_no_schedulers; ix++) *(hp++) = (scheduler2cpu_map[ix].bound_id >= 0 ? make_small(scheduler2cpu_map[ix].bound_id) : AM_unbound); erts_rwmtx_runlock(&cpuinfo_rwmtx); return res; } Predicted src: static void * send_r_alloc(void *data, size_t size) { size_t *r = data; size_t i; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; r->r_alloc = r->r_alloc; return r; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* CollectionConfiguration::isNewer(QHelpEngineCore const&, QHelpEngineCore const&) * ;************************************************************************************************************************************************************ ;undefined isNewer(QHelpEngineCore * param_1, QHelpEngineCore * param_2) ;param_1 QHelpEngine... RDI ;param_2 QHelpEngine... RSI PUSH RBP MOV RBP,param_2 PUSH RBX SUB RSP,0x8 CALL CollectionConfiguration::creationTime ;undefined creationTime(QHelpEngineCo... MOV param_1,RBP MOV EBX,EAX CALL CollectionConfiguration::creationTime ;undefined creationTime(QHelpEngineCo... CMP EBX,EAX SETA AL ADD RSP,0x8 POP RBX POP RBP RET ?? 66h f Actual src: bool CollectionConfiguration::isNewer(const QHelpEngineCore &newer, const QHelpEngineCore &older) { return creationTime(newer) > creationTime(older); } Predicted src: bool QTimeTimeTime(const QTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTim