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
236
decomp/DBCServer_Release_x64/full/functions/0x14014da30.c
Normal file
236
decomp/DBCServer_Release_x64/full/functions/0x14014da30.c
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14014da30 FUN_14014da30
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 FUN_14014da30(undefined8 param_1,undefined4 *param_2)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
undefined8 uVar2;
|
||||
wchar_t *pwVar3;
|
||||
longlong lVar4;
|
||||
wchar_t *pwVar5;
|
||||
longlong lVar6;
|
||||
longlong lVar7;
|
||||
undefined1 auStackY_158 [32];
|
||||
undefined4 local_128 [2];
|
||||
wchar_t *local_120;
|
||||
wchar_t *local_118;
|
||||
wchar_t *local_110;
|
||||
undefined8 local_108;
|
||||
undefined1 local_100;
|
||||
wchar_t *local_f8;
|
||||
wchar_t *local_f0;
|
||||
undefined8 local_e8;
|
||||
longlong local_d8 [10];
|
||||
longlong local_88 [10];
|
||||
ulonglong local_38;
|
||||
|
||||
local_e8 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_158;
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
*param_2 = local_128[0];
|
||||
}
|
||||
FUN_14016e500(param_1,param_2 + 1);
|
||||
FUN_14016e500(param_1,param_2 + 0x1e);
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x2a] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x2b] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x2c] = local_128[0];
|
||||
}
|
||||
FUN_14016e500(param_1,param_2 + 0x2d);
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x31] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x32] = local_128[0];
|
||||
}
|
||||
FUN_14016e500(param_1,param_2 + 0x33);
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x8f] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0x90] = local_128[0];
|
||||
}
|
||||
FUN_14016e500(param_1,param_2 + 0x91);
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xed] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xee] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xef] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xf0] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xf9] = local_128[0];
|
||||
}
|
||||
cVar1 = FUN_14016b370(param_1,local_128,4);
|
||||
if (cVar1 != '\0') {
|
||||
param_2[0xfa] = local_128[0];
|
||||
}
|
||||
FUN_14016d8c0();
|
||||
local_f0 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
FUN_14016d8c0();
|
||||
local_120 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
FUN_14016d8c0();
|
||||
local_118 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
_eh_vector_constructor_iterator_(local_88,8,10,FUN_14004ec10,thunk_FUN_14004eb70);
|
||||
FUN_14016d8c0();
|
||||
local_f8 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
_eh_vector_constructor_iterator_(local_d8,8,10,FUN_14004ec10,thunk_FUN_14004eb70);
|
||||
FUN_14016d8c0();
|
||||
local_110 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
thunk_FUN_14016c760(param_1,&local_f0);
|
||||
thunk_FUN_14016c760(param_1,&local_120);
|
||||
thunk_FUN_14016c760(param_1,&local_118);
|
||||
thunk_FUN_14016c760(param_1,&local_f8);
|
||||
thunk_FUN_14016c760(param_1,&local_110);
|
||||
pwVar3 = local_f0;
|
||||
if (local_f0 == (wchar_t *)0x0) {
|
||||
pwVar3 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s((wchar_t *)(param_2 + 5),0x32,pwVar3);
|
||||
pwVar3 = local_120;
|
||||
if (local_120 == (wchar_t *)0x0) {
|
||||
pwVar3 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s((wchar_t *)(param_2 + 0x22),0x10,pwVar3);
|
||||
pwVar3 = local_118;
|
||||
if (local_118 == (wchar_t *)0x0) {
|
||||
pwVar3 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s((wchar_t *)(param_2 + 0x37),0x10,pwVar3);
|
||||
pwVar3 = local_f8;
|
||||
if (local_f8 == (wchar_t *)0x0) {
|
||||
pwVar3 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s((wchar_t *)(param_2 + 0x95),0x10,pwVar3);
|
||||
pwVar3 = local_110;
|
||||
if (local_110 == (wchar_t *)0x0) {
|
||||
pwVar3 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s((wchar_t *)(param_2 + 0xf1),0x10,pwVar3);
|
||||
pwVar3 = (wchar_t *)(param_2 + 0x9d);
|
||||
lVar4 = 0;
|
||||
lVar7 = 10;
|
||||
lVar6 = lVar4;
|
||||
do {
|
||||
thunk_FUN_14016c760(param_1,(longlong)local_88 + lVar4);
|
||||
thunk_FUN_14016c760(param_1,(longlong)local_d8 + lVar4);
|
||||
pwVar5 = *(wchar_t **)((longlong)local_88 + lVar6);
|
||||
if (*(wchar_t **)((longlong)local_88 + lVar6) == (wchar_t *)0x0) {
|
||||
pwVar5 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s(pwVar3 + -0xbc,0x10,pwVar5);
|
||||
pwVar5 = *(wchar_t **)((longlong)local_d8 + lVar6);
|
||||
if (*(wchar_t **)((longlong)local_d8 + lVar6) == (wchar_t *)0x0) {
|
||||
pwVar5 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcscpy_s(pwVar3,0x10,pwVar5);
|
||||
pwVar5 = local_110;
|
||||
lVar4 = lVar4 + 8;
|
||||
pwVar3 = pwVar3 + 0x10;
|
||||
lVar6 = lVar6 + 8;
|
||||
lVar7 = lVar7 + -1;
|
||||
} while (lVar7 != 0);
|
||||
if (((local_110 != (wchar_t *)0x0) && (local_110 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar3 = local_110 + -4, pwVar3 != (wchar_t *)0x0)) {
|
||||
uVar2 = FUN_14016d8c0();
|
||||
local_108 = uVar2;
|
||||
FUN_14016db50(uVar2);
|
||||
local_100 = 1;
|
||||
pwVar5 = pwVar5 + -2;
|
||||
*(int *)pwVar5 = *(int *)pwVar5 + -1;
|
||||
if (*(int *)pwVar5 == 0) {
|
||||
FUN_14016d970(pwVar3);
|
||||
}
|
||||
FUN_14016dbe0(uVar2);
|
||||
}
|
||||
local_110 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
_eh_vector_destructor_iterator_(local_d8,8,10,thunk_FUN_14004eb70);
|
||||
pwVar3 = local_f8;
|
||||
if (((local_f8 != (wchar_t *)0x0) && (local_f8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar5 = local_f8 + -4, pwVar5 != (wchar_t *)0x0)) {
|
||||
uVar2 = FUN_14016d8c0();
|
||||
local_108 = uVar2;
|
||||
FUN_14016db50(uVar2);
|
||||
local_100 = 1;
|
||||
pwVar3 = pwVar3 + -2;
|
||||
*(int *)pwVar3 = *(int *)pwVar3 + -1;
|
||||
if (*(int *)pwVar3 == 0) {
|
||||
FUN_14016d970(pwVar5);
|
||||
}
|
||||
FUN_14016dbe0(uVar2);
|
||||
}
|
||||
local_f8 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
_eh_vector_destructor_iterator_(local_88,8,10,thunk_FUN_14004eb70);
|
||||
pwVar3 = local_118;
|
||||
if (((local_118 != (wchar_t *)0x0) && (local_118 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar5 = local_118 + -4, pwVar5 != (wchar_t *)0x0)) {
|
||||
uVar2 = FUN_14016d8c0();
|
||||
local_108 = uVar2;
|
||||
FUN_14016db50(uVar2);
|
||||
local_100 = 1;
|
||||
pwVar3 = pwVar3 + -2;
|
||||
*(int *)pwVar3 = *(int *)pwVar3 + -1;
|
||||
if (*(int *)pwVar3 == 0) {
|
||||
FUN_14016d970(pwVar5);
|
||||
}
|
||||
FUN_14016dbe0(uVar2);
|
||||
}
|
||||
pwVar3 = local_120;
|
||||
local_118 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
if (((local_120 != (wchar_t *)0x0) && (local_120 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar5 = local_120 + -4, pwVar5 != (wchar_t *)0x0)) {
|
||||
uVar2 = FUN_14016d8c0();
|
||||
local_108 = uVar2;
|
||||
FUN_14016db50(uVar2);
|
||||
local_100 = 1;
|
||||
pwVar3 = pwVar3 + -2;
|
||||
*(int *)pwVar3 = *(int *)pwVar3 + -1;
|
||||
if (*(int *)pwVar3 == 0) {
|
||||
FUN_14016d970(pwVar5);
|
||||
}
|
||||
FUN_14016dbe0(uVar2);
|
||||
}
|
||||
pwVar3 = local_f0;
|
||||
if (((local_f0 != (wchar_t *)0x0) && (local_f0 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar5 = local_f0 + -4, pwVar5 != (wchar_t *)0x0)) {
|
||||
local_120 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
uVar2 = FUN_14016d8c0();
|
||||
local_108 = uVar2;
|
||||
FUN_14016db50(uVar2);
|
||||
local_100 = 1;
|
||||
pwVar3 = pwVar3 + -2;
|
||||
*(int *)pwVar3 = *(int *)pwVar3 + -1;
|
||||
if (*(int *)pwVar3 == 0) {
|
||||
FUN_14016d970(pwVar5);
|
||||
}
|
||||
FUN_14016dbe0(uVar2);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue