add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
51
decomp/AgentManager_Release_x64/full/functions/0x14000c910.c
Normal file
51
decomp/AgentManager_Release_x64/full/functions/0x14000c910.c
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14000c910 FUN_14000c910
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined1 FUN_14000c910(undefined8 *param_1,ulonglong param_2,char param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
void *_Src;
|
||||
code *pcVar2;
|
||||
undefined1 uVar3;
|
||||
ulonglong _Size;
|
||||
|
||||
if (param_2 == 0xffffffffffffffff) {
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar2 = (code *)swi(3);
|
||||
uVar3 = (*pcVar2)();
|
||||
return uVar3;
|
||||
}
|
||||
uVar1 = param_1[3];
|
||||
if (uVar1 < param_2) {
|
||||
FUN_14000c7d0(param_1,param_2,param_1[2]);
|
||||
}
|
||||
else if ((param_3 == '\0') || (0xf < param_2)) {
|
||||
if (param_2 == 0) {
|
||||
param_1[2] = 0;
|
||||
if (0xf < uVar1) {
|
||||
param_1 = (undefined8 *)*param_1;
|
||||
}
|
||||
*(undefined1 *)param_1 = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
_Size = param_1[2];
|
||||
if (param_2 < (ulonglong)param_1[2]) {
|
||||
_Size = param_2;
|
||||
}
|
||||
if (0xf < uVar1) {
|
||||
_Src = (void *)*param_1;
|
||||
if (_Size != 0) {
|
||||
memcpy(param_1,_Src,_Size);
|
||||
}
|
||||
operator_delete(_Src);
|
||||
}
|
||||
param_1[2] = _Size;
|
||||
param_1[3] = 0xf;
|
||||
*(undefined1 *)((longlong)param_1 + _Size) = 0;
|
||||
}
|
||||
return param_2 != 0;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue