server-re/decomp/MessageServer_Release_x64/full/functions/0x140071c80.c

38 lines
1.2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140071c80 FUN_140071c80
* Pseudocode, not original source. */
ulonglong FUN_140071c80(longlong param_1,undefined1 param_2,undefined4 *param_3)
{
int iVar1;
undefined4 uVar2;
ulonglong in_RAX;
ulonglong uVar3;
undefined8 uVar4;
undefined4 local_res8 [2];
undefined4 local_res20 [2];
if ((*(int *)(param_1 + 0x180) != 0x103) && (in_RAX = 0, *(char *)(param_1 + 0x1c0) != '\0')) {
iVar1 = WSAGetOverlappedResult
(*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0x180),local_res20,param_2
,local_res8);
if (iVar1 == 0) {
uVar3 = Ordinal_111();
if ((int)uVar3 == 0x3e4) {
return uVar3 & 0xffffffffffffff00;
}
}
*param_3 = local_res8[0];
param_3[6] = local_res20[0];
if (iVar1 == 0) {
uVar2 = Ordinal_111();
param_3[1] = uVar2;
}
*(undefined1 *)(param_1 + 0x1c0) = 0;
uVar4 = FUN_14006fbb0((longlong)(param_3 + 2),param_1 + 0x2f0);
return CONCAT71((int7)((ulonglong)uVar4 >> 8),1);
}
return in_RAX & 0xffffffffffffff00;
}