add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
94
decomp/AgentManager_Release_x64/full/functions/0x14005c3e0.c
Normal file
94
decomp/AgentManager_Release_x64/full/functions/0x14005c3e0.c
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14005c3e0 FUN_14005c3e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14005c3e0(longlong param_1,uint *param_2,longlong param_3,TypeDescriptor *param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
short *psVar2;
|
||||
longlong *plVar3;
|
||||
int *piVar4;
|
||||
short **ppsVar5;
|
||||
longlong lVar6;
|
||||
uint *puVar7;
|
||||
undefined *puVar8;
|
||||
undefined8 uVar9;
|
||||
longlong lVar10;
|
||||
ulonglong uVar11;
|
||||
short *psVar12;
|
||||
undefined *puVar13;
|
||||
short *local_res10;
|
||||
undefined *local_res18;
|
||||
|
||||
if ((char)param_2[0x1c0] != '\0') {
|
||||
*(undefined1 *)(param_2 + 0x1c0) = 0;
|
||||
lVar6 = param_1;
|
||||
puVar7 = param_2;
|
||||
if (*(longlong *)(param_2 + 0x1a) == 0) {
|
||||
lVar10 = 0;
|
||||
}
|
||||
else {
|
||||
lVar10 = *(longlong *)(param_2 + 0x16);
|
||||
}
|
||||
for (; lVar10 != 0; lVar10 = *(longlong *)(lVar10 + 0x10)) {
|
||||
if (*(undefined8 **)(lVar10 + 8) == (undefined8 *)0x0) {
|
||||
puVar7 = (uint *)0x0;
|
||||
}
|
||||
else {
|
||||
puVar7 = (uint *)**(undefined8 **)(lVar10 + 8);
|
||||
}
|
||||
lVar6 = param_1;
|
||||
FUN_140059c20(param_1,puVar7,param_3,param_4);
|
||||
}
|
||||
if (*(longlong *)(param_1 + 0x17f0) != 0) {
|
||||
FUN_14003e7c0(lVar6,puVar7,param_3,param_4);
|
||||
local_res10 = (short *)PTR_DAT_14016f010;
|
||||
plVar3 = (longlong *)
|
||||
(*(code *)**(undefined8 **)(*(longlong *)(param_2 + 0x1d2) + 0x128))
|
||||
((undefined8 *)(*(longlong *)(param_2 + 0x1d2) + 0x128),&local_res18);
|
||||
puVar13 = (undefined *)*plVar3;
|
||||
if ((undefined *)*plVar3 == (undefined *)0x0) {
|
||||
puVar13 = PTR_DAT_14016f010;
|
||||
}
|
||||
uVar11 = (ulonglong)param_2[0x1be];
|
||||
puVar8 = &DAT_14010c370;
|
||||
ppsVar5 = &local_res10;
|
||||
FUN_140029b80((longlong *)ppsVar5,
|
||||
L"Client %d가 서버와의 UDP 홀펀칭 중도 해제: Client local Addr=%s",
|
||||
uVar11,puVar13);
|
||||
if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_14016f010)) &&
|
||||
(local_res18 + -8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_14003e7c0(ppsVar5,puVar8,uVar11,puVar13);
|
||||
FUN_14003d040(piVar4);
|
||||
piVar1 = (int *)(local_res18 + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14003e8b0(local_res18 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar4);
|
||||
}
|
||||
psVar2 = local_res10;
|
||||
psVar12 = local_res10;
|
||||
if (local_res10 == (short *)0x0) {
|
||||
psVar12 = (short *)PTR_DAT_14016f010;
|
||||
}
|
||||
uVar9 = 1;
|
||||
lVar6 = *(longlong *)(param_1 + 0x17f0);
|
||||
FUN_1400843d0(lVar6,1,psVar12,puVar13);
|
||||
if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_14016f010)) &&
|
||||
(psVar2 + -4 != (short *)0x0)) {
|
||||
piVar4 = (int *)FUN_14003e7c0(lVar6,uVar9,psVar12,puVar13);
|
||||
FUN_14003d040(piVar4);
|
||||
piVar1 = (int *)(psVar2 + -2);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14003e8b0(psVar2 + -4);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar4);
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue