.text:00403A1E
call
sub_42ABE0
.text:00403A23
mov
[
ebp
+var_52], 45h
.text:00403A27
mov
[
ebp
+var_51], 89h
.text:00403A2B
mov
[
ebp
+var_50], 41h
.text:00403A2F
mov
[
ebp
+var_4F], 80h
.text:00403A33
mov
[
ebp
+var_4E], 42h
.text:00403A37
mov
[
ebp
+var_4D], 59h
.text:00403A3B
mov
[
ebp
+var_4C], 15h
.text:00403A3F
mov
[
ebp
+var_4B], 46h
.text:00403A43
mov
[
ebp
+var_4A], 19h
.text:00403A47
mov
[
ebp
+var_49], 82h
.text:00403A4B
mov
[
ebp
+var_48], 10h
.text:00403A4F
mov
[
ebp
+var_47], 20h
.text:00403A53
mov
[
ebp
+var_46], 87h
.text:00403A57
mov
[
ebp
+var_45], 45h
.text:00403A5B
mov
[
ebp
+var_44], 32h
.text:00403A5F
mov
[
ebp
+var_43], 65h
.text:00403A63
mov
[
ebp
+var_42], 55h
.text:00403A67
mov
[
ebp
+var_41], 11h
.text:00403A6B
mov
[
ebp
+var_40], 22h
.text:00403A6F
mov
[
ebp
+var_3F], 33h
.text:00403A73
mov
[
esp
+0E8h+Time], 0
.text:00403A7A
call
time
.text:00403A7F
mov
[
esp
+0E8h+Time],
eax
.text:00403A82
call
srand
.text:00403A87
mov
[
ebp
+var_1C], 0
.text:00403A8E
lea
eax
, [
ebp
+var_3E]
.text:00403A91
mov
ecx
,
eax
.text:00403A93
call
nullsub_7
.text:00403A98
lea
eax
, [
ebp
+var_3E]
.text:00403A9B
mov
[
esp
+0E8h+DstBuf],
eax
.text:00403A9F
mov
[
esp
+0E8h+Time],
offset
pStr
.text:00403AA6
mov
[
ebp
+var_C8], 1
.text:00403AB0
mov
ecx
, [
ebp
+arg_0]
.text:00403AB3
call
StringEqual
.text:00403AB8
sub
esp
, 8
.text:00403ABB
lea
eax
, [
ebp
+var_3E]
.text:00403ABE
mov
ecx
,
eax
.text:00403AC0
call
StringAllocator
.text:00403AC5
.text:00403AC5 loc_403AC5:
.text:00403AC5
mov
eax
, [
ebp
+arg_8]
.text:00403AC8
sub
eax
, 1
.text:00403ACB
lea
edx
, [
eax
+3]
.text:00403ACE
test
eax
,
eax
.text:00403AD0
cmovs
eax
,
edx
.text:00403AD3
sar
eax
, 2
.text:00403AD6
add
eax
, 1
.text:00403AD9
cmp
eax
, [
ebp
+var_1C]
.text:00403ADC
jle
loc_40400D
.text:00403AE2
mov
[
ebp
+var_1D], 35h
.text:00403AE6
mov
[
ebp
+var_1E], 25h
.text:00403AEA
mov
[
ebp
+var_1F], 45h
.text:00403AEE
mov
[
ebp
+var_20], 55h
.text:00403AF2
call
rand
.text:00403AF7
mov
ecx
,
eax
.text:00403AF9
mov
edx
, 66666667h
.text:00403AFE
mov
eax
,
ecx
.text:00403B00
imul
edx
.text:00403B02
sar
edx
, 3
.text:00403B05
mov
eax
,
ecx
.text:00403B05 encrycode
endp
.text:00403B05
.text:00403B07
.text:00403B07 loc_403B07:
.text:00403B07
sar
eax
, 1Fh
.text:00403B0A
sub
edx
,
eax
.text:00403B0C
mov
eax
,
edx
.text:00403B0E
shl
eax
, 2
.text:00403B11
add
eax
,
edx
.text:00403B13
shl
eax
, 2
.text:00403B16
sub
ecx
,
eax
.text:00403B18
mov
edx
,
ecx
.text:00403B1A
mov
[
ebp
-21h],
dl
.text:00403B1D
call
rand
.text:00403B22
mov
ecx
,
eax
.text:00403B24
mov
edx
, 66666667h
.text:00403B29
mov
eax
,
ecx
.text:00403B2B
imul
edx
.text:00403B2D
sar
edx
, 3
.text:00403B30
mov
eax
,
ecx
.text:00403B32
sar
eax
, 1Fh
.text:00403B35
sub
edx
,
eax
.text:00403B37
mov
eax
,
edx
.text:00403B39
shl
eax
, 2
.text:00403B3C
add
eax
,
edx
.text:00403B3E
shl
eax
, 2
.text:00403B41
sub
ecx
,
eax
.text:00403B43
mov
edx
,
ecx
.text:00403B45
mov
[
ebp
-22h],
dl
.text:00403B48
call
rand
.text:00403B4D
mov
ecx
,
eax
.text:00403B4F
mov
edx
, 80808081h
.text:00403B54
mov
eax
,
ecx
.text:00403B56
imul
edx
.text:00403B58
lea
eax
, [
edx
+
ecx
]
.text:00403B5B
sar
eax
, 7
.text:00403B5E
mov
edx
,
eax
.text:00403B60
mov
eax
,
ecx
.text:00403B62
sar
eax
, 1Fh
.text:00403B65
sub
edx
,
eax
.text:00403B67
mov
eax
,
edx
.text:00403B69
mov
edx
,
eax
.text:00403B6B
shl
edx
, 8
.text:00403B6E
sub
edx
,
eax
.text:00403B70
mov
eax
,
ecx
.text:00403B72
sub
eax
,
edx
.text:00403B74
mov
[
ebp
-23h],
al
.text:00403B77
mov
edx
, [
ebp
-1Ch]
.text:00403B7A
mov
eax
, [
ebp
+0Ch]
.text:00403B7D
add
eax
,
edx
.text:00403B7F
movzx
eax
,
byte
ptr
[
eax
]
.text:00403B82
test
al
,
al
.text:00403B84
jz
short
loc_403BF4
.text:00403B86
movzx
eax
,
byte
ptr
[
ebp
-22h]
.text:00403B8A
movzx
eax
,
byte
ptr
[
ebp
+
eax
-52h]
.text:00403B8F
movzx
eax
,
al
.text:00403B92
and
eax
, 74h
.text:00403B95
mov
edx
,
eax
.text:00403B97
movzx
eax
,
byte
ptr
[
ebp
-21h]
.text:00403B9B
movzx
eax
,
byte
ptr
[
ebp
+
eax
-52h]
.text:00403BA0
or
al
, [
ebp
-1Eh]
.text:00403BA3
movzx
eax
,
al
.text:00403BA6
lea
ecx
, [
eax
+39h]
.text:00403BA9
movzx
eax
,
byte
ptr
[
ebp
-1Dh]
.text:00403BAD
and
eax
,
ecx
.text:00403BAF
mov
ebx
,
edx
.text:00403BB1
xor
ebx
,
eax
.text:00403BB3
mov
edx
, 10FEF011h
.text:00403BB8
mov
eax
,
ebx
.text:00403BBA
imul
edx
.text:00403BBC
sar
edx
, 4
.text:00403BBF
mov
eax
,
ebx
.text:00403BC1
sar
eax
, 1Fh
.text:00403BC4
mov
ecx
,
edx
.text:00403BC6
sub
ecx
,
eax
.text:00403BC8
imul
eax
,
ecx
, 0F1h
.text:00403BCE
sub
ebx
,
eax
.text:00403BD0
mov
ecx
,
ebx
.text:00403BD2
mov
edx
, 44D72045h
.text:00403BD7
mov
eax
,
ecx
.text:00403BD9
imul
edx
.text:00403BDB
sar
edx
, 6
.text:00403BDE
mov
eax
,
ecx
.text:00403BE0
sar
eax
, 1Fh
.text:00403BE3
sub
edx
,
eax
.text:00403BE5
mov
eax
,
edx
.text:00403BE7
imul
eax
, 0EEh
.text:00403BED
sub
ecx
,
eax
.text:00403BEF
mov
eax
,
ecx
.text:00403BF1
mov
[
ebp
-1Dh],
al
.text:00403BF4
.text:00403BF4 loc_403BF4:
.text:00403BF4
mov
eax
, [
ebp
-1Ch]
.text:00403BF7
lea
edx
, [
eax
+1]
.text:00403BFA
mov
eax
, [
ebp
+0Ch]
.text:00403BFD
add
eax
,
edx
.text:00403BFF
movzx
eax
,
byte
ptr
[
eax
]
.text:00403C02
test
al
,
al
.text:00403C04
jz
short
loc_403C62
.text:00403C06
mov
eax
, [
ebp
-1Ch]
.text:00403C09
lea
edx
, [
eax
+1]
.text:00403C0C
mov
eax
, [
ebp
+0Ch]
.text:00403C0F
add
eax
,
edx
.text:00403C11
movzx
eax
,
byte
ptr
[
eax
]
.text:00403C14
movsx
edx
,
al
.text:00403C17
movzx
eax
,
byte
ptr
[
ebp
-21h]
.text:00403C1B
movzx
eax
,
byte
ptr
[
ebp
+
eax
-52h]
.text:00403C20
movzx
eax
,
al
.text:00403C23
and
edx
,
eax
.text:00403C25
movzx
eax
,
byte
ptr
[
ebp
-22h]
.text:00403C29
movzx
eax
,
byte
ptr
[
ebp
+
eax
-52h]
.text:00403C2E
xor
al
, [
ebp
-1Fh]
.text:00403C31
movzx
eax
,
al
.text:00403C34
add
eax
, 26h
.text:00403C37
and
eax
, 16h
.text:00403C3A
mov
ecx
,
edx
.text:00403C3C
xor
ecx
,
eax
.text:00403C3E
mov
edx
, 0E6C2B449h
.text:00403C43
mov
eax
,
ecx
.text:00403C45
imul
edx
.text:00403C47
lea
eax
, [
edx
+
ecx
]
.text:00403C4A
sar
eax
, 6
.text:00403C4D
mov
edx
,
eax
.text:00403C4F
mov
eax
,
ecx
.text:00403C51
sar
eax
, 1Fh
.text:00403C54
sub
edx
,
eax
.text:00403C56
mov
eax
,
edx
.text:00403C58
imul
eax
, 47h
.text:00403C5B
sub
ecx
,
eax
.text:00403C5D
mov
eax
,
ecx
.text:00403C5F
mov
[
ebp
-1Eh],
al
.text:00403C62
.text:00403C62 loc_403C62:
.text:00403C62
mov
eax
, [
ebp
-1Ch]
.text:00403C65
lea
edx
, [
eax
+2]
.text:00403C68
mov
eax
, [
ebp
+0Ch]
.text:00403C6B
add
eax
,
edx
.text:00403C6D
movzx
eax
,
byte
ptr
[
eax
]
.text:00403C70
test
al
,
al
.text:00403C72
jz
loc_403D32
.text:00403C78
mov
eax
, [
ebp
-1Ch]
.text:00403C7B
lea
edx
, [
eax
+2]
.text:00403C7E
mov
eax
, [
ebp
+0Ch]
.text:00403C81
add
eax
,
edx
.text:00403C83
movzx
eax
,
byte
ptr
[
eax
]
.text:00403C86
movsx
ebx
,
al
.text:00403C89
movzx
eax
,
byte
ptr
[
ebp
-21h]
.text:00403C8D
lea
ecx
, [
eax
+8]
.text:00403C90
mov
edx
, 66666667h
.text:00403C95
mov
eax
,
ecx
.text:00403C97
imul
edx
.text:00403C99
sar
edx
, 3
.text:00403C9C
mov
eax
,
ecx
.text:00403C9E
sar
eax
, 1Fh
.text:00403CA1
sub
edx
,
eax
.text:00403CA3
mov
eax
,
edx
.text:00403CA5
shl
eax
, 2
.text:00403CA8
add
eax
,
edx
.text:00403CAA
shl
eax
, 2
.text:00403CAD
sub
ecx
,
eax
.text:00403CAF
mov
edx
,
ecx
.text:00403CB1
movzx
eax
,
byte
ptr
[
ebp
+
edx
-52h]
.text:00403CB6
movzx
eax
,
al
.text:00403CB9
mov
esi
,
ebx
.text:00403CBB
and
esi
,
eax
.text:00403CBD
movzx
ebx
,
byte
ptr
[
ebp
-1Eh]
.text:00403CC1
movzx
eax
,
byte
ptr
[
ebp
-22h]
.text:00403CC5
lea
ecx
, [
eax
+4]
.text:00403CC8
mov
edx
, 66666667h
.text:00403CCD
mov
eax
,
ecx
.text:00403CCF
imul
edx
.text:00403CD1
sar
edx
, 3
.text:00403CD4
mov
eax
,
ecx
.text:00403CD6
sar
eax
, 1Fh
.text:00403CD9
sub
edx
,
eax
.text:00403CDB
mov
eax
,
edx
.text:00403CDD
shl
eax
, 2
.text:00403CE0
add
eax
,
edx
.text:00403CE2
shl
eax
, 2
.text:00403CE5
sub
ecx
,
eax
.text:00403CE7
mov
edx
,
ecx
.text:00403CE9
movzx
eax
,
byte
ptr
[
ebp
+
edx
-52h]
.text:00403CEE
xor
al
, [
ebp
-1Fh]
.text:00403CF1
movzx
eax
,
al
.text:00403CF4
add
eax
,
ebx
.text:00403CF6
and
eax
, 99h
.text:00403CFB
xor
esi
,
eax
.text:00403CFD
mov
ecx
,
esi
.text:00403CFF
mov
edx
, 88888889h
.text:00403D04
mov
eax
,
ecx
.text:00403D06
imul
edx
.text:00403D08
lea
eax
, [
edx
+
ecx
]
.text:00403D0B
sar
eax
, 6
.text:00403D0E
mov
edx
,
eax
.text:00403D10
mov
eax
,
ecx
.text:00403D12
sar
eax
, 1Fh
.text:00403D15
sub
edx
,
eax
.text:00403D17
mov
eax
,
edx
.text:00403D19
mov
edx
,
eax
.text:00403D1B
lea
eax
,
ds
:0[
edx
*8]
.text:00403D22
mov
edx
,
eax
.text:00403D24
mov
eax
,
edx
.text:00403D26
shl
eax
, 4
.text:00403D29
sub
eax
,
edx
.text:00403D2B
sub
ecx
,
eax
.text:00403D2D
mov
eax
,
ecx
.text:00403D2F
mov
[
ebp
-1Fh],
al
.text:00403D32
.text:00403D32 loc_403D32:
.text:00403D32
mov
eax
, [
ebp
-1Ch]
.text:00403D35
lea
edx
, [
eax
+3]
.text:00403D38
mov
eax
, [
ebp
+0Ch]
.text:00403D3B
add
eax
,
edx
.text:00403D3D
movzx
eax
,
byte
ptr
[
eax
]
.text:00403D40
test
al
,
al
.text:00403D42
jz
loc_403DF1
.text:00403D48
mov
eax
, [
ebp
-1Ch]
.text:00403D4B
lea
edx
, [
eax
+3]
.text:00403D4E
mov
eax
, [
ebp
+0Ch]
.text:00403D51
add
eax
,
edx
.text:00403D53
movzx
eax
,
byte
ptr
[
eax
]
.text:00403D56
movsx
ebx
,
al
.text:00403D59
movzx
eax
,
byte
ptr
[
ebp
-21h]
.text:00403D5D
lea
ecx
, [
eax
+0Ah]
.text:00403D60
mov
edx
, 66666667h
.text:00403D65
mov
eax
,
ecx
.text:00403D67
imul
edx
.text:00403D69
sar
edx
, 3
.text:00403D6C
mov
eax
,
ecx
.text:00403D6E
sar
eax
, 1Fh
.text:00403D71
sub
edx
,
eax
.text:00403D73
mov
eax
,
edx
.text:00403D75
shl
eax
, 2
.text:00403D78
add
eax
,
edx
.text:00403D7A
shl
eax
, 2
.text:00403D7D
sub
ecx
,
eax
.text:00403D7F
mov
edx
,
ecx
.text:00403D81
movzx
eax
,
byte
ptr
[
ebp
+
edx
-52h]
.text:00403D86
movzx
eax
,
al
.text:00403D89
mov
esi
,
ebx
.text:00403D8B
and
esi
,
eax
.text:00403D8D
movzx
ebx
,
byte
ptr
[
ebp
-1Fh]
.text:00403D91
movzx
eax
,
byte
ptr
[
ebp
-22h]
.text:00403D95
lea
ecx
, [
eax
+0Ch]
.text:00403D98
mov
edx
, 66666667h
.text:00403D9D
mov
eax
,
ecx
.text:00403D9F
imul
edx
.text:00403DA1
sar
edx
, 3
.text:00403DA4
mov
eax
,
ecx
.text:00403DA6
sar
eax
, 1Fh
.text:00403DA9
sub
edx
,
eax
.text:00403DAB
mov
eax
,
edx
.text:00403DAD
shl
eax
, 2
.text:00403DB0
add
eax
,
edx
.text:00403DB2
shl
eax
, 2
.text:00403DB5
sub
ecx
,
eax
.text:00403DB7
mov
edx
,
ecx
.text:00403DB9
movzx
eax
,
byte
ptr
[
ebp
+
edx
-52h]
.text:00403DBE
and
al
, [
ebp
-20h]
.text:00403DC1
movzx
eax
,
al
.text:00403DC4
add
eax
,
ebx
.text:00403DC6
and
eax
, 16h
.text:00403DC9
xor
esi
,
eax
.text:00403DCB
mov
ecx
,
esi
.text:00403DCD
mov
edx
, 66666667h
.text:00403DD2
mov
eax
,
ecx
.text:00403DD4
imul
edx
.text:00403DD6
sar
edx
, 3
.text:00403DD9
mov
eax
,
ecx
.text:00403DDB
sar
eax
, 1Fh
.text:00403DDE
sub
edx
,
eax
.text:00403DE0
mov
eax
,
edx
.text:00403DE2
shl
eax
, 2
.text:00403DE5
add
eax
,
edx
.text:00403DE7
shl
eax
, 2
.text:00403DEA
sub
ecx
,
eax
.text:00403DEC
mov
edx
,
ecx
.text:00403DEE
mov
[
ebp
-20h],
dl
.text:00403DF1
.text:00403DF1 loc_403DF1:
.text:00403DF1
mov
dword
ptr
[
ebp
-28h], 100000h
.text:00403DF8
movzx
eax
,
byte
ptr
[
ebp
-1Dh]
.text:00403DFC
shl
eax
, 8
.text:00403DFF
mov
[
ebp
-2Ch],
eax
.text:00403E02
movzx
eax
,
byte
ptr
[
ebp
-1Eh]
.text:00403E06
shl
eax
, 10h
.text:00403E09
mov
[
ebp
-30h],
eax
.text:00403E0C
movzx
eax
,
byte
ptr
[
ebp
-1Fh]
.text:00403E10
shl
eax
, 18h
.text:00403E13
mov
[
ebp
-34h],
eax
.text:00403E16
movzx
eax
,
byte
ptr
[
ebp
-20h]
.text:00403E1A
shl
eax
, 18h
.text:00403E1D
mov
[
ebp
-38h],
eax
.text:00403E20
mov
edx
, [
ebp
-2Ch]
.text:00403E23
mov
eax
, [
ebp
-30h]
.text:00403E26
add
edx
,
eax
.text:00403E28
mov
eax
, [
ebp
-34h]
.text:00403E2B
add
edx
,
eax
.text:00403E2D
mov
eax
, [
ebp
-38h]
.text:00403E30
add
eax
,
edx
.text:00403E32
add
[
ebp
-28h],
eax
.text:00403E35
movzx
eax
,
byte
ptr
[
ebp
-23h]
.text:00403E39
mov
eax
, dword_4BE020[
eax
*4]
.text:00403E40
and
eax
, [
ebp
-28h]
.text:00403E43
mov
ebx
,
eax
.text:00403E45
movzx
eax
,
byte
ptr
[
ebp
-23h]
.text:00403E49
lea
ecx
, [
eax
+60h]
.text:00403E4C
mov
edx
, 80808081h
.text:00403E51
mov
eax
,
ecx
.text:00403E53
imul
edx
.text:00403E55
lea
eax
, [
edx
+
ecx
]
.text:00403E58
sar
eax
, 7
.text:00403E5B
mov
edx
,
eax
.text:00403E5D
mov
eax
,
ecx
.text:00403E5F
sar
eax
, 1Fh
.text:00403E62
sub
edx
,
eax
.text:00403E64
mov
eax
,
edx
.text:00403E66
mov
edx
,
eax
.text:00403E68
shl
edx
, 8
.text:00403E6B
sub
edx
,
eax
.text:00403E6D
mov
eax
,
ecx
.text:00403E6F
sub
eax
,
edx
.text:00403E71
mov
eax
, dword_4BE020[
eax
*4]
.text:00403E78
xor
ebx
,
eax
.text:00403E7A
movzx
eax
,
byte
ptr
[
ebp
-23h]
.text:00403E7E
lea
ecx
, [
eax
+2Dh]
.text:00403E81
mov
edx
, 80808081h
.text:00403E86
mov
eax
,
ecx
.text:00403E88
imul
edx
.text:00403E8A
lea
eax
, [
edx
+
ecx
]
.text:00403E8D
sar
eax
, 7
.text:00403E90
mov
edx
,
eax
.text:00403E92
mov
eax
,
ecx
.text:00403E94
sar
eax
, 1Fh
.text:00403E97
sub
edx
,
eax
.text:00403E99
mov
eax
,
edx
.text:00403E9B
mov
edx
,
eax
.text:00403E9D
shl
edx
, 8
.text:00403EA0
sub
edx
,
eax
.text:00403EA2
mov
eax
,
ecx
.text:00403EA4
sub
eax
,
edx
.text:00403EA6
mov
eax
, dword_4BE020[
eax
*4]
.text:00403EAD
xor
eax
,
ebx
.text:00403EAF
mov
[
ebp
-3Ch],
eax
.text:00403EB2
mov
eax
, [
ebp
-3Ch]
.text:00403EB5
mov
dword
ptr
[
esp
+8], 0Ah
.text:00403EBD
lea
edx
, [
ebp
-94h]
.text:00403EC3
mov
[
esp
+4],
edx
.text:00403EC7
mov
[
esp
],
eax
.text:00403ECA
call
_itoa
.text:00403ECF
lea
eax
, [
ebp
-3Dh]