Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 0046DF04 sub_46DF04 proc near ; CODE XREF: EXECryptor_GetTrialDaysLeft:loc_46F2B9p
- 0046DF04 ; 00470473p
- 0046DF04 ; sub_4707C4+83p
- 0046DF04 ; DATA XREF: sub_472564+C5o
- 0046DF04 ; sub_472564+D2o
- 0046DF04 ; sub_472564+DCo
- 0046DF04 ; ProtectFile+1674o
- 0046DF04 ; ProtectFile+20D2o
- 0046DF04
- 0046DF04 var_64 = dword ptr -64h
- 0046DF04 var_60 = dword ptr -60h
- 0046DF04 var_5C = dword ptr -5Ch
- 0046DF04 var_54 = dword ptr -54h
- 0046DF04 var_50 = dword ptr -50h
- 0046DF04 FatTime = word ptr -3Ch
- 0046DF04 var_38 = dword ptr -38h
- 0046DF04 var_34 = dword ptr -34h
- 0046DF04 var_2C = dword ptr -2Ch
- 0046DF04 var_28 = dword ptr -28h
- 0046DF04 FileTime = FILETIME ptr -24h
- 0046DF04 ReturnCode = dword ptr -1Ch
- 0046DF04 ExitTime = _FILETIME ptr -18h
- 0046DF04 CreationTime = _FILETIME ptr -10h
- 0046DF04 lParam = dword ptr -8
- 0046DF04 var_4 = dword ptr -4
- 0046DF04
- 0046DF04 push ebp
- 0046DF05 mov ebp, esp
- 0046DF07 add esp, 0FFFFFFA4h
- 0046DF0A call sub_46B6D0
- 0046DF0A
- 0046DF0F test al, al
- 0046DF11 jz go_on_5
- 0046DF11
- 0046DF17 mov [ebp+lParam], 0FFFFFFFFh
- 0046DF1E mov [ebp+var_4], 7FFFFFFFh
- 0046DF25 call GetCurrentProcessId_
- 0046DF25
- 0046DF2A mov ds:ProcessId, eax
- 0046DF2F xor eax, eax
- 0046DF31 mov ds:dword_6E0268, eax
- 0046DF36 call sub_46A85C
- 0046DF36
- 0046DF3B test al, al
- 0046DF3D jz short loc_46DF50
- 0046DF3D
- 0046DF3F lea eax, [ebp+lParam]
- 0046DF42 push eax ; lParam
- 0046DF43 lea eax, sub_46DD14
- 0046DF49 push eax ; lpEnumFunc
- 0046DF4A call EnumWindows_
- 0046DF4A
- 0046DF4F retn
- 0046DF4F
- 0046DF50 ; ---------------------------------------------------------------------------
- 0046DF50
- 0046DF50 loc_46DF50: ; CODE XREF: sub_46DF04+39j
- 0046DF50 call sub_46A85C
- 0046DF50
- 0046DF55 test al, al
- 0046DF57 jz short loc_46DF63
- 0046DF57
- 0046DF59 lea eax, [ebp+FileTime]
- 0046DF5C push eax ; lpSystemTimeAsFileTime
- 0046DF5D call GetSystemTimeAsFileTime_
- 0046DF5D
- 0046DF62 retn
- 0046DF62
- 0046DF63 ; ---------------------------------------------------------------------------
- 0046DF63
- 0046DF63 loc_46DF63: ; CODE XREF: sub_46DF04+53j
- 0046DF63 call sub_46A85C
- 0046DF63
- 0046DF68 test al, al
- 0046DF6A jz short loc_46DF9A
- 0046DF6A
- 0046DF6C mov [ebp+var_2C], 0
- 0046DF73 mov [ebp+var_28], 0
- 0046DF7A push 0
- 0046DF7C push 20h
- 0046DF7E lea eax, [ebp+var_5C]
- 0046DF81 push eax
- 0046DF82 push 3
- 0046DF84 call NtQuerySystemInformation_
- 0046DF84
- 0046DF89 test eax, eax
- 0046DF8B jnz short locret_46DF99
- 0046DF8B
- 0046DF8D mov eax, [ebp+var_54]
- 0046DF90 mov [ebp+var_2C], eax
- 0046DF93 mov eax, [ebp+var_50]
- 0046DF96 mov [ebp+var_28], eax
- 0046DF96
- 0046DF99
- 0046DF99 locret_46DF99: ; CODE XREF: sub_46DF04+87j
- 0046DF99 retn
- 0046DF99
- 0046DF9A ; ---------------------------------------------------------------------------
- 0046DF9A
- 0046DF9A loc_46DF9A: ; CODE XREF: sub_46DF04+66j
- 0046DF9A call sub_46A85C
- 0046DF9A
- 0046DF9F test al, al
- 0046DFA1 jz short loc_46DFEB
- 0046DFA1
- 0046DFA3 mov eax, [ebp+FileTime.dwLowDateTime]
- 0046DFA6 mov edx, [ebp+FileTime.dwHighDateTime]
- 0046DFA9 push edx
- 0046DFAA push eax
- 0046DFAB call GetTickCount_
- 0046DFAB
- 0046DFB0 xor edx, edx
- 0046DFB2 push edx
- 0046DFB3 push eax
- 0046DFB4 push 0
- 0046DFB6 push 10000
- 0046DFBB call ImulValues
- 0046DFBB
- 0046DFC0 sub [esp+64h+var_64], eax
- 0046DFC3 sbb [esp+64h+var_60], edx
- 0046DFC7 pop eax
- 0046DFC8 pop edx
- 0046DFC9 mov [ebp+var_38], eax
- 0046DFCC mov [ebp+var_34], edx
- 0046DFCF lea eax, [ebp+ExitTime]
- 0046DFD2 push eax ; lpUserTime
- 0046DFD3 lea eax, [ebp+ExitTime]
- 0046DFD6 push eax ; lpKernelTime
- 0046DFD7 lea eax, [ebp+ExitTime]
- 0046DFDA push eax ; lpExitTime
- 0046DFDB lea eax, [ebp+CreationTime]
- 0046DFDE push eax ; lpCreationTime
- 0046DFDF call GetCurrentProcess_
- 0046DFDF
- 0046DFE4 push eax ; hProcess
- 0046DFE5 call GetProcessTimes_
- 0046DFE5
- 0046DFEA retn
- 0046DFEA
- 0046DFEB ; ---------------------------------------------------------------------------
- 0046DFEB
- 0046DFEB loc_46DFEB: ; CODE XREF: sub_46DF04+9Dj
- 0046DFEB cmp [ebp+var_28], 0
- 0046DFEF jnz short loc_46DFF5
- 0046DFEF
- 0046DFF1 cmp [ebp+var_2C], 0
- 0046DFF1
- 0046DFF5
- 0046DFF5 loc_46DFF5: ; CODE XREF: sub_46DF04+EBj
- 0046DFF5 jz short go_on_1
- 0046DFF5
- 0046DFF7 push [ebp+var_28]
- 0046DFFA push [ebp+var_2C]
- 0046DFFD push [ebp+FileTime.dwHighDateTime]
- 0046E000 push [ebp+FileTime.dwLowDateTime]
- 0046E003 call sub_46DDDC
- 0046E003
- 0046E008 test al, al
- 0046E00A jnz short go_on_1
- 0046E00A
- 0046E00C
- 0046E00C bad_boy_1:
- 0046E00C call DisplayError_ClockManipulationDetected
- 0046E00C
- 0046E011 movzx eax, ax
- 0046E014 mov [ebp+ReturnCode], eax
- 0046E017 jmp exit
- 0046E017
- 0046E01C ; ---------------------------------------------------------------------------
- 0046E01C
- 0046E01C go_on_1: ; CODE XREF: sub_46DF04:loc_46DFF5j
- 0046E01C ; sub_46DF04+106j
- 0046E01C cmp [ebp+var_4], 7FFFFFFFh
- 0046E023 jnz short loc_46E029
- 0046E023
- 0046E025 cmp [ebp+lParam], 0FFFFFFFFh
- 0046E025
- 0046E029
- 0046E029 loc_46E029: ; CODE XREF: sub_46DF04+11Fj
- 0046E029 jz short go_on_4
- 0046E029
- 0046E02B mov eax, [ebp+FileTime.dwLowDateTime]
- 0046E02E mov edx, [ebp+FileTime.dwHighDateTime]
- 0046E031 cmp edx, [ebp+var_4]
- 0046E034 jnz short loc_46E03D
- 0046E034
- 0046E036 cmp eax, [ebp+lParam]
- 0046E039 jnb short go_on_2
- 0046E039
- 0046E03B jmp short bad_boy_2
- 0046E03B
- 0046E03D ; ---------------------------------------------------------------------------
- 0046E03D
- 0046E03D loc_46E03D: ; CODE XREF: sub_46DF04+130j
- 0046E03D jge short go_on_2
- 0046E03D
- 0046E03F
- 0046E03F bad_boy_2: ; CODE XREF: sub_46DF04+137j
- 0046E03F call DisplayError_ClockManipulationDetected
- 0046E03F
- 0046E044 movzx eax, ax
- 0046E047 mov [ebp+ReturnCode], eax
- 0046E04A jmp exit
- 0046E04A
- 0046E04F ; ---------------------------------------------------------------------------
- 0046E04F
- 0046E04F go_on_2: ; CODE XREF: sub_46DF04+135j
- 0046E04F ; sub_46DF04:loc_46E03Dj
- 0046E04F mov eax, [ebp+CreationTime.dwLowDateTime]
- 0046E052 mov edx, [ebp+CreationTime.dwHighDateTime]
- 0046E055 cmp edx, [ebp+var_4]
- 0046E058 jnz short loc_46E061
- 0046E058
- 0046E05A cmp eax, [ebp+lParam]
- 0046E05D jnb short go_on_3
- 0046E05D
- 0046E05F jmp short bad_boy_3
- 0046E05F
- 0046E061 ; ---------------------------------------------------------------------------
- 0046E061
- 0046E061 loc_46E061: ; CODE XREF: sub_46DF04+154j
- 0046E061 jge short go_on_3
- 0046E061
- 0046E063
- 0046E063 bad_boy_3: ; CODE XREF: sub_46DF04+15Bj
- 0046E063 call DisplayError_ClockManipulationDetected
- 0046E063
- 0046E068 movzx eax, ax
- 0046E06B mov [ebp+ReturnCode], eax
- 0046E06E jmp exit
- 0046E06E
- 0046E073 ; ---------------------------------------------------------------------------
- 0046E073
- 0046E073 go_on_3: ; CODE XREF: sub_46DF04+159j
- 0046E073 ; sub_46DF04:loc_46E061j
- 0046E073 mov eax, [ebp+lParam]
- 0046E076 mov edx, [ebp+var_4]
- 0046E079 add edx, 100h
- 0046E07F cmp edx, [ebp+var_34]
- 0046E082 jnz short loc_46E08B
- 0046E082
- 0046E084 cmp eax, [ebp+var_38]
- 0046E087 jnb short go_on_4
- 0046E087
- 0046E089 jmp short bad_boy_4
- 0046E089
- 0046E08B ; ---------------------------------------------------------------------------
- 0046E08B
- 0046E08B loc_46E08B: ; CODE XREF: sub_46DF04+17Ej
- 0046E08B jge short go_on_4
- 0046E08B
- 0046E08D
- 0046E08D bad_boy_4: ; CODE XREF: sub_46DF04+185j
- 0046E08D call DisplayError_ClockManipulationDetected
- 0046E08D
- 0046E092 movzx eax, ax
- 0046E095 mov [ebp+ReturnCode], eax
- 0046E098 jmp short exit
- 0046E098
- 0046E09A ; ---------------------------------------------------------------------------
- 0046E09A
- 0046E09A go_on_4: ; CODE XREF: sub_46DF04:loc_46E029j
- 0046E09A ; sub_46DF04+183j
- 0046E09A ; sub_46DF04:loc_46E08Bj
- 0046E09A mov eax, [ebp+FileTime.dwLowDateTime]
- 0046E09D mov edx, [ebp+FileTime.dwHighDateTime]
- 0046E0A0 add edx, 100h
- 0046E0A6 cmp edx, [ebp+CreationTime.dwHighDateTime]
- 0046E0A9 jnz short loc_46E0B2
- 0046E0A9
- 0046E0AB cmp eax, [ebp+CreationTime.dwLowDateTime]
- 0046E0AE jnb short loc_46E0D4
- 0046E0AE
- 0046E0B0 jmp short bad_boy_5
- 0046E0B0
- 0046E0B2 ; ---------------------------------------------------------------------------
- 0046E0B2
- 0046E0B2 loc_46E0B2: ; CODE XREF: sub_46DF04+1A5j
- 0046E0B2 jge short loc_46E0D4
- 0046E0B2
- 0046E0B4
- 0046E0B4 bad_boy_5: ; CODE XREF: sub_46DF04+1ACj
- 0046E0B4 call DisplayError_ClockManipulationDetected
- 0046E0B4
- 0046E0B9 movzx eax, ax
- 0046E0BC mov [ebp+ReturnCode], eax
- 0046E0BF jmp short exit
- 0046E0BF
- 0046E0C1 ; ---------------------------------------------------------------------------
- 0046E0C1
- 0046E0C1 go_on_5: ; CODE XREF: sub_46DF04+Dj
- 0046E0C1 call sub_46A85C
- 0046E0C1
- 0046E0C6 test al, al
- 0046E0C8 jz short loc_46E0D4
- 0046E0C8
- 0046E0CA lea eax, [ebp+FileTime]
- 0046E0CD push eax ; lpSystemTimeAsFileTime
- 0046E0CE call GetSystemTimeAsFileTime_
- 0046E0CE
- 0046E0D3 retn
- 0046E0D3
- 0046E0D4 ; ---------------------------------------------------------------------------
- 0046E0D4
- 0046E0D4 loc_46E0D4: ; CODE XREF: sub_46DF04+1AAj
- 0046E0D4 ; sub_46DF04:loc_46E0B2j
- 0046E0D4 ; sub_46DF04+1C4j
- 0046E0D4 call sub_46A85C
- 0046E0D4
- 0046E0D9 test al, al
- 0046E0DB jz short pre_exit
- 0046E0DB
- 0046E0DD lea eax, [ebp+FileTime]
- 0046E0E0 push eax ; lpLocalFileTime
- 0046E0E1 lea eax, [ebp+FileTime]
- 0046E0E4 push eax ; lpFileTime
- 0046E0E5 call FileTimeToLocalFileTime_
- 0046E0E5
- 0046E0EA lea eax, [ebp+FatTime]
- 0046E0ED push eax ; lpFatTime
- 0046E0EE lea eax, [ebp-3Ah]
- 0046E0F1 push eax ; lpFatDate
- 0046E0F2 lea eax, [ebp+FileTime]
- 0046E0F5 push eax ; lpFileTime
- 0046E0F6 call FileTimeToDosDateTime_
- 0046E0F6
- 0046E0FB retn
- 0046E0FB
- 0046E0FC ; ---------------------------------------------------------------------------
- 0046E0FC
- 0046E0FC pre_exit: ; CODE XREF: sub_46DF04+1D7j
- 0046E0FC movzx eax, word ptr [ebp-3Ah]
- 0046E100 mov [ebp+ReturnCode], eax
- 0046E100
- 0046E103
- 0046E103 exit: ; CODE XREF: sub_46DF04+113j
- 0046E103 ; sub_46DF04+146j
- 0046E103 ; sub_46DF04+16Aj
- 0046E103 ; sub_46DF04+194j
- 0046E103 ; sub_46DF04+1BBj
- 0046E103 mov eax, [ebp+ReturnCode]
- 0046E106 mov esp, ebp
- 0046E108 pop ebp
- 0046E109 retn
- 0046E109
- 0046E109 sub_46DF04 endp
Add Comment
Please, Sign In to add comment