004049AE 0F31 rdtsc ; 取时间戳
004049B0 8985 9E000000 mov dword ptr [ebp+9E], eax
004049B6 8995 A2000000 mov dword ptr [ebp+A2], edx
004049BC 8B8D BB000000 mov ecx, dword ptr [ebp+BB] ; 原始的解密KEY
004049C2 8BC1 mov eax, ecx
004049C4 F7E1 mul ecx
004049C6 8BD0 mov edx, eax
004049C8 F7D2 not edx
004049CA 3195 BF000000 xor dword ptr [ebp+BF], edx
004049D0 F7D2 not edx
004049D2 8D9D C3000000 lea ebx, dword ptr [ebp+C3]
004049D8 B9 70030000 mov ecx, 370
004049DD 8DB5 92000000 lea esi, dword ptr [ebp+92]
004049E3 8DBD 96000000 lea edi, dword ptr [ebp+96]
004049E9 FF33 push dword ptr [ebx] ; 保存第二次解密的用的KEY
004049EB 52 push edx
004049EC 0F31 rdtsc ; 想减得到运行时间,用来检测单步
004049EE 8985 A6000000 mov dword ptr [ebp+A6], eax
004049F4 8995 AA000000 mov dword ptr [ebp+AA], edx
004049FA 5A pop edx
004049FB 2B85 9E000000 sub eax, dword ptr [ebp+9E]
00404A01 7D 02 jge short 00404A05
00404A03 F7D8 neg eax
00404A05 C1F8 19 sar eax, 19
00404A08 F7D0 not eax
00404A0A 33D0 xor edx, eax
00404A0C 3113 xor dword ptr [ebx], edx ; 解密
00404A0E 5A pop edx ; 取出第二次解密用的KEY
00404A0F 60 pushad
00404A10 8DB5 A6000000 lea esi, dword ptr [ebp+A6]
00404A16 8DBD 9E000000 lea edi, dword ptr [ebp+9E]
00404A1C 6A 08 push 8
00404A1E 59 pop ecx
00404A1F FC cld
00404A20 F3:A4 rep movs byte ptr es:[edi], byte>
00404A22 61 popad
00404A23 8D85 9A000000 lea eax, dword ptr [ebp+9A]
00404A29 DB06 fild dword ptr [esi]
00404A2B DB07 fild dword ptr [edi]
00404A2D DEC1 faddp st(1), st
00404A2F DB18 fistp dword ptr [eax]
00404A31 0318 add ebx, dword ptr [eax]
00404A33 ^ E2 B4 loopd short 004049E9 ; 循环解密