Complete decompilation of the retail Asheron's Call client using Ghidra 12.0.4 + pyghidra headless. 22,225 of 22,226 functions successfully decompiled in 75 seconds. Output: docs/research/decompiled/ (54 files, 688,567 lines of C) Key findings already identified: - CLandBlockStruct::ConstructPolygons at chunk_00530000.c:2270 (split direction formula with 0x0CCAC033 constants) - Motion command handlers at chunk_00510000.c (0x45000005 etc) - Motion interpreter at chunk_00520000.c - Portal space UI at chunk_004D0000.c and chunk_00560000.c Next: identify CPhysicsObj, CMotionInterp, collision, and movement functions by cross-referencing against ACE's C# port. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14605 lines
339 KiB
C
14605 lines
339 KiB
C
// Decompiled from acclient.exe — chunk 0x006A0000
|
|
// Ghidra 12.0.4 + pyghidra headless
|
|
|
|
// --- FUN_006a0020 at 0x006A0020 (size: 209) ---
|
|
|
|
|
|
void __thiscall
|
|
|
|
FUN_006a0020(int param_1,int *param_2,undefined4 param_3,int *param_4,undefined4 param_5)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
int local_14;
|
|
|
|
int local_10;
|
|
|
|
int local_c;
|
|
|
|
int local_8;
|
|
|
|
int local_4;
|
|
|
|
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = *param_2;
|
|
|
|
if ((*(int *)(param_1 + 0x98) != 0) && (local_14 = param_4[2], local_14 != 0)) {
|
|
|
|
iVar4 = local_14 << 4;
|
|
|
|
do {
|
|
|
|
iVar4 = iVar4 + -0x10;
|
|
|
|
piVar3 = (int *)(*param_4 + iVar4);
|
|
|
|
local_10 = *piVar3 - iVar2;
|
|
|
|
local_c = piVar3[1] - iVar1;
|
|
|
|
local_8 = piVar3[2] - iVar2;
|
|
|
|
local_4 = piVar3[3] - iVar1;
|
|
|
|
FUN_00694a40(*(undefined4 *)(param_1 + 0xa8),*(undefined4 *)(param_1 + 0xa0),param_2,piVar3,
|
|
|
|
&local_10,param_1 + 0x8c,param_5);
|
|
|
|
local_14 = local_14 + -1;
|
|
|
|
} while (local_14 != 0);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0100 at 0x006A0100 (size: 142) ---
|
|
|
|
|
|
int * __thiscall FUN_006a0100(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
int iVar5;
|
|
|
|
int iVar6;
|
|
|
|
undefined8 uVar7;
|
|
|
|
|
|
|
|
iVar5 = *(int *)(param_1 + 0xb0);
|
|
|
|
iVar1 = *(int *)(param_1 + 0x84);
|
|
|
|
iVar2 = *(int *)(param_1 + 0x7c);
|
|
|
|
iVar3 = *(int *)(param_1 + 0x80);
|
|
|
|
iVar4 = *(int *)(param_1 + 0x88);
|
|
|
|
if ((iVar5 == 0) && (*(int *)(param_1 + 0xac) != 0)) {
|
|
|
|
uVar7 = FUN_0069fd70();
|
|
|
|
param_1 = (int)((ulonglong)uVar7 >> 0x20);
|
|
|
|
iVar6 = (int)uVar7 + iVar3;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar6 = 0;
|
|
|
|
}
|
|
|
|
if ((iVar5 == 0) && (*(int *)(param_1 + 0xac) != 0)) {
|
|
|
|
uVar7 = FUN_0069fd40();
|
|
|
|
iVar5 = (int)uVar7 + *(int *)((int)((ulonglong)uVar7 >> 0x20) + 0x7c);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar5 = 0;
|
|
|
|
}
|
|
|
|
*param_2 = iVar5;
|
|
|
|
param_2[1] = iVar6;
|
|
|
|
param_2[3] = (iVar4 - iVar3) + iVar6;
|
|
|
|
param_2[2] = (iVar5 - iVar2) + iVar1;
|
|
|
|
return param_2;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0190 at 0x006A0190 (size: 73) ---
|
|
|
|
|
|
int __fastcall FUN_006a0190(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined8 uVar2;
|
|
|
|
|
|
|
|
if (*(int *)(param_1 + 0xb0) != 0) {
|
|
|
|
return (*(int *)(param_1 + 0x84) - *(int *)(param_1 + 0x7c)) +
|
|
|
|
*(int *)(*(int *)(param_1 + 0xb0) + 0x20);
|
|
|
|
}
|
|
|
|
if (*(int *)(param_1 + 0xac) != 0) {
|
|
|
|
uVar2 = FUN_0069fe00();
|
|
|
|
iVar1 = (int)((ulonglong)uVar2 >> 0x20);
|
|
|
|
return (*(int *)(iVar1 + 0x84) - *(int *)(iVar1 + 0x7c)) + (int)uVar2 + *(int *)(iVar1 + 0x7c);
|
|
|
|
}
|
|
|
|
return *(int *)(param_1 + 0x84) - *(int *)(param_1 + 0x7c);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a01e0 at 0x006A01E0 (size: 85) ---
|
|
|
|
|
|
int __fastcall FUN_006a01e0(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined8 uVar2;
|
|
|
|
|
|
|
|
if (*(int *)(param_1 + 0xb0) != 0) {
|
|
|
|
return (*(int *)(param_1 + 0x88) - *(int *)(param_1 + 0x80)) +
|
|
|
|
*(int *)(*(int *)(param_1 + 0xb0) + 0x24);
|
|
|
|
}
|
|
|
|
if (*(int *)(param_1 + 0xac) != 0) {
|
|
|
|
uVar2 = FUN_0069fe30();
|
|
|
|
iVar1 = (int)((ulonglong)uVar2 >> 0x20);
|
|
|
|
return (*(int *)(iVar1 + 0x88) - *(int *)(iVar1 + 0x80)) + (int)uVar2 + *(int *)(iVar1 + 0x80);
|
|
|
|
}
|
|
|
|
return *(int *)(param_1 + 0x88) - *(int *)(param_1 + 0x80);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0240 at 0x006A0240 (size: 243) ---
|
|
|
|
|
|
void __thiscall FUN_006a0240(int param_1,undefined4 *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
char cVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
undefined4 local_30;
|
|
|
|
undefined4 local_2c;
|
|
|
|
int local_28;
|
|
|
|
int local_24;
|
|
|
|
undefined4 local_20;
|
|
|
|
undefined4 local_1c;
|
|
|
|
undefined4 local_18;
|
|
|
|
undefined4 local_14;
|
|
|
|
undefined4 local_10 [4];
|
|
|
|
|
|
|
|
iVar1 = *(int *)(param_1 + 0xb0);
|
|
|
|
local_30 = 0;
|
|
|
|
local_28 = -1;
|
|
|
|
local_2c = 0;
|
|
|
|
local_24 = -1;
|
|
|
|
if (iVar1 == 0) {
|
|
|
|
if (*(int *)(param_1 + 0xac) != 0) {
|
|
|
|
puVar3 = (undefined4 *)FUN_006a0240(&local_20);
|
|
|
|
if (&local_30 != puVar3) {
|
|
|
|
local_30 = *puVar3;
|
|
|
|
local_28 = puVar3[2];
|
|
|
|
local_2c = puVar3[1];
|
|
|
|
local_24 = puVar3[3];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
local_28 = *(int *)(iVar1 + 0x28) + -1;
|
|
|
|
local_24 = *(int *)(iVar1 + 0x2c) + -1;
|
|
|
|
local_30 = 0;
|
|
|
|
local_2c = 0;
|
|
|
|
}
|
|
|
|
puVar3 = &local_20;
|
|
|
|
local_20 = 0;
|
|
|
|
local_1c = 0;
|
|
|
|
local_18 = 0;
|
|
|
|
local_14 = 0;
|
|
|
|
uVar4 = FUN_006a0100(local_10);
|
|
|
|
cVar2 = FUN_00466680(uVar4,puVar3);
|
|
|
|
if (cVar2 == '\0') {
|
|
|
|
if (param_2 != local_10) {
|
|
|
|
*param_2 = 0;
|
|
|
|
param_2[1] = 0;
|
|
|
|
param_2[2] = 0xffffffff;
|
|
|
|
param_2[3] = 0xffffffff;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (param_2 != &local_20) {
|
|
|
|
*param_2 = local_20;
|
|
|
|
param_2[2] = local_18;
|
|
|
|
param_2[1] = local_1c;
|
|
|
|
param_2[3] = local_14;
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0340 at 0x006A0340 (size: 169) ---
|
|
|
|
|
|
void __thiscall FUN_006a0340(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined8 uVar3;
|
|
|
|
int local_20;
|
|
|
|
int local_1c;
|
|
|
|
int local_18;
|
|
|
|
int local_14;
|
|
|
|
int local_10;
|
|
|
|
int local_c;
|
|
|
|
|
|
|
|
FUN_006a0240(&local_20);
|
|
|
|
FUN_006a0100(&local_10);
|
|
|
|
iVar1 = *(int *)(param_1 + 0xb0);
|
|
|
|
if (iVar1 == 0) {
|
|
|
|
if (*(int *)(param_1 + 0xac) == 0) {
|
|
|
|
iVar2 = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar2 = FUN_0069fe30();
|
|
|
|
iVar2 = iVar2 + *(int *)(param_1 + 0x80);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar2 = *(int *)(iVar1 + 0x24);
|
|
|
|
}
|
|
|
|
if (iVar1 == 0) {
|
|
|
|
if (*(int *)(param_1 + 0xac) == 0) {
|
|
|
|
iVar1 = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
uVar3 = FUN_0069fe00();
|
|
|
|
iVar2 = (int)((ulonglong)uVar3 >> 0x20);
|
|
|
|
iVar1 = (int)uVar3 + *(int *)(param_1 + 0x7c);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar1 = *(int *)(iVar1 + 0x20);
|
|
|
|
}
|
|
|
|
iVar2 = (local_1c - local_c) + iVar2;
|
|
|
|
iVar1 = (iVar1 - local_10) + local_20;
|
|
|
|
param_2[1] = iVar2;
|
|
|
|
*param_2 = iVar1;
|
|
|
|
param_2[2] = (local_18 - local_20) + iVar1;
|
|
|
|
param_2[3] = (iVar2 - local_1c) + local_14;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a03f0 at 0x006A03F0 (size: 64) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a03f0(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_0080286c;
|
|
|
|
if ((undefined4 *)param_1[0x18] != param_1 + 1) {
|
|
|
|
operator_delete__((undefined4 *)param_1[0x18]);
|
|
|
|
}
|
|
|
|
param_1[0x18] = 0;
|
|
|
|
param_1[0x19] = 0;
|
|
|
|
param_1[0x1a] = 0;
|
|
|
|
param_1[0x1b] = 0;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0430 at 0x006A0430 (size: 35) ---
|
|
|
|
|
|
void __fastcall FUN_006a0430(int *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0460 at 0x006A0460 (size: 128) ---
|
|
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
|
|
|
|
void __thiscall FUN_006a0460(int *param_1,float param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
float fVar1;
|
|
|
|
float fVar2;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
fVar2 = DAT_00796344;
|
|
|
|
if ((DAT_00796344 <= param_2) && (fVar2 = param_2, _DAT_007938b0 < param_2)) {
|
|
|
|
fVar2 = _DAT_007938b0;
|
|
|
|
}
|
|
|
|
fVar1 = (float)param_1[0x28];
|
|
|
|
param_1[0x28] = (int)fVar2;
|
|
|
|
if ((fVar2 != fVar1) && (param_1[0x2a] != 0)) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a04e0 at 0x006A04E0 (size: 136) ---
|
|
|
|
|
|
void __thiscall FUN_006a04e0(int *param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined1 *puStack_1c;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
if (param_1[0x2b] != param_2) {
|
|
|
|
puStack_1c = local_10;
|
|
|
|
(**(code **)(*param_1 + 0x34))();
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
if ((int *)param_1[0x2b] != (int *)0x0) {
|
|
|
|
(**(code **)(*(int *)param_1[0x2b] + 0x70))(param_1);
|
|
|
|
}
|
|
|
|
param_1[0x2b] = param_2;
|
|
|
|
(**(code **)(*param_1 + 0x18))((uint)param_1[0x29] >> 1 & 0xffffff01);
|
|
|
|
(**(code **)(*param_1 + 0x34))(&stack0xffffffe8);
|
|
|
|
FUN_0069ff00(&puStack_1c);
|
|
|
|
if ((int *)param_1[0x2b] != (int *)0x0) {
|
|
|
|
(**(code **)(*(int *)param_1[0x2b] + 0x6c))(param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0570 at 0x006A0570 (size: 55) ---
|
|
|
|
|
|
void __thiscall FUN_006a0570(int *param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
if (param_1[0x2a] != param_2) {
|
|
|
|
param_1[0x2a] = param_2;
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a05b0 at 0x006A05B0 (size: 81) ---
|
|
|
|
|
|
void __thiscall FUN_006a05b0(int *param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
if ((param_1[0x23] != *param_2) || (param_1[0x24] != param_2[1])) {
|
|
|
|
param_1[0x23] = *param_2;
|
|
|
|
param_1[0x24] = param_2[1];
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0610 at 0x006A0610 (size: 67) ---
|
|
|
|
|
|
void __thiscall FUN_006a0610(int *param_1,undefined4 *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
puVar1 = (undefined4 *)param_1[0x26];
|
|
|
|
param_1[0x26] = (int)param_2;
|
|
|
|
if (puVar1 != param_2) {
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0660 at 0x006A0660 (size: 69) ---
|
|
|
|
|
|
void __fastcall FUN_006a0660(int *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
puVar1 = (undefined4 *)param_1[0x26];
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
param_1[0x26] = 0;
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a06b0 at 0x006A06B0 (size: 144) ---
|
|
|
|
|
|
void __thiscall FUN_006a06b0(int *param_1,int param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
if ((param_2 != param_1[0x1f]) || (param_3 != param_1[0x20])) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
iVar1 = param_1[0x1f];
|
|
|
|
iVar2 = param_1[0x20];
|
|
|
|
param_1[0x1f] = param_2;
|
|
|
|
param_1[0x20] = param_3;
|
|
|
|
param_1[0x21] = (param_2 - iVar1) + param_1[0x21];
|
|
|
|
param_1[0x22] = (param_1[0x20] - iVar2) + param_1[0x22];
|
|
|
|
(**(code **)(*param_1 + 0x34))(&stack0xffffffec);
|
|
|
|
FUN_0069ff00(&stack0xffffffe8);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0740 at 0x006A0740 (size: 145) ---
|
|
|
|
|
|
void __thiscall FUN_006a0740(int *param_1,int param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
iVar1 = (param_1[0x21] - param_1[0x1f]) + 1;
|
|
|
|
iVar2 = (param_1[0x22] - param_1[0x20]) + 1;
|
|
|
|
if ((param_2 != iVar1) || (param_3 != iVar2)) {
|
|
|
|
if ((param_2 < iVar1) || (param_3 < iVar2)) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(local_10);
|
|
|
|
}
|
|
|
|
param_1[0x21] = param_1[0x1f] + -1 + param_2;
|
|
|
|
param_1[0x22] = param_1[0x20] + -1 + param_3;
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a07e0 at 0x006A07E0 (size: 197) ---
|
|
|
|
|
|
void __thiscall FUN_006a07e0(int *param_1,undefined4 param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined1 local_10 [16];
|
|
|
|
|
|
|
|
puVar3 = (undefined4 *)param_1[0x26];
|
|
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)*puVar3)(1);
|
|
|
|
}
|
|
|
|
param_1[0x26] = 0;
|
|
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(local_10);
|
|
|
|
}
|
|
|
|
if (param_3 == 2) {
|
|
|
|
param_1[0x2a] = 1;
|
|
|
|
}
|
|
|
|
else if (param_3 == 3) {
|
|
|
|
param_1[0x2a] = 2;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
param_1[0x2a] = 0;
|
|
|
|
}
|
|
|
|
iVar2 = FUN_005df0f5(0xc);
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
puVar3 = (undefined4 *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
puVar3 = (undefined4 *)FUN_00694e00(param_2);
|
|
|
|
}
|
|
|
|
puVar1 = (undefined4 *)param_1[0x26];
|
|
|
|
param_1[0x26] = (int)puVar3;
|
|
|
|
if (puVar1 != puVar3) {
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0b20 at 0x006A0B20 (size: 237) ---
|
|
|
|
|
|
void __thiscall
|
|
|
|
FUN_006a0b20(int param_1,int *param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uStack_30;
|
|
|
|
undefined4 uStack_2c;
|
|
|
|
undefined4 uStack_28;
|
|
|
|
undefined4 uStack_24;
|
|
|
|
int iStack_20;
|
|
|
|
int iStack_1c;
|
|
|
|
int iStack_18;
|
|
|
|
int iStack_14;
|
|
|
|
int local_10;
|
|
|
|
int iStack_c;
|
|
|
|
int iStack_8;
|
|
|
|
int iStack_4;
|
|
|
|
|
|
|
|
iVar3 = 0;
|
|
|
|
if (*(int *)(param_1 + 0x120) != 0) {
|
|
|
|
if (*(int *)(param_1 + 0x124) == 0) {
|
|
|
|
iVar3 = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar3 = *(int *)(param_1 + 0x124) + -8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
while( true ) {
|
|
|
|
if (iVar3 == 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
piVar1 = *(int **)(iVar3 + 0x10);
|
|
|
|
if (piVar1[0x2c] == 0) {
|
|
|
|
(**(code **)(*piVar1 + 0x34))(&local_10);
|
|
|
|
iStack_1c = param_2[1] + iStack_c;
|
|
|
|
iStack_20 = *param_2 + local_10;
|
|
|
|
iStack_18 = (iStack_8 - local_10) + iStack_20;
|
|
|
|
iStack_14 = (iStack_1c - iStack_c) + iStack_4;
|
|
|
|
uStack_30 = 0;
|
|
|
|
uStack_2c = 0;
|
|
|
|
uStack_28 = 0;
|
|
|
|
uStack_24 = 0;
|
|
|
|
cVar2 = FUN_00466680(&iStack_20,&uStack_30);
|
|
|
|
if (cVar2 != '\0') {
|
|
|
|
(**(code **)(*piVar1 + 0x3c))(&iStack_20,&uStack_30,param_4,param_5);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (*(int *)(iVar3 + 8) == 0) break;
|
|
|
|
iVar3 = *(int *)(iVar3 + 8) + -8;
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0c10 at 0x006A0C10 (size: 143) ---
|
|
|
|
|
|
void __thiscall FUN_006a0c10(int *param_1,uint param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined1 local_10 [4];
|
|
|
|
int *piStack_c;
|
|
|
|
|
|
|
|
if (((param_2 & 2) != 0) && ((int *)param_1[0x2c] != (int *)0x0)) {
|
|
|
|
(**(code **)(*(int *)param_1[0x2c] + 8))();
|
|
|
|
}
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
(**(code **)(*param_1 + 0x34))(local_10);
|
|
|
|
FUN_0069ff00(local_10);
|
|
|
|
}
|
|
|
|
if ((param_2 & 4) != 0) {
|
|
|
|
piStack_c = param_1 + 0x2d;
|
|
|
|
iVar1 = 0;
|
|
|
|
if (param_1[0x48] != 0) {
|
|
|
|
if (param_1[0x49] == 0) {
|
|
|
|
iVar1 = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar1 = param_1[0x49] + -8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8) + -8) {
|
|
|
|
FUN_006a0c10(param_2);
|
|
|
|
if (*(int *)(iVar1 + 8) == 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0d50 at 0x006A0D50 (size: 184) ---
|
|
|
|
|
|
void __thiscall FUN_006a0d50(int *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
int iVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined1 auStack_10 [4];
|
|
|
|
int *local_c;
|
|
|
|
|
|
|
|
uVar1 = param_1[0x29];
|
|
|
|
local_c = param_1 + 0x2d;
|
|
|
|
param_1[0x29] = ((uint)param_2 * 2 ^ uVar1) & 2 ^ uVar1;
|
|
|
|
piVar3 = (int *)0x0;
|
|
|
|
if (param_1[0x48] != 0) {
|
|
|
|
if (param_1[0x49] == 0) {
|
|
|
|
piVar3 = (int *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
piVar3 = (int *)(param_1[0x49] + -8);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (; piVar3 != (int *)0x0; piVar3 = (int *)(piVar3[2] + -8)) {
|
|
|
|
(**(code **)(*(int *)*piVar3 + 0x18))((uint)((int *)*piVar3)[0x29] >> 1 & 0xffffff01);
|
|
|
|
if (piVar3[2] == 0) break;
|
|
|
|
}
|
|
|
|
if ((uVar1 >> 1 & 1) != (uint)param_2) {
|
|
|
|
iVar2 = param_1[0x2c];
|
|
|
|
if ((iVar2 != 0) && (*(byte *)(iVar2 + 8) = param_2, *(int *)(iVar2 + 0xc) != 0)) {
|
|
|
|
FUN_00448be0();
|
|
|
|
}
|
|
|
|
(**(code **)(*param_1 + 0x34))(auStack_10);
|
|
|
|
FUN_0069ff00(&stack0xffffffec);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0e10 at 0x006A0E10 (size: 143) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a0e10(undefined4 *param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined *puVar1;
|
|
|
|
uint *puVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *puVar6;
|
|
|
|
|
|
|
|
param_1[0x18] = 0;
|
|
|
|
param_1[0x19] = 0;
|
|
|
|
param_1[0x1a] = 0;
|
|
|
|
param_1[0x1b] = 0;
|
|
|
|
*param_1 = &PTR_FUN_0080286c;
|
|
|
|
puVar1 = PTR_DAT_00818558;
|
|
|
|
puVar2 = (uint *)FUN_00422d20(PTR_DAT_00818554,PTR_DAT_00818558,¶m_2,param_2,0);
|
|
|
|
if (puVar2 == (uint *)puVar1) {
|
|
|
|
puVar2 = puVar2 + -1;
|
|
|
|
}
|
|
|
|
uVar4 = *puVar2;
|
|
|
|
param_1[0x1a] = uVar4;
|
|
|
|
if (uVar4 < 0x18) {
|
|
|
|
param_1[0x18] = param_1 + 1;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
uVar3 = thunk_FUN_005df0f5(uVar4 << 2);
|
|
|
|
param_1[0x18] = uVar3;
|
|
|
|
}
|
|
|
|
param_1[0x19] = (undefined4 *)param_1[0x18] + param_1[0x1a];
|
|
|
|
puVar6 = (undefined4 *)param_1[0x18];
|
|
|
|
for (uVar4 = param_1[0x1a] & 0x3fffffff; uVar4 != 0; uVar4 = uVar4 - 1) {
|
|
|
|
*puVar6 = 0;
|
|
|
|
puVar6 = puVar6 + 1;
|
|
|
|
}
|
|
|
|
for (iVar5 = 0; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)puVar6 = 0;
|
|
|
|
puVar6 = (undefined4 *)((int)puVar6 + 1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0ea0 at 0x006A0EA0 (size: 19) ---
|
|
|
|
|
|
void FUN_006a0ea0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_0045ce60(&stack0x0000000c);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0ec0 at 0x006A0EC0 (size: 30) ---
|
|
|
|
|
|
void FUN_006a0ec0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
void *pvVar1;
|
|
|
|
|
|
|
|
pvVar1 = (void *)FUN_004171e0(&stack0x0000000c);
|
|
|
|
if (pvVar1 != (void *)0x0) {
|
|
|
|
operator_delete(pvVar1);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0ee0 at 0x006A0EE0 (size: 131) ---
|
|
|
|
|
|
undefined4 __thiscall FUN_006a0ee0(int param_1,uint *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
uint *puVar2;
|
|
|
|
undefined3 uVar3;
|
|
|
|
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
do {
|
|
|
|
if (puVar2 == (uint *)0x0) {
|
|
|
|
LAB_006a0f12:
|
|
|
|
FUN_00464bd0(param_2);
|
|
|
|
LAB_006a0f1a:
|
|
|
|
puVar2 = param_2 + 2;
|
|
|
|
*puVar2 = *(uint *)(param_1 + 0x70);
|
|
|
|
uVar3 = (undefined3)((uint)puVar2 >> 8);
|
|
|
|
if (*(int *)(param_1 + 0x70) == 0) {
|
|
|
|
*(uint **)(param_1 + 0x74) = puVar2;
|
|
|
|
*(uint **)(param_1 + 0x70) = puVar2;
|
|
|
|
param_2[3] = 0;
|
|
|
|
return CONCAT31(uVar3,1);
|
|
|
|
}
|
|
|
|
*(uint **)(*(int *)(param_1 + 0x70) + 4) = puVar2;
|
|
|
|
*(uint **)(param_1 + 0x70) = puVar2;
|
|
|
|
param_2[3] = 0;
|
|
|
|
return CONCAT31(uVar3,1);
|
|
|
|
}
|
|
|
|
if (*puVar2 == uVar1) {
|
|
|
|
if (puVar2 != (uint *)0x0) {
|
|
|
|
FUN_00410880(param_2 + 2);
|
|
|
|
goto LAB_006a0f1a;
|
|
|
|
}
|
|
|
|
goto LAB_006a0f12;
|
|
|
|
}
|
|
|
|
puVar2 = (uint *)puVar2[1];
|
|
|
|
} while( true );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a0f70 at 0x006A0F70 (size: 193) ---
|
|
|
|
|
|
undefined4 * __thiscall
|
|
|
|
FUN_006a0f70(undefined4 *param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_00466380();
|
|
|
|
*param_1 = &PTR_FUN_00802870;
|
|
|
|
param_1[0x1f] = param_3;
|
|
|
|
param_1[0x20] = param_4;
|
|
|
|
param_1[0x21] = param_3 + -1 + param_5;
|
|
|
|
param_1[0x22] = param_4 + -1 + param_6;
|
|
|
|
param_1[0x29] = param_1[0x29] & 0xffffff06 | 2;
|
|
|
|
param_1[0x25] = 0;
|
|
|
|
param_1[0x26] = 0;
|
|
|
|
param_1[0x27] = 0;
|
|
|
|
param_1[0x28] = 0x3f800000;
|
|
|
|
param_1[0x2a] = 0;
|
|
|
|
param_1[0x2b] = 0;
|
|
|
|
param_1[0x2c] = 0;
|
|
|
|
FUN_006a0e10(0);
|
|
|
|
param_1[0x49] = 0;
|
|
|
|
param_1[0x4a] = 0;
|
|
|
|
param_1[0x4b] = &PTR_FUN_0079cdb0;
|
|
|
|
FUN_0045bac0(4);
|
|
|
|
param_1[0x23] = 0;
|
|
|
|
param_1[0x24] = 0;
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1050 at 0x006A1050 (size: 3) ---
|
|
|
|
|
|
undefined1 FUN_006a1050(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1070 at 0x006A1070 (size: 219) ---
|
|
|
|
|
|
void __fastcall FUN_006a1070(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
|
|
|
|
*param_1 = &PTR_FUN_00802870;
|
|
|
|
if ((undefined4 *)param_1[0x26] != (undefined4 *)0x0) {
|
|
|
|
(*(code *)**(undefined4 **)param_1[0x26])(1);
|
|
|
|
}
|
|
|
|
param_1[0x26] = 0;
|
|
|
|
if ((undefined4 *)param_1[0x27] != (undefined4 *)0x0) {
|
|
|
|
(*(code *)**(undefined4 **)param_1[0x27])(1);
|
|
|
|
}
|
|
|
|
param_1[0x27] = 0;
|
|
|
|
FUN_00464b50();
|
|
|
|
puVar2 = (undefined4 *)param_1[0x2c];
|
|
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
|
|
piVar1 = puVar2 + 1;
|
|
|
|
*piVar1 = *piVar1 + -1;
|
|
|
|
if (*piVar1 == 0) {
|
|
|
|
(**(code **)*puVar2)(1);
|
|
|
|
}
|
|
|
|
param_1[0x2c] = 0;
|
|
|
|
}
|
|
|
|
param_1[0x2b] = 0;
|
|
|
|
param_1[0x4b] = &PTR_FUN_0079cdb0;
|
|
|
|
FUN_005870f0();
|
|
|
|
param_1[0x4c] = &PTR_FUN_0079cda8;
|
|
|
|
if ((undefined4 *)param_1[100] != param_1 + 0x4d) {
|
|
|
|
operator_delete__((undefined4 *)param_1[100]);
|
|
|
|
}
|
|
|
|
param_1[100] = 0;
|
|
|
|
param_1[0x65] = 0;
|
|
|
|
param_1[0x66] = 0;
|
|
|
|
param_1[0x67] = 0;
|
|
|
|
FUN_00676850();
|
|
|
|
param_1[0x2d] = &PTR_FUN_0080286c;
|
|
|
|
if ((undefined4 *)param_1[0x45] != param_1 + 0x2e) {
|
|
|
|
operator_delete__((undefined4 *)param_1[0x45]);
|
|
|
|
}
|
|
|
|
param_1[0x45] = 0;
|
|
|
|
param_1[0x46] = 0;
|
|
|
|
param_1[0x47] = 0;
|
|
|
|
param_1[0x48] = 0;
|
|
|
|
FUN_004663b0();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1150 at 0x006A1150 (size: 30) ---
|
|
|
|
|
|
void FUN_006a1150(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
void *pvVar1;
|
|
|
|
|
|
|
|
pvVar1 = (void *)FUN_00464840(&stack0x00000004);
|
|
|
|
if (pvVar1 != (void *)0x0) {
|
|
|
|
operator_delete(pvVar1);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1170 at 0x006A1170 (size: 73) ---
|
|
|
|
|
|
undefined4 __thiscall FUN_006a1170(int param_1,uint *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
uint *puVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
if (puVar2 != (uint *)0x0) {
|
|
|
|
while (*puVar2 != uVar1) {
|
|
|
|
puVar2 = (uint *)puVar2[1];
|
|
|
|
if (puVar2 == (uint *)0x0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (puVar2 != (uint *)0x0) {
|
|
|
|
uVar3 = FUN_006a0ee0();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a11c0 at 0x006A11C0 (size: 124) ---
|
|
|
|
|
|
uint __thiscall FUN_006a11c0(int param_1,uint *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
uint *puVar2;
|
|
|
|
undefined3 uVar3;
|
|
|
|
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
do {
|
|
|
|
if (puVar2 == (uint *)0x0) {
|
|
|
|
LAB_006a11f2:
|
|
|
|
FUN_00464bd0(param_2);
|
|
|
|
puVar2 = param_2 + 2;
|
|
|
|
*puVar2 = *(uint *)(param_1 + 0x70);
|
|
|
|
uVar3 = (undefined3)((uint)puVar2 >> 8);
|
|
|
|
if (*(int *)(param_1 + 0x70) == 0) {
|
|
|
|
*(uint **)(param_1 + 0x74) = puVar2;
|
|
|
|
*(uint **)(param_1 + 0x70) = puVar2;
|
|
|
|
param_2[3] = 0;
|
|
|
|
return CONCAT31(uVar3,1);
|
|
|
|
}
|
|
|
|
*(uint **)(*(int *)(param_1 + 0x70) + 4) = puVar2;
|
|
|
|
*(uint **)(param_1 + 0x70) = puVar2;
|
|
|
|
param_2[3] = 0;
|
|
|
|
return CONCAT31(uVar3,1);
|
|
|
|
}
|
|
|
|
if (*puVar2 == uVar1) {
|
|
|
|
if (puVar2 != (uint *)0x0) {
|
|
|
|
return (uint)puVar2 & 0xffffff00;
|
|
|
|
}
|
|
|
|
goto LAB_006a11f2;
|
|
|
|
}
|
|
|
|
puVar2 = (uint *)puVar2[1];
|
|
|
|
} while( true );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1240 at 0x006A1240 (size: 106) ---
|
|
|
|
|
|
undefined4 FUN_006a1240(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
|
|
|
|
if (param_1 == 0) {
|
|
|
|
uVar2 = FUN_006a11c0(param_2);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
cVar1 = FUN_00463650(param_2);
|
|
|
|
if (cVar1 != '\0') {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_00464bd0(param_2);
|
|
|
|
if (param_2 != 0) {
|
|
|
|
FUN_00410820(param_2 + 8,param_1 + 8);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
FUN_00410820(0,param_1 + 8);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a12b0 at 0x006A12B0 (size: 129) ---
|
|
|
|
|
|
undefined4 FUN_006a12b0(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
|
|
|
|
if (param_1 == 0) {
|
|
|
|
uVar2 = FUN_006a0ee0(param_2);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
cVar1 = FUN_00463650(param_2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_00464bd0(param_2);
|
|
|
|
}
|
|
|
|
else if (param_2 == 0) {
|
|
|
|
FUN_00410880(0);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
FUN_00410880(param_2 + 8);
|
|
|
|
}
|
|
|
|
if (param_2 != 0) {
|
|
|
|
FUN_00410820(param_2 + 8,param_1 + 8);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
FUN_00410820(0,param_1 + 8);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1340 at 0x006A1340 (size: 30) ---
|
|
|
|
|
|
void * __thiscall FUN_006a1340(void *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_006a1070();
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1360 at 0x006A1360 (size: 155) ---
|
|
|
|
|
|
char __thiscall FUN_006a1360(int param_1,uint *param_2,uint *param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
char cVar2;
|
|
|
|
uint *puVar3;
|
|
|
|
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar3 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
do {
|
|
|
|
if (puVar3 == (uint *)0x0) {
|
|
|
|
LAB_006a1390:
|
|
|
|
puVar3 = (uint *)FUN_005df0f5(0x14);
|
|
|
|
if (puVar3 == (uint *)0x0) {
|
|
|
|
puVar3 = (uint *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*puVar3 = *param_2;
|
|
|
|
puVar3[1] = 0;
|
|
|
|
puVar3[2] = 0;
|
|
|
|
puVar3[3] = 0;
|
|
|
|
puVar3[4] = *param_3;
|
|
|
|
}
|
|
|
|
cVar2 = FUN_006a11c0(puVar3);
|
|
|
|
if ((cVar2 == '\0') && (puVar3 != (uint *)0x0)) {
|
|
|
|
operator_delete(puVar3);
|
|
|
|
}
|
|
|
|
return cVar2;
|
|
|
|
}
|
|
|
|
if (*puVar3 == uVar1) {
|
|
|
|
if (puVar3 != (uint *)0x0) {
|
|
|
|
cVar2 = FUN_006a1170(param_2);
|
|
|
|
return cVar2;
|
|
|
|
}
|
|
|
|
goto LAB_006a1390;
|
|
|
|
}
|
|
|
|
puVar3 = (uint *)puVar3[1];
|
|
|
|
} while( true );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1400 at 0x006A1400 (size: 135) ---
|
|
|
|
|
|
uint __thiscall FUN_006a1400(int param_1,uint *param_2,uint *param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint *puVar1;
|
|
|
|
uint *puVar2;
|
|
|
|
uint uVar3;
|
|
|
|
|
|
|
|
uVar3 = *param_2;
|
|
|
|
for (puVar1 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar3 << 0x18 | uVar3 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
(puVar1 != (uint *)0x0 && (*puVar1 != uVar3)); puVar1 = (uint *)puVar1[1]) {
|
|
|
|
}
|
|
|
|
uVar3 = *param_3;
|
|
|
|
for (puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar3 << 0x18 | uVar3 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
(puVar2 != (uint *)0x0 && (*puVar2 != uVar3)); puVar2 = (uint *)puVar2[1]) {
|
|
|
|
}
|
|
|
|
if ((puVar1 != (uint *)0x0) && (puVar2 != (uint *)0x0)) {
|
|
|
|
uVar3 = FUN_006a12b0(puVar1,puVar2);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return (uint)puVar2 & 0xffffff00;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1490 at 0x006A1490 (size: 238) ---
|
|
|
|
|
|
undefined4 __thiscall
|
|
|
|
FUN_006a1490(int param_1,uint *param_2,undefined4 *param_3,undefined4 *param_4)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
char cVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint *puVar5;
|
|
|
|
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar5 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
if (puVar5 != (uint *)0x0) {
|
|
|
|
while (*puVar5 != uVar1) {
|
|
|
|
puVar5 = (uint *)puVar5[1];
|
|
|
|
if (puVar5 == (uint *)0x0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (puVar5 != (uint *)0x0) {
|
|
|
|
cVar2 = FUN_00463650(param_3);
|
|
|
|
if (cVar2 != '\0') {
|
|
|
|
uVar3 = FUN_006a1400(param_2,param_3);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
puVar4 = (undefined4 *)FUN_005df0f5(0x14);
|
|
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
|
|
puVar4 = (undefined4 *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*puVar4 = *param_3;
|
|
|
|
puVar4[1] = 0;
|
|
|
|
puVar4[2] = 0;
|
|
|
|
puVar4[3] = 0;
|
|
|
|
puVar4[4] = *param_4;
|
|
|
|
}
|
|
|
|
uVar1 = *param_2;
|
|
|
|
puVar5 = *(uint **)(*(int *)(param_1 + 0x60) +
|
|
|
|
((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);
|
|
|
|
do {
|
|
|
|
if (puVar5 == (uint *)0x0) {
|
|
|
|
LAB_006a1550:
|
|
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
|
|
operator_delete(puVar4);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
if (*puVar5 == uVar1) {
|
|
|
|
if ((puVar5 != (uint *)0x0) && (cVar2 = FUN_006a1240(puVar5,puVar4), cVar2 != '\0')) {
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
goto LAB_006a1550;
|
|
|
|
}
|
|
|
|
puVar5 = (uint *)puVar5[1];
|
|
|
|
} while( true );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1730 at 0x006A1730 (size: 11) ---
|
|
|
|
|
|
void FUN_006a1730(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
/* WARNING: Could not recover jumptable at 0x006a1738. Too many branches */
|
|
|
|
/* WARNING: Treating indirect jump as call */
|
|
|
|
(**(code **)(*DAT_0083e72c + 0x24))();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1740 at 0x006A1740 (size: 11) ---
|
|
|
|
|
|
void FUN_006a1740(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
/* WARNING: Could not recover jumptable at 0x006a1748. Too many branches */
|
|
|
|
/* WARNING: Treating indirect jump as call */
|
|
|
|
(**(code **)(*DAT_0083e72c + 0x1c))();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1750 at 0x006A1750 (size: 102) ---
|
|
|
|
|
|
void __thiscall FUN_006a1750(int param_1,undefined1 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined1 uVar1;
|
|
|
|
int *piVar2;
|
|
|
|
uint uVar3;
|
|
|
|
|
|
|
|
if ((*(char *)(param_1 + 0x7c) == '\0') || (*(char *)(param_1 + 0x7d) == '\0')) {
|
|
|
|
*(undefined1 *)(param_1 + 0x7e) = param_2;
|
|
|
|
}
|
|
|
|
uVar3 = 0;
|
|
|
|
if (*(int *)(param_1 + 0x88) != 0) {
|
|
|
|
do {
|
|
|
|
piVar2 = *(int **)(*(int *)(param_1 + 0x80) + uVar3 * 4);
|
|
|
|
if (piVar2 != (int *)0x0) {
|
|
|
|
uVar1 = *(undefined1 *)((int)piVar2 + 0x7e);
|
|
|
|
if (((char)piVar2[0x1f] != '\0') && (*(char *)((int)piVar2 + 0x7d) != '\0')) {
|
|
|
|
uVar1 = 0;
|
|
|
|
}
|
|
|
|
(**(code **)(*piVar2 + 0x24))(uVar1);
|
|
|
|
}
|
|
|
|
uVar3 = uVar3 + 1;
|
|
|
|
} while (uVar3 < *(uint *)(param_1 + 0x88));
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a17c0 at 0x006A17C0 (size: 91) ---
|
|
|
|
|
|
void __thiscall FUN_006a17c0(int param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
uint uVar2;
|
|
|
|
|
|
|
|
uVar2 = 0;
|
|
|
|
*(char *)(param_1 + 0x7d) = (char)param_2;
|
|
|
|
if (*(int *)(param_1 + 0x88) != 0) {
|
|
|
|
do {
|
|
|
|
piVar1 = *(int **)(*(int *)(param_1 + 0x80) + uVar2 * 4);
|
|
|
|
if (piVar1 != (int *)0x0) {
|
|
|
|
(**(code **)(*piVar1 + 0x2c))(param_2);
|
|
|
|
}
|
|
|
|
uVar2 = uVar2 + 1;
|
|
|
|
} while (uVar2 < *(uint *)(param_1 + 0x88));
|
|
|
|
}
|
|
|
|
if (DAT_0083e03c == 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
FUN_00459440();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1860 at 0x006A1860 (size: 76) ---
|
|
|
|
|
|
int __thiscall FUN_006a1860(int param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
|
|
|
|
iVar3 = *(int *)(param_1 + 0x88);
|
|
|
|
iVar2 = 0;
|
|
|
|
while( true ) {
|
|
|
|
if (iVar3 == 0) {
|
|
|
|
return iVar2;
|
|
|
|
}
|
|
|
|
iVar1 = iVar3 * 4;
|
|
|
|
iVar3 = iVar3 + -1;
|
|
|
|
iVar1 = (**(code **)(**(int **)(*(int *)(param_1 + 0x80) + -4 + iVar1) + 0xc))(param_2);
|
|
|
|
if (iVar1 == 2) break;
|
|
|
|
if (iVar1 != 0) {
|
|
|
|
iVar2 = iVar1;
|
|
|
|
}
|
|
|
|
if (iVar2 == 2) {
|
|
|
|
return 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a18b0 at 0x006A18B0 (size: 76) ---
|
|
|
|
|
|
void __thiscall FUN_006a18b0(int *param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
uint uVar1;
|
|
|
|
uint uVar2;
|
|
|
|
|
|
|
|
uVar1 = (**(code **)(*param_1 + 0x38))(param_2);
|
|
|
|
if ((uVar1 != 0xffffffff) && (uVar1 < (uint)param_1[0x22])) {
|
|
|
|
uVar2 = param_1[0x22] - 1;
|
|
|
|
param_1[0x22] = uVar2;
|
|
|
|
if (uVar1 != uVar2) {
|
|
|
|
*(undefined4 *)(param_1[0x20] + uVar1 * 4) = *(undefined4 *)(param_1[0x20] + uVar2 * 4);
|
|
|
|
*(undefined4 *)(param_1[0x20] + param_1[0x22] * 4) = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1900 at 0x006A1900 (size: 48) ---
|
|
|
|
|
|
undefined4 * __fastcall FUN_006a1900(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_00466380();
|
|
|
|
*(undefined1 *)(param_1 + 0x1f) = 0;
|
|
|
|
*(undefined1 *)((int)param_1 + 0x7d) = 0;
|
|
|
|
*param_1 = &PTR_FUN_00802914;
|
|
|
|
*(undefined1 *)((int)param_1 + 0x7e) = 1;
|
|
|
|
param_1[0x20] = 0;
|
|
|
|
param_1[0x21] = 0;
|
|
|
|
param_1[0x22] = 0;
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1930 at 0x006A1930 (size: 50) ---
|
|
|
|
|
|
void __fastcall FUN_006a1930(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802914;
|
|
|
|
if ((param_1[0x21] & 0x80000000) == 0x80000000) {
|
|
|
|
operator_delete__((void *)param_1[0x20]);
|
|
|
|
}
|
|
|
|
FUN_004663b0();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1970 at 0x006A1970 (size: 71) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a1970(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802914;
|
|
|
|
if ((param_1[0x21] & 0x80000000) == 0x80000000) {
|
|
|
|
operator_delete__((void *)param_1[0x20]);
|
|
|
|
}
|
|
|
|
FUN_004663b0();
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1a20 at 0x006A1A20 (size: 56) ---
|
|
|
|
|
|
undefined4 __thiscall FUN_006a1a20(int *param_1,int param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
FUN_00415640(¶m_2,param_2,5);
|
|
|
|
uVar1 = 0;
|
|
|
|
if (param_2 != DAT_008faca0) {
|
|
|
|
uVar1 = (**(code **)(*param_1 + 0x1c))(param_2,param_3);
|
|
|
|
}
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1a60 at 0x006A1A60 (size: 66) ---
|
|
|
|
|
|
void __thiscall FUN_006a1a60(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
|
|
|
|
if (*param_2 != 0) {
|
|
|
|
cVar1 = FUN_00693b70(param_2);
|
|
|
|
FUN_00464b00(param_1);
|
|
|
|
if (cVar1 != '\0') {
|
|
|
|
FUN_0045c160(*param_2);
|
|
|
|
}
|
|
|
|
*param_2 = 0;
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1ab0 at 0x006A1AB0 (size: 38) ---
|
|
|
|
|
|
undefined4 * __fastcall FUN_006a1ab0(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_006a1900();
|
|
|
|
*param_1 = &PTR_FUN_00802958;
|
|
|
|
param_1[0x23] = 0;
|
|
|
|
param_1[0x24] = 0;
|
|
|
|
param_1[0x25] = 0;
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1ae0 at 0x006A1AE0 (size: 55) ---
|
|
|
|
|
|
void __fastcall FUN_006a1ae0(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802958;
|
|
|
|
FUN_00477d50();
|
|
|
|
if ((param_1[0x24] & 0x80000000) == 0x80000000) {
|
|
|
|
operator_delete__((void *)param_1[0x23]);
|
|
|
|
}
|
|
|
|
FUN_006a1930();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1b20 at 0x006A1B20 (size: 76) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a1b20(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802958;
|
|
|
|
FUN_00477d50();
|
|
|
|
if ((param_1[0x24] & 0x80000000) == 0x80000000) {
|
|
|
|
operator_delete__((void *)param_1[0x23]);
|
|
|
|
}
|
|
|
|
FUN_006a1930();
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1bc0 at 0x006A1BC0 (size: 29) ---
|
|
|
|
|
|
undefined4 * __fastcall FUN_006a1bc0(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
FUN_006a1ab0();
|
|
|
|
*param_1 = &PTR_FUN_00802a08;
|
|
|
|
FUN_00451d70();
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1be0 at 0x006A1BE0 (size: 28) ---
|
|
|
|
|
|
void __fastcall FUN_006a1be0(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802a08;
|
|
|
|
FUN_00451d80();
|
|
|
|
FUN_006a1ae0();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1c00 at 0x006A1C00 (size: 49) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a1c00(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802a08;
|
|
|
|
FUN_00451d80();
|
|
|
|
FUN_006a1ae0();
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1c40 at 0x006A1C40 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a1c40(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 == 0x276) {
|
|
|
|
uVar1 = FUN_00564f20(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1c70 at 0x006A1C70 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006a1c70(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x40) != 0)) && (*param_2 == 0xf7df)) {
|
|
|
|
uVar1 = FUN_0055f210();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1ca0 at 0x006A1CA0 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006a1ca0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1ea)) {
|
|
|
|
uVar1 = FUN_00564e30();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1cd0 at 0x006A1CD0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a1cd0(int *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x19c;
|
|
|
|
(**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar4 + 1);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1d90 at 0x006A1D90 (size: 322) ---
|
|
|
|
|
|
char FUN_006a1d90(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1e3;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1ee0 at 0x006A1EE0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a1ee0(int *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x1a1;
|
|
|
|
(**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar4 + 1);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a1fa0 at 0x006A1FA0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a1fa0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x216;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2030 at 0x006A2030 (size: 322) ---
|
|
|
|
|
|
char FUN_006a2030(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x275;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2180 at 0x006A2180 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2180(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x217;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2210 at 0x006A2210 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2210(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x28f;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a22a0 at 0x006A22A0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a22a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xa1;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2330 at 0x006A2330 (size: 265) ---
|
|
|
|
|
|
char FUN_006a2330(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 5;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2440 at 0x006A2440 (size: 201) ---
|
|
|
|
|
|
char FUN_006a2440(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1c2;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2510 at 0x006A2510 (size: 201) ---
|
|
|
|
|
|
char FUN_006a2510(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1c4;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a25e0 at 0x006A25E0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a25e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x19d;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a26b0 at 0x006A26B0 (size: 265) ---
|
|
|
|
|
|
char FUN_006a26b0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1e4;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a27c0 at 0x006A27C0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a27c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1e9;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2850 at 0x006A2850 (size: 201) ---
|
|
|
|
|
|
char FUN_006a2850(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x286;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2920 at 0x006A2920 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2920(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x279;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a29b0 at 0x006A29B0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a29b0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 99;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2a40 at 0x006A2A40 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2a40(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x28d;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2ad0 at 0x006A2AD0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2ad0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x27;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2b60 at 0x006A2B60 (size: 141) ---
|
|
|
|
|
|
char FUN_006a2b60(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x26;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2bf0 at 0x006A2BF0 (size: 229) ---
|
|
|
|
|
|
undefined4 FUN_006a2bf0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 == 0x75) {
|
|
|
|
uVar1 = FUN_00565050(param_2[1],param_2[2],param_2[3],param_2[4],param_2[5],param_2[6],
|
|
|
|
param_2[7],param_2[8],param_2[9],param_2[10],param_2[0xb],param_2[0xc],
|
|
|
|
param_2[0xd],param_2[0xe],param_2[0xf],param_2[0x10]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a2ce0 at 0x006A2CE0 (size: 1154) ---
|
|
|
|
|
|
char FUN_006a2ce0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
|
|
undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
|
|
|
|
undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,
|
|
|
|
undefined4 param_13,undefined4 param_14,undefined4 param_15,undefined4 param_16)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x44;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x311;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_4;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_5;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_6;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_7;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_8;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_9;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_10;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_11;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_12;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_13;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_14;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_15;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_16;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3170 at 0x006A3170 (size: 265) ---
|
|
|
|
|
|
char FUN_006a3170(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x224;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3280 at 0x006A3280 (size: 79) ---
|
|
|
|
|
|
undefined4 FUN_006a3280(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20d);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x78))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a32d0 at 0x006A32D0 (size: 72) ---
|
|
|
|
|
|
undefined4 FUN_006a32d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd221);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x7c))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3320 at 0x006A3320 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a3320(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x84))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3380 at 0x006A3380 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a3380(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd209);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x88))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a33e0 at 0x006A33E0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a33e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20b);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x8c))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3440 at 0x006A3440 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a3440(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fd);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x90))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3490 at 0x006A3490 (size: 72) ---
|
|
|
|
|
|
undefined4 FUN_006a3490(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
int *piVar2;
|
|
|
|
char cVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
iVar4 = (**(code **)(*(int *)(param_1 + 0xc) + 0x10))(0x4dd245);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar1 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar1 != (int *)0x0) {
|
|
|
|
piVar2 = (int *)*piVar1;
|
|
|
|
piVar1 = (int *)piVar1[1];
|
|
|
|
if ((piVar2 != (int *)0x0) && (cVar3 = (**(code **)*piVar2)(), cVar3 == '\0')) {
|
|
|
|
(**(code **)(*piVar2 + 0x94))(param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a34e0 at 0x006A34E0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a34e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20c);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x98))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3540 at 0x006A3540 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a3540(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fe);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x9c))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3590 at 0x006A3590 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a3590(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd220);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xa0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a35e0 at 0x006A35E0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a35e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd21d);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xa4))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3630 at 0x006A3630 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a3630(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd242);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xa8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3680 at 0x006A3680 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a3680(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd216);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xac))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a36d0 at 0x006A36D0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a36d0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e6);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xb4))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3730 at 0x006A3730 (size: 183) ---
|
|
|
|
|
|
undefined4
|
|
|
|
FUN_006a3730(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
|
|
undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
|
|
|
|
undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,
|
|
|
|
undefined4 param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27e);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xb8))
|
|
|
|
(unaff_retaddr,param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,
|
|
|
|
param_9,param_10,param_11,param_12,param_13,param_14,param_15);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a37f0 at 0x006A37F0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a37f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xc0))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3850 at 0x006A3850 (size: 282) ---
|
|
|
|
|
|
char FUN_006a3850(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar4 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar4 = iVar2 + iVar3 + 8 + iVar4;
|
|
|
|
puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);
|
|
|
|
local_c = puVar5;
|
|
|
|
FUN_006b4010(&local_c,iVar4);
|
|
|
|
*local_c = 0x140;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar6 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar5,iVar4);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3970 at 0x006A3970 (size: 179) ---
|
|
|
|
|
|
char FUN_006a3970(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x219;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3a30 at 0x006A3A30 (size: 179) ---
|
|
|
|
|
|
char FUN_006a3a30(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x218;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3af0 at 0x006A3AF0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a3af0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x21a;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3bb0 at 0x006A3BB0 (size: 164) ---
|
|
|
|
|
|
undefined4 FUN_006a3bb0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
LONG LVar6;
|
|
|
|
int *piVar7;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar3 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 != 0x274) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = param_2[2];
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
piVar7 = param_2 + 3;
|
|
|
|
param_2 = piVar7;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar3 + (param_3 - (int)piVar7));
|
|
|
|
uVar5 = FUN_00564e40(iVar1,iVar2,&local_4);
|
|
|
|
puVar4 = local_4;
|
|
|
|
LVar6 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3c60 at 0x006A3C60 (size: 224) ---
|
|
|
|
|
|
undefined4 FUN_006a3c60(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar6 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x1c3) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar6));
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar4 = FUN_00571fa0(&local_4,¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_4;
|
|
|
|
LVar5 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3d40 at 0x006A3D40 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a3d40(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c7)) {
|
|
|
|
uVar1 = FUN_005698b0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3d70 at 0x006A3D70 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006a3d70(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x312)) {
|
|
|
|
uVar1 = FUN_005688a0();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3da0 at 0x006A3DA0 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006a3da0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c6)) {
|
|
|
|
uVar1 = FUN_00568810();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3dd0 at 0x006A3DD0 (size: 42) ---
|
|
|
|
|
|
undefined4 FUN_006a3dd0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c3)) {
|
|
|
|
uVar1 = FUN_005696f0(param_2[1],1);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3e00 at 0x006A3E00 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a3e00(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x1a8)) {
|
|
|
|
uVar1 = FUN_00568630(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3e30 at 0x006A3E30 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a3e30(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c1)) {
|
|
|
|
uVar1 = FUN_00568590(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3e60 at 0x006A3E60 (size: 265) ---
|
|
|
|
|
|
char FUN_006a3e60(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x4a;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a3f70 at 0x006A3F70 (size: 201) ---
|
|
|
|
|
|
char FUN_006a3f70(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x48;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4040 at 0x006A4040 (size: 201) ---
|
|
|
|
|
|
char FUN_006a4040(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1a8;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4110 at 0x006A4110 (size: 113) ---
|
|
|
|
|
|
undefined4 FUN_006a4110(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_50 [80];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x2c2) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005cbdd0();
|
|
|
|
FUN_005cbf70(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_005686d0(local_50);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4190 at 0x006A4190 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a4190(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd202);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x168))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a41e0 at 0x006A41E0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a41e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24e);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x16c))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4230 at 0x006A4230 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a4230(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x170))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4280 at 0x006A4280 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4280(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd201);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x174))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a42d0 at 0x006A42D0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a42d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x178))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4320 at 0x006A4320 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4320(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd268);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x17c))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4370 at 0x006A4370 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4370(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd269);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x180))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a43c0 at 0x006A43C0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a43c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26b);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x184))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4410 at 0x006A4410 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4410(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24c);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x188))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4460 at 0x006A4460 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4460(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x18c))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a44b0 at 0x006A44B0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a44b0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24d);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 400))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4500 at 0x006A4500 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4500(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24b);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x194))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4550 at 0x006A4550 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a4550(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1a0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a45a0 at 0x006A45A0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a45a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd260);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1a4))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a45f0 at 0x006A45F0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a45f0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd255);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1a8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4640 at 0x006A4640 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a4640(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd215);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1ac))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4690 at 0x006A4690 (size: 136) ---
|
|
|
|
|
|
undefined4 FUN_006a4690(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {
|
|
|
|
if (*param_2 != 0x2c8) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_0048bce0(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_005698c0(&local_10);
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
FUN_0048bc30();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4720 at 0x006A4720 (size: 138) ---
|
|
|
|
|
|
undefined4 FUN_006a4720(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {
|
|
|
|
if (*param_2 != 0x2c5) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_0048bce0(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_005697d0(&local_10,1);
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
FUN_0048bc30();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a47b0 at 0x006A47B0 (size: 136) ---
|
|
|
|
|
|
undefined4 FUN_006a47b0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {
|
|
|
|
if (*param_2 != 0x2c4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = &PTR_FUN_007b26fc;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_004b8910(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_00568780(&local_10);
|
|
|
|
local_10 = &PTR_FUN_007b26fc;
|
|
|
|
FUN_004b86f0();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4840 at 0x006A4840 (size: 126) ---
|
|
|
|
|
|
undefined4 FUN_006a4840(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_44 [68];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 500) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_006b2a90();
|
|
|
|
FUN_006b27d0(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_0056f940(local_44);
|
|
|
|
FUN_006b2b10();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a48c0 at 0x006A48C0 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a48c0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) && (*param_2 == 0x28a)) {
|
|
|
|
uVar1 = FUN_0057bbc0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a48f0 at 0x006A48F0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a48f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x145;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a49c0 at 0x006A49C0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a49c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x149;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4a50 at 0x006A4A50 (size: 201) ---
|
|
|
|
|
|
char FUN_006a4a50(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x148;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4b20 at 0x006A4B20 (size: 265) ---
|
|
|
|
|
|
char FUN_006a4b20(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x5b;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4c30 at 0x006A4C30 (size: 201) ---
|
|
|
|
|
|
char FUN_006a4c30(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x146;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4d00 at 0x006A4D00 (size: 201) ---
|
|
|
|
|
|
char FUN_006a4d00(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xf;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4dd0 at 0x006A4DD0 (size: 113) ---
|
|
|
|
|
|
undefined4 FUN_006a4dd0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_2c [44];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x295) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005ce520();
|
|
|
|
FUN_005ce640(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_0056f2a0(local_2c);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4e50 at 0x006A4E50 (size: 237) ---
|
|
|
|
|
|
char FUN_006a4e50(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x147;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a4f40 at 0x006A4F40 (size: 179) ---
|
|
|
|
|
|
char FUN_006a4f40(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x1df;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5000 at 0x006A5000 (size: 237) ---
|
|
|
|
|
|
char FUN_006a5000(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x59;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a50f0 at 0x006A50F0 (size: 361) ---
|
|
|
|
|
|
char FUN_006a50f0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 0x10 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x58;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_4;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5260 at 0x006A5260 (size: 179) ---
|
|
|
|
|
|
char FUN_006a5260(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x10;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5320 at 0x006A5320 (size: 179) ---
|
|
|
|
|
|
char FUN_006a5320(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x1e1;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a53e0 at 0x006A53E0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a53e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x15;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a54a0 at 0x006A54A0 (size: 249) ---
|
|
|
|
|
|
char FUN_006a54a0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x32;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a55a0 at 0x006A55A0 (size: 224) ---
|
|
|
|
|
|
char FUN_006a55a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar4 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar4 = iVar2 + iVar3 + 4 + iVar4;
|
|
|
|
puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);
|
|
|
|
local_c = puVar5;
|
|
|
|
FUN_006b4010(&local_c,iVar4);
|
|
|
|
*local_c = 0x5d;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar5,iVar4);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5680 at 0x006A5680 (size: 105) ---
|
|
|
|
|
|
void __thiscall FUN_006a5680(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
|
|
|
|
piVar2 = (int *)FUN_005df0f5(0xc);
|
|
|
|
if (piVar2 == (int *)0x0) {
|
|
|
|
piVar2 = (int *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
*piVar2 = iVar1;
|
|
|
|
InterlockedIncrement((LONG *)(iVar1 + 4));
|
|
|
|
piVar2[1] = 0;
|
|
|
|
piVar2[2] = 0;
|
|
|
|
}
|
|
|
|
if (*(int *)(param_1 + 4) == 0) {
|
|
|
|
*(int **)(param_1 + 4) = piVar2;
|
|
|
|
*(int **)(param_1 + 8) = piVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)(param_1 + 8);
|
|
|
|
*(int **)(iVar1 + 4) = piVar2;
|
|
|
|
piVar2[2] = iVar1;
|
|
|
|
*(int **)(param_1 + 8) = piVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a56f0 at 0x006A56F0 (size: 145) ---
|
|
|
|
|
|
undefined4 FUN_006a56f0(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
int *piVar5;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar5 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x317) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
param_2 = piVar5;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar5));
|
|
|
|
uVar3 = FUN_0057e170(¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar4 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5790 at 0x006A5790 (size: 145) ---
|
|
|
|
|
|
undefined4 FUN_006a5790(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
int *piVar5;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar5 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x318) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
param_2 = piVar5;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar5));
|
|
|
|
uVar3 = FUN_00580b90(¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar4 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5830 at 0x006A5830 (size: 240) ---
|
|
|
|
|
|
undefined4 FUN_006a5830(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
LONG LVar6;
|
|
|
|
int *piVar7;
|
|
|
|
undefined4 *local_8;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x147) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
piVar7 = param_2 + 2;
|
|
|
|
param_2 = piVar7;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar7));
|
|
|
|
local_8 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar5 = FUN_00571960(iVar1,&local_4,&local_8);
|
|
|
|
puVar4 = local_8;
|
|
|
|
LVar6 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
puVar4 = local_4;
|
|
|
|
LVar6 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5920 at 0x006A5920 (size: 251) ---
|
|
|
|
|
|
undefined4 FUN_006a5920(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar6 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x2bd) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar6));
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar4 = FUN_00572370(&local_4,¶m_1,*param_2,param_2[1],param_2[2],param_2[3]);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_4;
|
|
|
|
LVar5 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5a20 at 0x006A5A20 (size: 240) ---
|
|
|
|
|
|
undefined4 FUN_006a5a20(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
LONG LVar6;
|
|
|
|
int *piVar7;
|
|
|
|
undefined4 *local_8;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x1e0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
piVar7 = param_2 + 2;
|
|
|
|
param_2 = piVar7;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar7));
|
|
|
|
local_8 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar5 = FUN_0057d9b0(iVar1,&local_4,&local_8);
|
|
|
|
puVar4 = local_8;
|
|
|
|
LVar6 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
puVar4 = local_4;
|
|
|
|
LVar6 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5b10 at 0x006A5B10 (size: 258) ---
|
|
|
|
|
|
undefined4 FUN_006a5b10(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
undefined4 *local_8;
|
|
|
|
int local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar6 = param_2 + 1;
|
|
|
|
if (*param_2 != 700) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_8 = DAT_008ef11c;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar6));
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
local_4 = param_2[1];
|
|
|
|
uVar4 = FUN_0056f300(&local_8,¶m_1,*param_2,local_4,param_2[2]);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_8;
|
|
|
|
LVar5 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5c20 at 0x006A5C20 (size: 240) ---
|
|
|
|
|
|
undefined4 FUN_006a5c20(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
LONG LVar6;
|
|
|
|
int *piVar7;
|
|
|
|
undefined4 *local_8;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x1e2) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
piVar7 = param_2 + 2;
|
|
|
|
param_2 = piVar7;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar7));
|
|
|
|
local_8 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar5 = FUN_0057ddf0(iVar1,&local_4,&local_8);
|
|
|
|
puVar4 = local_8;
|
|
|
|
LVar6 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
puVar4 = local_4;
|
|
|
|
LVar6 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5d10 at 0x006A5D10 (size: 237) ---
|
|
|
|
|
|
undefined4 FUN_006a5d10(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar6 = param_2 + 1;
|
|
|
|
if (*param_2 != 699) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar6));
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar4 = FUN_00572070(&local_4,¶m_1,*param_2,param_2[1]);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_4;
|
|
|
|
LVar5 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5e00 at 0x006A5E00 (size: 143) ---
|
|
|
|
|
|
undefined4 FUN_006a5e00(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
int *piVar5;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar5 = param_2 + 1;
|
|
|
|
if (*param_2 != 4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
param_2 = piVar5;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar5));
|
|
|
|
uVar3 = FUN_00580b90(¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar4 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5e90 at 0x006A5E90 (size: 150) ---
|
|
|
|
|
|
undefined4 FUN_006a5e90(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
int *piVar5;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar5 = param_2 + 1;
|
|
|
|
if (*param_2 != 0xf7e0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
param_2 = piVar5;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar5));
|
|
|
|
uVar3 = FUN_00581570(¶m_1,*param_2);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar4 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5f30 at 0x006A5F30 (size: 145) ---
|
|
|
|
|
|
undefined4 FUN_006a5f30(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
int *piVar5;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
piVar5 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x2eb) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
param_2 = piVar5;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar5));
|
|
|
|
uVar3 = FUN_0057e170(¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar4 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a5fd0 at 0x006A5FD0 (size: 151) ---
|
|
|
|
|
|
undefined4 FUN_006a5fd0(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
|
|
|
|
piVar3 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x28b) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
piVar6 = param_2 + 2;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar3 + (param_3 - (int)piVar6));
|
|
|
|
uVar4 = FUN_0057d960(iVar1,¶m_1);
|
|
|
|
puVar2 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar2 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar2)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6070 at 0x006A6070 (size: 73) ---
|
|
|
|
|
|
uint __thiscall FUN_006a6070(int param_1,int *param_2,uint param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
uint uVar2;
|
|
|
|
|
|
|
|
uVar2 = FUN_006a60c0();
|
|
|
|
if (uVar2 <= param_3) {
|
|
|
|
if (3 < param_3) {
|
|
|
|
*(undefined4 *)*param_2 = *(undefined4 *)(param_1 + 0xc);
|
|
|
|
*param_2 = *param_2 + 4;
|
|
|
|
}
|
|
|
|
for (iVar1 = *(int *)(param_1 + 4); iVar1 != 0; iVar1 = *(int *)(iVar1 + 4)) {
|
|
|
|
FUN_004fd290(param_2,param_3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a60c0 at 0x006A60C0 (size: 52) ---
|
|
|
|
|
|
int __fastcall FUN_006a60c0(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
iVar3 = 4;
|
|
|
|
local_4 = 0;
|
|
|
|
for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 4)) {
|
|
|
|
iVar2 = FUN_004fd290(&local_4,0);
|
|
|
|
iVar3 = iVar3 + iVar2;
|
|
|
|
}
|
|
|
|
return iVar3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6100 at 0x006A6100 (size: 150) ---
|
|
|
|
|
|
undefined4 __thiscall FUN_006a6100(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
|
|
|
|
piVar1 = *(int **)(param_1 + 4);
|
|
|
|
if (piVar1 == (int *)0x0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar2 = piVar1[1];
|
|
|
|
*(int *)(param_1 + 4) = iVar2;
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
*(undefined4 *)(param_1 + 8) = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*(undefined4 *)(iVar2 + 8) = 0;
|
|
|
|
}
|
|
|
|
puVar3 = (undefined4 *)*param_2;
|
|
|
|
if (puVar3 != (undefined4 *)*piVar1) {
|
|
|
|
LVar4 = InterlockedDecrement(puVar3 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar3)(1);
|
|
|
|
}
|
|
|
|
iVar2 = *piVar1;
|
|
|
|
*param_2 = iVar2;
|
|
|
|
InterlockedIncrement((LONG *)(iVar2 + 4));
|
|
|
|
}
|
|
|
|
puVar3 = (undefined4 *)*piVar1;
|
|
|
|
LVar4 = InterlockedDecrement(puVar3 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar3)(1);
|
|
|
|
}
|
|
|
|
operator_delete(piVar1);
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a61a0 at 0x006A61A0 (size: 85) ---
|
|
|
|
|
|
void __fastcall FUN_006a61a0(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
LONG LVar3;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
puVar2 = DAT_008ef11c;
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
while (iVar1 != 0) {
|
|
|
|
FUN_006a6100(&local_4);
|
|
|
|
puVar2 = local_4;
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
}
|
|
|
|
LVar3 = InterlockedDecrement(puVar2 + 1);
|
|
|
|
if ((LVar3 == 0) && (puVar2 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar2)(1);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6200 at 0x006A6200 (size: 193) ---
|
|
|
|
|
|
undefined4 __thiscall FUN_006a6200(undefined4 param_1,int *param_2,uint param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
int iVar6;
|
|
|
|
|
|
|
|
FUN_006a61a0(param_1);
|
|
|
|
piVar2 = param_2;
|
|
|
|
if (param_3 < 4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)*param_2;
|
|
|
|
*param_2 = (int)((int *)*param_2 + 1);
|
|
|
|
puVar5 = DAT_008ef11c;
|
|
|
|
param_2 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar6 = 0;
|
|
|
|
if (0 < iVar1) {
|
|
|
|
do {
|
|
|
|
iVar3 = FUN_004fd460(piVar2,param_3);
|
|
|
|
puVar5 = param_2;
|
|
|
|
if (iVar3 == 0) {
|
|
|
|
LVar4 = InterlockedDecrement(param_2 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar5 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar5)(1);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_006a5680(¶m_2);
|
|
|
|
iVar6 = iVar6 + 1;
|
|
|
|
puVar5 = param_2;
|
|
|
|
} while (iVar6 < iVar1);
|
|
|
|
}
|
|
|
|
LVar4 = InterlockedDecrement(puVar5 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar5 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar5)(1);
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a62d0 at 0x006A62D0 (size: 42) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006a62d0(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00802ffc;
|
|
|
|
FUN_006a61a0();
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6300 at 0x006A6300 (size: 136) ---
|
|
|
|
|
|
undefined4 FUN_006a6300(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x149) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = &PTR_FUN_00802ffc;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_006a6200(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_0057de90(&local_10);
|
|
|
|
local_10 = &PTR_FUN_00802ffc;
|
|
|
|
FUN_006a61a0();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6390 at 0x006A6390 (size: 136) ---
|
|
|
|
|
|
undefined4 FUN_006a6390(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {
|
|
|
|
if (*param_2 != 0x148) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = &PTR_FUN_00802ffc;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_006a6200(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_0057e000(&local_10);
|
|
|
|
local_10 = &PTR_FUN_00802ffc;
|
|
|
|
FUN_006a61a0();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6420 at 0x006A6420 (size: 45) ---
|
|
|
|
|
|
undefined4 FUN_006a6420(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 == 0x2b) {
|
|
|
|
uVar1 = FUN_00565000(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6450 at 0x006A6450 (size: 201) ---
|
|
|
|
|
|
char FUN_006a6450(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x316;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6520 at 0x006A6520 (size: 141) ---
|
|
|
|
|
|
char FUN_006a6520(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x25;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a65b0 at 0x006A65B0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a65b0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x17;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6680 at 0x006A6680 (size: 201) ---
|
|
|
|
|
|
char FUN_006a6680(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x2c;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6750 at 0x006A6750 (size: 137) ---
|
|
|
|
|
|
undefined4 FUN_006a6750(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_28 [40];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x315) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_0059a100();
|
|
|
|
FUN_0059a1e0(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
iVar1 = *param_2;
|
|
|
|
piVar2 = param_2 + 1;
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
uVar3 = FUN_005654f0(local_28,iVar1,*piVar2);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a67e0 at 0x006A67E0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a67e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd279);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1b8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6830 at 0x006A6830 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6830(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd272);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1bc))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6880 at 0x006A6880 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6880(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd273);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1c0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a68d0 at 0x006A68D0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a68d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd275);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1c4))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6920 at 0x006A6920 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6920(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd274);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1c8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6970 at 0x006A6970 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6970(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd278);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1cc))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a69c0 at 0x006A69C0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a69c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1d0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6a10 at 0x006A6A10 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6a10(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd277);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1d4))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6a60 at 0x006A6A60 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a6a60(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd282);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1d8))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6ac0 at 0x006A6AC0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a6ac0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd281);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1dc))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6b10 at 0x006A6B10 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a6b10(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1e0))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6b70 at 0x006A6B70 (size: 179) ---
|
|
|
|
|
|
char FUN_006a6b70(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x18;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6c30 at 0x006A6C30 (size: 126) ---
|
|
|
|
|
|
undefined4 FUN_006a6c30(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_18 [24];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x314) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_0059a250();
|
|
|
|
FUN_005d2040(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_00565030(local_18);
|
|
|
|
FUN_00560020();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6cb0 at 0x006A6CB0 (size: 123) ---
|
|
|
|
|
|
undefined4 FUN_006a6cb0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_1c [28];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x29) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005c7fc0();
|
|
|
|
FUN_005c7e70(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_00564fe0(local_1c);
|
|
|
|
FUN_0049ac50();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6d30 at 0x006A6D30 (size: 168) ---
|
|
|
|
|
|
undefined4 FUN_006a6d30(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_14;
|
|
|
|
undefined4 local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined **local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 != 0x21) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_10 = 0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_14 = &PTR_FUN_007a51a0;
|
|
|
|
local_4 = &PTR_LAB_007a518c;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_0048d010(¶m_2,iVar1);
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
uVar2 = FUN_00564fc0(&local_14,iVar1);
|
|
|
|
local_4 = &PTR_FUN_0079385c;
|
|
|
|
local_14 = &PTR_FUN_007a515c;
|
|
|
|
FUN_0048ce50();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6de0 at 0x006A6DE0 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006a6de0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x2bf)) {
|
|
|
|
uVar1 = FUN_0056ac10();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6e10 at 0x006A6E10 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a6e10(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0xa4)) {
|
|
|
|
uVar1 = FUN_0056acb0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6e40 at 0x006A6E40 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a6e40(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x1ca)) {
|
|
|
|
uVar1 = FUN_004f1b30(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6e70 at 0x006A6E70 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a6e70(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x1c9)) {
|
|
|
|
uVar1 = FUN_004f1b30(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6ea0 at 0x006A6EA0 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a6ea0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0xa3)) {
|
|
|
|
uVar1 = FUN_0056ac30(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6ed0 at 0x006A6ED0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a6ed0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x290;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a6fa0 at 0x006A6FA0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a6fa0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x291;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7070 at 0x006A7070 (size: 201) ---
|
|
|
|
|
|
char FUN_006a7070(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xa4;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7140 at 0x006A7140 (size: 201) ---
|
|
|
|
|
|
char FUN_006a7140(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xa3;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7210 at 0x006A7210 (size: 201) ---
|
|
|
|
|
|
char FUN_006a7210(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xa5;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a72e0 at 0x006A72E0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a72e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xa6;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a73b0 at 0x006A73B0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a73b0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd246);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xe0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7400 at 0x006A7400 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a7400(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd213);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xe4))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7450 at 0x006A7450 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a7450(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd212);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xe8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a74a0 at 0x006A74A0 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006a74a0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd214);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xec))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7500 at 0x006A7500 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a7500(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd211);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xf0))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7550 at 0x006A7550 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a7550(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd247);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xf4))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a75b0 at 0x006A75B0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a75b0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xf8))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7610 at 0x006A7610 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a7610(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd210);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xfc))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7660 at 0x006A7660 (size: 152) ---
|
|
|
|
|
|
undefined4 FUN_006a7660(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
undefined1 local_30 [48];
|
|
|
|
|
|
|
|
piVar3 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) {
|
|
|
|
if (*param_2 != 0x2c0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_005ba9e0();
|
|
|
|
FUN_005bac10(¶m_2,(int)piVar3 + (param_3 - (int)param_2));
|
|
|
|
iVar2 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
uVar4 = FUN_00569e60(iVar1,local_30,iVar2);
|
|
|
|
FUN_0048ed20();
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7700 at 0x006A7700 (size: 249) ---
|
|
|
|
|
|
char FUN_006a7700(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0xa2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7800 at 0x006A7800 (size: 126) ---
|
|
|
|
|
|
undefined4 FUN_006a7800(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_44 [68];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x2be) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_0059b570();
|
|
|
|
FUN_005ba630(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_0056a160(local_44);
|
|
|
|
FUN_0056aa40();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7880 at 0x006A7880 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a7880(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) {
|
|
|
|
if (*param_2 == 0x27a) {
|
|
|
|
uVar1 = FUN_0056ad90(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a78b0 at 0x006A78B0 (size: 37) ---
|
|
|
|
|
|
undefined4 FUN_006a78b0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) && (*param_2 == 3)) {
|
|
|
|
uVar1 = FUN_0056ad70(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a78e0 at 0x006A78E0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a78e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1e;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a79b0 at 0x006A79B0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a79b0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x31;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7a40 at 0x006A7A40 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7a40(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x3e;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7ad0 at 0x006A7AD0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7ad0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x2a7;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7b60 at 0x006A7B60 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7b60(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x256;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7bf0 at 0x006A7BF0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a7bf0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x42;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7cc0 at 0x006A7CC0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a7cc0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x3f;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7d90 at 0x006A7D90 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7d90(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x2a3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7e20 at 0x006A7E20 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7e20(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x3d;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7eb0 at 0x006A7EB0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7eb0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x2a6;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7f40 at 0x006A7F40 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7f40(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x30;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a7fd0 at 0x006A7FD0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a7fd0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x255;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8060 at 0x006A8060 (size: 141) ---
|
|
|
|
|
|
char FUN_006a8060(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x2ab;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a80f0 at 0x006A80F0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a80f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1d;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a81c0 at 0x006A81C0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a81c0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1f;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8290 at 0x006A8290 (size: 79) ---
|
|
|
|
|
|
undefined4 FUN_006a8290(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd205);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 100))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a82e0 at 0x006A82E0 (size: 79) ---
|
|
|
|
|
|
undefined4 FUN_006a82e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd206);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x68))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8330 at 0x006A8330 (size: 72) ---
|
|
|
|
|
|
undefined4 FUN_006a8330(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd207);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x6c))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8380 at 0x006A8380 (size: 79) ---
|
|
|
|
|
|
undefined4 FUN_006a8380(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd208);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x70))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a83d0 at 0x006A83D0 (size: 171) ---
|
|
|
|
|
|
undefined4 FUN_006a83d0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_118 [280];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) {
|
|
|
|
if (*param_2 != 0x27c) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_0059a080();
|
|
|
|
FUN_005b7c80(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_0056af70(iVar1,local_118);
|
|
|
|
FUN_005b8c00();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8480 at 0x006A8480 (size: 179) ---
|
|
|
|
|
|
char FUN_006a8480(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x2a1;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8540 at 0x006A8540 (size: 224) ---
|
|
|
|
|
|
char FUN_006a8540(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar4 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar4 = iVar2 + iVar3 + 4 + iVar4;
|
|
|
|
puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);
|
|
|
|
local_c = puVar5;
|
|
|
|
FUN_006b4010(&local_c,iVar4);
|
|
|
|
*local_c = 0x2a0;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar5,iVar4);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8620 at 0x006A8620 (size: 249) ---
|
|
|
|
|
|
char FUN_006a8620(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x41;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8720 at 0x006A8720 (size: 179) ---
|
|
|
|
|
|
char FUN_006a8720(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x27b;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a87e0 at 0x006A87E0 (size: 249) ---
|
|
|
|
|
|
char FUN_006a87e0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x277;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a88e0 at 0x006A88E0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a88e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x2a2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a89a0 at 0x006A89A0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a89a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x2a5;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8a60 at 0x006A8A60 (size: 179) ---
|
|
|
|
|
|
char FUN_006a8a60(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x40;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8b20 at 0x006A8B20 (size: 179) ---
|
|
|
|
|
|
char FUN_006a8b20(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x33;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8be0 at 0x006A8BE0 (size: 249) ---
|
|
|
|
|
|
char FUN_006a8be0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x3b;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8ce0 at 0x006A8CE0 (size: 237) ---
|
|
|
|
|
|
char FUN_006a8ce0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x3c;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8dd0 at 0x006A8DD0 (size: 179) ---
|
|
|
|
|
|
char FUN_006a8dd0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x254;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8e90 at 0x006A8E90 (size: 265) ---
|
|
|
|
|
|
char FUN_006a8e90(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x45;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a8fa0 at 0x006A8FA0 (size: 265) ---
|
|
|
|
|
|
char FUN_006a8fa0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x44;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a90b0 at 0x006A90B0 (size: 265) ---
|
|
|
|
|
|
char FUN_006a90b0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x46;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a91c0 at 0x006A91C0 (size: 265) ---
|
|
|
|
|
|
char FUN_006a91c0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x47;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a92d0 at 0x006A92D0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a92d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd241);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x210))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9320 at 0x006A9320 (size: 224) ---
|
|
|
|
|
|
char FUN_006a9320(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
undefined4 *puVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = (**(code **)(*param_2 + 0xc))(&local_c,0);
|
|
|
|
iVar4 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar4 = iVar2 + iVar3 + 4 + iVar4;
|
|
|
|
puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar4);
|
|
|
|
*puVar5 = 0xd6;
|
|
|
|
puVar6 = puVar5 + 1;
|
|
|
|
FUN_004fd290(&stack0xffffffec,(int)puVar5 + (iVar4 - (int)puVar6));
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar5 + (iVar4 - (int)puVar6));
|
|
|
|
cVar1 = FUN_005473d0(puVar5,iVar4);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar6);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9400 at 0x006A9400 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a9400(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1cb)) {
|
|
|
|
uVar1 = FUN_004f1b30(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9430 at 0x006A9430 (size: 63) ---
|
|
|
|
|
|
undefined4 FUN_006a9430(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 == 0x264) {
|
|
|
|
uVar1 = FUN_00564d80(param_2[1],param_2[2],param_2[3]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9470 at 0x006A9470 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006a9470(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1c7)) {
|
|
|
|
uVar1 = FUN_005656a0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a94a0 at 0x006A94A0 (size: 201) ---
|
|
|
|
|
|
char FUN_006a94a0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 200;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9570 at 0x006A9570 (size: 201) ---
|
|
|
|
|
|
char FUN_006a9570(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x263;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9640 at 0x006A9640 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006a9640(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd263);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x144))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a96a0 at 0x006A96A0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a96a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25d);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x148))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a96f0 at 0x006A96F0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a96f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd256);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x14c))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9750 at 0x006A9750 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a9750(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f9);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x154))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a97a0 at 0x006A97A0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a97a0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25b);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x158))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a97f0 at 0x006A97F0 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006a97f0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f5);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x160))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9850 at 0x006A9850 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a9850(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x28c) {
|
|
|
|
uVar1 = FUN_005865c0(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9880 at 0x006A9880 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a9880(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x281) {
|
|
|
|
uVar1 = FUN_00586520(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a98b0 at 0x006A98B0 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a98b0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x283) {
|
|
|
|
uVar1 = FUN_00586560(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a98e0 at 0x006A98E0 (size: 57) ---
|
|
|
|
|
|
undefined4 FUN_006a98e0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x285) {
|
|
|
|
uVar1 = FUN_005865a0(param_2[1],param_2[2],param_2[3]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9920 at 0x006A9920 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006a9920(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x282) {
|
|
|
|
uVar1 = FUN_00586540(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9950 at 0x006A9950 (size: 265) ---
|
|
|
|
|
|
char FUN_006a9950(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x269;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9a60 at 0x006A9A60 (size: 386) ---
|
|
|
|
|
|
char FUN_006a9a60(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x14;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x26b;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_4;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9bf0 at 0x006A9BF0 (size: 141) ---
|
|
|
|
|
|
char FUN_006a9bf0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x26d;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9c80 at 0x006A9C80 (size: 141) ---
|
|
|
|
|
|
char FUN_006a9c80(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x26a;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9d10 at 0x006A9D10 (size: 201) ---
|
|
|
|
|
|
char FUN_006a9d10(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x26e;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9de0 at 0x006A9DE0 (size: 128) ---
|
|
|
|
|
|
undefined4 FUN_006a9de0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined **local_1c;
|
|
|
|
undefined4 local_18;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {
|
|
|
|
if (*param_2 == 0x284) {
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = param_2[2];
|
|
|
|
iVar4 = (int)param_2 + (param_3 - (int)(param_2 + 3));
|
|
|
|
local_1c = &PTR_FUN_008039ec;
|
|
|
|
local_18 = 0;
|
|
|
|
param_2 = param_2 + 3;
|
|
|
|
FUN_006b8680(¶m_2,iVar4);
|
|
|
|
uVar3 = FUN_00586580(iVar1,iVar2,&local_1c);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9e60 at 0x006A9E60 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006a9e60(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd219);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x100))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9eb0 at 0x006A9EB0 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006a9eb0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd21a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x104))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9f00 at 0x006A9F00 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a9f00(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(FUN_004dd240);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x108))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9f60 at 0x006A9F60 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a9f60(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23b);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x10c))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006a9fc0 at 0x006A9FC0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006a9fc0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23d);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x110))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa020 at 0x006AA020 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006aa020(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23f);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x114))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa080 at 0x006AA080 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006aa080(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23e);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x118))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa0e0 at 0x006AA0E0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006aa0e0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23c);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x11c))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa140 at 0x006AA140 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006aa140(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd250);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x120))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa190 at 0x006AA190 (size: 201) ---
|
|
|
|
|
|
char FUN_006aa190(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xac;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa260 at 0x006AA260 (size: 201) ---
|
|
|
|
|
|
char FUN_006aa260(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xaa;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa330 at 0x006AA330 (size: 265) ---
|
|
|
|
|
|
char FUN_006aa330(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xad;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa440 at 0x006AA440 (size: 265) ---
|
|
|
|
|
|
char FUN_006aa440(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xae;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa550 at 0x006AA550 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006aa550(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1ea);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x298))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa5b0 at 0x006AA5B0 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006aa5b0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1eb);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x29c))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa610 at 0x006AA610 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006aa610(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1ec);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x2a0))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa670 at 0x006AA670 (size: 102) ---
|
|
|
|
|
|
undefined4
|
|
|
|
FUN_006aa670(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
|
|
undefined4 param_5)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e9);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x2a4))(unaff_retaddr,param_1,param_2,param_3,param_4,param_5);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa6e0 at 0x006AA6E0 (size: 296) ---
|
|
|
|
|
|
char FUN_006aa6e0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 0xc + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0xab;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa810 at 0x006AA810 (size: 237) ---
|
|
|
|
|
|
char FUN_006aa810(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0xbf;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa900 at 0x006AA900 (size: 52) ---
|
|
|
|
|
|
undefined4 FUN_006aa900(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x50) != 0)) {
|
|
|
|
if (*param_2 == 0x1c0) {
|
|
|
|
uVar1 = FUN_0056b2a0(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa940 at 0x006AA940 (size: 141) ---
|
|
|
|
|
|
char FUN_006aa940(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1b7;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aa9d0 at 0x006AA9D0 (size: 201) ---
|
|
|
|
|
|
char FUN_006aa9d0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x53;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aaaa0 at 0x006AAAA0 (size: 201) ---
|
|
|
|
|
|
char FUN_006aaaa0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1bf;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aab70 at 0x006AAB70 (size: 322) ---
|
|
|
|
|
|
char FUN_006aab70(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 8;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aacc0 at 0x006AACC0 (size: 322) ---
|
|
|
|
|
|
char FUN_006aacc0(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 10;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aae10 at 0x006AAE10 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006aae10(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fc);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xc4))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aae60 at 0x006AAE60 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006aae60(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd249);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 200))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aaeb0 at 0x006AAEB0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006aaeb0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fb);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xcc))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aaf00 at 0x006AAF00 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006aaf00(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f4);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0xd0))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aaf60 at 0x006AAF60 (size: 237) ---
|
|
|
|
|
|
char FUN_006aaf60(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x60;
|
|
|
|
puVar4[1] = local_4;
|
|
|
|
puVar5 = puVar4 + 2;
|
|
|
|
uVar6 = (uint)puVar5 & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)puVar5 = 0;
|
|
|
|
puVar5 = (undefined4 *)((int)puVar5 + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar5);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab050 at 0x006AB050 (size: 300) ---
|
|
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x006ab133) */
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x006ab13a) */
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x006ab143) */
|
|
|
|
|
|
|
|
char FUN_006ab050(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_2 + 0xc))(&local_c);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 0xc + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x5f;
|
|
|
|
puVar4[1] = local_4;
|
|
|
|
puVar5 = puVar4 + 2;
|
|
|
|
uVar6 = (uint)puVar5 & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)puVar5 = 0;
|
|
|
|
puVar5 = (undefined4 *)((int)puVar5 + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));
|
|
|
|
uRam00000000 = local_4;
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar5);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab180 at 0x006AB180 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ab180(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd218);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x28c))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab1d0 at 0x006AB1D0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ab1d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd253);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x290))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab220 at 0x006AB220 (size: 92) ---
|
|
|
|
|
|
undefined4 FUN_006ab220(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20e);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x294))(unaff_retaddr,param_1,param_2,param_3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab280 at 0x006AB280 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ab280(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x226)) {
|
|
|
|
uVar1 = FUN_005867e0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab2b0 at 0x006AB2B0 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ab2b0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x259)) {
|
|
|
|
uVar1 = FUN_005867e0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab2e0 at 0x006AB2E0 (size: 126) ---
|
|
|
|
|
|
undefined4 FUN_006ab2e0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_34 [52];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 599) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005b0df0();
|
|
|
|
FUN_005b0a70(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_00586a00(local_34);
|
|
|
|
FUN_005b0e60();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab360 at 0x006AB360 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ab360(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x227)) {
|
|
|
|
uVar1 = FUN_00586820(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab390 at 0x006AB390 (size: 190) ---
|
|
|
|
|
|
undefined4 FUN_006ab390(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_84 [132];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
if (*param_2 != 0x248) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
uVar3 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
param_2 = (int *)((int)param_2 + 9);
|
|
|
|
FUN_005aff60();
|
|
|
|
FUN_005afa40(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_00586860((char)iVar1,uVar3,local_84);
|
|
|
|
FUN_005affe0();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab450 at 0x006AB450 (size: 141) ---
|
|
|
|
|
|
char FUN_006ab450(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x21f;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab4e0 at 0x006AB4E0 (size: 141) ---
|
|
|
|
|
|
char FUN_006ab4e0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x25c;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab570 at 0x006AB570 (size: 141) ---
|
|
|
|
|
|
char FUN_006ab570(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x25f;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab600 at 0x006AB600 (size: 237) ---
|
|
|
|
|
|
char FUN_006ab600(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x21c;
|
|
|
|
puVar4[1] = local_4;
|
|
|
|
puVar5 = puVar4 + 2;
|
|
|
|
uVar6 = (uint)puVar5 & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)puVar5 = 0;
|
|
|
|
puVar5 = (undefined4 *)((int)puVar5 + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar5);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab6f0 at 0x006AB6F0 (size: 201) ---
|
|
|
|
|
|
char FUN_006ab6f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x270;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab7c0 at 0x006AB7C0 (size: 201) ---
|
|
|
|
|
|
char FUN_006ab7c0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x267;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab890 at 0x006AB890 (size: 201) ---
|
|
|
|
|
|
char FUN_006ab890(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x268;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab960 at 0x006AB960 (size: 141) ---
|
|
|
|
|
|
char FUN_006ab960(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x21e;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ab9f0 at 0x006AB9F0 (size: 201) ---
|
|
|
|
|
|
char FUN_006ab9f0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 600;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abac0 at 0x006ABAC0 (size: 141) ---
|
|
|
|
|
|
char FUN_006abac0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x25e;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abb50 at 0x006ABB50 (size: 141) ---
|
|
|
|
|
|
char FUN_006abb50(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x24c;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abbe0 at 0x006ABBE0 (size: 237) ---
|
|
|
|
|
|
char FUN_006abbe0(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x221;
|
|
|
|
puVar4[1] = local_4;
|
|
|
|
puVar5 = puVar4 + 2;
|
|
|
|
uVar6 = (uint)puVar5 & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)puVar5 = 0;
|
|
|
|
puVar5 = (undefined4 *)((int)puVar5 + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar5);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abcd0 at 0x006ABCD0 (size: 141) ---
|
|
|
|
|
|
char FUN_006abcd0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x24d;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abd60 at 0x006ABD60 (size: 201) ---
|
|
|
|
|
|
char FUN_006abd60(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x266;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abe30 at 0x006ABE30 (size: 201) ---
|
|
|
|
|
|
char FUN_006abe30(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x247;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abf00 at 0x006ABF00 (size: 141) ---
|
|
|
|
|
|
char FUN_006abf00(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x262;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006abf90 at 0x006ABF90 (size: 141) ---
|
|
|
|
|
|
char FUN_006abf90(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x278;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac020 at 0x006AC020 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ac020(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd226);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x124))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac070 at 0x006AC070 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ac070(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd225);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x128))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac0c0 at 0x006AC0C0 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006ac0c0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd229);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 300))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac120 at 0x006AC120 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ac120(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd228);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x130))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac170 at 0x006AC170 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ac170(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd227);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x134))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac1c0 at 0x006AC1C0 (size: 179) ---
|
|
|
|
|
|
char FUN_006ac1c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x245;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac280 at 0x006AC280 (size: 179) ---
|
|
|
|
|
|
char FUN_006ac280(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x24a;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac340 at 0x006AC340 (size: 249) ---
|
|
|
|
|
|
char FUN_006ac340(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x249;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac440 at 0x006AC440 (size: 179) ---
|
|
|
|
|
|
char FUN_006ac440(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x246;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac500 at 0x006AC500 (size: 152) ---
|
|
|
|
|
|
undefined4 FUN_006ac500(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
if (*param_2 != 0x271) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_0048bce0(¶m_2,iVar2);
|
|
|
|
uVar3 = FUN_00586bd0(iVar1,&local_10,*param_2);
|
|
|
|
local_10 = &PTR_FUN_007a4ed0;
|
|
|
|
FUN_0048bc30();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac5a0 at 0x006AC5A0 (size: 64) ---
|
|
|
|
|
|
void __fastcall FUN_006ac5a0(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
param_1[0xb] = &PTR_FUN_0079385c;
|
|
|
|
param_1[7] = &PTR_FUN_007e83bc;
|
|
|
|
FUN_004a2d40();
|
|
|
|
param_1[7] = &PTR_FUN_0079385c;
|
|
|
|
param_1[3] = &PTR_FUN_007e83bc;
|
|
|
|
FUN_004a2d40();
|
|
|
|
param_1[3] = &PTR_FUN_0079385c;
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac5e0 at 0x006AC5E0 (size: 138) ---
|
|
|
|
|
|
undefined4 FUN_006ac5e0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_4c [76];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
if (*param_2 != 0x21d) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_005bcd60();
|
|
|
|
FUN_005bce90(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_005867c0(iVar1,local_4c);
|
|
|
|
FUN_005bcde0();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac670 at 0x006AC670 (size: 141) ---
|
|
|
|
|
|
undefined4 FUN_006ac670(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
if (*param_2 == 0x228) {
|
|
|
|
iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
local_10 = &PTR_FUN_007e83bc;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
FUN_005bbe20(¶m_2,iVar1);
|
|
|
|
uVar2 = FUN_00586840(&local_10);
|
|
|
|
local_10 = &PTR_FUN_007e83bc;
|
|
|
|
FUN_004a2d40();
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac700 at 0x006AC700 (size: 144) ---
|
|
|
|
|
|
undefined4 FUN_006ac700(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_7c [124];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x225) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005bc780();
|
|
|
|
FUN_005bc6c0(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_00586800(local_7c);
|
|
|
|
FUN_006ac5a0();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac790 at 0x006AC790 (size: 237) ---
|
|
|
|
|
|
char FUN_006ac790(undefined4 param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 *puVar5;
|
|
|
|
uint uVar6;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x27d;
|
|
|
|
puVar4[1] = local_4;
|
|
|
|
puVar5 = puVar4 + 2;
|
|
|
|
uVar6 = (uint)puVar5 & 0x80000003;
|
|
|
|
if ((int)uVar6 < 0) {
|
|
|
|
uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar6 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)puVar5 = 0;
|
|
|
|
puVar5 = (undefined4 *)((int)puVar5 + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
(**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar5);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac880 at 0x006AC880 (size: 201) ---
|
|
|
|
|
|
char FUN_006ac880(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1b;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ac950 at 0x006AC950 (size: 265) ---
|
|
|
|
|
|
char FUN_006ac950(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1a;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aca60 at 0x006ACA60 (size: 322) ---
|
|
|
|
|
|
char FUN_006aca60(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0xcd;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006acbb0 at 0x006ACBB0 (size: 201) ---
|
|
|
|
|
|
char FUN_006acbb0(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x195;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006acc80 at 0x006ACC80 (size: 322) ---
|
|
|
|
|
|
char FUN_006acc80(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x19;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006acdd0 at 0x006ACDD0 (size: 322) ---
|
|
|
|
|
|
char FUN_006acdd0(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x54;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006acf20 at 0x006ACF20 (size: 265) ---
|
|
|
|
|
|
char FUN_006acf20(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x56;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad030 at 0x006AD030 (size: 386) ---
|
|
|
|
|
|
char FUN_006ad030(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x14;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x55;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_4;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad1c0 at 0x006AD1C0 (size: 322) ---
|
|
|
|
|
|
char FUN_006ad1c0(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0x10;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x19b;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_3;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad310 at 0x006AD310 (size: 201) ---
|
|
|
|
|
|
char FUN_006ad310(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x36;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad3e0 at 0x006AD3E0 (size: 265) ---
|
|
|
|
|
|
char FUN_006ad3e0(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x35;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad4f0 at 0x006AD4F0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ad4f0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd222);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x13c))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad540 at 0x006AD540 (size: 57) ---
|
|
|
|
|
|
void __fastcall FUN_006ad540(undefined4 *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
param_1[6] = &PTR_FUN_007e8ff4;
|
|
|
|
FUN_005ca8e0();
|
|
|
|
param_1[6] = &PTR_FUN_0079385c;
|
|
|
|
param_1[2] = &PTR_FUN_007a4ed0;
|
|
|
|
FUN_0048bc30();
|
|
|
|
param_1[2] = &PTR_FUN_0079385c;
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad580 at 0x006AD580 (size: 126) ---
|
|
|
|
|
|
undefined4 FUN_006ad580(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int *piVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined1 local_38 [56];
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
iVar1 = *param_2;
|
|
|
|
param_2 = param_2 + 1;
|
|
|
|
if (iVar1 != 0x2b4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_005caa80();
|
|
|
|
FUN_005ca770(¶m_2,(int)piVar2 + (param_3 - (int)param_2));
|
|
|
|
uVar3 = FUN_005663c0(local_38);
|
|
|
|
FUN_006ad540();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad640 at 0x006AD640 (size: 68) ---
|
|
|
|
|
|
undefined4 FUN_006ad640(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
|
|
|
|
if ((param_2 != 0) && (param_1 != 0)) {
|
|
|
|
piVar1 = *(int **)(param_2 + 0x2c);
|
|
|
|
if (*piVar1 == 0xf755) {
|
|
|
|
uVar2 = FUN_004520b0(param_2,piVar1[1],piVar1[2],piVar1[3]);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad690 at 0x006AD690 (size: 45) ---
|
|
|
|
|
|
undefined4 FUN_006ad690(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_2 != 0) && (param_1 != 0)) && (**(int **)(param_2 + 0x2c) == 0xf751)) {
|
|
|
|
uVar1 = FUN_00452190(param_2,(short)(*(int **)(param_2 + 0x2c))[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad6c0 at 0x006AD6C0 (size: 68) ---
|
|
|
|
|
|
undefined4 FUN_006ad6c0(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
|
|
|
|
if ((param_2 != 0) && (param_1 != 0)) {
|
|
|
|
piVar1 = *(int **)(param_2 + 0x2c);
|
|
|
|
if (*piVar1 == 0xf750) {
|
|
|
|
uVar2 = FUN_00452000(param_2,piVar1[1],piVar1[2],piVar1[3]);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ad710 at 0x006AD710 (size: 279) ---
|
|
|
|
|
|
undefined4 FUN_006ad710(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
int *local_1b8;
|
|
|
|
undefined1 local_1b4 [44];
|
|
|
|
undefined1 local_188 [176];
|
|
|
|
undefined1 local_d8 [216];
|
|
|
|
|
|
|
|
if ((param_2 != 0) && (param_1 != 0)) {
|
|
|
|
piVar1 = *(int **)(param_2 + 0x2c);
|
|
|
|
iVar2 = *(int *)(param_2 + 0x30);
|
|
|
|
if (*piVar1 != 0xf7db) {
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
iVar3 = piVar1[1];
|
|
|
|
local_1b8 = piVar1 + 2;
|
|
|
|
FUN_005ac9c0();
|
|
|
|
FUN_005acda0(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);
|
|
|
|
FUN_0051dfe0();
|
|
|
|
FUN_0051e8e0(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);
|
|
|
|
FUN_005ae4d0();
|
|
|
|
FUN_005ae520(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);
|
|
|
|
uVar4 = FUN_00455620(param_2,iVar3,local_1b4,local_d8,local_188);
|
|
|
|
FUN_005ada90();
|
|
|
|
FUN_0051e250();
|
|
|
|
FUN_005aca00();
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adba0 at 0x006ADBA0 (size: 55) ---
|
|
|
|
|
|
undefined4 FUN_006adba0(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
|
|
|
|
if ((param_2 != 0) && (param_1 != 0)) {
|
|
|
|
piVar1 = *(int **)(param_2 + 0x2c);
|
|
|
|
if (*piVar1 == 0xf754) {
|
|
|
|
uVar2 = FUN_00452060(param_2,piVar1[1],piVar1[2]);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adc80 at 0x006ADC80 (size: 193) ---
|
|
|
|
|
|
undefined4 FUN_006adc80(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
undefined1 local_20 [8];
|
|
|
|
undefined1 local_18 [12];
|
|
|
|
undefined1 local_c [12];
|
|
|
|
|
|
|
|
iVar4 = (int)param_2;
|
|
|
|
if ((param_2 != (int *)0x0) && (param_1 != 0)) {
|
|
|
|
piVar1 = *(int **)((int)param_2 + 0x2c);
|
|
|
|
iVar2 = *(int *)((int)param_2 + 0x30);
|
|
|
|
if (*piVar1 != 0xf74e) {
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
iVar3 = piVar1[1];
|
|
|
|
param_2 = piVar1 + 2;
|
|
|
|
FUN_00517040(¶m_2,(iVar2 - (int)param_2) + (int)piVar1);
|
|
|
|
FUN_00517040(¶m_2,(iVar2 - (int)param_2) + (int)piVar1);
|
|
|
|
FUN_005179f0();
|
|
|
|
FUN_00517a50(¶m_2,(iVar2 - (int)param_2) + (int)piVar1);
|
|
|
|
uVar5 = FUN_004534c0(iVar4,iVar3,local_c,local_18,local_20);
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006add50 at 0x006ADD50 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006add50(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x202)) {
|
|
|
|
uVar1 = FUN_0056e9f0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006add80 at 0x006ADD80 (size: 57) ---
|
|
|
|
|
|
undefined4 FUN_006add80(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {
|
|
|
|
if (*param_2 == 0x200) {
|
|
|
|
uVar1 = FUN_0056ef90(param_2[1],param_2[2],param_2[3]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006addc0 at 0x006ADDC0 (size: 35) ---
|
|
|
|
|
|
undefined4 FUN_006addc0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x208)) {
|
|
|
|
uVar1 = FUN_0056e770();
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006addf0 at 0x006ADDF0 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006addf0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x1ff)) {
|
|
|
|
uVar1 = FUN_0056ebe0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ade20 at 0x006ADE20 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ade20(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x203)) {
|
|
|
|
uVar1 = FUN_0056ea90(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ade50 at 0x006ADE50 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ade50(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x1fe)) {
|
|
|
|
uVar1 = FUN_0056e6e0(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ade80 at 0x006ADE80 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006ade80(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {
|
|
|
|
if (*param_2 == 0x1fd) {
|
|
|
|
uVar1 = FUN_0056ee00(param_2[1],param_2[2],param_2[3],param_2[4]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adee0 at 0x006ADEE0 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006adee0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {
|
|
|
|
if (*param_2 == 0x201) {
|
|
|
|
uVar1 = FUN_0056e9b0(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adf10 at 0x006ADF10 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006adf10(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x205)) {
|
|
|
|
uVar1 = FUN_0056e700(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adf40 at 0x006ADF40 (size: 48) ---
|
|
|
|
|
|
undefined4 FUN_006adf40(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {
|
|
|
|
if (*param_2 == 0x207) {
|
|
|
|
uVar1 = FUN_0056e740(param_2[1],param_2[2]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006adf70 at 0x006ADF70 (size: 179) ---
|
|
|
|
|
|
char FUN_006adf70(int *param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = 0;
|
|
|
|
iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&stack0xffffffec,0);
|
|
|
|
iVar3 = iVar2 + 4 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
FUN_006b4010(&stack0xffffffec,iVar3);
|
|
|
|
*puVar4 = 0x1fa;
|
|
|
|
(**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(puVar4 + 1);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae030 at 0x006AE030 (size: 265) ---
|
|
|
|
|
|
char FUN_006ae030(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 0xc;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1f8;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae140 at 0x006AE140 (size: 141) ---
|
|
|
|
|
|
char FUN_006ae140(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1f7;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae1d0 at 0x006AE1D0 (size: 141) ---
|
|
|
|
|
|
char FUN_006ae1d0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1fb;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae260 at 0x006AE260 (size: 201) ---
|
|
|
|
|
|
char FUN_006ae260(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
uint uVar4;
|
|
|
|
int iVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 8;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x1f6;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar4 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar4 < 0) {
|
|
|
|
uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar4 != 0) {
|
|
|
|
for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae330 at 0x006AE330 (size: 141) ---
|
|
|
|
|
|
char FUN_006ae330(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar2 = iVar2 + 4;
|
|
|
|
puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);
|
|
|
|
local_c = puVar3;
|
|
|
|
FUN_006b4010(&local_c,iVar2);
|
|
|
|
*local_c = 0x204;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
cVar1 = FUN_005473d0(puVar3,iVar2);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae3c0 at 0x006AE3C0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae3c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd235);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1e4))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae410 at 0x006AE410 (size: 87) ---
|
|
|
|
|
|
undefined4 FUN_006ae410(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd233);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1e8))(unaff_retaddr,param_1,param_2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae470 at 0x006AE470 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006ae470(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd239);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1ec))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae4c0 at 0x006AE4C0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae4c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd232);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1f0))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae510 at 0x006AE510 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae510(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd236);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 500))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae560 at 0x006AE560 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae560(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd231);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1f8))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae5b0 at 0x006AE5B0 (size: 90) ---
|
|
|
|
|
|
undefined4 FUN_006ae5b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd230);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x1fc))(unaff_retaddr,param_1,param_2,param_3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae610 at 0x006AE610 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006ae610(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd234);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x200))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae670 at 0x006AE670 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae670(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd237);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x204))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae6c0 at 0x006AE6C0 (size: 75) ---
|
|
|
|
|
|
undefined4 FUN_006ae6c0(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23a);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x208))(unaff_retaddr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae710 at 0x006AE710 (size: 82) ---
|
|
|
|
|
|
undefined4 FUN_006ae710(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined4 unaff_retaddr;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd238);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x20c))(unaff_retaddr,param_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae770 at 0x006AE770 (size: 70) ---
|
|
|
|
|
|
undefined4 FUN_006ae770(void)
|
|
|
|
|
|
|
|
{
|
|
|
|
int *piVar1;
|
|
|
|
char cVar2;
|
|
|
|
int *piVar3;
|
|
|
|
int iVar4;
|
|
|
|
|
|
|
|
piVar3 = (int *)thunk_FUN_0043c680();
|
|
|
|
iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e1);
|
|
|
|
if (iVar4 != 0) {
|
|
|
|
piVar3 = *(int **)(iVar4 + 4);
|
|
|
|
while (piVar3 != (int *)0x0) {
|
|
|
|
piVar1 = (int *)*piVar3;
|
|
|
|
piVar3 = (int *)piVar3[1];
|
|
|
|
if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {
|
|
|
|
(**(code **)(*piVar1 + 0x164))();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae7c0 at 0x006AE7C0 (size: 164) ---
|
|
|
|
|
|
undefined4 FUN_006ae7c0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
undefined4 uVar5;
|
|
|
|
LONG LVar6;
|
|
|
|
int *piVar7;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar3 = param_2;
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {
|
|
|
|
if (*param_2 != 0xf7e1) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = param_2[2];
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
piVar7 = param_2 + 3;
|
|
|
|
param_2 = piVar7;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar3 + (param_3 - (int)piVar7));
|
|
|
|
uVar5 = FUN_00564f40(iVar1,iVar2,&local_4);
|
|
|
|
puVar4 = local_4;
|
|
|
|
LVar6 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar4)(1);
|
|
|
|
}
|
|
|
|
return uVar5;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae870 at 0x006AE870 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ae870(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x40) != 0)) && (*param_2 == 60000)) {
|
|
|
|
uVar1 = FUN_0055eb40(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae8a0 at 0x006AE8A0 (size: 40) ---
|
|
|
|
|
|
undefined4 FUN_006ae8a0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if (((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) && (*param_2 == 0x2ae)) {
|
|
|
|
uVar1 = FUN_006b6e20(param_2[1]);
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae8d0 at 0x006AE8D0 (size: 68) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006ae8d0(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
LONG LVar2;
|
|
|
|
|
|
|
|
puVar1 = (undefined4 *)param_1[1];
|
|
|
|
*param_1 = &PTR_FUN_0080468c;
|
|
|
|
LVar2 = InterlockedDecrement(puVar1 + 1);
|
|
|
|
if ((LVar2 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae920 at 0x006AE920 (size: 68) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006ae920(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
LONG LVar2;
|
|
|
|
|
|
|
|
puVar1 = (undefined4 *)param_1[1];
|
|
|
|
*param_1 = &PTR_FUN_008046a0;
|
|
|
|
LVar2 = InterlockedDecrement(puVar1 + 1);
|
|
|
|
if ((LVar2 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006ae970 at 0x006AE970 (size: 237) ---
|
|
|
|
|
|
char FUN_006ae970(undefined4 param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 *puVar4;
|
|
|
|
uint uVar5;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar3 = iVar2 + 8 + iVar3;
|
|
|
|
puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);
|
|
|
|
local_c = puVar4;
|
|
|
|
FUN_006b4010(&local_c,iVar3);
|
|
|
|
*local_c = 0x2af;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar5 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar5 < 0) {
|
|
|
|
uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar5 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar4,iVar3);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aea60 at 0x006AEA60 (size: 434) ---
|
|
|
|
|
|
char FUN_006aea60(undefined4 param_1,undefined4 param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
char cVar1;
|
|
|
|
int iVar2;
|
|
|
|
int iVar3;
|
|
|
|
int iVar4;
|
|
|
|
int iVar5;
|
|
|
|
int iVar6;
|
|
|
|
undefined4 *puVar7;
|
|
|
|
uint uVar8;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined **local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
local_4 = FUN_005473a0();
|
|
|
|
local_8 = &PTR_FUN_00802c2c;
|
|
|
|
local_c = (undefined4 *)0x0;
|
|
|
|
iVar2 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar3 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar4 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar5 = FUN_004fd290(&local_c,0);
|
|
|
|
iVar6 = FUN_006b4010(&local_c,0);
|
|
|
|
iVar6 = iVar2 + iVar3 + iVar4 + iVar5 + 0xc + iVar6;
|
|
|
|
puVar7 = (undefined4 *)thunk_FUN_005df0f5(iVar6);
|
|
|
|
local_c = puVar7;
|
|
|
|
FUN_006b4010(&local_c,iVar6);
|
|
|
|
*local_c = 0x2b2;
|
|
|
|
local_c[1] = param_1;
|
|
|
|
local_c = local_c + 2;
|
|
|
|
uVar8 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar8 < 0) {
|
|
|
|
uVar8 = (uVar8 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar8 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar8; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*local_c = param_2;
|
|
|
|
local_c = local_c + 1;
|
|
|
|
uVar8 = (uint)local_c & 0x80000003;
|
|
|
|
if ((int)uVar8 < 0) {
|
|
|
|
uVar8 = (uVar8 - 1 | 0xfffffffc) + 1;
|
|
|
|
}
|
|
|
|
if (uVar8 != 0) {
|
|
|
|
for (iVar2 = 4 - uVar8; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
|
|
*(undefined1 *)local_c = 0;
|
|
|
|
local_c = (undefined4 *)((int)local_c + 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));
|
|
|
|
FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));
|
|
|
|
FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));
|
|
|
|
FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));
|
|
|
|
cVar1 = FUN_005473d0(puVar7,iVar6);
|
|
|
|
if (cVar1 == '\0') {
|
|
|
|
FUN_005473b0(local_4);
|
|
|
|
}
|
|
|
|
return cVar1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aec20 at 0x006AEC20 (size: 75) ---
|
|
|
|
|
|
int __thiscall FUN_006aec20(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int iVar2;
|
|
|
|
LONG LVar3;
|
|
|
|
|
|
|
|
puVar1 = *(undefined4 **)(param_1 + 4);
|
|
|
|
if (puVar1 != *(undefined4 **)(param_2 + 4)) {
|
|
|
|
LVar3 = InterlockedDecrement(puVar1 + 1);
|
|
|
|
if ((LVar3 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
iVar2 = *(int *)(param_2 + 4);
|
|
|
|
*(int *)(param_1 + 4) = iVar2;
|
|
|
|
InterlockedIncrement((LONG *)(iVar2 + 4));
|
|
|
|
}
|
|
|
|
*(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 8);
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aec70 at 0x006AEC70 (size: 151) ---
|
|
|
|
|
|
undefined4 FUN_006aec70(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
int *piVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
|
|
|
|
piVar3 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x4c) != 0)) {
|
|
|
|
if (*param_2 != 0x2b1) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
piVar6 = param_2 + 2;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar3 + (param_3 - (int)piVar6));
|
|
|
|
uVar4 = FUN_006b6ec0(iVar1,¶m_1);
|
|
|
|
puVar2 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar2 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar2)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aed10 at 0x006AED10 (size: 445) ---
|
|
|
|
|
|
undefined4 FUN_006aed10(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int *piVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined4 uVar4;
|
|
|
|
LONG LVar5;
|
|
|
|
int *piVar6;
|
|
|
|
undefined4 *local_10;
|
|
|
|
undefined4 *local_c;
|
|
|
|
undefined4 *local_8;
|
|
|
|
undefined4 *local_4;
|
|
|
|
|
|
|
|
piVar2 = param_2;
|
|
|
|
if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x4c) != 0)) {
|
|
|
|
piVar6 = param_2 + 1;
|
|
|
|
if (*param_2 != 0x2b3) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
local_4 = DAT_008ef11c;
|
|
|
|
param_2 = piVar6;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
iVar3 = param_3;
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (param_3 - (int)piVar6));
|
|
|
|
local_8 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
local_c = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
local_10 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
param_1 = DAT_008ef11c;
|
|
|
|
InterlockedIncrement(DAT_008ef11c + 1);
|
|
|
|
FUN_004fd460(¶m_2,(int)piVar2 + (iVar3 - (int)param_2));
|
|
|
|
uVar4 = FUN_006b6e10(&local_4,&local_8,&local_c,&local_10,¶m_1);
|
|
|
|
puVar1 = param_1;
|
|
|
|
LVar5 = InterlockedDecrement(param_1 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_10;
|
|
|
|
LVar5 = InterlockedDecrement(local_10 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_c;
|
|
|
|
LVar5 = InterlockedDecrement(local_c + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_8;
|
|
|
|
LVar5 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
puVar1 = local_4;
|
|
|
|
LVar5 = InterlockedDecrement(local_4 + 1);
|
|
|
|
if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar1)(1);
|
|
|
|
}
|
|
|
|
return uVar4;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aeed0 at 0x006AEED0 (size: 121) ---
|
|
|
|
|
|
void __thiscall FUN_006aeed0(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
|
|
|
|
puVar2 = (undefined4 *)FUN_005df0f5(0x14);
|
|
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
|
|
puVar2 = (undefined4 *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*puVar2 = &PTR_FUN_0080468c;
|
|
|
|
iVar1 = *(int *)(param_2 + 4);
|
|
|
|
puVar2[1] = iVar1;
|
|
|
|
InterlockedIncrement((LONG *)(iVar1 + 4));
|
|
|
|
puVar2[2] = *(undefined4 *)(param_2 + 8);
|
|
|
|
puVar2[3] = 0;
|
|
|
|
puVar2[4] = 0;
|
|
|
|
}
|
|
|
|
if (*(int *)(param_1 + 4) == 0) {
|
|
|
|
*(undefined4 **)(param_1 + 4) = puVar2;
|
|
|
|
*(undefined4 **)(param_1 + 8) = puVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)(param_1 + 8);
|
|
|
|
*(undefined4 **)(iVar1 + 0xc) = puVar2;
|
|
|
|
puVar2[4] = iVar1;
|
|
|
|
*(undefined4 **)(param_1 + 8) = puVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aef50 at 0x006AEF50 (size: 121) ---
|
|
|
|
|
|
void __thiscall FUN_006aef50(int param_1,int param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 *puVar2;
|
|
|
|
|
|
|
|
puVar2 = (undefined4 *)FUN_005df0f5(0x14);
|
|
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
|
|
puVar2 = (undefined4 *)0x0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*puVar2 = &PTR_FUN_008046a0;
|
|
|
|
iVar1 = *(int *)(param_2 + 4);
|
|
|
|
puVar2[1] = iVar1;
|
|
|
|
InterlockedIncrement((LONG *)(iVar1 + 4));
|
|
|
|
puVar2[2] = *(undefined4 *)(param_2 + 8);
|
|
|
|
puVar2[3] = 0;
|
|
|
|
puVar2[4] = 0;
|
|
|
|
}
|
|
|
|
if (*(int *)(param_1 + 4) == 0) {
|
|
|
|
*(undefined4 **)(param_1 + 4) = puVar2;
|
|
|
|
*(undefined4 **)(param_1 + 8) = puVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)(param_1 + 8);
|
|
|
|
*(undefined4 **)(iVar1 + 0xc) = puVar2;
|
|
|
|
puVar2[4] = iVar1;
|
|
|
|
*(undefined4 **)(param_1 + 8) = puVar2;
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aefd0 at 0x006AEFD0 (size: 123) ---
|
|
|
|
|
|
undefined4 __fastcall FUN_006aefd0(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
|
|
|
|
puVar1 = *(undefined4 **)(param_1 + 4);
|
|
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar2 = puVar1[3];
|
|
|
|
*(int *)(param_1 + 4) = iVar2;
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
*(undefined4 *)(param_1 + 8) = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*(undefined4 *)(iVar2 + 0x10) = 0;
|
|
|
|
}
|
|
|
|
FUN_006aec20(puVar1);
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
puVar3 = (undefined4 *)puVar1[1];
|
|
|
|
*puVar1 = &PTR_FUN_0080468c;
|
|
|
|
LVar4 = InterlockedDecrement(puVar3 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar3)(1);
|
|
|
|
}
|
|
|
|
*puVar1 = &PTR_FUN_0079385c;
|
|
|
|
operator_delete(puVar1);
|
|
|
|
}
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af050 at 0x006AF050 (size: 123) ---
|
|
|
|
|
|
undefined4 __fastcall FUN_006af050(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 *puVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 *puVar3;
|
|
|
|
LONG LVar4;
|
|
|
|
|
|
|
|
puVar1 = *(undefined4 **)(param_1 + 4);
|
|
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar2 = puVar1[3];
|
|
|
|
*(int *)(param_1 + 4) = iVar2;
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
*(undefined4 *)(param_1 + 8) = 0;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
*(undefined4 *)(iVar2 + 0x10) = 0;
|
|
|
|
}
|
|
|
|
FUN_006aec20(puVar1);
|
|
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
|
|
puVar3 = (undefined4 *)puVar1[1];
|
|
|
|
*puVar1 = &PTR_FUN_008046a0;
|
|
|
|
LVar4 = InterlockedDecrement(puVar3 + 1);
|
|
|
|
if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*puVar3)(1);
|
|
|
|
}
|
|
|
|
*puVar1 = &PTR_FUN_0079385c;
|
|
|
|
operator_delete(puVar1);
|
|
|
|
}
|
|
|
|
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af0d0 at 0x006AF0D0 (size: 84) ---
|
|
|
|
|
|
void __fastcall FUN_006af0d0(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
LONG LVar2;
|
|
|
|
undefined **local_c;
|
|
|
|
undefined4 *local_8;
|
|
|
|
|
|
|
|
FUN_006b1a00();
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
while (iVar1 != 0) {
|
|
|
|
FUN_006aefd0(&local_c);
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
}
|
|
|
|
local_c = &PTR_FUN_0080468c;
|
|
|
|
LVar2 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar2 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af130 at 0x006AF130 (size: 84) ---
|
|
|
|
|
|
void __fastcall FUN_006af130(int param_1)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
LONG LVar2;
|
|
|
|
undefined **local_c;
|
|
|
|
undefined4 *local_8;
|
|
|
|
|
|
|
|
FUN_006b1a30();
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
while (iVar1 != 0) {
|
|
|
|
FUN_006af050(&local_c);
|
|
|
|
iVar1 = *(int *)(param_1 + 4);
|
|
|
|
}
|
|
|
|
local_c = &PTR_FUN_008046a0;
|
|
|
|
LVar2 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar2 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af190 at 0x006AF190 (size: 199) ---
|
|
|
|
|
|
undefined4 FUN_006af190(int *param_1,uint param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
LONG LVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined **local_c;
|
|
|
|
undefined4 *local_8;
|
|
|
|
|
|
|
|
FUN_006af0d0();
|
|
|
|
if (param_2 < 4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)*param_1;
|
|
|
|
*param_1 = (int)((int *)*param_1 + 1);
|
|
|
|
FUN_006b1a00();
|
|
|
|
iVar4 = 0;
|
|
|
|
if (0 < iVar1) {
|
|
|
|
do {
|
|
|
|
iVar2 = (*(code *)local_c[4])(param_1,param_2);
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
local_c = &PTR_FUN_0080468c;
|
|
|
|
LVar3 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_006aeed0(&local_c);
|
|
|
|
iVar4 = iVar4 + 1;
|
|
|
|
} while (iVar4 < iVar1);
|
|
|
|
}
|
|
|
|
local_c = &PTR_FUN_0080468c;
|
|
|
|
LVar3 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af260 at 0x006AF260 (size: 199) ---
|
|
|
|
|
|
undefined4 FUN_006af260(int *param_1,uint param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
LONG LVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined **local_c;
|
|
|
|
undefined4 *local_8;
|
|
|
|
|
|
|
|
FUN_006af130();
|
|
|
|
if (param_2 < 4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = *(int *)*param_1;
|
|
|
|
*param_1 = (int)((int *)*param_1 + 1);
|
|
|
|
FUN_006b1a30();
|
|
|
|
iVar4 = 0;
|
|
|
|
if (0 < iVar1) {
|
|
|
|
do {
|
|
|
|
iVar2 = (*(code *)local_c[4])(param_1,param_2);
|
|
|
|
if (iVar2 == 0) {
|
|
|
|
local_c = &PTR_FUN_008046a0;
|
|
|
|
LVar3 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
FUN_006aef50(&local_c);
|
|
|
|
iVar4 = iVar4 + 1;
|
|
|
|
} while (iVar4 < iVar1);
|
|
|
|
}
|
|
|
|
local_c = &PTR_FUN_008046a0;
|
|
|
|
LVar3 = InterlockedDecrement(local_8 + 1);
|
|
|
|
if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {
|
|
|
|
(**(code **)*local_8)(1);
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af330 at 0x006AF330 (size: 42) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006af330(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00804664;
|
|
|
|
FUN_006af0d0();
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af360 at 0x006AF360 (size: 42) ---
|
|
|
|
|
|
undefined4 * __thiscall FUN_006af360(undefined4 *param_1,byte param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
*param_1 = &PTR_FUN_00804678;
|
|
|
|
FUN_006af130();
|
|
|
|
*param_1 = &PTR_FUN_0079385c;
|
|
|
|
if ((param_2 & 1) != 0) {
|
|
|
|
operator_delete(param_1);
|
|
|
|
}
|
|
|
|
return param_1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af390 at 0x006AF390 (size: 149) ---
|
|
|
|
|
|
undefined4 FUN_006af390(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) {
|
|
|
|
if (*param_2 != 0xf7ca) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));
|
|
|
|
local_10 = &PTR_FUN_00804664;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_006af190(¶m_2,iVar2);
|
|
|
|
uVar3 = FUN_006b4d00(iVar1,&local_10);
|
|
|
|
local_10 = &PTR_FUN_00804664;
|
|
|
|
FUN_006af0d0();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af430 at 0x006AF430 (size: 149) ---
|
|
|
|
|
|
undefined4 FUN_006af430(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) {
|
|
|
|
if (*param_2 != 0xf7cb) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));
|
|
|
|
local_10 = &PTR_FUN_00804678;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = param_2 + 2;
|
|
|
|
FUN_006af260(¶m_2,iVar2);
|
|
|
|
uVar3 = FUN_006b4d00(iVar1,&local_10);
|
|
|
|
local_10 = &PTR_FUN_00804678;
|
|
|
|
FUN_006af130();
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af4d0 at 0x006AF4D0 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af4d0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d3) {
|
|
|
|
uVar1 = FUN_00559f40((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af510 at 0x006AF510 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af510(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d9) {
|
|
|
|
uVar1 = FUN_0055a000((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af550 at 0x006AF550 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af550(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d5) {
|
|
|
|
uVar1 = FUN_00559f80((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af590 at 0x006AF590 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af590(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1db) {
|
|
|
|
uVar1 = FUN_0055a040((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af5d0 at 0x006AF5D0 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af5d0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2b8) {
|
|
|
|
uVar1 = FUN_00559f00((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af610 at 0x006AF610 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af610(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d1) {
|
|
|
|
uVar1 = FUN_00559ec0((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af650 at 0x006AF650 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af650(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1dd) {
|
|
|
|
uVar1 = FUN_0055a080((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af690 at 0x006AF690 (size: 56) ---
|
|
|
|
|
|
undefined4 FUN_006af690(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d7) {
|
|
|
|
uVar1 = FUN_00559fc0((char)param_2[1],*(undefined4 *)((int)param_2 + 5));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af6d0 at 0x006AF6D0 (size: 148) ---
|
|
|
|
|
|
undefined4 FUN_006af6d0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e3) {
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
uVar2 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));
|
|
|
|
local_10 = &PTR_FUN_007a8b64;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = (int *)((int)param_2 + 9);
|
|
|
|
FUN_005cbb20(¶m_2,iVar3);
|
|
|
|
uVar2 = FUN_00559ac0((char)iVar1,uVar2,&local_10);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af770 at 0x006AF770 (size: 143) ---
|
|
|
|
|
|
undefined4 FUN_006af770(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined **local_14;
|
|
|
|
undefined4 local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e7) {
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
uVar2 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));
|
|
|
|
local_10 = 0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_14 = &PTR_FUN_007a8b80;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = (int *)((int)param_2 + 9);
|
|
|
|
FUN_005cbbc0(¶m_2,iVar3);
|
|
|
|
uVar2 = FUN_00559b20((char)iVar1,uVar2,&local_14);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af800 at 0x006AF800 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006af800(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e9) {
|
|
|
|
uVar1 = FUN_00559b50((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af840 at 0x006AF840 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006af840(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e5) {
|
|
|
|
uVar1 = FUN_00559af0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af880 at 0x006AF880 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006af880(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2d1) {
|
|
|
|
uVar1 = FUN_00559c70((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af8c0 at 0x006AF8C0 (size: 85) ---
|
|
|
|
|
|
undefined4 FUN_006af8c0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2d3) {
|
|
|
|
uVar1 = FUN_00559ca0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af920 at 0x006AF920 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006af920(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2d9) {
|
|
|
|
uVar1 = FUN_00559d30((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af960 at 0x006AF960 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006af960(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2cd) {
|
|
|
|
uVar1 = FUN_00559c10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af9a0 at 0x006AF9A0 (size: 66) ---
|
|
|
|
|
|
undefined4 FUN_006af9a0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2cf) {
|
|
|
|
uVar1 = FUN_00559c40((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006af9f0 at 0x006AF9F0 (size: 163) ---
|
|
|
|
|
|
undefined4 FUN_006af9f0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
int iVar1;
|
|
|
|
undefined4 uVar2;
|
|
|
|
int iVar3;
|
|
|
|
undefined **local_20;
|
|
|
|
undefined4 local_1c;
|
|
|
|
undefined4 local_18;
|
|
|
|
undefined4 local_14;
|
|
|
|
undefined4 local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2dd) {
|
|
|
|
iVar1 = param_2[1];
|
|
|
|
uVar2 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));
|
|
|
|
local_20 = &PTR_FUN_007a8458;
|
|
|
|
local_1c = 0;
|
|
|
|
local_18 = 0;
|
|
|
|
local_14 = 0;
|
|
|
|
local_10 = 0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = (int *)((int)param_2 + 9);
|
|
|
|
FUN_005cba30(¶m_2,iVar3);
|
|
|
|
uVar2 = FUN_00559b80((char)iVar1,uVar2,&local_20);
|
|
|
|
return uVar2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afaa0 at 0x006AFAA0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afaa0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e1) {
|
|
|
|
uVar1 = FUN_00559be0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afae0 at 0x006AFAE0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afae0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2df) {
|
|
|
|
uVar1 = FUN_00559bb0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afb20 at 0x006AFB20 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afb20(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d4) {
|
|
|
|
uVar1 = FUN_00559dd0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afb60 at 0x006AFB60 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afb60(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1da) {
|
|
|
|
uVar1 = FUN_00559e30((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afba0 at 0x006AFBA0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afba0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d6) {
|
|
|
|
uVar1 = FUN_00559df0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afbe0 at 0x006AFBE0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afbe0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1dc) {
|
|
|
|
uVar1 = FUN_00559e50((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afc20 at 0x006AFC20 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afc20(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2b9) {
|
|
|
|
uVar1 = FUN_00559db0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afc60 at 0x006AFC60 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afc60(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d2) {
|
|
|
|
uVar1 = FUN_00559d90((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afca0 at 0x006AFCA0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afca0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1de) {
|
|
|
|
uVar1 = FUN_00559e70((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afce0 at 0x006AFCE0 (size: 60) ---
|
|
|
|
|
|
undefined4 FUN_006afce0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x1d8) {
|
|
|
|
uVar1 = FUN_00559e10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afd20 at 0x006AFD20 (size: 158) ---
|
|
|
|
|
|
undefined4 FUN_006afd20(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined **local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 != 0x2e4) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
iVar2 = param_2[1];
|
|
|
|
uVar3 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
uVar1 = *(undefined4 *)((int)param_2 + 9);
|
|
|
|
iVar4 = (int)param_2 + (param_3 - ((int)param_2 + 0xd));
|
|
|
|
local_10 = &PTR_FUN_007a8b64;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
param_2 = (int *)((int)param_2 + 0xd);
|
|
|
|
FUN_005cbb20(¶m_2,iVar4);
|
|
|
|
uVar3 = FUN_005598c0((char)iVar2,uVar3,uVar1,&local_10);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afdc0 at 0x006AFDC0 (size: 155) ---
|
|
|
|
|
|
undefined4 FUN_006afdc0(int param_1,int *param_2,int param_3)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
int iVar2;
|
|
|
|
undefined4 uVar3;
|
|
|
|
int iVar4;
|
|
|
|
undefined **local_14;
|
|
|
|
undefined4 local_10;
|
|
|
|
undefined4 local_c;
|
|
|
|
undefined4 local_8;
|
|
|
|
undefined4 local_4;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e8) {
|
|
|
|
iVar2 = param_2[1];
|
|
|
|
uVar3 = *(undefined4 *)((int)param_2 + 5);
|
|
|
|
uVar1 = *(undefined4 *)((int)param_2 + 9);
|
|
|
|
local_10 = 0;
|
|
|
|
local_c = 0;
|
|
|
|
local_8 = 0;
|
|
|
|
local_4 = 0;
|
|
|
|
iVar4 = (int)param_2 + (param_3 - ((int)param_2 + 0xd));
|
|
|
|
local_14 = &PTR_FUN_007a8b80;
|
|
|
|
param_2 = (int *)((int)param_2 + 0xd);
|
|
|
|
FUN_005cbbc0(¶m_2,iVar4);
|
|
|
|
uVar3 = FUN_00559900((char)iVar2,uVar3,uVar1,&local_14);
|
|
|
|
return uVar3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afe60 at 0x006AFE60 (size: 69) ---
|
|
|
|
|
|
undefined4 FUN_006afe60(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2ea) {
|
|
|
|
uVar1 = FUN_00559920((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006afeb0 at 0x006AFEB0 (size: 69) ---
|
|
|
|
|
|
undefined4 FUN_006afeb0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2e6) {
|
|
|
|
uVar1 = FUN_005598e0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aff00 at 0x006AFF00 (size: 69) ---
|
|
|
|
|
|
undefined4 FUN_006aff00(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2d2) {
|
|
|
|
uVar1 = FUN_005599f0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006aff50 at 0x006AFF50 (size: 94) ---
|
|
|
|
|
|
undefined4 FUN_006aff50(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2d4) {
|
|
|
|
uVar1 = FUN_00559a10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd),
|
|
|
|
*(undefined4 *)((int)param_2 + 0x11));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- FUN_006affb0 at 0x006AFFB0 (size: 69) ---
|
|
|
|
|
|
undefined4 FUN_006affb0(int param_1,int *param_2)
|
|
|
|
|
|
|
|
{
|
|
|
|
undefined4 uVar1;
|
|
|
|
|
|
|
|
if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {
|
|
|
|
if (*param_2 == 0x2da) {
|
|
|
|
uVar1 = FUN_00559a80((char)param_2[1],*(undefined4 *)((int)param_2 + 5),
|
|
|
|
*(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));
|
|
|
|
return uVar1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|