decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
95
decomp/Agent_Release_x64/full/functions/0x1400a0660.c
Normal file
95
decomp/Agent_Release_x64/full/functions/0x1400a0660.c
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400a0660 FUN_1400a0660
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1400a0660(ulonglong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
byte bVar1;
|
||||
uint uVar2;
|
||||
longlong lVar3;
|
||||
uint uVar4;
|
||||
ulonglong uVar5;
|
||||
int iVar6;
|
||||
ulonglong uVar7;
|
||||
ulonglong uVar8;
|
||||
int iVar9;
|
||||
ulonglong uVar10;
|
||||
ulonglong uVar11;
|
||||
undefined1 auStack_198 [32];
|
||||
exception local_178 [80];
|
||||
byte abStack_128 [256];
|
||||
ulonglong local_28;
|
||||
|
||||
local_28 = DAT_1401555a0 ^ (ulonglong)auStack_198;
|
||||
iVar9 = (int)param_3;
|
||||
if (iVar9 == 0) {
|
||||
*(undefined1 *)(param_1 + 0x28) = 1;
|
||||
}
|
||||
else {
|
||||
if (param_2 == 0) {
|
||||
FUN_14002f1e0(local_178,L"RC4 ExpandFrom Error. inputkey is NULL",param_3,param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_178,(ThrowInfo *)&DAT_140151b88);
|
||||
}
|
||||
uVar7 = param_3 & 0xffffffff;
|
||||
uVar5 = param_1;
|
||||
FUN_14001bc70(param_1,iVar9,param_3);
|
||||
uVar8 = 0;
|
||||
uVar10 = uVar8;
|
||||
if (0 < iVar9) {
|
||||
do {
|
||||
iVar6 = (int)uVar10;
|
||||
if ((iVar6 < 0) || (*(int *)(param_1 + 0x18) <= iVar6)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0(uVar5,uVar7,param_3,uVar10);
|
||||
}
|
||||
param_3 = (SIZE_T)iVar6;
|
||||
*(char *)(param_3 + *(longlong *)(param_1 + 0x10)) = (char)uVar10;
|
||||
uVar10 = (ulonglong)(iVar6 + 1U);
|
||||
uVar7 = (longlong)iVar6 % (longlong)iVar9 & 0xffffffff;
|
||||
bVar1 = *(byte *)((int)((longlong)iVar6 % (longlong)iVar9) + param_2);
|
||||
uVar5 = (ulonglong)bVar1;
|
||||
abStack_128[param_3] = bVar1;
|
||||
} while ((int)(iVar6 + 1U) < iVar9);
|
||||
}
|
||||
uVar10 = uVar8;
|
||||
uVar11 = uVar8;
|
||||
if (0 < iVar9) {
|
||||
do {
|
||||
if ((longlong)uVar10 < 0) {
|
||||
LAB_1400a07a2:
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0(uVar5,uVar7,param_3,uVar10);
|
||||
}
|
||||
uVar2 = *(uint *)(param_1 + 0x18);
|
||||
param_3 = (SIZE_T)uVar2;
|
||||
if ((int)uVar2 <= (int)uVar11) goto LAB_1400a07a2;
|
||||
lVar3 = *(longlong *)(param_1 + 0x10);
|
||||
uVar4 = (uint)abStack_128[uVar10] + (int)uVar8;
|
||||
uVar5 = (longlong)(int)(*(byte *)(lVar3 + uVar10) + uVar4) % (longlong)iVar9;
|
||||
uVar8 = uVar5 & 0xffffffff;
|
||||
uVar5 = (longlong)((ulonglong)(uint)((int)uVar5 >> 0x1f) << 0x20 | uVar5 & 0xffffffff) %
|
||||
(longlong)iVar9;
|
||||
uVar7 = uVar5 & 0xffffffff;
|
||||
iVar6 = (int)uVar5;
|
||||
if ((iVar6 < 0) || ((int)uVar2 <= iVar6)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0((ulonglong)uVar4,uVar7,param_3,uVar10);
|
||||
}
|
||||
bVar1 = *(byte *)(lVar3 + uVar10);
|
||||
uVar5 = (ulonglong)bVar1;
|
||||
param_3 = (SIZE_T)iVar6;
|
||||
uVar10 = uVar10 + 1;
|
||||
uVar11 = (ulonglong)((int)uVar11 + 1);
|
||||
*(undefined1 *)(lVar3 + -1 + uVar10) = *(undefined1 *)(param_3 + lVar3);
|
||||
*(byte *)(param_3 + lVar3) = bVar1;
|
||||
} while ((longlong)uVar10 < (longlong)iVar9);
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x28) = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue