| 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: |
no outgoing calls
no test coverage detected