1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
.text:004011C0 ; int __cdecl sub_4011C0(char *)
.text:004011C0 sub_4011C0 proc near ; CODE XREF: _main+4Bp
.text:004011C0
.text:004011C0 var_80 = byte ptr -80h
.text:004011C0 var_7F = byte ptr -7Fh
.text:004011C0 var_7E = byte ptr -7Eh
.text:004011C0 var_7D = byte ptr -7Dh
.text:004011C0 var_7C = byte ptr -7Ch
.text:004011C0 var_7B = byte ptr -7Bh
.text:004011C0 var_7A = byte ptr -7Ah
.text:004011C0 var_79 = byte ptr -79h
.text:004011C0 var_78 = byte ptr -78h
.text:004011C0 var_77 = byte ptr -77h
.text:004011C0 var_76 = byte ptr -76h
.text:004011C0 var_75 = byte ptr -75h
.text:004011C0 var_74 = byte ptr -74h
.text:004011C0 var_73 = byte ptr -73h
.text:004011C0 var_72 = byte ptr -72h
.text:004011C0 var_71 = byte ptr -71h
.text:004011C0 var_70 = byte ptr -70h
.text:004011C0 arg_0 = dword ptr 8
.text:004011C0
.text:004011C0 push ebp
.text:004011C1
.text:004011C1 loc_4011C1:
.text:004011C1 mov ebp, esp
.text:004011C3 sub esp, 80h
.text:004011C9 push 80h ; size_t
.text:004011CE push 0 ; int
.text:004011D0 lea eax, [ebp+var_80]
.text:004011D3 push eax ; void *
.text:004011D4 call _memset
.text:004011D4
.text:004011D9 add esp, 0Ch
.text:004011DC mov [ebp+var_70], 0
.text:004011E0 mov [ebp+var_75], 73h
.text:004011E4 mov [ebp+var_80], 74h
.text:004011E8 mov [ebp+var_76], 73h
.text:004011EC mov [ebp+var_7F], 68h
.text:004011F0 mov [ebp+var_7A], 6Dh
.text:004011F4 mov [ebp+var_7C], 69h
.text:004011F8 mov [ebp+var_7B], 73h
.text:004011FC mov [ebp+var_71], 64h
.text:00401200 mov [ebp+var_74], 77h
.text:00401204 mov [ebp+var_7E], 69h
.text:00401208 mov [ebp+var_7D], 73h
.text:0040120C mov [ebp+var_78], 70h
.text:00401210 mov [ebp+var_73], 6Fh
.text:00401214 mov [ebp+var_72], 72h
.text:00401218 mov [ebp+var_79], 79h
.text:0040121C mov [ebp+var_77], 61h
.text:00401220 mov ecx, [ebp+arg_0]
.text:00401223 push ecx ; char *
.text:00401224 lea edx, [ebp+var_80]
.text:00401227 push edx ; char *
.text:00401228 call _strcmp
.text:00401228
.text:0040122D add esp, 8
.text:00401230 test eax, eax
.text:00401232 jz short loc_401247
.text:00401232
.text:00401234 push offset s->InvalidPassword ; "\n******* INVALID PASSWORD *******\n"
.text:00401239 call sub_401554
.text:00401239
.text:0040123E add esp, 4
.text:00401241 or al, 0FFh
.text:00401243 jmp short loc_40125D
.text:00401243
.text:00401245 ; ---------------------------------------------------------------------------
.text:00401245 jmp short loc_40125D
.text:00401245
.text:00401247 ; ---------------------------------------------------------------------------
.text:00401247
.text:00401247 loc_401247: ; CODE XREF: sub_4011C0+72j
.text:00401247 mov eax, [ebp+arg_0]
.text:0040124A push eax
.text:0040124B push offset s->SIsCorrect_ ; "%s is correct. \n\n"
.text:00401250 call sub_401554
.text:00401250
.text:00401255 add esp, 8
.text:00401258 call sub_401000
.text:00401258
.text:0040125D
.text:0040125D loc_40125D: ; CODE XREF: sub_4011C0+83j
.text:0040125D ; sub_4011C0+85j
.text:0040125D mov esp, ebp
.text:0040125F pop ebp
.text:00401260 retn
.text:00401260
.text:00401260 sub_4011C0 endp
|