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/0x14003c270.c
Normal file
94
decomp/AgentManager_Release_x64/full/functions/0x14003c270.c
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14003c270 FUN_14003c270
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14003c270(undefined8 *param_1,longlong param_2)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
ulonglong *puVar2;
|
||||
ulonglong uVar3;
|
||||
ulonglong *puVar4;
|
||||
longlong lVar5;
|
||||
longlong *plVar6;
|
||||
ulonglong *puVar7;
|
||||
longlong *plVar8;
|
||||
longlong *local_48;
|
||||
longlong *plStack_40;
|
||||
|
||||
FUN_14003d040((int *)(param_1 + 0xe));
|
||||
if (param_1[10] == 0) {
|
||||
local_48 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
local_48 = (longlong *)param_1[0xc];
|
||||
if (local_48 != (longlong *)0x0) {
|
||||
plStack_40 = (longlong *)*local_48;
|
||||
plVar8 = local_48;
|
||||
goto joined_r0x00014003c2e1;
|
||||
}
|
||||
}
|
||||
plStack_40 = (longlong *)0x0;
|
||||
plVar8 = local_48;
|
||||
joined_r0x00014003c2e1:
|
||||
while ((plStack_40 != (longlong *)0x0 && (*(longlong *)(plStack_40[2] + 8) != param_2))) {
|
||||
plStack_40 = (longlong *)*plStack_40;
|
||||
while (plStack_40 == (longlong *)0x0) {
|
||||
local_48 = local_48 + 1;
|
||||
plVar8 = local_48;
|
||||
plStack_40 = (longlong *)*local_48;
|
||||
}
|
||||
if (local_48 == plStack_40) {
|
||||
plStack_40 = (longlong *)0x0;
|
||||
}
|
||||
}
|
||||
printf("ApiSocket Leave [Now:%d] !!!\n");
|
||||
puVar2 = (ulonglong *)plStack_40[2];
|
||||
if (puVar2 != (ulonglong *)0x0) {
|
||||
uVar3 = param_1[1];
|
||||
lVar5 = param_1[2];
|
||||
while (uVar3 != 0) {
|
||||
if ((uVar3 <= puVar2) && (puVar2 < (uVar3 - 0x10) + lVar5)) {
|
||||
if (uVar3 != 0) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
if ((puVar4 == (ulonglong *)0x0) || (puVar2 < puVar4)) {
|
||||
*puVar2 = (ulonglong)puVar4;
|
||||
*param_1 = puVar2;
|
||||
}
|
||||
else {
|
||||
for (puVar7 = (ulonglong *)*puVar4; (puVar7 != (ulonglong *)0x0 && (puVar7 <= puVar2));
|
||||
puVar7 = (ulonglong *)*puVar7) {
|
||||
puVar4 = puVar7;
|
||||
}
|
||||
*puVar2 = *puVar4;
|
||||
*puVar4 = (ulonglong)puVar2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
plVar1 = (longlong *)(lVar5 + -8 + uVar3);
|
||||
uVar3 = *(ulonglong *)(lVar5 + -0x10 + uVar3);
|
||||
lVar5 = *plVar1;
|
||||
}
|
||||
lVar5 = *plStack_40;
|
||||
while (lVar5 == 0) {
|
||||
plVar8 = plVar8 + 1;
|
||||
lVar5 = *plVar8;
|
||||
}
|
||||
param_1[10] = param_1[10] + -1;
|
||||
plVar1 = (longlong *)*local_48;
|
||||
plVar6 = local_48;
|
||||
while (plVar1 != plStack_40) {
|
||||
plVar6 = (longlong *)*plVar6;
|
||||
plVar1 = (longlong *)*plVar6;
|
||||
}
|
||||
*plVar6 = *plStack_40;
|
||||
operator_delete(plStack_40);
|
||||
if ((local_48 == (longlong *)param_1[0xc]) && (*local_48 == 0)) {
|
||||
param_1[0xc] = plVar8;
|
||||
}
|
||||
}
|
||||
FUN_14003d0d0((longlong)(param_1 + 0xe));
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue