add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
98
decomp/AgentManager_Release_x64/full/functions/0x14005a600.c
Normal file
98
decomp/AgentManager_Release_x64/full/functions/0x14005a600.c
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14005a600 FUN_14005a600
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14005a600(longlong param_1,wchar_t *param_2,longlong param_3,longlong param_4)
|
||||
|
||||
{
|
||||
uint uVar1;
|
||||
undefined4 uVar2;
|
||||
int iVar3;
|
||||
longlong lVar4;
|
||||
undefined8 *puVar5;
|
||||
undefined8 uVar6;
|
||||
longlong *plVar7;
|
||||
int *piVar8;
|
||||
undefined8 *puVar9;
|
||||
longlong lVar10;
|
||||
longlong lVar11;
|
||||
wchar_t *pwVar12;
|
||||
longlong lVar13;
|
||||
longlong lVar14;
|
||||
longlong lVar15;
|
||||
int iVar16;
|
||||
longlong lVar17;
|
||||
int iVar18;
|
||||
undefined4 uStack_3c;
|
||||
|
||||
pwVar12 = param_2;
|
||||
piVar8 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8);
|
||||
FUN_14003d040(piVar8);
|
||||
if (DAT_14017614f != '\0') {
|
||||
param_3 = *(longlong *)(param_1 + -0xa8);
|
||||
pwVar12 = L"Proud::CNetServerImpl::GetUserWorkerThreadInfo";
|
||||
(**(code **)(param_3 + 200))(param_1 + -0xa8);
|
||||
}
|
||||
lVar4 = *(longlong *)(param_1 + 0x338);
|
||||
iVar18 = 0;
|
||||
uVar1 = *(uint *)(lVar4 + 0x78);
|
||||
lVar14 = 0;
|
||||
if (0 < (int)uVar1) {
|
||||
do {
|
||||
if ((lVar14 < 0) || ((int)uVar1 <= iVar18)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003def0((ulonglong)uVar1,pwVar12,param_3,param_4);
|
||||
}
|
||||
lVar13 = *(longlong *)(lVar4 + 0x70);
|
||||
puVar5 = *(undefined8 **)(lVar13 + lVar14 * 8);
|
||||
puVar9 = (undefined8 *)0x0;
|
||||
if (puVar5 != (undefined8 *)0x0) {
|
||||
puVar9 = (undefined8 *)*puVar5;
|
||||
}
|
||||
uVar6 = *puVar9;
|
||||
if ((int)uVar1 <= iVar18) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003def0((ulonglong)uVar1,lVar13,param_3,param_4);
|
||||
}
|
||||
plVar7 = *(longlong **)(lVar13 + lVar14 * 8);
|
||||
if (plVar7 == (longlong *)0x0) {
|
||||
lVar13 = 0;
|
||||
}
|
||||
else {
|
||||
lVar13 = *plVar7;
|
||||
}
|
||||
uVar2 = *(undefined4 *)(lVar13 + 8);
|
||||
iVar3 = *(int *)(param_2 + 0xc);
|
||||
lVar13 = (longlong)iVar3;
|
||||
if (iVar3 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
iVar16 = *(int *)(param_2 + 0xc);
|
||||
uVar1 = iVar16 + 1;
|
||||
pwVar12 = (wchar_t *)(ulonglong)uVar1;
|
||||
FUN_14009cb60((longlong)param_2,uVar1,param_3,param_4);
|
||||
iVar16 = iVar16 - iVar3;
|
||||
if ((0 < iVar16) && (iVar16 = iVar16 + -1, lVar15 = (longlong)iVar16, -1 < iVar16)) {
|
||||
lVar17 = (lVar15 + 1 + lVar13) * 0x10;
|
||||
do {
|
||||
lVar10 = FUN_140074a30((longlong)param_2);
|
||||
lVar11 = FUN_140074a30((longlong)param_2);
|
||||
*(undefined8 *)(lVar11 + lVar17) = *(undefined8 *)(lVar10 + -0x10 + lVar17);
|
||||
*(undefined8 *)(lVar11 + 8 + lVar17) = *(undefined8 *)(lVar10 + -8 + lVar17);
|
||||
lVar17 = lVar17 + -0x10;
|
||||
lVar15 = lVar15 + -1;
|
||||
} while (-1 < lVar15);
|
||||
}
|
||||
lVar15 = FUN_140074a30((longlong)param_2);
|
||||
*(ulonglong *)(lVar15 + lVar13 * 0x10) = CONCAT44(uStack_3c,uVar2);
|
||||
*(undefined8 *)(lVar15 + 8 + lVar13 * 0x10) = uVar6;
|
||||
iVar18 = iVar18 + 1;
|
||||
lVar14 = lVar14 + 1;
|
||||
uVar1 = *(uint *)(lVar4 + 0x78);
|
||||
} while (iVar18 < (int)uVar1);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar8);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue