45 lines
1.3 KiB
C
45 lines
1.3 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x140116c58 FUN_140116c58
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
uint FUN_140116c58(uint param_1,uint param_2,uint param_3)
|
|
|
|
{
|
|
longlong lVar1;
|
|
uint uVar2;
|
|
undefined1 auStack_138 [32];
|
|
uint local_118 [32];
|
|
uint local_98 [32];
|
|
ulonglong local_18;
|
|
|
|
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_138;
|
|
if (param_3 != 0) {
|
|
uVar2 = 1;
|
|
local_118[0] = 0xedb88320;
|
|
lVar1 = 1;
|
|
do {
|
|
local_118[lVar1] = uVar2;
|
|
lVar1 = lVar1 + 1;
|
|
uVar2 = uVar2 * 2;
|
|
} while (lVar1 < 0x20);
|
|
FUN_140116c18(local_98,local_118);
|
|
FUN_140116c18(local_118,local_98);
|
|
do {
|
|
FUN_140116c18(local_98,local_118);
|
|
if ((param_3 & 1) != 0) {
|
|
param_1 = FUN_140116bf8(local_98,param_1);
|
|
}
|
|
if ((int)param_3 >> 1 == 0) break;
|
|
FUN_140116c18(local_118,local_98);
|
|
if (((int)param_3 >> 1 & 1U) != 0) {
|
|
param_1 = FUN_140116bf8(local_118,param_1);
|
|
}
|
|
param_3 = (int)param_3 >> 2;
|
|
} while (param_3 != 0);
|
|
param_1 = param_1 ^ param_2;
|
|
}
|
|
return param_1;
|
|
}
|
|
|