38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14004f390 FUN_14004f390
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_14004f390(longlong param_1,uint param_2,uint *param_3)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint *puVar2;
|
|
int *piVar3;
|
|
undefined8 uVar4;
|
|
ulonglong uVar5;
|
|
|
|
piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8);
|
|
FUN_14003d040(piVar3);
|
|
if (DAT_14017614f != '\0') {
|
|
(**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8);
|
|
}
|
|
uVar1 = *(uint *)(param_1 + 0xbf8);
|
|
uVar5 = (ulonglong)param_2 % (ulonglong)uVar1;
|
|
if (*(longlong *)(param_1 + 0xbd8) != 0) {
|
|
puVar2 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar5 * 8);
|
|
while( true ) {
|
|
if ((puVar2 == (uint *)0x0) || ((uint)uVar5 != puVar2[8] % uVar1)) goto LAB_14004f46a;
|
|
if (*puVar2 == param_2) break;
|
|
puVar2 = *(uint **)(puVar2 + 4);
|
|
}
|
|
if (*(uint **)(puVar2 + 2) != (uint *)0x0) {
|
|
FUN_14008ab60(*(uint **)(puVar2 + 2),param_3,uVar5,(ulonglong)uVar1);
|
|
uVar4 = FUN_14003d0d0((longlong)piVar3);
|
|
return CONCAT71((int7)((ulonglong)uVar4 >> 8),1);
|
|
}
|
|
}
|
|
LAB_14004f46a:
|
|
uVar5 = FUN_14003d0d0((longlong)piVar3);
|
|
return uVar5 & 0xffffffffffffff00;
|
|
}
|
|
|