После использования IDA Pro для дизассемблирования dll x86 я нашел этот код (комментарии добавлены мной в код pusedo-c. Надеюсь, они верны):
test ebx, ebx ; if (ebx == false)
jz short loc_6385A34B ; Jump to 0x6385a34b
mov eax, [ebx+84h] ; eax = *(ebx+0x84)
mov ecx, [esi+84h] ; ecx = *(esi+0x84)
mov al, [eax+30h] ; al = *(*(ebx+0x84)+0x30)
xor al, [ecx+30h] ; al = al XOR *(*(esi+0x84)+0x30)
jnz loc_6385A453
Позвольте мне сделать это проще для понимания:
mov eax, b3h
xor eax, d6h
jnz ...
Как работает инструкция условного перехода после инструкции xor?