blob: 74fb0983cbe7e9b4f296926d0af3d0c822f3eeab (
plain) (
blame)
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
|
int __fastcall sub_401BE8(_DWORD *a1)
{
int v2; // r5
int *v3; // r7
int v4; // r5
int v6; // r5
bool v7; // zf
void *v8; // r1
bool v9; // zf
_DWORD *v10; // r0
int v11; // r2
int v12; // [sp+0h] [bp-2Ch] BYREF
unsigned int v13; // [sp+4h] [bp-28h]
int v14; // [sp+8h] [bp-24h]
v2 = a1[4];
sub_401124(a1: &v12, a2: 40);
if ( (unsigned int)(v2 - 1) > 0x3F )
return 259;
v3 = (int *)off_401CE0;
v4 = 257 * v2;
if ( *((_BYTE *)off_401CE0 + v4) == 0 )
return 259;
if ( sub_401F56(a1: &v12) != 0 )
return 576;
v6 = (int)v3 + v4 + 1;
sub_401E6C(a1: v6, a2: 16);
a1[1037] = 16;
sub_401058(a1: a1 + 1033, a2: v6, a3: 16);
if ( *off_401CB8 == 2 )
{
if ( v13 < 3 )
goto LABEL_21;
v9 = v13 == 4;
if ( v13 != 4 )
v9 = v13 == 7;
if ( v9 && v14 == 1 )
LABEL_21:
v8 = off_401CC0;
else
v8 = (void *)dword_401CBC;
a1[2025] = 3947;
v10 = a1 + 1038;
v11 = 3947;
goto LABEL_26;
}
if ( *off_401CB8 == 1 )
{
if ( v13 < 3 )
goto LABEL_14;
v7 = v13 == 4;
if ( v13 != 4 )
v7 = v13 == 7;
if ( v7 && v14 == 1 )
LABEL_14:
v8 = off_401CC8;
else
v8 = off_401CC4;
a1[2025] = 3944;
v10 = a1 + 1038;
v11 = 3944;
LABEL_26:
sub_401058(a1: v10, a2: v8, a3: v11);
}
return 0;
}
|