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 0x140075f40 FUN_140075f40
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_140075f40(longlong param_1,ULONG_PTR param_2,LPOVERLAPPED param_3)
|
|
|
|
{
|
|
undefined8 uVar1;
|
|
longlong *plVar2;
|
|
undefined8 *puVar3;
|
|
uint uStack_c;
|
|
|
|
if (*(HANDLE *)(param_1 + 0x28) == (HANDLE)0x0) {
|
|
FUN_14006b350((int *)(param_1 + 0x50));
|
|
uVar1 = *(undefined8 *)(param_1 + 0x98);
|
|
plVar2 = *(longlong **)(param_1 + 0x88);
|
|
if (plVar2 == (longlong *)0x0) {
|
|
puVar3 = (undefined8 *)FUN_14006cbf0(0x28);
|
|
}
|
|
else {
|
|
puVar3 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x28);
|
|
}
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
puVar3[2] = param_2;
|
|
puVar3[3] = param_3;
|
|
puVar3[4] = (ulonglong)uStack_c << 0x20;
|
|
}
|
|
puVar3[1] = uVar1;
|
|
*puVar3 = 0;
|
|
*(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1;
|
|
if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) {
|
|
*(undefined8 **)(param_1 + 0x90) = puVar3;
|
|
}
|
|
else {
|
|
**(undefined8 **)(param_1 + 0x98) = puVar3;
|
|
}
|
|
*(undefined8 **)(param_1 + 0x98) = puVar3;
|
|
FUN_14006b3e0(param_1 + 0x50);
|
|
}
|
|
else {
|
|
PostQueuedCompletionStatus(*(HANDLE *)(param_1 + 0x28),0,param_2,param_3);
|
|
}
|
|
return;
|
|
}
|
|
|