server-re/decomp/AgentManager_Release_x64/full/functions/0x14001ee20.c
2026-10-15 09:58:24 -04:00

60 lines
1.7 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14001ee20 FUN_14001ee20
* Pseudocode, not original source. */
undefined8 FUN_14001ee20(longlong param_1,longlong param_2)
{
char cVar1;
char cVar2;
char *pcVar3;
undefined8 uVar4;
longlong *plVar5;
longlong lVar6;
plVar5 = *(longlong **)(param_1 + 0x28);
do {
if (plVar5 == (longlong *)0x0) {
return 0;
}
pcVar3 = (char *)(plVar5[7] + 0x10);
lVar6 = param_2 - (longlong)pcVar3;
do {
cVar1 = *pcVar3;
cVar2 = pcVar3[lVar6];
if (cVar1 != cVar2) break;
pcVar3 = pcVar3 + 1;
} while (cVar2 != '\0');
if (cVar1 == cVar2) {
LAB_14001ee80:
lVar6 = (**(code **)(*plVar5 + 0x30))(plVar5);
if (lVar6 != 0) {
/* WARNING: Could not recover jumptable at 0x00014001eeed. Too many branches */
/* WARNING: Treating indirect jump as call */
uVar4 = (**(code **)(*plVar5 + 0x30))(plVar5);
return uVar4;
}
plVar5 = (longlong *)plVar5[10];
if (plVar5 == (longlong *)0x0) {
return 0;
}
do {
pcVar3 = (char *)(plVar5[7] + 0x10);
lVar6 = param_2 - (longlong)pcVar3;
do {
cVar1 = *pcVar3;
cVar2 = pcVar3[lVar6];
if (cVar1 != cVar2) break;
pcVar3 = pcVar3 + 1;
} while (cVar2 != '\0');
if (cVar1 == cVar2) goto LAB_14001ee80;
plVar5 = (longlong *)plVar5[10];
if (plVar5 == (longlong *)0x0) {
return 0;
}
} while( true );
}
plVar5 = (longlong *)plVar5[10];
} while( true );
}