70 lines
1.6 KiB
C
70 lines
1.6 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400e5340 FUN_1400e5340
|
|
* Pseudocode, not original source. */
|
|
|
|
int FUN_1400e5340(uint param_1,undefined1 *param_2,uint *param_3)
|
|
|
|
{
|
|
uint uVar1;
|
|
int iVar2;
|
|
longlong lVar3;
|
|
undefined1 *puVar4;
|
|
uint uVar5;
|
|
uint uVar6;
|
|
ulonglong uVar7;
|
|
uint local_res10 [2];
|
|
|
|
if ((param_2 == (undefined1 *)0x0) || (param_3 == (uint *)0x0)) {
|
|
return 0x10;
|
|
}
|
|
iVar2 = FUN_1400e2e80(param_1,(int *)local_res10);
|
|
if (iVar2 != 0) {
|
|
return iVar2;
|
|
}
|
|
if (*param_3 < local_res10[0]) {
|
|
*param_3 = local_res10[0];
|
|
return 6;
|
|
}
|
|
uVar6 = 0;
|
|
iVar2 = 0;
|
|
uVar5 = param_1;
|
|
if (param_1 != 0) {
|
|
do {
|
|
iVar2 = iVar2 + 1;
|
|
uVar1 = uVar5 >> 8;
|
|
uVar5 = uVar5 >> 8;
|
|
} while (uVar1 != 0);
|
|
if (iVar2 != 0) goto LAB_1400e53c5;
|
|
}
|
|
iVar2 = 1;
|
|
LAB_1400e53c5:
|
|
uVar5 = iVar2 + (uint)((param_1 >> (iVar2 * 8 - 1U & 0x1f) & 1) != 0);
|
|
if (uVar5 < 5) {
|
|
for (; uVar6 < 4 - uVar5; uVar6 = uVar6 + 1) {
|
|
param_1 = param_1 << 8;
|
|
}
|
|
}
|
|
*param_2 = 2;
|
|
uVar6 = 2;
|
|
param_2[1] = (char)uVar5;
|
|
if (uVar5 == 5) {
|
|
param_2[2] = 0;
|
|
uVar5 = 4;
|
|
uVar6 = 3;
|
|
}
|
|
lVar3 = (longlong)(int)uVar6;
|
|
if (uVar5 != 0) {
|
|
uVar7 = (ulonglong)uVar5;
|
|
uVar6 = uVar6 + uVar5;
|
|
puVar4 = param_2 + lVar3;
|
|
do {
|
|
uVar7 = uVar7 - 1;
|
|
*puVar4 = (char)(param_1 >> 0x18);
|
|
puVar4 = puVar4 + 1;
|
|
param_1 = param_1 << 8;
|
|
} while (uVar7 != 0);
|
|
}
|
|
*param_3 = uVar6;
|
|
return 0;
|
|
}
|
|
|