55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400aaa10 FUN_1400aaa10
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1400aaa10(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4)
|
|
|
|
{
|
|
undefined8 *puVar1;
|
|
longlong lVar2;
|
|
int *piVar3;
|
|
longlong *plVar4;
|
|
undefined8 uVar5;
|
|
longlong **pplVar6;
|
|
longlong lVar7;
|
|
ulonglong uVar8;
|
|
uint *puVar9;
|
|
undefined8 uVar10;
|
|
longlong *local_res8;
|
|
|
|
puVar9 = param_4;
|
|
piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
|
|
FUN_14003d040(piVar3);
|
|
uVar8 = (ulonglong)*param_4;
|
|
pplVar6 = &local_res8;
|
|
plVar4 = FUN_1400a7920(*(longlong **)(param_1 + 0x20),(longlong *)pplVar6,*param_4);
|
|
lVar7 = 0;
|
|
if ((longlong *)*plVar4 != (longlong *)0x0) {
|
|
lVar7 = *(longlong *)*plVar4;
|
|
}
|
|
if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) {
|
|
puVar1 = (undefined8 *)*local_res8;
|
|
if (puVar1 != (undefined8 *)0x0) {
|
|
pplVar6 = (longlong **)0x0;
|
|
(**(code **)*puVar1)(puVar1,1);
|
|
}
|
|
FUN_14003e8b0(local_res8);
|
|
}
|
|
if (lVar7 != 0) {
|
|
uVar5 = CONCAT71((int7)((ulonglong)pplVar6 >> 8),1);
|
|
FUN_1400cf120(lVar7,'\x01');
|
|
*(undefined4 *)(lVar7 + 0x61c) = 0;
|
|
uVar10 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x70) + 0x1c0))();
|
|
*(undefined8 *)(lVar7 + 0x620) = uVar10;
|
|
*(undefined1 *)(lVar7 + 0x20) = 0;
|
|
FUN_1400d1350(lVar7,uVar5,uVar8,puVar9);
|
|
lVar2 = *(longlong *)(param_1 + 0x20);
|
|
if ((*(char *)(lVar2 + 0x1790) != '\0') || (*(int *)(lVar2 + 0x6c8) != 0)) {
|
|
FUN_1400a9f70(lVar2,1,L"Client %d과의 P2P 연결 상태를 완전히 리셋합니다.",
|
|
(ulonglong)*(uint *)(lVar7 + 0x56c));
|
|
}
|
|
}
|
|
uVar5 = FUN_14003d0d0((longlong)piVar3);
|
|
return CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
|