Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Похоже это и есть функция проверки CD */
- uint __cdecl krnfileDeviceIsResponding(int param_1)
- {
- bool bVar1;
- uint uVar2;
- uint3 extraout_var;
- int iVar3;
- uint uVar4;
- uint extraout_EAX;
- ushort uVar5;
- HANDLE local_410;
- char local_40c [260];
- char text_error [512];
- undefined4 local_108 [66];
- char *string_error;
- /* 0xf3b0 141 krnfileDeviceIsResponding */
- FUN_0040f6d0(param_1);
- FUN_0041c450(local_40c,(byte *)s_%s\%s_004325c0);
- uVar5 = 0;
- do {
- uVar2 = FUN_004125d0(local_40c,&local_410,local_108);
- FUN_004126b0(local_410);
- uVar4 = (uint)extraout_var << 8;
- if ((short)uVar2 == 0) { // <- здесь JZ поменял на JNZ, чтобы вылететь за пределы цикла (в листинге асм этого изменения нет)
- if (param_1 == 2) {
- string_error = s_You_must_have_the_%s_CD_inserted_00432520;
- }
- else {
- string_error = s_Unable_to_access_drive_%s._Pleas_004324a4;
- }
- FUN_0041c450(text_error,(byte *)string_error);
- iVar3 = TEST_ERROR(text_error,2);
- if (iVar3 == 3) {
- bVar1 = true;
- Sleep(2000);
- uVar4 = extraout_EAX;
- }
- else {
- uVar4 = iVar3 - 4;
- if (uVar4 == 0) {
- bVar1 = false;
- }
- else {
- bVar1 = false;
- }
- }
- }
- else {
- uVar5 = 1;
- bVar1 = false;
- }
- } while (bVar1);
- return uVar4 & 0xffff0000 | (uint)uVar5;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement