Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pPAK_Decrypt proc near
- var_8 = dword ptr -8
- var_4 = dword ptr -4
- pBuffer = dword ptr 4
- pPassword = dword ptr 8
- dwSize = dword ptr 0Ch
- sub esp, 8
- push ebx
- push ebp
- mov ebp, [esp+10h+pBuffer]
- xor ecx, ecx
- push esi
- push edi
- mov [esp+18h+var_8], ecx
- mov [esp+18h+var_4], ecx
- mov eax, 5C3Dh
- mov ebx, 9D5Fh
- xor eax, ebx
- mov ebx, eax
- shl eax, 10h
- add eax, ebx
- mov [esp+18h+var_8], eax
- xor eax, 9103h
- mov ebx, eax
- and ebx, 0FFFFh
- shl eax, 10h
- add eax, ebx
- mov [esp+18h+var_4], eax
- mov ebx, [esp+18h+pPassword]
- mov al, [ebx]
- cmp al, cl
- mov esi, [esp+18h+var_8]
- jz short loc_40323B
- mov edi, [esp+18h+var_4]
- loc_403214:
- movzx eax, al
- push eax
- call toupper
- mov ecx, pTable_d[eax*4]
- add esi, edi
- imul edi, 21h
- add esp, 4
- inc ebx
- add edi, eax
- mov al, [ebx]
- xor esi, ecx
- test al, al
- lea edi, [edi+esi+3]
- jnz short loc_403214
- loc_40323B:
- mov edx, [esp+18h+dwSize]
- test edx, edx
- mov eax, 0EEEEEEEEh
- jbe short loc_403289
- jmp short loc_403250
- loc_403250:
- mov edi, [ebp+0]
- mov ecx, esi
- and ecx, 0FFh
- add eax, pTable_e[ecx*4]
- lea ecx, [eax+esi]
- imul eax, 21h
- xor ecx, edi
- mov edi, esi
- not edi
- shl edi, 13h
- sub edi, 55E0129Ah
- shr esi, 0Bh
- mov [ebp+0], ecx
- or esi, edi
- add ebp, 4
- dec edx
- lea eax, [eax+ecx+3]
- jnz short loc_403250
- loc_403289:
- pop edi
- pop esi
- pop ebp
- pop ebx
- add esp, 8
- retn
- pPAK_Decrypt endp
Advertisement
Add Comment
Please, Sign In to add comment