-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathisValid.cpp
184 lines (179 loc) · 10.7 KB
/
isValid.cpp
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/* isValid(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) */
ulong isValid(basic_string param_1)
{
bool bVar1;
bool bVar2;
long lVar3;
char *pcVar4;
undefined4 in_register_0000003c;
char **ppcVar5;
char cVar6;
int iVar7;
long *local_58 [2];
long local_48 [3];
ppcVar5 = (char **)CONCAT44(in_register_0000003c,param_1);
if ((char *)0xe < ppcVar5[1] + -8) {
return 0;
}
lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::find
((char *)ppcVar5,(ulong)" ",0);
if (lVar3 == -1) {
cVar6 = '0';
bVar1 = false;
do {
local_58[0] = local_48;
std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::_M_construct
((ulong)local_58,'\x01');
*(char *)local_58[0] = cVar6;
lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::find
((char *)ppcVar5,(ulong)local_58[0],0);
if (lVar3 != -1) {
bVar1 = true;
}
if (local_58[0] != local_48) {
operator.delete(local_58[0],local_48[0] + 1);
}
cVar6 = cVar6 + '\x01';
} while (cVar6 != ':');
if ((bVar1) &&
((((((((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>
::find((char *)ppcVar5,(ulong)&DAT_0010204c,0), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>
::find((char *)ppcVar5,(ulong)&DAT_0010204e,0), lVar3 != -1)) ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102050,0), lVar3 != -1)) ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102052,0), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102054), lVar3 != -1)))) ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102056), lVar3 != -1 ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102058), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_0010205a), lVar3 != -1)))))) ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_0010205c), lVar3 != -1)) ||
((((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_0010205e), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102060), lVar3 != -1)) ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102062), lVar3 != -1)) ||
(((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102064), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102066), lVar3 != -1)) ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102068), lVar3 != -1 ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_0010206a), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_0010206c), lVar3 != -1)))))))))) ||
((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::find
((char *)ppcVar5,(ulong)&DAT_0010206e), lVar3 != -1 ||
(((lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102070), lVar3 != -1 ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102072), lVar3 != -1)) ||
(lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::
find((char *)ppcVar5,(ulong)&DAT_00102074), lVar3 != -1)))))))) {
bVar2 = false;
iVar7 = 0x41;
do {
local_58[0] = local_48;
std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::_M_construct
((ulong)local_58,'\x01');
lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::find
((char *)ppcVar5,(ulong)local_58[0],0);
if (lVar3 != -1) {
bVar2 = bVar1;
}
if (local_58[0] != local_48) {
operator.delete(local_58[0],local_48[0] + 1);
}
iVar7 = iVar7 + 1;
} while (iVar7 != 0x5b);
if (bVar2) {
bVar1 = false;
iVar7 = 0x5a;
do {
local_58[0] = local_48;
std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::_M_construct
((ulong)local_58,'\x01');
lVar3 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::find
((char *)ppcVar5,(ulong)local_58[0],0);
if (lVar3 != -1) {
bVar1 = bVar2;
}
if (local_58[0] != local_48) {
operator.delete(local_58[0],local_48[0] + 1);
}
iVar7 = iVar7 + 1;
} while (iVar7 != 0x7b);
if ((((((bVar1) && (ppcVar5[1] == (char *)0x16)) &&
(((pcVar4 = *ppcVar5, *pcVar4 == 'c' && ((pcVar4[0x15] == '}' && (pcVar4[1] == 't'))))
&& (pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)pcVar4), *pcVar4 == '!')))) &&
((((((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 'f' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 'n')) &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == '{')) &&
((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 'a' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 'F')))) &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'm')) &&
(((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'r' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'w')) &&
((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'o' &&
(((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == '0' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 's')) &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::
at((ulong)*ppcVar5), *pcVar4 == 'n')))))))))) &&
((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 't' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'S')))) &&
((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'y' &&
((pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'e' &&
(pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5), *pcVar4 == 'T')))))) {
pcVar4 = (char *)std::__cxx11::
basic_string<char,std::char_traits<char>,std::allocator<char>>::at
((ulong)*ppcVar5);
return (ulong)pcVar4 & 0xffffffffffffff00 | (ulong)(*pcVar4 == 'h');
}
}
}
}
return 0;
}