Guest User

Untitled

a guest
Aug 7th, 2014
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. ## D55AC511052632411F960256325C3850
  2.  
  3. signed int __fastcall LGE_Check_Function(int a1, int a2, int a3, int a4, int a5, int a6, char *a7, int a8, int a9, int a10)
  4. {
  5. int v10; // r7@1
  6. int v11; // r11@1
  7. int v12; // r12@3
  8. int v13; // r6@4
  9. int v14; // r1@5
  10. int v16; // r1@15
  11. int v17; // r2@15
  12. int v18; // r3@15
  13. int v19; // r1@17
  14. int v20; // r2@17
  15. int v21; // r3@17
  16. int v22; // ST00_4@18
  17. int v23; // r2@19
  18. int v24; // r3@19
  19. unsigned int v25; // r3@22
  20. char v26; // zf@22
  21. int v27; // r2@27
  22. int v28; // r3@27
  23. unsigned int v29; // r3@31
  24. char v30; // zf@31
  25. int v31; // r0@36
  26. int v32; // [sp+4h] [bp-2BCh]@1
  27. int v33; // [sp+8h] [bp-2B8h]@1
  28. int v34; // [sp+Ch] [bp-2B4h]@4
  29. int v35; // [sp+10h] [bp-2B0h]@5
  30. int v36; // [sp+14h] [bp-2ACh]@4
  31. int v37; // [sp+18h] [bp-2A8h]@5
  32. int v38; // [sp+1Ch] [bp-2A4h]@5
  33. int v39; // [sp+20h] [bp-2A0h]@5
  34. int v40; // [sp+24h] [bp-29Ch]@13
  35. unsigned __int8 v41; // [sp+2Ch] [bp-294h]@1
  36. unsigned __int8 v42; // [sp+2Dh] [bp-293h]@2
  37. char v43; // [sp+30h] [bp-290h]@2
  38. char v44; // [sp+50h] [bp-270h]@2
  39. char v45; // [sp+70h] [bp-250h]@2
  40. char v46; // [sp+90h] [bp-230h]@15
  41. int v47; // [sp+B0h] [bp-210h]@2
  42. char *v48; // [sp+B4h] [bp-20Ch]@2
  43. int v49; // [sp+B8h] [bp-208h]@19
  44. char *v50; // [sp+BCh] [bp-204h]@19
  45. int v51; // [sp+D8h] [bp-1E8h]@3
  46. int v52; // [sp+DCh] [bp-1E4h]@4
  47. int v53; // [sp+E0h] [bp-1E0h]@4
  48. char *v54; // [sp+E4h] [bp-1DCh]@2
  49. int v55; // [sp+E8h] [bp-1D8h]@5
  50. char *v56; // [sp+ECh] [bp-1D4h]@2
  51. int v57; // [sp+F0h] [bp-1D0h]@4
  52. char *v58; // [sp+F4h] [bp-1CCh]@2
  53. int v59; // [sp+F8h] [bp-1C8h]@5
  54. char *v60; // [sp+FCh] [bp-1C4h]@2
  55. int v61; // [sp+100h] [bp-1C0h]@11
  56. char *v62; // [sp+104h] [bp-1BCh]@2
  57. int v63; // [sp+108h] [bp-1B8h]@11
  58. char *v64; // [sp+10Ch] [bp-1B4h]@2
  59. char v65; // [sp+118h] [bp-1A8h]@2
  60. char v66; // [sp+198h] [bp-128h]@2
  61. char v67; // [sp+218h] [bp-A8h]@2
  62. v10 = a2;
  63. v11 = a1;
  64. v33 = a3;
  65. v32 = a4;
  66. v41 = 64;
  67. if ( a10 )
  68. {
  69. v48 = a7;
  70. v42 = 19;
  71. v47 = a8;
  72. v62 = &v45;
  73. v54 = &v43;
  74. v56 = &v65;
  75. v58 = &v44;
  76. v60 = &v66;
  77. v64 = &v67;
  78. }
  79. else
  80. {
  81. v47 = a8;
  82. v42 = 9;
  83. v48 = a7;
  84. v54 = &v43;
  85. v56 = &v65;
  86. v58 = &v44;
  87. v60 = &v66;
  88. }
  89. v12 = sub_F71FD90(&v41, &v47, &v51); // What is this?? If v51 gets set to 1734742343 we get an unlock. If it's set to 1734742343 we get kernel crypto verify...
  90. if ( v12 )
  91. goto LABEL_17;
  92. v13 = v52;
  93. v34 = v53;
  94. v36 = v57;
  95. if ( a10 ) // If this is 1, we get unlock
  96. {
  97. v35 = v55;
  98. v38 = v61;
  99. v14 = v59;
  100. v39 = v63;
  101. v37 = v59;
  102. if ( v51 != 1734742343 )
  103. goto LABEL_6;
  104. LABEL_12:
  105. sub_F71CED4((int)"Device UnLock\n", v14, v51, 1734742343);
  106. return 0;
  107. }
  108. v14 = v55;
  109. v38 = 0;
  110. v37 = v59;
  111. v35 = v55;
  112. v39 = 0;
  113. if ( v51 == 1734742343 )
  114. goto LABEL_12;
  115. LABEL_6:
  116. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO kernel verify start!!! [%d] \n", 232, v51, 1734742343);
  117. if ( v13 != 2 && v13 != 1 )
  118. return 13;
  119. v40 = -a9;
  120. if ( v10 != (-a9 & (v10 - 1 + a9)) )
  121. v10 = (v10 & 0xFFFFFFF8) + 8;
  122. sub_F71E150((int)&v46, 0, 32);
  123. sub_F7116EC(v11, v10, (int)&v46, v13);
  124. if ( sub_F71E230((int)&v43, (int)&v46, 32) )
  125. {
  126. LABEL_16:
  127. sub_F71CED4((int)"hash verify Error\n", v16, v17, v18);
  128. return 19;
  129. }
  130. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO kernel verify end [%d] \n", 251, v17, v18);
  131. v41 = 64;
  132. v42 = 14;
  133. v48 = &v43;
  134. v50 = &v65;
  135. v47 = v34;
  136. v49 = v35;
  137. v12 = sub_F71FD90(&v41, &v47, &v51);
  138. if ( v12 )
  139. goto LABEL_17;
  140. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO ramdisk verify start!!! [%d] \n", 341, v23, v24);
  141. if ( v13 == 2 || v13 == 1 )
  142. {
  143. v25 = (v32 - 1 + a9) & v40;
  144. v26 = v32 == v25;
  145. if ( v32 != v25 )
  146. v25 = v32 & 0xFFFFFFF8;
  147. if ( !v26 )
  148. v32 = v25 + 8;
  149. sub_F71E150((int)&v46, 0, 32);
  150. sub_F7116EC(v33, v32, (int)&v46, v13);
  151. if ( sub_F71E230((int)&v44, (int)&v46, 32) )
  152. goto LABEL_16;
  153. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO ramdisk verify end [%d] \n", 360, v17, v18);
  154. v41 = 64;
  155. v42 = 14;
  156. v48 = &v44;
  157. v50 = &v66;
  158. v47 = v36;
  159. v49 = v37;
  160. v12 = sub_F71FD90(&v41, &v47, &v51);
  161. if ( !v12 )
  162. {
  163. if ( !a10 )
  164. return v12;
  165. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO device-tree verify start!!! [%d] \n", 453, v27, v28);
  166. if ( v13 != 2 && v13 != 1 )
  167. return 13;
  168. v29 = (a6 - 1 + a9) & v40;
  169. v30 = a6 == v29;
  170. if ( a6 != v29 )
  171. v29 = a6 & 0xFFFFFFF8;
  172. if ( !v30 )
  173. a6 = v29 + 8;
  174. sub_F71E150((int)&v46, 0, 32);
  175. sub_F7116EC(a5, a6, (int)&v46, v13);
  176. if ( sub_F71E230((int)&v45, (int)&v46, 32) )
  177. goto LABEL_16;
  178. sub_F71CED4((int)"FEATURE_LGE_QCT_HW_CRYPTO device-tree verify end [%d] \n", 472, v17, v18);
  179. v41 = 64;
  180. v42 = 14;
  181. v48 = &v45;
  182. v47 = v38;
  183. v49 = v39;
  184. v50 = &v67;
  185. v31 = sub_F71FD90(&v41, &v47, &v51);
  186. v12 = 0;
  187. if ( !v31 )
  188. return v12;
  189. v19 = v41;
  190. v20 = v31;
  191. v21 = v42;
  192. v12 = v31;
  193. LABEL_18:
  194. v22 = v12;
  195. sub_F71CED4((int)"security_interface_command = 0x%X result = %d\n", v19 + v21, v20, v21);
  196. return v22;
  197. }
  198. LABEL_17:
  199. v19 = v41;
  200. v20 = v12;
  201. v21 = v42;
  202. goto LABEL_18;
  203. }
  204. return 13;
  205. }
Advertisement
Add Comment
Please, Sign In to add comment