539 lines
15 KiB
C
539 lines
15 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401e0de0 FUN_1401e0de0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401e0de0(longlong param_1,undefined4 param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
double dVar2;
|
|
undefined8 *puVar3;
|
|
char cVar4;
|
|
undefined4 uVar5;
|
|
uint uVar6;
|
|
uint uVar7;
|
|
uint uVar8;
|
|
uint uVar9;
|
|
int iVar10;
|
|
undefined4 *puVar11;
|
|
undefined4 *puVar12;
|
|
longlong *plVar13;
|
|
uint *puVar14;
|
|
undefined8 uVar15;
|
|
longlong *plVar16;
|
|
longlong lVar17;
|
|
uint *puVar18;
|
|
longlong lVar19;
|
|
uint *puVar20;
|
|
longlong lVar21;
|
|
uint uVar22;
|
|
longlong lVar23;
|
|
longlong lVar24;
|
|
longlong lVar25;
|
|
int iVar26;
|
|
undefined *puVar27;
|
|
undefined *puVar28;
|
|
undefined *puVar29;
|
|
undefined4 *puVar30;
|
|
double dVar31;
|
|
double dVar32;
|
|
undefined8 *local_res8;
|
|
undefined4 local_res10;
|
|
uint *local_res18;
|
|
undefined4 *local_res20;
|
|
undefined **local_228;
|
|
undefined4 local_220;
|
|
undefined2 local_21c;
|
|
undefined *local_218;
|
|
undefined *local_210;
|
|
undefined *local_208;
|
|
undefined *local_200;
|
|
undefined4 *local_1f8;
|
|
undefined1 local_1f0;
|
|
undefined *local_1e8;
|
|
undefined *local_1e0;
|
|
undefined4 local_1d8 [2];
|
|
longlong local_1d0 [2];
|
|
undefined8 local_1c0;
|
|
undefined8 local_1b8;
|
|
undefined **local_1b0;
|
|
undefined8 local_1a8;
|
|
undefined8 local_1a0;
|
|
undefined8 local_198;
|
|
undefined8 local_190;
|
|
undefined8 local_188;
|
|
longlong local_180;
|
|
ulonglong local_178;
|
|
undefined4 local_168;
|
|
undefined **local_160;
|
|
undefined8 local_158;
|
|
undefined8 local_150;
|
|
undefined8 local_148;
|
|
undefined8 local_140;
|
|
undefined **local_130;
|
|
undefined4 local_128;
|
|
undefined2 local_124;
|
|
undefined **local_118;
|
|
undefined8 local_110;
|
|
undefined8 local_108;
|
|
undefined8 local_100;
|
|
undefined8 local_f8;
|
|
undefined8 local_e8;
|
|
undefined1 local_e0;
|
|
undefined8 local_d8;
|
|
undefined1 local_d0;
|
|
undefined8 local_c8;
|
|
undefined1 local_c0;
|
|
undefined8 local_b8;
|
|
undefined8 local_b0;
|
|
undefined1 local_a8;
|
|
undefined8 local_a0;
|
|
undefined1 local_98;
|
|
undefined8 local_90;
|
|
undefined1 local_88;
|
|
undefined8 local_80;
|
|
undefined1 local_78;
|
|
undefined4 *local_70;
|
|
|
|
local_b8 = 0xfffffffffffffffe;
|
|
puVar30 = (undefined4 *)0x0;
|
|
uVar8 = 0;
|
|
puVar11 = puVar30;
|
|
if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)**(undefined8 **)(param_1 + 0x1570);
|
|
}
|
|
if (*(char *)(puVar11 + 0x20) != '\x01') {
|
|
return;
|
|
}
|
|
puVar11 = puVar30;
|
|
if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)**(undefined8 **)(param_1 + 0x1570);
|
|
}
|
|
local_res10 = param_2;
|
|
FUN_1401f37b0(puVar11,0);
|
|
local_1d0[0] = 0;
|
|
local_1c0 = 0;
|
|
local_1b8 = 0;
|
|
local_1a8 = 0;
|
|
local_1a0 = 0;
|
|
local_198 = 0;
|
|
local_190 = 0;
|
|
local_1b0 = Proud::ByteArray::vftable;
|
|
local_178 = 0;
|
|
local_180 = 0;
|
|
local_188 = 0;
|
|
local_158 = 0;
|
|
local_150 = 0;
|
|
local_148 = 0;
|
|
local_140 = 0;
|
|
local_160 = Proud::ByteArray::vftable;
|
|
local_130 = Proud::AddrPort::vftable;
|
|
local_128 = 0;
|
|
local_124 = 0;
|
|
local_110 = 0;
|
|
local_108 = 0;
|
|
local_100 = 0;
|
|
local_f8 = 0;
|
|
local_118 = Proud::ByteArray::vftable;
|
|
local_res20 = (undefined4 *)FUN_14016d940(0x60);
|
|
puVar11 = puVar30;
|
|
if (local_res20 != (undefined4 *)0x0) {
|
|
puVar11 = (undefined4 *)FUN_140198ee0(local_res20);
|
|
}
|
|
if (puVar11 == (undefined4 *)0x0) {
|
|
local_res20 = (undefined4 *)0x0;
|
|
puVar12 = puVar30;
|
|
}
|
|
else {
|
|
puVar12 = (undefined4 *)FUN_14016d940(0x48);
|
|
local_70 = puVar12;
|
|
if (puVar12 != (undefined4 *)0x0) {
|
|
local_res20 = puVar12;
|
|
uVar5 = FUN_140171510();
|
|
FUN_14016da70(puVar12,uVar5,1);
|
|
}
|
|
local_res20 = puVar12;
|
|
FUN_14016db50(puVar12);
|
|
*(undefined8 *)(puVar12 + 0x10) = 1;
|
|
*(undefined4 **)(puVar12 + 0xe) = puVar11;
|
|
FUN_14016dbe0(puVar12);
|
|
}
|
|
FUN_140184b90(local_1d0,&local_res20);
|
|
if (puVar12 != (undefined4 *)0x0) {
|
|
local_1f8 = puVar12;
|
|
FUN_14016db50(puVar12);
|
|
local_1f0 = 1;
|
|
plVar16 = (longlong *)(puVar12 + 0x10);
|
|
*plVar16 = *plVar16 + -1;
|
|
if (*plVar16 == 0) {
|
|
FUN_14016dbe0(puVar12);
|
|
local_1f0 = 0;
|
|
FUN_140154a90(puVar12);
|
|
}
|
|
else {
|
|
FUN_14016dbe0(puVar12);
|
|
local_1f0 = 0;
|
|
}
|
|
}
|
|
local_1d8[0] = 0xd;
|
|
puVar11 = puVar30;
|
|
if (local_1d0[0] != 0) {
|
|
puVar11 = *(undefined4 **)(local_1d0[0] + 0x38);
|
|
}
|
|
*puVar11 = 0x1c;
|
|
local_168 = 1;
|
|
FUN_1401dcb50(param_1,local_1d8);
|
|
puVar11 = puVar30;
|
|
if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)**(undefined8 **)(param_1 + 0x1570);
|
|
}
|
|
puVar3 = *(undefined8 **)(param_1 + 0x1570);
|
|
if ((int)puVar11[0x50] < DAT_140344cb8) {
|
|
puVar11 = puVar30;
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)*puVar3;
|
|
}
|
|
*(undefined8 *)(puVar11 + 0x40) = DAT_14034c8b0;
|
|
puVar11 = puVar30;
|
|
if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)**(undefined8 **)(param_1 + 0x1570);
|
|
}
|
|
puVar11[0x50] = puVar11[0x50] + 1;
|
|
}
|
|
else {
|
|
puVar11 = puVar30;
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)*puVar3;
|
|
}
|
|
*(undefined8 *)(puVar11 + 0x40) = DAT_140344ca8;
|
|
}
|
|
if ((*(char *)(param_1 + 0x1790) == '\0') && (*(int *)(param_1 + 0x6c8) == 0)) goto LAB_1401e1732;
|
|
FUN_1401d37e0(param_1,&local_210);
|
|
puVar11 = puVar30;
|
|
if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) {
|
|
puVar11 = (undefined4 *)**(undefined8 **)(param_1 + 0x1570);
|
|
}
|
|
plVar16 = (longlong *)(param_1 + 0x70);
|
|
dVar31 = (double)(**(code **)(*plVar16 + 0x1c0))(plVar16);
|
|
dVar2 = *(double *)(puVar11 + 0x30);
|
|
dVar32 = 0.0;
|
|
if (((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) &&
|
|
(lVar21 = **(longlong **)(param_1 + 0x1520), dVar32 = 0.0, lVar21 != 0)) &&
|
|
(dVar32 = 0.0, lVar21 != 0x40)) {
|
|
puVar11 = (undefined4 *)(lVar21 + -0x40);
|
|
if (lVar21 == 0) {
|
|
puVar11 = puVar30;
|
|
}
|
|
dVar32 = (double)(**(code **)(*plVar16 + 0x1c0))(plVar16);
|
|
dVar32 = dVar32 - *(double *)(puVar11 + 0x60);
|
|
}
|
|
if (((*(longlong **)(param_1 + 0x1520) == (longlong *)0x0) ||
|
|
(lVar21 = **(longlong **)(param_1 + 0x1520), lVar21 == 0)) || (lVar21 == 0x40)) {
|
|
local_220 = DAT_140344450;
|
|
local_21c = DAT_140344454;
|
|
}
|
|
else {
|
|
puVar11 = puVar30;
|
|
if (lVar21 != 0) {
|
|
puVar11 = (undefined4 *)(lVar21 + -0x40);
|
|
}
|
|
local_220 = puVar11[0x4c];
|
|
local_21c = *(undefined2 *)(puVar11 + 0x4d);
|
|
}
|
|
local_228 = Proud::AddrPort::vftable;
|
|
plVar13 = (longlong *)FUN_1401705d0(&local_228,&local_200);
|
|
puVar27 = (undefined *)*plVar13;
|
|
if ((undefined *)*plVar13 == (undefined *)0x0) {
|
|
puVar27 = PTR_DAT_1403440a0;
|
|
}
|
|
FUN_14016d8c0();
|
|
puVar20 = (uint *)PTR_DAT_1403440a0;
|
|
local_res18 = (uint *)PTR_DAT_1403440a0;
|
|
uVar6 = FUN_14016d740(puVar27);
|
|
puVar11 = puVar30;
|
|
if ((puVar20 != (uint *)0x0) &&
|
|
(puVar11 = (undefined4 *)0x0, puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
puVar11 = (undefined4 *)(ulonglong)*(uint *)((longlong)puVar20 + -8);
|
|
}
|
|
uVar9 = 0;
|
|
uVar7 = uVar6;
|
|
if ((((int)uVar6 <= (int)puVar11) && (uVar7 = uVar8, puVar20 != (uint *)0x0)) &&
|
|
(uVar7 = uVar9, puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
uVar7 = *(uint *)((longlong)puVar20 + -8);
|
|
}
|
|
uVar22 = 1;
|
|
if (1 < (int)uVar7) {
|
|
uVar22 = uVar7;
|
|
}
|
|
uVar7 = uVar9;
|
|
if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
uVar7 = *(uint *)((longlong)puVar20 + -8);
|
|
}
|
|
if ((int)uVar7 < (int)uVar22) {
|
|
if (puVar20 == (uint *)0x0) {
|
|
puVar20 = (uint *)PTR_DAT_1403440a0;
|
|
}
|
|
local_res18 = puVar20;
|
|
if ((int)uVar22 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6b0();
|
|
}
|
|
if (uVar22 == 0) {
|
|
FUN_14004eb70(&local_res18);
|
|
}
|
|
else {
|
|
uVar7 = uVar9;
|
|
if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
uVar7 = puVar20[-2];
|
|
}
|
|
if (uVar22 != uVar7) {
|
|
puVar14 = (uint *)FUN_14016d940((longlong)(int)uVar22 * 2 + 10);
|
|
if (puVar14 != (uint *)0x0) {
|
|
*puVar14 = 0;
|
|
puVar14[1] = 1;
|
|
}
|
|
*puVar14 = uVar22;
|
|
uVar7 = uVar9;
|
|
if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
uVar7 = puVar20[-2];
|
|
}
|
|
puVar18 = (uint *)PTR_DAT_1403440a0;
|
|
if ((int)uVar22 < (int)uVar7) {
|
|
LAB_1401e127a:
|
|
if (puVar20 != (uint *)0x0) {
|
|
puVar18 = puVar20;
|
|
}
|
|
}
|
|
else {
|
|
uVar22 = uVar8;
|
|
if (puVar20 != (uint *)0x0) {
|
|
if (puVar20 != (uint *)PTR_DAT_1403440a0) {
|
|
uVar22 = puVar20[-2];
|
|
}
|
|
goto LAB_1401e127a;
|
|
}
|
|
}
|
|
FUN_14016d770(puVar14 + 2,puVar18,uVar22);
|
|
FUN_14004eb70(&local_res18);
|
|
local_res18 = puVar14 + 2;
|
|
}
|
|
}
|
|
}
|
|
FUN_14004e850(&local_res18);
|
|
puVar20 = local_res18;
|
|
puVar14 = local_res18;
|
|
if (local_res18 == (uint *)0x0) {
|
|
puVar14 = (uint *)PTR_DAT_1403440a0;
|
|
}
|
|
FUN_14016d770(puVar14,puVar27,uVar6);
|
|
puVar14 = puVar20;
|
|
if (puVar20 == (uint *)0x0) {
|
|
puVar14 = (uint *)PTR_DAT_1403440a0;
|
|
}
|
|
uVar8 = FUN_14016d740(puVar14);
|
|
puVar11 = puVar30;
|
|
if (0 < (int)uVar8) {
|
|
puVar11 = (undefined4 *)(ulonglong)uVar8;
|
|
}
|
|
if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_1403440a0)) {
|
|
uVar9 = puVar20[-2];
|
|
}
|
|
if (((int)puVar11 < (int)uVar9) || (puVar11 = puVar30, puVar20 == (uint *)0x0)) {
|
|
LAB_1401e1316:
|
|
if (((puVar20 != (uint *)PTR_DAT_1403440a0) && (puVar20 != (uint *)0x0)) &&
|
|
(puVar20 + -2 != (uint *)0x0)) {
|
|
puVar20[-2] = (uint)puVar11;
|
|
*(undefined2 *)((longlong)puVar20 + (longlong)(int)(uint)puVar11 * 2) = 0;
|
|
}
|
|
}
|
|
else if (puVar20 != (uint *)PTR_DAT_1403440a0) {
|
|
puVar11 = (undefined4 *)(ulonglong)puVar20[-2];
|
|
goto LAB_1401e1316;
|
|
}
|
|
if (((local_200 != (undefined *)0x0) && (local_200 != PTR_DAT_1403440a0)) &&
|
|
(local_200 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_a0 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_98 = 1;
|
|
piVar1 = (int *)(local_200 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(local_200 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
if (puVar20 == (uint *)0x0) {
|
|
puVar20 = (uint *)PTR_DAT_1403440a0;
|
|
}
|
|
puVar27 = local_210;
|
|
if (local_210 == (undefined *)0x0) {
|
|
puVar27 = PTR_DAT_1403440a0;
|
|
}
|
|
local_res8 = (undefined8 *)((ulonglong)local_res8 & 0xffffffffffffff00);
|
|
local_200 = PTR_DAT_1403440a0;
|
|
cVar4 = (**(code **)(*plVar16 + 0x158))(plVar16,&local_res8);
|
|
iVar26 = 1;
|
|
if (cVar4 != '\0') {
|
|
iVar26 = 1;
|
|
if ((char)local_res8 == '\0') {
|
|
iVar26 = 2;
|
|
}
|
|
}
|
|
plVar16 = (longlong *)(**(code **)(*plVar16 + 0xb0))(plVar16,&local_1e8);
|
|
puVar28 = (undefined *)*plVar16;
|
|
if (puVar28 == (undefined *)0x0) {
|
|
iVar10 = 0;
|
|
}
|
|
else if (puVar28 == PTR_DAT_1403440a0) {
|
|
iVar10 = 0;
|
|
}
|
|
else {
|
|
iVar10 = *(int *)(puVar28 + -8);
|
|
}
|
|
if (((local_1e8 != (undefined *)0x0) && (local_1e8 != PTR_DAT_1403440a0)) &&
|
|
(local_1e8 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_e8 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_e0 = 1;
|
|
piVar1 = (int *)(local_1e8 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(local_1e8 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
if (iVar10 != 0) {
|
|
iVar26 = iVar26 + 1;
|
|
}
|
|
FUN_14016d8c0();
|
|
local_218 = PTR_DAT_1403440a0;
|
|
plVar16 = (longlong *)FUN_14016f6b0(&local_1e0);
|
|
plVar13 = (longlong *)(**(code **)(*(longlong *)(param_1 + 0x70) + 0xb0))();
|
|
puVar28 = (undefined *)*plVar16;
|
|
if ((undefined *)*plVar16 == (undefined *)0x0) {
|
|
puVar28 = PTR_DAT_1403440a0;
|
|
}
|
|
puVar29 = (undefined *)*plVar13;
|
|
if ((undefined *)*plVar13 == (undefined *)0x0) {
|
|
puVar29 = PTR_DAT_1403440a0;
|
|
}
|
|
plVar16 = *(longlong **)(param_1 + 0x1570);
|
|
if (plVar16 == (longlong *)0x0) {
|
|
lVar21 = 0;
|
|
lVar25 = 0;
|
|
lVar24 = 0;
|
|
}
|
|
else {
|
|
lVar21 = *plVar16;
|
|
lVar25 = *plVar16;
|
|
lVar24 = *plVar16;
|
|
}
|
|
lVar17 = *(longlong *)(param_1 + 0x5d8);
|
|
if (lVar17 == 0) {
|
|
lVar23 = 0;
|
|
lVar19 = 0;
|
|
lVar17 = 0;
|
|
}
|
|
else {
|
|
lVar23 = *(longlong *)(lVar17 + 0x38);
|
|
lVar19 = *(longlong *)(lVar17 + 0x38);
|
|
lVar17 = *(longlong *)(lVar17 + 0x38);
|
|
}
|
|
FUN_14004c020(&local_218,
|
|
L"(first chance) to-server UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##UDP kept time:%3.3f##Time diff since RecvIssue:%3.3f##NAT name=%s##%s##Process=%s"
|
|
,local_res10,*(undefined4 *)(lVar17 + 0x2a8),*(undefined8 *)(lVar19 + 0x180),
|
|
*(undefined4 *)(lVar23 + 0x288),*(undefined4 *)(lVar24 + 0x1c0),
|
|
*(undefined8 *)(lVar25 + 0x200),*(undefined4 *)(lVar21 + 0x140),puVar20,
|
|
dVar31 - dVar2,dVar32,puVar29,puVar27,puVar28);
|
|
if (((local_208 != (undefined *)0x0) && (local_208 != PTR_DAT_1403440a0)) &&
|
|
(local_208 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_80 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_78 = 1;
|
|
piVar1 = (int *)(local_208 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(local_208 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
local_208 = PTR_DAT_1403440a0;
|
|
if (((local_1e0 != (undefined *)0x0) && (local_1e0 != PTR_DAT_1403440a0)) &&
|
|
(local_1e0 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_d8 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_d0 = 1;
|
|
piVar1 = (int *)(local_1e0 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(local_1e0 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
puVar27 = local_218;
|
|
FUN_1401d51c0(param_1,iVar26,&DAT_1402b0a98,local_218);
|
|
if (((puVar27 != (undefined *)0x0) && (puVar27 != PTR_DAT_1403440a0)) &&
|
|
(puVar27 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_c8 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_c0 = 1;
|
|
piVar1 = (int *)(puVar27 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(puVar27 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
puVar20 = local_res18;
|
|
if (((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_1403440a0)) &&
|
|
(puVar14 = local_res18 + -2, puVar14 != (uint *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_b0 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_a8 = 1;
|
|
puVar20 = puVar20 + -1;
|
|
*puVar20 = *puVar20 - 1;
|
|
if (*puVar20 == 0) {
|
|
FUN_14016d970(puVar14);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
if (((local_210 != (undefined *)0x0) && (local_210 != PTR_DAT_1403440a0)) &&
|
|
(local_210 + -8 != (undefined *)0x0)) {
|
|
uVar15 = FUN_14016d8c0();
|
|
local_90 = uVar15;
|
|
FUN_14016db50(uVar15);
|
|
local_88 = 1;
|
|
piVar1 = (int *)(local_210 + -4);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14016d970(local_210 + -8);
|
|
}
|
|
FUN_14016dbe0(uVar15);
|
|
}
|
|
LAB_1401e1732:
|
|
(**(code **)(*(longlong *)(param_1 + 0x1818) + 0x50))
|
|
((longlong *)(param_1 + 0x1818),1,&DAT_14034c4b0);
|
|
FUN_14019a9e0(&local_118);
|
|
FUN_14019a9e0(&local_160);
|
|
local_res8 = &local_188;
|
|
FUN_14016d0e0(&local_188);
|
|
if (local_180 != 0) {
|
|
if ((longlong)local_178 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6b0();
|
|
}
|
|
local_178 = local_178 & 0xffffffff00000000;
|
|
}
|
|
FUN_14019a9e0(&local_1b0);
|
|
FUN_14018b600(&local_1b8);
|
|
FUN_14018b580(&local_1c0);
|
|
FUN_140154b00(local_1d0);
|
|
return;
|
|
}
|
|
|