decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
188
decomp/Agent_Release_x64/full/functions/0x1400b5640.c
Normal file
188
decomp/Agent_Release_x64/full/functions/0x1400b5640.c
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400b5640 FUN_1400b5640
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400b5640(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_140071a20(*(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_140155010) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else {
|
||||
iVar3 = piVar4[-2];
|
||||
}
|
||||
puVar9 = PTR_DAT_140155010;
|
||||
if (((local_d8 != (undefined *)0x0) && (local_d8 != PTR_DAT_140155010)) &&
|
||||
(local_d8 + -8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_140030200(piVar4,PTR_DAT_140155010,param_3,param_4);
|
||||
local_78 = piVar4;
|
||||
FUN_14002e6e0(piVar4);
|
||||
local_70 = 1;
|
||||
piVar7 = (int *)(local_d8 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(local_d8 + -8);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar4);
|
||||
}
|
||||
if (iVar3 != 0) {
|
||||
uVar14 = uVar14 + 1;
|
||||
}
|
||||
FUN_140030200(piVar4,puVar9,param_3,param_4);
|
||||
local_e8 = PTR_DAT_140155010;
|
||||
puVar5 = FUN_140064cd0(*(longlong *)(param_1 + 0x670),puVar10);
|
||||
FUN_14002ff30((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_14001b7a0((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_140155010)) &&
|
||||
(local_res20 + -8 != (undefined *)0x0)) {
|
||||
ppuVar6 = (undefined **)FUN_140030200(ppuVar6,PTR_DAT_140155010,uVar11,uVar13);
|
||||
local_98 = ppuVar6;
|
||||
FUN_14002e6e0((int *)ppuVar6);
|
||||
local_90 = 1;
|
||||
piVar4 = (int *)(local_res20 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_1400302f0(local_res20 + -8);
|
||||
}
|
||||
FUN_14002e770((longlong)ppuVar6);
|
||||
}
|
||||
local_res20 = PTR_DAT_140155010;
|
||||
if (((local_d0 != (undefined *)0x0) && (local_d0 != PTR_DAT_140155010)) &&
|
||||
(local_d0 + -8 != (undefined *)0x0)) {
|
||||
piVar7 = (int *)FUN_140030200(ppuVar6,PTR_DAT_140155010,uVar11,uVar13);
|
||||
local_b8 = piVar7;
|
||||
FUN_14002e6e0(piVar7);
|
||||
local_b0 = 1;
|
||||
piVar4 = (int *)(local_d0 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_1400302f0(local_d0 + -8);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar7);
|
||||
}
|
||||
puVar9 = local_e8;
|
||||
puVar12 = &DAT_14011ae80;
|
||||
uVar11 = (ulonglong)uVar14;
|
||||
piVar4 = *(int **)(param_1 + 0x670);
|
||||
param_4 = local_e8;
|
||||
FUN_140073400((longlong)piVar4,uVar11,L"%s",local_e8);
|
||||
if (((puVar9 != (undefined *)0x0) && (puVar9 != PTR_DAT_140155010)) &&
|
||||
(puVar9 + -8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_140030200(piVar4,uVar11,puVar12,param_4);
|
||||
local_a8 = piVar4;
|
||||
FUN_14002e6e0(piVar4);
|
||||
local_a0 = 1;
|
||||
piVar7 = (int *)(puVar9 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(puVar9 + -8);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar4);
|
||||
}
|
||||
if (((local_e0 != (undefined *)0x0) && (local_e0 != PTR_DAT_140155010)) &&
|
||||
(local_e0 + -8 != (undefined *)0x0)) {
|
||||
piVar7 = (int *)FUN_140030200(piVar4,uVar11,puVar12,param_4);
|
||||
local_88 = piVar7;
|
||||
FUN_14002e6e0(piVar7);
|
||||
local_80 = 1;
|
||||
piVar4 = (int *)(local_e0 + -4);
|
||||
*piVar4 = *piVar4 + -1;
|
||||
if (*piVar4 == 0) {
|
||||
FUN_1400302f0(local_e0 + -8);
|
||||
}
|
||||
FUN_14002e770((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_14015de10,param_4,local_res18);
|
||||
}
|
||||
local_c8[0] = 0;
|
||||
FUN_140072070((longlong *)(param_1 + 0x28),local_c8);
|
||||
if (local_res18[0] != 0x1d) {
|
||||
FUN_14007fc60(*(longlong **)(param_1 + 0x670),(ulonglong)*(uint *)(param_1 + 0x56c),
|
||||
(ulonglong)local_res18[0],param_4);
|
||||
}
|
||||
if (*(int *)(param_1 + 0x61c) < DAT_140155088) {
|
||||
*(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_14015c010;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue