add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
83
decomp/AgentManager_Release_x64/full/functions/0x1400a5f70.c
Normal file
83
decomp/AgentManager_Release_x64/full/functions/0x1400a5f70.c
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400a5f70 FUN_1400a5f70
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_1400a5f70(longlong param_1,undefined8 *param_2,longlong param_3)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
undefined8 *puVar2;
|
||||
longlong lVar3;
|
||||
longlong lVar4;
|
||||
longlong *local_res8;
|
||||
|
||||
if (*(longlong *)(param_1 + 0x1670) == 0) {
|
||||
lVar4 = 0;
|
||||
}
|
||||
else {
|
||||
lVar4 = *(longlong *)(param_1 + 0x1660);
|
||||
}
|
||||
do {
|
||||
if (lVar4 == 0) {
|
||||
*param_2 = 0;
|
||||
return param_2;
|
||||
}
|
||||
if (lVar4 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80004005);
|
||||
}
|
||||
local_res8 = (longlong *)0x0;
|
||||
if (*(longlong *)(lVar4 + 8) != 0) {
|
||||
*(longlong *)(*(longlong *)(lVar4 + 8) + 8) = *(longlong *)(*(longlong *)(lVar4 + 8) + 8) + 1;
|
||||
local_res8 = *(longlong **)(lVar4 + 8);
|
||||
}
|
||||
if (local_res8 == (longlong *)0x0) {
|
||||
lVar3 = 0;
|
||||
}
|
||||
else {
|
||||
lVar3 = *local_res8;
|
||||
}
|
||||
if (*(char *)(lVar3 + 0x684) == '\0') {
|
||||
if (local_res8 == (longlong *)0x0) {
|
||||
lVar3 = 0;
|
||||
}
|
||||
else {
|
||||
lVar3 = *local_res8;
|
||||
}
|
||||
if ((*(int *)(lVar3 + 0x5a8) == *(int *)(param_3 + 8)) &&
|
||||
(*(short *)(lVar3 + 0x5ac) == *(short *)(param_3 + 0xc))) {
|
||||
*param_2 = 0;
|
||||
if (local_res8 == (longlong *)0x0) {
|
||||
return param_2;
|
||||
}
|
||||
local_res8[1] = local_res8[1] + 1;
|
||||
*param_2 = local_res8;
|
||||
plVar1 = local_res8 + 1;
|
||||
*plVar1 = *plVar1 + -1;
|
||||
if (*plVar1 != 0) {
|
||||
return param_2;
|
||||
}
|
||||
puVar2 = (undefined8 *)*local_res8;
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
(**(code **)*puVar2)(puVar2,1);
|
||||
}
|
||||
FUN_14003e8b0(local_res8);
|
||||
return param_2;
|
||||
}
|
||||
}
|
||||
if (local_res8 != (longlong *)0x0) {
|
||||
plVar1 = local_res8 + 1;
|
||||
*plVar1 = *plVar1 + -1;
|
||||
if (*plVar1 == 0) {
|
||||
if ((undefined8 *)*local_res8 != (undefined8 *)0x0) {
|
||||
(*(code *)**(undefined8 **)*local_res8)();
|
||||
}
|
||||
FUN_14003e8b0(local_res8);
|
||||
}
|
||||
}
|
||||
if (lVar4 != 0) {
|
||||
lVar4 = *(longlong *)(lVar4 + 0x10);
|
||||
}
|
||||
} while( true );
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue