68 lines
2.1 KiB
C
68 lines
2.1 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14003c950 FUN_14003c950
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_14003c950(longlong *param_1,int *param_2)
|
|
|
|
{
|
|
ushort uVar1;
|
|
int iVar2;
|
|
undefined8 uVar3;
|
|
int iVar4;
|
|
int iVar5;
|
|
|
|
EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
|
|
iVar5 = *param_2;
|
|
iVar4 = (int)param_1[1];
|
|
uVar1 = *(ushort *)((longlong)param_2 + 2);
|
|
*(int *)(param_1 + 9) = iVar5;
|
|
if (iVar4 - *(int *)((longlong)param_1 + 0x14) < iVar5) {
|
|
LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
|
|
uVar3 = 0;
|
|
}
|
|
else {
|
|
iVar2 = (int)param_1[2];
|
|
if (iVar4 < iVar2 + iVar5) {
|
|
iVar4 = iVar4 - iVar2;
|
|
*(int *)((longlong)param_1 + 0x4c) = iVar4;
|
|
*(int *)(param_1 + 10) = iVar5 - iVar4;
|
|
memcpy((void *)((longlong)iVar2 + *param_1),param_2,(longlong)iVar4);
|
|
memcpy((void *)*param_1,
|
|
(void *)((longlong)*(int *)((longlong)param_1 + 0x4c) + (longlong)param_2),
|
|
(longlong)(int)param_1[10]);
|
|
*(int *)(param_1 + 2) = (int)param_1[10];
|
|
}
|
|
else {
|
|
memcpy((void *)((longlong)iVar2 + *param_1),param_2,(longlong)iVar5);
|
|
*(int *)(param_1 + 2) = (int)param_1[2] + (int)param_1[9];
|
|
iVar5 = (int)param_1[2];
|
|
if (iVar5 == (int)param_1[1]) {
|
|
iVar5 = 0;
|
|
}
|
|
*(int *)(param_1 + 2) = iVar5;
|
|
}
|
|
*(int *)(param_1 + 3) = (int)param_1[3] + 1;
|
|
iVar5 = (int)param_1[3];
|
|
*(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) + (int)param_1[9];
|
|
if (uVar1 < 0x2329) {
|
|
if (DAT_14017cea0 < iVar5) {
|
|
DAT_14017cea0 = iVar5;
|
|
}
|
|
if (DAT_14017cea8 < *(int *)((longlong)param_1 + 0x14)) {
|
|
DAT_14017cea8 = *(int *)((longlong)param_1 + 0x14);
|
|
}
|
|
}
|
|
else {
|
|
if (DAT_14017cea4 < iVar5) {
|
|
DAT_14017cea4 = iVar5;
|
|
}
|
|
if (DAT_14017ceac < *(int *)((longlong)param_1 + 0x14)) {
|
|
DAT_14017ceac = *(int *)((longlong)param_1 + 0x14);
|
|
}
|
|
}
|
|
LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
|
|
uVar3 = 1;
|
|
}
|
|
return uVar3;
|
|
}
|
|
|