MCPcopy Create free account
hub / github.com/connorjaydunn/BinaryShield / getVirtualRegisterIndex

Function getVirtualRegisterIndex

src/vm.cpp:324–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

322 }
323
324 BYTE getVirtualRegisterIndex(ZydisRegister reg)
325 {
326 switch (reg)
327 {
328 case ZYDIS_REGISTER_RFLAGS:
329 return 0;
330
331 case ZYDIS_REGISTER_RAX:
332 case ZYDIS_REGISTER_EAX:
333 case ZYDIS_REGISTER_AX:
334 case ZYDIS_REGISTER_AL:
335 return 1;
336
337 case ZYDIS_REGISTER_RBX:
338 case ZYDIS_REGISTER_EBX:
339 case ZYDIS_REGISTER_BX:
340 case ZYDIS_REGISTER_BL:
341 return 2;
342
343 case ZYDIS_REGISTER_RCX:
344 case ZYDIS_REGISTER_ECX:
345 case ZYDIS_REGISTER_CX:
346 case ZYDIS_REGISTER_CL:
347 return 3;
348
349 case ZYDIS_REGISTER_RDX:
350 case ZYDIS_REGISTER_EDX:
351 case ZYDIS_REGISTER_DX:
352 case ZYDIS_REGISTER_DL:
353 return 4;
354
355 case ZYDIS_REGISTER_RSI:
356 case ZYDIS_REGISTER_ESI:
357 case ZYDIS_REGISTER_SI:
358 case ZYDIS_REGISTER_SIL:
359 return 5;
360
361 case ZYDIS_REGISTER_RDI:
362 case ZYDIS_REGISTER_EDI:
363 case ZYDIS_REGISTER_DI:
364 case ZYDIS_REGISTER_DIL:
365 return 6;
366
367 case ZYDIS_REGISTER_RBP:
368 case ZYDIS_REGISTER_EBP:
369 case ZYDIS_REGISTER_BP:
370 case ZYDIS_REGISTER_BPL:
371 return 7;
372
373 case ZYDIS_REGISTER_R8:
374 case ZYDIS_REGISTER_R8D:
375 case ZYDIS_REGISTER_R8W:
376 case ZYDIS_REGISTER_R8B:
377 return 8;
378
379 case ZYDIS_REGISTER_R9:
380 case ZYDIS_REGISTER_R9D:
381 case ZYDIS_REGISTER_R9W:

Callers 2

emitPushRegisterFunction · 0.85
emitPopRegisterFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected