Por falta de tiempo he echado un vistazo muy rapido ... las pruebas las he realizado sobre la appz "llave.exe"
1ª Aproximación
0043D6B2 |. FF15 70D34600 CALL DWORD PTR DS:[<&hkey-w32.HARDkey>] ; hkey-w32.HARDkey
0043D6B8 |. B8 841F4600 MOV EAX,llave.00461F84 ; ASCII "a&j8\"iP09b%(1!kd"
0043D6BD |. E8 E203FDFF CALL llave.0040DAA4
0043D6C2 |. B8 C8000000 MOV EAX,0C8
0043D6C7 |. BB A4234600 MOV EBX,llave.004623A4
0043D6CC |. E8 57050000 CALL llave.0043DC28
0043D6D1 |. 68 C8000000 PUSH 0C8 ; /Arg2 = 000000C8
0043D6D6 |. 68 78244600 PUSH llave.00462478 ; |Arg1 = 00462478
0043D6DB |. B8 C8000000 MOV EAX,0C8 ; |
0043D6E0 |. BB A4234600 MOV EBX,llave.004623A4 ; |
0043D6E5 |. B9 0B000000 MOV ECX,0B ; |
0043D6EA |. BA 6C244600 MOV EDX,llave.0046246C ; |
0043D6EF |. E8 3C020000 CALL llave.0043D930 ; \llave.0043D930
0043D6F4 |. 83F8 00 CMP EAX,0
0043D6F7 74 5D JE SHORT llave.0043D756 <----------- Patch 1
2ª Aproximación
0043DBC6 |. 83F8 00 CMP EAX,0
0043DBC9 74 17 JE SHORT llave.0043DBE2 <----------- Patch 2
0043DBCB |. 8B4424 24 MOV EAX,DWORD PTR SS:[ESP+24]
0043DBCF |. 8B5C24 28 MOV EBX,DWORD PTR SS:[ESP+28]
0043DBD3 |. B9 485A4600 MOV ECX,llave.00465A48 ; ASCII "No hay drivers HARDkey instalados"
0043DBD8 |. BA 21000000 MOV EDX,21
0043DBDD |. E8 4EBEFCFF CALL llave.00409A30
0043DBE2 |> 89F0 MOV EAX,ESI ; ntdll.77112100
0043DBE4 |. E8 BBFEFCFF CALL llave.0040DAA4
0043DBE9 |. B8 6C5A4600 MOV EAX,llave.00465A6C ; ASCII "00021"
3º y 4º Aproximación
0045FF3C /$ 50 PUSH EAX
0045FF3D |. 803D 7C2C4600 00 CMP BYTE PTR DS:[462C7C],0
0045FF44 74 07 JE SHORT llave.0045FF4D <----------- Patch 3
0045FF46 |. C605 7C2C4600 01 MOV BYTE PTR DS:[462C7C],1
0045FF4D |> 833D 00924600 00 CMP DWORD PTR DS:[469200],0
0045FF54 74 36 JE SHORT llave.0045FF8C <----------- Patch 4
....
Con estos Patches conseguimos el Mensaje "SE ENCONTRO LA LLAVE ELECTRONICA" 0000-00000
Más tiempo no he tenido --- para seguir comprobando, espero que este poco te pueda servir
Un saludo
+Er@ser