58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400cc450 FUN_1400cc450
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong * FUN_1400cc450(char *param_1,longlong *param_2)
|
|
|
|
{
|
|
ushort uVar1;
|
|
int iVar2;
|
|
ushort *puVar3;
|
|
longlong *plVar4;
|
|
ushort *puVar5;
|
|
uint uVar6;
|
|
uint uVar7;
|
|
|
|
puVar5 = (ushort *)*param_2;
|
|
puVar3 = puVar5;
|
|
if (puVar5 == (ushort *)0x0) {
|
|
puVar3 = (ushort *)PTR_DAT_14016f010;
|
|
}
|
|
if (puVar3 == (ushort *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_1400050d0(0x80004005);
|
|
}
|
|
uVar7 = 0;
|
|
if (puVar5 == (ushort *)0x0) {
|
|
puVar5 = (ushort *)PTR_DAT_14016f010;
|
|
}
|
|
uVar1 = *puVar5;
|
|
while (uVar1 != 0) {
|
|
puVar5 = puVar5 + 1;
|
|
uVar7 = uVar7 * 0x21 + (uint)uVar1;
|
|
uVar1 = *puVar5;
|
|
}
|
|
uVar6 = (uint)((ulonglong)uVar7 % (ulonglong)*(uint *)(param_1 + 0x28));
|
|
if (*(longlong *)(param_1 + 8) != 0) {
|
|
for (plVar4 = *(longlong **)
|
|
(*(longlong *)(param_1 + 8) +
|
|
((ulonglong)uVar7 % (ulonglong)*(uint *)(param_1 + 0x28)) * 8);
|
|
(plVar4 != (longlong *)0x0 && (uVar6 == *(uint *)(plVar4 + 4) % *(uint *)(param_1 + 0x28)));
|
|
plVar4 = (longlong *)plVar4[2]) {
|
|
puVar5 = (ushort *)*param_2;
|
|
if ((ushort *)*param_2 == (ushort *)0x0) {
|
|
puVar5 = (ushort *)PTR_DAT_14016f010;
|
|
}
|
|
puVar3 = (ushort *)*plVar4;
|
|
if ((ushort *)*plVar4 == (ushort *)0x0) {
|
|
puVar3 = (ushort *)PTR_DAT_14016f010;
|
|
}
|
|
iVar2 = FUN_14003e660(puVar3,(longlong)puVar5);
|
|
if (iVar2 == 0) goto LAB_1400cc530;
|
|
}
|
|
}
|
|
plVar4 = FUN_1400cbe00(param_1,param_2,uVar6,uVar7);
|
|
LAB_1400cc530:
|
|
return plVar4 + 1;
|
|
}
|
|
|