decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
82
decomp/Agent_Release_x64/full/functions/0x1400d7b3c.c
Normal file
82
decomp/Agent_Release_x64/full/functions/0x1400d7b3c.c
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400d7b3c FUN_1400d7b3c
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
uint FUN_1400d7b3c(longlong param_1,uint param_2)
|
||||
|
||||
{
|
||||
char *pcVar1;
|
||||
uint uVar2;
|
||||
char *pcVar3;
|
||||
int iVar4;
|
||||
uint uVar5;
|
||||
ulonglong uVar6;
|
||||
uint uVar7;
|
||||
uint uVar8;
|
||||
char *pcVar9;
|
||||
char *pcVar10;
|
||||
uint uVar11;
|
||||
char cVar12;
|
||||
char cVar13;
|
||||
|
||||
uVar11 = *(uint *)(param_1 + 0x94);
|
||||
uVar8 = *(uint *)(param_1 + 0xa4);
|
||||
uVar6 = (ulonglong)(int)*(uint *)(param_1 + 0xa0);
|
||||
pcVar1 = (char *)((ulonglong)uVar11 + *(longlong *)(param_1 + 0x50));
|
||||
if (*(int *)(param_1 + 0x44) - 0x106U < uVar11) {
|
||||
uVar11 = (uVar11 - *(int *)(param_1 + 0x44)) + 0x106;
|
||||
}
|
||||
else {
|
||||
uVar11 = 0;
|
||||
}
|
||||
cVar12 = pcVar1[uVar6 - 1];
|
||||
cVar13 = pcVar1[uVar6];
|
||||
if (*(uint *)(param_1 + 0xb4) <= *(uint *)(param_1 + 0xa0)) {
|
||||
uVar8 = uVar8 >> 2;
|
||||
}
|
||||
uVar2 = *(uint *)(param_1 + 0x9c);
|
||||
uVar7 = *(uint *)(param_1 + 0xb8);
|
||||
if (uVar2 < *(uint *)(param_1 + 0xb8)) {
|
||||
uVar7 = uVar2;
|
||||
}
|
||||
do {
|
||||
iVar4 = (int)uVar6;
|
||||
pcVar3 = (char *)((ulonglong)param_2 + *(longlong *)(param_1 + 0x50));
|
||||
if ((((pcVar3[iVar4] == cVar13) && (pcVar3[(longlong)iVar4 + -1] == cVar12)) &&
|
||||
(*pcVar3 == *pcVar1)) && (pcVar3[1] == pcVar1[1])) {
|
||||
pcVar3 = pcVar3 + 2;
|
||||
pcVar9 = pcVar1 + 2;
|
||||
while (((((pcVar10 = pcVar9 + 1, *pcVar10 == pcVar3[1] &&
|
||||
(pcVar10 = pcVar9 + 2, *pcVar10 == pcVar3[2])) &&
|
||||
((pcVar10 = pcVar9 + 3, *pcVar10 == pcVar3[3] &&
|
||||
((pcVar10 = pcVar9 + 4, *pcVar10 == pcVar3[4] &&
|
||||
(pcVar10 = pcVar9 + 5, *pcVar10 == pcVar3[5])))))) &&
|
||||
(pcVar10 = pcVar9 + 6, *pcVar10 == pcVar3[6])) &&
|
||||
(pcVar10 = pcVar9 + 7, *pcVar10 == pcVar3[7]))) {
|
||||
pcVar3 = pcVar3 + 8;
|
||||
pcVar10 = pcVar9 + 8;
|
||||
if ((*pcVar10 != *pcVar3) || (pcVar9 = pcVar10, pcVar1 + 0x102 <= pcVar10)) break;
|
||||
}
|
||||
uVar5 = ((int)pcVar10 - (int)(pcVar1 + 0x102)) + 0x102;
|
||||
if (iVar4 < (int)uVar5) {
|
||||
*(uint *)(param_1 + 0x98) = param_2;
|
||||
uVar6 = (ulonglong)uVar5;
|
||||
if ((int)uVar7 <= (int)uVar5) {
|
||||
LAB_1400d7cab:
|
||||
if (uVar5 <= uVar2) {
|
||||
uVar2 = uVar5;
|
||||
}
|
||||
return uVar2;
|
||||
}
|
||||
cVar12 = pcVar1[(longlong)(int)uVar5 + -1];
|
||||
cVar13 = pcVar1[(int)uVar5];
|
||||
}
|
||||
}
|
||||
uVar5 = (uint)uVar6;
|
||||
param_2 = (uint)*(ushort *)
|
||||
(*(longlong *)(param_1 + 0x60) +
|
||||
(ulonglong)(*(uint *)(param_1 + 0x4c) & param_2) * 2);
|
||||
if ((param_2 <= uVar11) || (uVar8 = uVar8 - 1, uVar8 == 0)) goto LAB_1400d7cab;
|
||||
} while( true );
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue