add agent manager release decomp

This commit is contained in:
Benjamin Palko 2026-10-15 09:58:24 -04:00
parent 31ff800b2a
commit fac6117145
7019 changed files with 254032 additions and 5 deletions

View file

@ -0,0 +1,225 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140016fa0 FUN_140016fa0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
ulonglong FUN_140016fa0(longlong param_1,longlong param_2)
{
uint uVar1;
int iVar2;
longlong lVar3;
ulonglong uVar4;
undefined8 uVar5;
undefined8 extraout_RAX;
undefined8 extraout_RAX_00;
undefined8 extraout_RAX_01;
longlong lVar6;
undefined **ppuVar7;
void **ppvVar8;
undefined1 auStack_1e8 [32];
int local_1c8;
int local_1c0;
longlong *local_1b8;
longlong local_1b0;
undefined *local_1a8;
undefined1 local_198;
undefined1 local_197;
longlong local_190;
undefined4 local_188;
undefined8 local_180;
undefined8 local_178;
longlong local_170;
undefined *local_168;
undefined1 local_158;
undefined1 local_157;
longlong local_150;
undefined4 local_148;
undefined8 local_140;
undefined8 local_138;
longlong local_130;
undefined *local_128;
undefined1 local_118;
undefined1 local_117;
longlong local_110;
undefined4 local_108;
undefined8 local_100;
undefined8 local_f8;
undefined8 local_f0;
longlong local_e8;
undefined *local_e0;
byte local_d0;
undefined1 auStack_cf [7];
longlong local_c8;
undefined4 local_c0;
undefined8 local_b8;
undefined8 local_b0;
void *local_a8 [2];
undefined8 local_98;
ulonglong local_90;
undefined2 local_80;
undefined6 uStack_7e;
undefined8 local_70;
ulonglong local_68;
undefined1 local_58;
undefined7 uStack_57;
undefined8 local_48;
ulonglong local_40;
ulonglong local_30;
local_f0 = 0xfffffffffffffffe;
local_30 = DAT_14016f5a0 ^ (ulonglong)auStack_1e8;
ppuVar7 = (undefined **)&DAT_1401303d0;
lVar6 = 0x28;
do {
lVar3 = lVar6 / 2;
if (ppuVar7[lVar3] < (undefined *)0xb) {
ppuVar7 = ppuVar7 + lVar3 + 1;
lVar3 = lVar6 + (-1 - lVar3);
}
lVar6 = lVar3;
} while (0 < lVar3);
if (ppuVar7 == &MBISingleton<MagiStatistics>::vftable_meta_ptr) {
ppuVar7 = (undefined **)&UNK_140130508;
}
local_e0 = *ppuVar7;
local_e8 = 0;
local_d0 = 0;
local_c8 = 0;
local_c0 = 0x3f800000;
local_b8 = 0;
local_b0 = 0;
uVar4 = FUN_14000e610((char *)(param_2 + 8),&local_e8);
local_150 = local_c8;
if ((char)uVar4 == '\0') {
if (local_e8 != 0) {
uVar4 = FUN_140010570(&local_e8);
}
uVar4 = uVar4 & 0xffffffffffffff00;
}
else {
local_1b8 = &local_170;
local_168 = FUN_140037260((longlong)&local_e8,local_c8);
local_170 = 0;
local_158 = 0;
local_157 = auStack_cf[local_d0];
local_148 = local_c0;
local_140 = 0;
local_138 = 0;
if (local_150 != 0) {
FUN_14001a640(&local_e8,&local_170);
FUN_140011050(&local_170);
}
FUN_14000f2a0((void **)&local_80,&local_170,"Account");
lVar6 = local_c8;
local_1b8 = &local_1b0;
local_1a8 = FUN_140037260((longlong)&local_e8,local_c8);
local_1b0 = 0;
local_198 = 0;
local_197 = auStack_cf[local_d0];
local_190 = lVar6;
local_188 = local_c0;
local_180 = 0;
local_178 = 0;
if (lVar6 != 0) {
FUN_14001a640(&local_e8,&local_1b0);
FUN_140011050(&local_1b0);
}
FUN_14000f2a0(local_a8,&local_1b0,"charid");
lVar6 = local_c8;
local_1b8 = &local_170;
local_168 = FUN_140037260((longlong)&local_e8,local_c8);
local_170 = 0;
local_158 = 0;
local_157 = auStack_cf[local_d0];
local_150 = lVar6;
local_148 = local_c0;
local_140 = 0;
local_138 = 0;
if (lVar6 != 0) {
FUN_14001a640(&local_e8,&local_170);
FUN_140011050(&local_170);
}
FUN_14000f130((longlong *)&local_58,&local_170);
lVar6 = local_c8;
local_1b8 = &local_1b0;
local_1a8 = FUN_140037260((longlong)&local_e8,local_c8);
local_1b0 = 0;
local_198 = 0;
local_197 = auStack_cf[local_d0];
local_190 = lVar6;
local_188 = local_c0;
local_180 = 0;
local_178 = 0;
if (lVar6 != 0) {
FUN_14001a640(&local_e8,&local_1b0);
FUN_140011050(&local_1b0);
}
uVar1 = FUN_14000efc0(&local_1b0,"server");
lVar6 = local_c8;
local_1b8 = &local_130;
local_128 = FUN_140037260((longlong)&local_e8,local_c8);
local_130 = 0;
local_118 = 0;
local_117 = auStack_cf[local_d0];
local_110 = lVar6;
local_108 = local_c0;
local_100 = 0;
local_f8 = 0;
if (lVar6 != 0) {
FUN_14001a640(&local_e8,&local_130);
FUN_140011050(&local_130);
}
iVar2 = FUN_14000efc0(&local_130,"itemid");
lVar6 = local_c8;
local_1b8 = &local_1b0;
local_1a8 = FUN_140037260((longlong)&local_e8,local_c8);
local_1b0 = 0;
local_198 = 0;
local_197 = auStack_cf[local_d0];
local_190 = lVar6;
local_188 = local_c0;
local_180 = 0;
local_178 = 0;
if (lVar6 != 0) {
FUN_14001a640(&local_e8,&local_1b0);
FUN_140011050(&local_1b0);
}
local_1c0 = FUN_14000efc0(&local_1b0,"count");
ppvVar8 = local_a8;
if (7 < local_90) {
ppvVar8 = (void **)CONCAT62(local_a8[0]._2_6_,local_a8[0]._0_2_);
}
local_1c8 = iVar2;
uVar5 = FUN_140014bf0(*(longlong *)(param_1 + 0x98),(ulonglong)*(uint *)(param_2 + 0x208),
(ulonglong)uVar1,(short *)ppvVar8);
if (0xf < local_40) {
operator_delete((void *)CONCAT71(uStack_57,local_58));
uVar5 = extraout_RAX;
}
local_40 = 0xf;
local_48 = 0;
local_58 = 0;
if (7 < local_90) {
operator_delete((void *)CONCAT62(local_a8[0]._2_6_,local_a8[0]._0_2_));
uVar5 = extraout_RAX_00;
}
local_90 = 7;
local_98 = 0;
local_a8[0]._0_2_ = 0;
if (7 < local_68) {
operator_delete((void *)CONCAT62(uStack_7e,local_80));
uVar5 = extraout_RAX_01;
}
local_68 = 7;
local_70 = 0;
local_80 = 0;
if (local_e8 != 0) {
uVar5 = FUN_140010570(&local_e8);
}
uVar4 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
}
return uVar4;
}