52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d4f88 FUN_1400d4f88
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1400d4f88(longlong param_1,uint param_2,char *param_3,int param_4)
|
|
|
|
{
|
|
code *pcVar1;
|
|
longlong lVar2;
|
|
undefined8 uVar3;
|
|
|
|
if (((param_3 == (char *)0x0) || (*param_3 != '1')) || (param_4 != 0x58)) {
|
|
return 0xfffffffa;
|
|
}
|
|
if (param_1 != 0) {
|
|
*(undefined8 *)(param_1 + 0x20) = 0;
|
|
if (*(longlong *)(param_1 + 0x30) == 0) {
|
|
*(undefined8 *)(param_1 + 0x40) = 0;
|
|
*(code **)(param_1 + 0x30) = FUN_1400d8e98;
|
|
}
|
|
pcVar1 = *(code **)(param_1 + 0x38);
|
|
if (pcVar1 == (code *)0x0) {
|
|
pcVar1 = FUN_1400d8eb8;
|
|
}
|
|
*(code **)(param_1 + 0x38) = pcVar1;
|
|
lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x2548);
|
|
if (lVar2 == 0) {
|
|
return 0xfffffffc;
|
|
}
|
|
*(longlong *)(param_1 + 0x28) = lVar2;
|
|
if ((int)param_2 < 0) {
|
|
*(undefined4 *)(lVar2 + 8) = 0;
|
|
param_2 = -param_2;
|
|
}
|
|
else {
|
|
*(int *)(lVar2 + 8) = ((int)param_2 >> 4) + 1;
|
|
if ((int)param_2 < 0x30) {
|
|
param_2 = param_2 & 0xf;
|
|
}
|
|
}
|
|
if (param_2 - 8 < 8) {
|
|
*(undefined8 *)(lVar2 + 0x38) = 0;
|
|
*(uint *)(lVar2 + 0x28) = param_2;
|
|
uVar3 = FUN_1400d4ec8(param_1);
|
|
return uVar3;
|
|
}
|
|
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
|
|
*(undefined8 *)(param_1 + 0x28) = 0;
|
|
}
|
|
return 0xfffffffe;
|
|
}
|
|
|