add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
197
decomp/AgentManager_Release_x64/full/functions/0x14001d320.c
Normal file
197
decomp/AgentManager_Release_x64/full/functions/0x14001d320.c
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14001d320 FUN_14001d320
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_14001d320(undefined8 *param_1,longlong *param_2)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
longlong *plVar2;
|
||||
code *pcVar3;
|
||||
longlong *plVar4;
|
||||
longlong lVar5;
|
||||
undefined8 *puVar6;
|
||||
longlong *plVar7;
|
||||
longlong *plVar8;
|
||||
longlong *plVar9;
|
||||
longlong *plVar10;
|
||||
|
||||
if (*(char *)((longlong)param_2 + 0x29) != '\0') {
|
||||
std::_Xout_of_range("invalid map/set<T> iterator");
|
||||
pcVar3 = (code *)swi(3);
|
||||
puVar6 = (undefined8 *)(*pcVar3)();
|
||||
return puVar6;
|
||||
}
|
||||
plVar10 = (longlong *)param_2[2];
|
||||
plVar7 = param_2 + 2;
|
||||
if (*(char *)((longlong)plVar10 + 0x29) == '\0') {
|
||||
cVar1 = *(char *)(*plVar10 + 0x29);
|
||||
plVar8 = (longlong *)*plVar10;
|
||||
while (cVar1 == '\0') {
|
||||
cVar1 = *(char *)(*plVar8 + 0x29);
|
||||
plVar10 = plVar8;
|
||||
plVar8 = (longlong *)*plVar8;
|
||||
}
|
||||
}
|
||||
else {
|
||||
cVar1 = *(char *)(param_2[1] + 0x29);
|
||||
plVar9 = (longlong *)param_2[1];
|
||||
plVar8 = param_2;
|
||||
while ((plVar10 = plVar9, cVar1 == '\0' && (plVar8 == (longlong *)plVar10[2]))) {
|
||||
cVar1 = *(char *)(plVar10[1] + 0x29);
|
||||
plVar9 = (longlong *)plVar10[1];
|
||||
plVar8 = plVar10;
|
||||
}
|
||||
}
|
||||
plVar8 = (longlong *)*param_2;
|
||||
if (*(char *)((longlong)plVar8 + 0x29) == '\0') {
|
||||
plVar9 = plVar8;
|
||||
if ((*(char *)(*plVar7 + 0x29) == '\0') && (plVar9 = (longlong *)plVar10[2], plVar10 != param_2)
|
||||
) {
|
||||
plVar8[1] = (longlong)plVar10;
|
||||
*plVar10 = *param_2;
|
||||
plVar8 = plVar10;
|
||||
if (plVar10 != (longlong *)*plVar7) {
|
||||
plVar8 = (longlong *)plVar10[1];
|
||||
if (*(char *)((longlong)plVar9 + 0x29) == '\0') {
|
||||
plVar9[1] = (longlong)plVar8;
|
||||
}
|
||||
*plVar8 = (longlong)plVar9;
|
||||
plVar10[2] = *plVar7;
|
||||
*(longlong **)(*plVar7 + 8) = plVar10;
|
||||
}
|
||||
if ((longlong *)DAT_14017cec0[1] == param_2) {
|
||||
DAT_14017cec0[1] = (longlong)plVar10;
|
||||
}
|
||||
else {
|
||||
plVar7 = (longlong *)param_2[1];
|
||||
if ((longlong *)*plVar7 == param_2) {
|
||||
*plVar7 = (longlong)plVar10;
|
||||
}
|
||||
else {
|
||||
plVar7[2] = (longlong)plVar10;
|
||||
}
|
||||
}
|
||||
plVar10[1] = param_2[1];
|
||||
lVar5 = plVar10[5];
|
||||
*(char *)(plVar10 + 5) = (char)param_2[5];
|
||||
*(char *)(param_2 + 5) = (char)lVar5;
|
||||
goto LAB_14001d4f3;
|
||||
}
|
||||
}
|
||||
else {
|
||||
plVar9 = (longlong *)*plVar7;
|
||||
}
|
||||
plVar8 = (longlong *)param_2[1];
|
||||
if (*(char *)((longlong)plVar9 + 0x29) == '\0') {
|
||||
plVar9[1] = (longlong)plVar8;
|
||||
}
|
||||
if ((longlong *)DAT_14017cec0[1] == param_2) {
|
||||
DAT_14017cec0[1] = (longlong)plVar9;
|
||||
}
|
||||
else if ((longlong *)*plVar8 == param_2) {
|
||||
*plVar8 = (longlong)plVar9;
|
||||
}
|
||||
else {
|
||||
plVar8[2] = (longlong)plVar9;
|
||||
}
|
||||
if ((longlong *)*DAT_14017cec0 == param_2) {
|
||||
plVar7 = plVar8;
|
||||
if (*(char *)((longlong)plVar9 + 0x29) == '\0') {
|
||||
cVar1 = *(char *)(*plVar9 + 0x29);
|
||||
plVar2 = (longlong *)*plVar9;
|
||||
plVar7 = plVar9;
|
||||
while (plVar4 = plVar2, cVar1 == '\0') {
|
||||
plVar2 = (longlong *)*plVar4;
|
||||
cVar1 = *(char *)((longlong)plVar2 + 0x29);
|
||||
plVar7 = plVar4;
|
||||
}
|
||||
}
|
||||
*DAT_14017cec0 = (longlong)plVar7;
|
||||
}
|
||||
if ((longlong *)DAT_14017cec0[2] == param_2) {
|
||||
if (*(char *)((longlong)plVar9 + 0x29) == '\0') {
|
||||
cVar1 = *(char *)(plVar9[2] + 0x29);
|
||||
plVar7 = (longlong *)plVar9[2];
|
||||
plVar2 = plVar9;
|
||||
while (plVar4 = plVar7, cVar1 == '\0') {
|
||||
plVar7 = (longlong *)plVar4[2];
|
||||
cVar1 = *(char *)((longlong)plVar7 + 0x29);
|
||||
plVar2 = plVar4;
|
||||
}
|
||||
DAT_14017cec0[2] = (longlong)plVar2;
|
||||
}
|
||||
else {
|
||||
DAT_14017cec0[2] = (longlong)plVar8;
|
||||
}
|
||||
}
|
||||
LAB_14001d4f3:
|
||||
if ((char)param_2[5] == '\x01') {
|
||||
if (plVar9 != (longlong *)DAT_14017cec0[1]) {
|
||||
do {
|
||||
plVar7 = plVar8;
|
||||
if ((char)plVar9[5] != '\x01') break;
|
||||
plVar8 = (longlong *)*plVar7;
|
||||
if (plVar9 == plVar8) {
|
||||
plVar8 = (longlong *)plVar7[2];
|
||||
if ((char)plVar8[5] == '\0') {
|
||||
*(undefined1 *)(plVar8 + 5) = 1;
|
||||
*(undefined1 *)(plVar7 + 5) = 0;
|
||||
FUN_14001d750((longlong)plVar7);
|
||||
plVar8 = (longlong *)plVar7[2];
|
||||
}
|
||||
if (*(char *)((longlong)plVar8 + 0x29) == '\0') {
|
||||
if ((*(char *)(*plVar8 + 0x28) != '\x01') || (*(char *)(plVar8[2] + 0x28) != '\x01')) {
|
||||
if (*(char *)(plVar8[2] + 0x28) == '\x01') {
|
||||
*(undefined1 *)(*plVar8 + 0x28) = 1;
|
||||
*(undefined1 *)(plVar8 + 5) = 0;
|
||||
FUN_14001d7b0(plVar8);
|
||||
plVar8 = (longlong *)plVar7[2];
|
||||
}
|
||||
*(char *)(plVar8 + 5) = (char)plVar7[5];
|
||||
*(undefined1 *)(plVar7 + 5) = 1;
|
||||
*(undefined1 *)(plVar8[2] + 0x28) = 1;
|
||||
FUN_14001d750((longlong)plVar7);
|
||||
break;
|
||||
}
|
||||
LAB_14001d5cd:
|
||||
*(undefined1 *)(plVar8 + 5) = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((char)plVar8[5] == '\0') {
|
||||
*(undefined1 *)(plVar8 + 5) = 1;
|
||||
*(undefined1 *)(plVar7 + 5) = 0;
|
||||
FUN_14001d7b0(plVar7);
|
||||
plVar8 = (longlong *)*plVar7;
|
||||
}
|
||||
if (*(char *)((longlong)plVar8 + 0x29) == '\0') {
|
||||
if ((*(char *)(plVar8[2] + 0x28) == '\x01') && (*(char *)(*plVar8 + 0x28) == '\x01'))
|
||||
goto LAB_14001d5cd;
|
||||
if (*(char *)(*plVar8 + 0x28) == '\x01') {
|
||||
*(undefined1 *)(plVar8[2] + 0x28) = 1;
|
||||
*(undefined1 *)(plVar8 + 5) = 0;
|
||||
FUN_14001d750((longlong)plVar8);
|
||||
plVar8 = (longlong *)*plVar7;
|
||||
}
|
||||
*(char *)(plVar8 + 5) = (char)plVar7[5];
|
||||
*(undefined1 *)(plVar7 + 5) = 1;
|
||||
*(undefined1 *)(*plVar8 + 0x28) = 1;
|
||||
FUN_14001d7b0(plVar7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
plVar8 = (longlong *)plVar7[1];
|
||||
plVar9 = plVar7;
|
||||
} while (plVar7 != (longlong *)DAT_14017cec0[1]);
|
||||
}
|
||||
*(undefined1 *)(plVar9 + 5) = 1;
|
||||
}
|
||||
operator_delete(param_2);
|
||||
if (DAT_14017cec8 != 0) {
|
||||
DAT_14017cec8 = DAT_14017cec8 + -1;
|
||||
}
|
||||
*param_1 = plVar10;
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue