{"jsonrpc": "2.0", "result": {"content": [{"type": "text", "text": "{\"addr\":\"0xffe4e633\",\"code\":\"int __fastcall sub_FFE4E633(int a1, unsigned __int8 *a2, unsigned int *a3, int a4, int a5)\\n{\\n unsigned __int8 *v6; // ebx\\n unsigned __int8 *v7; // edi\\n _BYTE *v8; // esi\\n int v9; // ecx\\n int v11; // eax\\n unsigned int v13; // esi\\n bool v14; // cc\\n int v15; // eax\\n __int16 v16; // cx\\n int v17; // edi\\n __int16 v18; // ax\\n int v19; // [esp+10h] [ebp-4h]\\n\\n v6 = a2; /*0xffe4e638*/\\n if ( !a1 || !a3 || !a2 || !a4 ) /*0xffe4e65c*/\\n return -2147483646; /*0xffe4e740*/\\n v7 = (unsigned __int8 *)(a1 + ((*(_DWORD *)(a1 + 6) & 0x4000000) != 0 ? 26 : 11));\\n v8 = v7; /*0xffe4e67a*/\\n v9 = a1 - (_DWORD)v7 + (unsigned __int16)sub_FFE4F4EC(a1 + 4); /*0xffe4e688*/\\n if ( (*(_DWORD *)(a1 + 6) & 0x2000000) != 0 ) /*0xffe4e691*/\\n {\\n do /*0xffe4e69f*/\\n {\\n if ( !*v8++ ) /*0xffe4e693*/\\n break; /*0xffe4e698*/\\n v11 = v9--; /*0xffe4e69a*/\\n }\\n while ( v11 > 0 ); /*0xffe4e69f*/\\n if ( v9 <= 0 ) /*0xffe4e6a3*/\\n return -2147483638; /*0xffe4e6aa*/\\n v13 = 2 * (v8 - v7); /*0xffe4e6b1*/\\n }\\n else\\n {\\n while ( *v8 || v8[1] ) /*0xffe4e6be*/\\n {\\n if ( v9 <= 0 ) /*0xffe4e6c2*/\\n return -2147483638; /*0xffe4e6c2*/\\n v8 += 2; /*0xffe4e6c4*/\\n v9 -= 2; /*0xffe4e6c7*/\\n }\\n if ( v9 <= 0 ) /*0xffe4e6ce*/\\n return -2147483638; /*0xffe4e6ce*/\\n v13 = v8 - v7 + 2; /*0xffe4e6d2*/\\n }\\n v14 = v13 <= *a3; /*0xffe4e6d9*/\\n *a3 = v13; /*0xffe4e6db*/\\n if ( !v14 ) /*0xffe4e6dd*/\\n return -2147483643; /*0xffe4e6df*/\\n v15 = sub_FFE4DFDF(a1, a5); /*0xffe4e6ee*/\\n v19 = v15; /*0xffe4e6fa*/\\n if ( (*(_DWORD *)(a1 + 6) & 0x2000000) != 0 ) /*0xffe4e6fe*/\\n {\\n do /*0xffe4e70d*/\\n {\\n v16 = *v7++; /*0xffe4e700*/\\n *(_WORD *)v6 = v16; /*0xffe4e704*/\\n v6 += 2; /*0xffe4e707*/\\n }\\n while ( v16 ); /*0xffe4e70d*/\\n }\\n else\\n {\\n v17 = v7 - v6; /*0xffe4e711*/\\n do /*0xffe4e724*/\\n {\\n v18 = sub_FFE4F4EC(&v6[v17]); /*0xffe4e716*/\\n *(_WORD *)v6 = v18; /*0xffe4e71b*/\\n v6 += 2; /*0xffe4e71e*/\\n }\\n while ( v18 ); /*0xffe4e724*/\\n v15 = v19; /*0xffe4e726*/\\n }\\n sub_FFE50054(a4, v15, 16); /*0xffe4e731*/\\n *(_DWORD *)(a5 + 24) = a1; /*0xffe4e739*/\\n return 0; /*0xffe4e745*/\\n}\",\"refs\":[{\"addr\":\"0xffe4f4ec\",\"name\":\"sub_FFE4F4EC\"},{\"addr\":\"0xffe4dfdf\",\"name\":\"sub_FFE4DFDF\"},{\"addr\":\"0xffe50054\",\"name\":\"sub_FFE50054\"}]}"}], "structuredContent": {"addr": "0xffe4e633", "code": "int __fastcall sub_FFE4E633(int a1, unsigned __int8 *a2, unsigned int *a3, int a4, int a5)\n{\n unsigned __int8 *v6; // ebx\n unsigned __int8 *v7; // edi\n _BYTE *v8; // esi\n int v9; // ecx\n int v11; // eax\n unsigned int v13; // esi\n bool v14; // cc\n int v15; // eax\n __int16 v16; // cx\n int v17; // edi\n __int16 v18; // ax\n int v19; // [esp+10h] [ebp-4h]\n\n v6 = a2; /*0xffe4e638*/\n if ( !a1 || !a3 || !a2 || !a4 ) /*0xffe4e65c*/\n return -2147483646; /*0xffe4e740*/\n v7 = (unsigned __int8 *)(a1 + ((*(_DWORD *)(a1 + 6) & 0x4000000) != 0 ? 26 : 11));\n v8 = v7; /*0xffe4e67a*/\n v9 = a1 - (_DWORD)v7 + (unsigned __int16)sub_FFE4F4EC(a1 + 4); /*0xffe4e688*/\n if ( (*(_DWORD *)(a1 + 6) & 0x2000000) != 0 ) /*0xffe4e691*/\n {\n do /*0xffe4e69f*/\n {\n if ( !*v8++ ) /*0xffe4e693*/\n break; /*0xffe4e698*/\n v11 = v9--; /*0xffe4e69a*/\n }\n while ( v11 > 0 ); /*0xffe4e69f*/\n if ( v9 <= 0 ) /*0xffe4e6a3*/\n return -2147483638; /*0xffe4e6aa*/\n v13 = 2 * (v8 - v7); /*0xffe4e6b1*/\n }\n else\n {\n while ( *v8 || v8[1] ) /*0xffe4e6be*/\n {\n if ( v9 <= 0 ) /*0xffe4e6c2*/\n return -2147483638; /*0xffe4e6c2*/\n v8 += 2; /*0xffe4e6c4*/\n v9 -= 2; /*0xffe4e6c7*/\n }\n if ( v9 <= 0 ) /*0xffe4e6ce*/\n return -2147483638; /*0xffe4e6ce*/\n v13 = v8 - v7 + 2; /*0xffe4e6d2*/\n }\n v14 = v13 <= *a3; /*0xffe4e6d9*/\n *a3 = v13; /*0xffe4e6db*/\n if ( !v14 ) /*0xffe4e6dd*/\n return -2147483643; /*0xffe4e6df*/\n v15 = sub_FFE4DFDF(a1, a5); /*0xffe4e6ee*/\n v19 = v15; /*0xffe4e6fa*/\n if ( (*(_DWORD *)(a1 + 6) & 0x2000000) != 0 ) /*0xffe4e6fe*/\n {\n do /*0xffe4e70d*/\n {\n v16 = *v7++; /*0xffe4e700*/\n *(_WORD *)v6 = v16; /*0xffe4e704*/\n v6 += 2; /*0xffe4e707*/\n }\n while ( v16 ); /*0xffe4e70d*/\n }\n else\n {\n v17 = v7 - v6; /*0xffe4e711*/\n do /*0xffe4e724*/\n {\n v18 = sub_FFE4F4EC(&v6[v17]); /*0xffe4e716*/\n *(_WORD *)v6 = v18; /*0xffe4e71b*/\n v6 += 2; /*0xffe4e71e*/\n }\n while ( v18 ); /*0xffe4e724*/\n v15 = v19; /*0xffe4e726*/\n }\n sub_FFE50054(a4, v15, 16); /*0xffe4e731*/\n *(_DWORD *)(a5 + 24) = a1; /*0xffe4e739*/\n return 0; /*0xffe4e745*/\n}", "refs": [{"addr": "0xffe4f4ec", "name": "sub_FFE4F4EC"}, {"addr": "0xffe4dfdf", "name": "sub_FFE4DFDF"}, {"addr": "0xffe50054", "name": "sub_FFE50054"}]}, "isError": false}, "id": 1}