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

82 lines
2.7 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140022b50 FUN_140022b50
* Pseudocode, not original source. */
byte * FUN_140022b50(longlong param_1,byte *param_2,int *param_3,int param_4)
{
byte bVar1;
undefined4 uVar2;
byte *pbVar3;
byte *pbVar4;
char *pcVar5;
pbVar3 = FUN_140020ee0(param_2,param_4);
if ((pbVar3 != (byte *)0x0) && (*pbVar3 != 0)) {
if (param_3 != (int *)0x0) {
FUN_140020d90(param_3,pbVar3,param_4);
*(undefined8 *)(param_1 + 8) = *(undefined8 *)param_3;
}
pbVar4 = FUN_140020fc0(pbVar3,(longlong *)(param_1 + 0x20));
if ((pbVar4 != (byte *)0x0) && (*pbVar4 != 0)) {
pbVar3 = FUN_140020ee0(pbVar4,param_4);
if ((pbVar3 == (byte *)0x0) || ((*pbVar3 == 0 || (*pbVar3 != 0x3d)))) {
if (*(longlong *)(param_1 + 0x18) != 0) {
FUN_1400219a0(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4);
}
return (byte *)0x0;
}
pbVar3 = FUN_140020ee0(pbVar3 + 1,param_4);
if ((pbVar3 != (byte *)0x0) && (bVar1 = *pbVar3, bVar1 != 0)) {
if (bVar1 == 0x27) {
pcVar5 = "\'";
}
else {
if (bVar1 != 0x22) {
FUN_14001e2c0((longlong *)(param_1 + 0x30),&DAT_140132660,0);
while( true ) {
if (*pbVar3 == 0) {
return pbVar3;
}
uVar2 = FUN_140020c50(*pbVar3);
if ((char)uVar2 != '\0') {
return pbVar3;
}
bVar1 = *pbVar3;
if (bVar1 == 10) {
return pbVar3;
}
if (bVar1 == 0xd) break;
if (bVar1 == 0x2f) {
return pbVar3;
}
if (bVar1 == 0x3e) {
return pbVar3;
}
if ((bVar1 == 0x27) || (bVar1 == 0x22)) {
if (*(longlong *)(param_1 + 0x18) != 0) {
FUN_1400219a0(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4);
}
return (byte *)0x0;
}
FUN_14001e440((longlong *)(param_1 + 0x30),bVar1);
pbVar3 = pbVar3 + 1;
if (pbVar3 == (byte *)0x0) {
return (byte *)0x0;
}
}
return pbVar3;
}
pcVar5 = "\"";
}
pbVar3 = FUN_140021340(pbVar3 + 1,(longlong *)(param_1 + 0x30),'\0',pcVar5,param_4);
return pbVar3;
}
}
if (*(longlong *)(param_1 + 0x18) != 0) {
FUN_1400219a0(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4);
}
}
return (byte *)0x0;
}