int __cdecl quest__dungeon_new_j ump int a1 int v1 ecx char v2 ST10_1

 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
int __cdecl quest__dungeon_new_jump(int a1)
{
int v1; // ecx@3
char v2; // ST10_1@3
int result; // eax@4
char v4; // ST10_1@8
signed int v5; // ebx@11
int v6; // edi@12
int v7; // ebx@14
double v8; // ST18_8@14
long double v9; // fst7@14
int v10; // [sp+34h] [bp-14h]@1
v10 = *(_DWORD *)_stack_chk_guard;
if ( lua_gettop(a1) > 2 )
{
if ( lua_isnumber(a1, 1) && lua_isnumber(a1, 2) && lua_isnumber(a1, 3) )
{
v5 = (signed int)lua_tonumber(a1, 1);
if ( !singleton_CDungeonManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v6 = CDungeonManager__Create(singleton_CDungeonManager___ms_singleton, v5);
if ( v6 )
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v7 = *(_DWORD *)(singleton_quest__CQuestManager___ms_singleton + 220);
v8 = lua_tonumber(a1, 3);
v9 = lua_tonumber(a1, 2);
CHARACTER__WarpSet(v7, *(_DWORD *)(v6 + 4), (signed int)v9, (signed int)v8);
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
261,
"cannot create dungeon %d",
v5);
}
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
251,
"wrong argument",
v4);
}
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
245,
"not enough argument",
v2);
}
result = 0;
if ( *(_DWORD *)_stack_chk_guard != v10 )
__stack_chk_fail(v1, *(_DWORD *)_stack_chk_guard ^ v10);
return result;
}