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

90 lines
4 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400e4650 FUN_1400e4650
* Pseudocode, not original source. */
undefined8 FUN_1400e4650(uint *param_1,undefined1 *param_2,uint *param_3)
{
undefined4 uVar1;
undefined8 uVar2;
uint uVar3;
int iVar4;
uint local_res8 [2];
if (((param_1 != (uint *)0x0) && (param_2 != (undefined1 *)0x0)) && (param_3 != (uint *)0x0)) {
uVar2 = FUN_1400e41a0((longlong)param_1,local_res8);
if ((int)uVar2 == 0) {
if (*param_3 < local_res8[0]) {
*param_3 = local_res8[0];
return 6;
}
*param_2 = 0x17;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)*param_1 / 10) +
(int)(((ulonglong)*param_1 / 10) / 10) * -10)]);
param_2[2] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[*param_1 % 10]);
param_2[3] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[1] / 10) +
(int)(((ulonglong)param_1[1] / 10) / 10) * -10)]);
param_2[4] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[1] % 10]);
param_2[5] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[2] / 10) +
(int)(((ulonglong)param_1[2] / 10) / 10) * -10)]);
param_2[6] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[2] % 10]);
param_2[7] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[3] / 10) +
(int)(((ulonglong)param_1[3] / 10) / 10) * -10)]);
param_2[8] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[3] % 10]);
param_2[9] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[4] / 10) +
(int)(((ulonglong)param_1[4] / 10) / 10) * -10)]);
param_2[10] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[4] % 10]);
param_2[0xb] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[5] / 10) +
(int)(((ulonglong)param_1[5] / 10) / 10) * -10)]);
param_2[0xc] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[5] % 10]);
param_2[0xd] = (char)uVar1;
if ((param_1[8] == 0) && (param_1[7] == 0)) {
uVar1 = FUN_1400e2680(0x5a);
uVar3 = 0xf;
param_2[0xe] = (char)uVar1;
}
else {
iVar4 = 0x2b;
if (param_1[6] != 0) {
iVar4 = 0x2d;
}
uVar1 = FUN_1400e2680(iVar4);
param_2[0xe] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8
[(uint)((int)((ulonglong)param_1[7] / 10) +
(int)(((ulonglong)param_1[7] / 10) / 10) * -10)]);
param_2[0xf] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[7] % 10]);
param_2[0x10] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[(param_1[8] / 10) % 10]);
param_2[0x11] = (char)uVar1;
uVar1 = FUN_1400e2680((int)(char)PTR_DAT_1401712e8[param_1[8] % 10]);
uVar3 = 0x13;
param_2[0x12] = (char)uVar1;
}
param_2[1] = (char)uVar3 + -2;
*param_3 = uVar3;
uVar2 = 0;
}
return uVar2;
}
return 0x10;
}