add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
188
decomp/AgentManager_Release_x64/full/functions/0x1400d1440.c
Normal file
188
decomp/AgentManager_Release_x64/full/functions/0x1400d1440.c
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400d1440 FUN_1400d1440
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400d1440(longlong param_1,char param_2,undefined8 param_3,undefined *param_4)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
longlong lVar2;
|
||||
int iVar3;
|
||||
int *piVar4;
|
||||
undefined8 *puVar5;
|
||||
undefined **ppuVar6;
|
||||
int *piVar7;
|
||||
longlong *plVar8;
|
||||
undefined *puVar9;
|
||||
undefined8 *puVar10;
|
||||
ulonglong uVar11;
|
||||
undefined *puVar12;
|
||||
ulonglong uVar13;
|
||||
uint uVar14;
|
||||
double dVar15;
|
||||
undefined1 local_res8 [8];
|
||||
uint local_res18 [2];
|
||||
undefined *local_res20;
|
||||
undefined *local_e8;
|
||||
undefined *local_e0;
|
||||
undefined *local_d8;
|
||||
undefined *local_d0;
|
||||
longlong local_c8 [2];
|
||||
int *local_b8;
|
||||
undefined1 local_b0;
|
||||
int *local_a8;
|
||||
undefined1 local_a0;
|
||||
undefined **local_98;
|
||||
undefined1 local_90;
|
||||
int *local_88;
|
||||
undefined1 local_80;
|
||||
int *local_78;
|
||||
undefined1 local_70;
|
||||
undefined8 local_68 [6];
|
||||
|
||||
local_res18[0] = (uint)param_3;
|
||||
puVar10 = local_68;
|
||||
local_c8[1] = 0xfffffffffffffffe;
|
||||
if (*(char *)(param_1 + 0x608) == '\0') {
|
||||
if (((param_2 != '\0') && (local_res18[0] != 0x1d)) &&
|
||||
((lVar2 = *(longlong *)(param_1 + 0x670), *(char *)(lVar2 + 0x1790) != '\0' ||
|
||||
(*(int *)(lVar2 + 0x6c8) != 0)))) {
|
||||
local_res8[0] = 0;
|
||||
(**(code **)(*(longlong *)(lVar2 + 0x70) + 0x158))((longlong *)(lVar2 + 0x70),local_res8);
|
||||
iVar3 = *(int *)(param_1 + 0x578);
|
||||
iVar1 = *(int *)(param_1 + 0x588);
|
||||
FUN_1400a8ae0(*(longlong *)(param_1 + 0x670),(longlong *)&local_e0,param_3,param_4);
|
||||
(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))();
|
||||
(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))();
|
||||
uVar14 = 1;
|
||||
if (iVar1 == iVar3) {
|
||||
uVar14 = 2;
|
||||
}
|
||||
plVar8 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x70);
|
||||
plVar8 = (longlong *)(**(code **)(*plVar8 + 0xb0))(plVar8,&local_d8);
|
||||
piVar4 = (int *)*plVar8;
|
||||
if (piVar4 == (int *)0x0) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else if (piVar4 == (int *)PTR_DAT_14016f010) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else {
|
||||
iVar3 = piVar4[-2];
|
||||
}
|
||||
puVar9 = PTR_DAT_14016f010;
|
||||
if (((local_d8 != (undefined *)0x0) && (local_d8 != PTR_DAT_14016f010)) &&
|
||||
(local_d8 + -8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_14003e7c0(piVar4,PTR_DAT_14016f010,param_3,param_4);
|
||||
local_78 = piVar4;
|
||||
FUN_14003d040(piVar4);
|
||||
local_70 = 1;
|
||||
piVar7 = (int *)(local_d8 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_14003e8b0(local_d8 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar4);
|
||||
}
|
||||
if (iVar3 != 0) {
|
||||
uVar14 = uVar14 + 1;
|
||||
}
|
||||
FUN_14003e7c0(piVar4,puVar9,param_3,param_4);
|
||||
local_e8 = PTR_DAT_14016f010;
|
||||
puVar5 = FUN_14009c1e0(*(longlong *)(param_1 + 0x670),puVar10);
|
||||
FUN_14003e4d0((longlong *)&local_d0,puVar10,param_3,param_4);
|
||||
(**(code **)*puVar5)(puVar5);
|
||||
uVar13 = (ulonglong)local_res18[0];
|
||||
uVar11 = (ulonglong)*(uint *)(param_1 + 0x56c);
|
||||
ppuVar6 = &local_e8;
|
||||
FUN_140029b80((longlong *)ppuVar6,
|
||||
L"(first chance) to-peer client %d 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##Remote peer behind NAT:%d##UDP kept time:%3.3f##Time diff since last RecvIssue:%3.3f##%s##Process=%s"
|
||||
,uVar11,uVar13);
|
||||
if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_14016f010)) &&
|
||||
(local_res20 + -8 != (undefined *)0x0)) {
|
||||
ppuVar6 = (undefined **)FUN_14003e7c0(ppuVar6,PTR_DAT_14016f010,uVar11,uVar13);
|
||||
local_98 = ppuVar6;
|
||||
FUN_14003d040((int *)ppuVar6);
|
||||
local_90 = 1;
|
||||
piVar4 = (int *)(local_res20 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_14003e8b0(local_res20 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)ppuVar6);
|
||||
}
|
||||
local_res20 = PTR_DAT_14016f010;
|
||||
if (((local_d0 != (undefined *)0x0) && (local_d0 != PTR_DAT_14016f010)) &&
|
||||
(local_d0 + -8 != (undefined *)0x0)) {
|
||||
piVar7 = (int *)FUN_14003e7c0(ppuVar6,PTR_DAT_14016f010,uVar11,uVar13);
|
||||
local_b8 = piVar7;
|
||||
FUN_14003d040(piVar7);
|
||||
local_b0 = 1;
|
||||
piVar4 = (int *)(local_d0 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_14003e8b0(local_d0 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar7);
|
||||
}
|
||||
puVar9 = local_e8;
|
||||
puVar12 = &DAT_14012e3f0;
|
||||
uVar11 = (ulonglong)uVar14;
|
||||
piVar4 = *(int **)(param_1 + 0x670);
|
||||
param_4 = local_e8;
|
||||
FUN_1400aa4c0((longlong)piVar4,uVar11,L"%s",local_e8);
|
||||
if (((puVar9 != (undefined *)0x0) && (puVar9 != PTR_DAT_14016f010)) &&
|
||||
(puVar9 + -8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_14003e7c0(piVar4,uVar11,puVar12,param_4);
|
||||
local_a8 = piVar4;
|
||||
FUN_14003d040(piVar4);
|
||||
local_a0 = 1;
|
||||
piVar7 = (int *)(puVar9 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_14003e8b0(puVar9 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar4);
|
||||
}
|
||||
if (((local_e0 != (undefined *)0x0) && (local_e0 != PTR_DAT_14016f010)) &&
|
||||
(local_e0 + -8 != (undefined *)0x0)) {
|
||||
piVar7 = (int *)FUN_14003e7c0(piVar4,uVar11,puVar12,param_4);
|
||||
local_88 = piVar7;
|
||||
FUN_14003d040(piVar7);
|
||||
local_80 = 1;
|
||||
piVar4 = (int *)(local_e0 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_14003e8b0(local_e0 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar7);
|
||||
}
|
||||
}
|
||||
if (*(char *)(param_1 + 0x608) == '\0') {
|
||||
*(undefined1 *)(param_1 + 0x618) = 1;
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x608) = 1;
|
||||
if (*(longlong *)(param_1 + 0x640) != 0) {
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x640) + 0xd8) = 0;
|
||||
}
|
||||
if (param_2 != '\0') {
|
||||
plVar8 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x1818);
|
||||
param_4 = (undefined *)(param_1 + 0x56c);
|
||||
(**(code **)(*plVar8 + 0x40))(plVar8,1,&DAT_140177f90,param_4,local_res18);
|
||||
}
|
||||
local_c8[0] = 0;
|
||||
FUN_1400a9130((longlong *)(param_1 + 0x28),local_c8);
|
||||
if (local_res18[0] != 0x1d) {
|
||||
FUN_1400b6a40(*(longlong **)(param_1 + 0x670),(ulonglong)*(uint *)(param_1 + 0x56c),
|
||||
(ulonglong)local_res18[0],param_4);
|
||||
}
|
||||
if (*(int *)(param_1 + 0x61c) < DAT_14016f088) {
|
||||
*(int *)(param_1 + 0x61c) = *(int *)(param_1 + 0x61c) + 1;
|
||||
dVar15 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))()
|
||||
;
|
||||
*(double *)(param_1 + 0x620) = dVar15 + DAT_140176190;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue