============================================================================== == (a) hub tradePile sub-deserializer 0x18013ead0 == atom ids of interest: count=0xbc notification=0x1da selling=0x2b8 sold=0x2c9 ============================================================================== undefined4 FUN_18013ead0(longlong param_1,longlong param_2,longlong param_3) { undefined2 uVar1; int iVar2; int iVar3; undefined8 uVar4; iVar3 = 0x38c; iVar2 = FUN_1801c7f10(param_3); do { if (iVar2 == 10) { *(undefined1 *)(param_1 + 0x1da) = 1; return 10; } if (*(int *)(param_3 + 0xd0) == 0xb) { iVar3 = FUN_180180d00(*(undefined8 *)(param_3 + 0xf8)); iVar2 = FUN_1801c7f10(param_3); if (iVar2 != 6) goto LAB_18013eb2e; } else { LAB_18013eb2e: if (iVar3 == 0xbc) { uVar4 = FUN_1801c79d0(param_3); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(param_1 + 0x1d4) = uVar1; } else if (iVar3 == 0x1da) { uVar4 = FUN_1801c79d0(param_3); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(param_1 + 0x1d6) = uVar1; } else if (iVar3 == 0x2b8) { uVar4 = FUN_1801c79d0(param_3); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(param_1 + 0x1d2) = uVar1; uVar4 = FUN_1801c79d0(param_3); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(param_2 + 0x36) = uVar1; } else if (iVar3 == 0x2c9) { uVar4 = FUN_1801c79d0(param_3); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(param_1 + 0x1d8) = uVar1; } else { FUN_180135ff0(iVar3,param_3); } } iVar2 = FUN_1801c7f10(param_3); } while( true ); } ============================================================================== == (b) /sold request builder 0x1801647c0 ============================================================================== /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1801647c0(longlong param_1,undefined8 param_2,undefined4 param_3) { undefined1 auStack_58 [32]; undefined1 local_38; undefined8 local_37; undefined8 local_2f; undefined8 local_27; undefined4 local_1f; undefined2 local_1b; undefined1 local_19; ulonglong local_18; local_18 = DAT_1802db6e0 ^ (ulonglong)auStack_58; local_38 = 0; local_37 = 0; local_2f = 0; local_27 = 0; local_1f = 0; local_1b = 0; local_19 = 0; if (*(longlong *)(param_1 + 0x10) == 0) { FUN_180007f80(&local_38,0x20,"/sold"); } else { FUN_180007f80(&local_38,0x20,"/%lld"); } FUN_180008100(param_2,&local_38,param_3); return; } ============================================================================== == (c) FutGetAuctionCount deserializer 0x180163770 ============================================================================== /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined8 FUN_180163770(undefined8 param_1,undefined8 *param_2) { undefined2 uVar1; int iVar2; undefined4 uVar3; undefined8 uVar4; longlong *plVar5; longlong lVar6; undefined1 auStack_168 [32]; int local_148 [2]; undefined8 local_140; undefined1 local_138 [288]; ulonglong local_18; local_140 = 0xfffffffffffffffe; local_18 = DAT_1802db6e0 ^ (ulonglong)auStack_168; FUN_1801c63e0(local_138,0,0); local_148[0] = 0x38c; uVar4 = FUN_180008130(*param_2); FUN_1801c8270(local_138,*param_2,uVar4,0); FUN_1801c7f10(local_138); FUN_1801c7f10(local_138); plVar5 = (longlong *)FUN_18011a830(); lVar6 = (**(code **)(*plVar5 + 0x130))(plVar5); *(undefined4 *)(lVar6 + 0x30) = 0xffffffff; *(undefined8 *)(lVar6 + 0x34) = 0; iVar2 = FUN_1801c7f10(local_138); while (iVar2 != 10) { iVar2 = FUN_180141ee0(local_148,local_138); if (iVar2 != 6) { if (local_148[0] == 0xbc) { uVar4 = FUN_1801c79d0(local_138); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(lVar6 + 0x34) = uVar1; } else if (local_148[0] == 0x1bf) { uVar4 = FUN_1801c79d0(local_138); uVar3 = FUN_1800d7af0(uVar4); *(undefined4 *)(lVar6 + 0x30) = uVar3; } else if (local_148[0] == 0x1e5) { uVar4 = FUN_1801c79d0(local_138); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(lVar6 + 0x3a) = uVar1; } else if (local_148[0] == 0x2b8) { uVar4 = FUN_1801c79d0(local_138); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(lVar6 + 0x36) = uVar1; } else if (local_148[0] == 0x2c9) { uVar4 = FUN_1801c79d0(local_138); uVar1 = FUN_1800d7b10(uVar4); *(undefined2 *)(lVar6 + 0x38) = uVar1; } else { FUN_180135ff0(local_148[0],local_138); } } iVar2 = FUN_1801c7f10(local_138); } *(undefined1 *)(lVar6 + 0x28) = 1; FUN_1801c6560(local_138); return 1; } ============================================================================== == callers of the hub tradePile sub-deserializer (which response embeds it) ============================================================================== 0x180139610 FUN_180139610