decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
53
decomp/DBCServer_Release_x64/full/functions/0x14005a7c0.c
Normal file
53
decomp/DBCServer_Release_x64/full/functions/0x14005a7c0.c
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14005a7c0 FUN_14005a7c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14005a7c0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
void *_Src;
|
||||
longlong lVar1;
|
||||
void *pvVar2;
|
||||
int iVar3;
|
||||
void *local_40;
|
||||
void *local_38;
|
||||
void *local_30;
|
||||
|
||||
iVar3 = 0;
|
||||
local_40 = (void *)0x0;
|
||||
local_38 = (void *)0x0;
|
||||
local_30 = (void *)0x0;
|
||||
FUN_140048180(&local_40,(longlong)*(short *)(param_2 + 0xe),param_3,param_4,0xfffffffffffffffe);
|
||||
if (0 < *(short *)(param_2 + 0xe)) {
|
||||
pvVar2 = (void *)(param_2 + 0x10);
|
||||
do {
|
||||
if ((pvVar2 < local_38) && (local_40 <= pvVar2)) {
|
||||
lVar1 = (longlong)pvVar2 - (longlong)local_40;
|
||||
if (local_38 == local_30) {
|
||||
FUN_14004a490(&local_40);
|
||||
}
|
||||
_Src = (void *)((lVar1 / 0x159) * 0x159 + (longlong)local_40);
|
||||
}
|
||||
else {
|
||||
_Src = pvVar2;
|
||||
if (local_38 == local_30) {
|
||||
FUN_14004a490(&local_40);
|
||||
}
|
||||
}
|
||||
if (local_38 != (void *)0x0) {
|
||||
memcpy(local_38,_Src,0x159);
|
||||
}
|
||||
local_38 = (void *)((longlong)local_38 + 0x159);
|
||||
pvVar2 = (void *)((longlong)pvVar2 + 0x159);
|
||||
iVar3 = iVar3 + 1;
|
||||
} while (iVar3 < *(short *)(param_2 + 0xe));
|
||||
}
|
||||
*(int *)(param_1 + 0x630) = *(int *)(param_1 + 0x630) + 1;
|
||||
(**(code **)(*(longlong *)(param_1 + 0xa8) + 0x250))
|
||||
((longlong *)(param_1 + 0xa8),*(undefined4 *)(param_2 + 8),&DAT_1403440f0,&local_40);
|
||||
if (local_40 != (void *)0x0) {
|
||||
operator_delete(local_40);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue