// 0xffd82f2b
{"addr":"0xffd82f2b","code":"bool __fastcall sub_FFD82F2B(int a1, unsigned __int8 a2, unsigned __int16 *a3)\n{\n char v5; // bl\n unsigned int v7; // ebp\n unsigned __int8 v8; // al\n unsigned __int16 *v9; // ecx\n unsigned int *v11; // [esp+1Ch] [ebp+4h]\n\n v5 = 0; /*0xffd82f40*/\n *(_DWORD *)(a3 + 1) = 0xFFFF; /*0xffd82f42*/\n *a3 = -1; /*0xffd82f49*/\n if ( (sub_FFD8CCA5((unsigned __int16 *)(a1 + 90)) & 0x40) == 0 ) /*0xffd82f56*/\n return 0; /*0xffd82f58*/\n *(_DWORD *)(a1 + 24) = *(_DWORD *)(a1 + 24) & 0xFF0000FF | ((a2 | (a2 << 8)) << 8); /*0xffd82f7c*/\n v11 = (unsigned int *)sub_FFD8CBBA(a2, 0, 0); /*0xffd82f8b*/\n sub_FFD8CCD3(v11, 0); /*0xffd82f8f*/\n v7 = *v11; /*0xffd82f94*/\n *(_DWORD *)a3 = *v11; /*0xffd82f9c*/\n if ( v7 != -1 ) /*0xffd82fa6*/\n {\n v8 = sub_FFD90A71(0, HIWORD(v7)); /*0xffd82fb0*/\n if ( v8 ) /*0xffd82fb9*/\n {\n v9 = (unsigned __int16 *)((char *)v11 + v8 + 12); /*0xffd82fc5*/\n v5 = *(_BYTE *)v9 & 0xF; /*0xffd82fc9*/\n *((_BYTE *)a3 + 5) = ((unsigned __int16)sub_FFD8CCA5(v9) >> 4) & 0x3F; /*0xffd82fd7*/\n }\n *((_BYTE *)a3 + 4) = v5; /*0xffd82fda*/\n }\n *(_DWORD *)(a1 + 24) &= 0xFF0000FF; /*0xffd82fe5*/\n sub_FFD7F9AF(\n 64,\n (int)\"VID: %04X DID: %04X MLS: %d MLW: %d\\n\",\n *a3,\n a3[1],\n *((unsigned __int8 *)a3 + 4),\n *((unsigned __int8 *)a3 + 5));\n return v7 != -1; /*0xffd83012*/\n}","refs":[{"addr":"0xffd8cca5","name":"sub_FFD8CCA5"},{"addr":"0xffd8cbba","name":"sub_FFD8CBBA"},{"addr":"0xffd8ccd3","name":"sub_FFD8CCD3"},{"addr":"0xffd90a71","name":"sub_FFD90A71"},{"addr":"0xffd7f9af","name":"sub_FFD7F9AF"},{"addr":"0xffd932f8","name":"aVid04xDid04xMl","string":"VID: %04X DID: %04X MLS: %d MLW: %d\n"}]}