00451F1C > . 55
push
ebp
00451F1D . 8BEC
mov
ebp
,
esp
00451F1F . B9 06000000
mov
ecx
,0x6
00451F24 > > 6A 00
push
0x0
00451F26 . 6A 00
push
0x0
00451F28 . 49
dec
ecx
00451F29 .^ 75 F9
jnz
X<CrackMe.loc_451F24>
00451F2B . 53
push
ebx
00451F2C . 56
push
esi
00451F2D . 57
push
edi
00451F2E . 8BD8
mov
ebx
,
eax
00451F30 . BF 243D4500
mov
edi
,
offset
<CrackMe.dword_453D24>
00451F35 . 33C0
xor
eax
,
eax
00451F37 . 55
push
ebp
00451F38 . 68 00214500
push
<CrackMe.->System.@HandleFinally;>
00451F3D . 64:FF30
push
dword
ptr
fs
:[
eax
]
00451F40 . 64:8920
mov
dword
ptr
fs
:[
eax
],
esp
00451F43 . 8D55 FC
lea
edx
,
dword
ptr
ss
:[
ebp
-0x4]
00451F46 > . 8B83 04030000
mov
eax
,
dword
ptr
ds
:[
ebx
+0x304]
00451F4C > . E8 1BE7FDFF
call
<CrackMe.Controls::TControl::GetTex>
00451F51 . 8D55 F8
lea
edx
,
dword
ptr
ss
:[
ebp
-0x8]
00451F54 > . 8B83 08030000
mov
eax
,
dword
ptr
ds
:[
ebx
+0x308]
00451F5A > . E8 0DE7FDFF
call
<CrackMe.Controls::TControl::GetTex>
00451F5F . 8B45 F8
mov
eax
,
dword
ptr
ss
:[
ebp
-0x8]
00451F62 > . E8 3925FBFF
call
<CrackMe.unknown_libname_53>
00451F67 8BF0
mov
esi
,
eax
00451F69 D1FE
sar
esi
,1
00451F6B 79 03
jns
X<CrackMe.loc_451F70>
00451F6D . 83D6 00
adc
esi
,0x0
00451F70 > > 33C9
xor
ecx
,
ecx
00451F72 . 55
push
ebp
00451F73 . 68 CE204500
push
<CrackMe.->System.@HandleAnyExcepti>
00451F78 . 64:FF31
push
dword
ptr
fs
:[
ecx
]
00451F7B . 64:8921
mov
dword
ptr
fs
:[
ecx
],
esp
00451F7E . 8D45 F0
lea
eax
,
dword
ptr
ss
:[
ebp
-0x10]
00451F81 > . E8 5A22FBFF
call
<CrackMe.System::__linkproc__ LStrC>
00451F86 . 8BDE
mov
ebx
,
esi
00451F88 . 4B
dec
ebx
00451F89 . 85DB
test
ebx
,
ebx
00451F8B . 7C 2C
jl
X<CrackMe.loc_451FB9>
00451F8D . 43
inc
ebx
00451F8E . C745 E8 00000>
mov
dword
ptr
ss
:[
ebp
-0x18],0x0
00451F95 > > 8D45 E4
lea
eax
,
dword
ptr
ss
:[
ebp
-0x1C]
00451F98 . 8B55 E8
mov
edx
,
dword
ptr
ss
:[
ebp
-0x18]
00451F9B . 03D2
add
edx
,
edx
00451F9D . 8B4D F8
mov
ecx
,
dword
ptr
ss
:[
ebp
-0x8]
00451FA0 . 8A1411
mov
dl
,
byte
ptr
ds
:[
ecx
+
edx
]
00451FA3 > . E8 2024FBFF
call
<CrackMe.unknown_libname_48>
00451FA8 . 8B55 E4
mov
edx
,
dword
ptr
ss
:[
ebp
-0x1C]
00451FAB . 8D45 F0
lea
eax
,
dword
ptr
ss
:[
ebp
-0x10]
00451FAE > . E8 F524FBFF
call
<CrackMe.System::__linkproc__ LStrC>
00451FB3 . FF45 E8
inc
dword
ptr
ss
:[
ebp
-0x18]
00451FB6 . 4B
dec
ebx
00451FB7 .^ 75 DC
jnz
X<CrackMe.loc_451F95>
00451FB9 > > 8D45 F4
lea
eax
,
dword
ptr
ss
:[
ebp
-0xC]
00451FBC > . E8 1F22FBFF
call
<CrackMe.System::__linkproc__ LStrC>
00451FC1 . 8BDE
mov
ebx
,
esi
00451FC3 . 85DB
test
ebx
,
ebx
00451FC5 . 7E 2C
jle
X<CrackMe.loc_451FF3>
00451FC7 . C745 E8 01000>
mov
dword
ptr
ss
:[
ebp
-0x18],0x1
00451FCE > > 8D45 E0
lea
eax
,
dword
ptr
ss
:[
ebp
-0x20]
00451FD1 . 8B55 E8
mov
edx
,
dword
ptr
ss
:[
ebp
-0x18]
00451FD4 . 03D2
add
edx
,
edx
00451FD6 . 8B4D F8
mov
ecx
,
dword
ptr
ss
:[
ebp
-0x8]
00451FD9 . 8A5411 FF
mov
dl
,
byte
ptr
ds
:[
ecx
+
edx
-0x1]
00451FDD > . E8 E623FBFF
call
<CrackMe.unknown_libname_48>
00451FE2 . 8B55 E0
mov
edx
,
dword
ptr
ss
:[
ebp
-0x20]
00451FE5 . 8D45 F4
lea
eax
,
dword
ptr
ss
:[
ebp
-0xC]
00451FE8 > . E8 BB24FBFF
call
<CrackMe.System::__linkproc__ LStrC>
00451FED . FF45 E8
inc
dword
ptr
ss
:[
ebp
-0x18]
00451FF0 . 4B
dec
ebx
00451FF1 .^ 75
DB
jnz
X<CrackMe.loc_451FCE>
00451FF3 > > 8BDE
mov
ebx
,
esi
00451FF5 . 85DB
test
ebx
,
ebx
00451FF7 . 7E 48
jle
X<CrackMe.loc_452041>
00451FF9 . C745 E8 01000>
mov
dword
ptr
ss
:[
ebp
-0x18],0x1
00452000 > > 8D45 DC
lea
eax
,
dword
ptr
ss
:[
ebp
-0x24]
00452003 . 8B55 F4
mov
edx
,
dword
ptr
ss
:[
ebp
-0xC]
00452006 . 8B4D E8
mov
ecx
,
dword
ptr
ss
:[
ebp
-0x18]
00452009 . 8A540A FF
mov
dl
,
byte
ptr
ds
:[
edx
+
ecx
-0x1]
0045200D > . E8 B623FBFF
call
<CrackMe.unknown_libname_48>
00452012 . 8B45 DC
mov
eax
,
dword
ptr
ss
:[
ebp
-0x24]
00452015 > . E8 5E61FBFF
call
<CrackMe.Sysutils::StrToInt(System:>
0045201A . 50
push
eax
0045201B . 8D45 D8
lea
eax
,
dword
ptr
ss
:[
ebp
-0x28]
0045201E . 8B55 F0
mov
edx
,
dword
ptr
ss
:[
ebp
-0x10]
00452021 . 8B4D E8
mov
ecx
,
dword
ptr
ss
:[
ebp
-0x18]
00452024 . 8A540A FF
mov
dl
,
byte
ptr
ds
:[
edx
+
ecx
-0x1]
00452028 > . E8 9B23FBFF
call
<CrackMe.unknown_libname_48>
0045202D . 8B45 D8
mov
eax
,
dword
ptr
ss
:[
ebp
-0x28]
00452030 > . E8 4361FBFF
call
<CrackMe.Sysutils::StrToInt(System:>
00452035 . 5A
pop
edx
00452036 . E8 E9F7FFFF
call
<CrackMe.sub_451824>
0045203B . FF45 E8
inc
dword
ptr
ss
:[
ebp
-0x18]
0045203E . 4B
dec
ebx
0045203F .^ 75 BF
jnz
X<CrackMe.loc_452000>
00452041 > 8B47 38
mov
eax
,
dword
ptr
ds
:[
edi
+0x38]
00452044 . 8B57 34
mov
edx
,
dword
ptr
ds
:[
edi
+0x34]
00452047 . 3BC2
cmp
eax
,
edx
00452049 75 79
jnz
X<CrackMe.loc_4520C4>
0045204B 3B47 44
cmp
eax
,
dword
ptr
ds
:[
edi
+0x44]
0045204E 75 74
jnz
X<CrackMe.loc_4520C4>
00452050 3B47 48
cmp
eax
,
dword
ptr
ds
:[
edi
+0x48]
00452053 75 6F
jnz
X<CrackMe.loc_4520C4>
00452055 83FA 09
cmp
edx
,0x9
00452058 75 6A
jnz
X<CrackMe.loc_4520C4>
0045205A . 33C0
xor
eax
,
eax
0045205C . 55
push
ebp
0045205D . 68 7F204500
push
<CrackMe.->System.@HandleAnyExcepti>; 错误处理---指向正确的提示
00452062 . 64:FF30
push
dword
ptr
fs
:[
eax
]
00452065 . 64:8920
mov
dword
ptr
fs
:[
eax
],
esp
00452068 8B45 E8
mov
eax
,
dword
ptr
ss
:[
ebp
-0x18]
0045206B 99
cdq
0045206C F73D 743D4500
idiv
dword
ptr
ds
:[<dword_453D74>]
00452072 8945 E8
mov
dword
ptr
ss
:[
ebp
-0x18],
eax
00452075 . 33C0
xor
eax
,
eax
00452077 . 5A
pop
edx
00452078 . 59
pop
ecx
00452079 . 59
pop
ecx
0045207A . 64:8910
mov
dword
ptr
fs
:[
eax
],
edx
0045207D . EB 1D
jmp
X<CrackMe.loc_45209C>
0045207F > .^ E9 8418FBFF
jmp
<CrackMe.System::__linkproc__ Handle>
00452084 . 6A 00
push
0x0
00452086 . 68 10214500
push
<CrackMe.aS>
0045208B . 68 18214500
push
<CrackMe.aVSJgb>
00452090 . 6A 00
push
0x0
00452092 > . E8 BD48FBFF
call
<CrackMe.MessageBoxA_0>
00452097 > . E8 D41BFBFF
call
<CrackMe.System::__linkproc__ DoneE>
0045209C > > 8D55 D4
lea
edx
,
dword
ptr
ss
:[
ebp
-0x2C]
0045209F . 8B45 E8
mov
eax
,
dword
ptr
ss
:[
ebp
-0x18]
004520A2 > . E8 955FFBFF
call
<CrackMe.Sysutils::IntToStr(
int
)>
004520A7 . 8B45 D4
mov
eax
,
dword
ptr
ss
:[
ebp
-0x2C]
004520AA . 50
push
eax