Advertisement
Guest User

Untitled

a guest
Aug 12th, 2018
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 74.12 KB | None | 0 0
  1. .text:10011EA0 sub_10011EA0 proc near ; CODE XREF: Create256Key+104p
  2. .text:10011EA0 ; Create256Key+113p ...
  3. .text:10011EA0
  4. .text:10011EA0 arg_0 = dword ptr 4
  5. .text:10011EA0 arg_4 = dword ptr 8
  6. .text:10011EA0
  7. .text:10011EA0 push ebx
  8. .text:10011EA1 mov ebx, [esp+4+arg_0]
  9. .text:10011EA5 push esi
  10. .text:10011EA6 mov esi, [esp+8+arg_4]
  11. .text:10011EAA and esi, 3FFFFFFFh
  12. .text:10011EB0 and ebx, 3FFFFFFFh
  13. .text:10011EB6 sub esi, ebx
  14. .text:10011EB8 inc esi
  15. .text:10011EB9 cmp esi, 1
  16. .text:10011EBC jg short loc_10011EC3
  17. .text:10011EBE pop esi
  18. .text:10011EBF mov eax, ebx
  19. .text:10011EC1 pop ebx
  20. .text:10011EC2 retn
  21. .text:10011EC3 ; ---------------------------------------------------------------------------
  22. .text:10011EC3
  23. .text:10011EC3 loc_10011EC3: ; CODE XREF: sub_10011EA0+1Cj
  24. .text:10011EC3 mov eax, 2
  25. .text:10011EC8 cmp esi, eax
  26. .text:10011ECA jle short loc_10011ED6
  27. .text:10011ECC lea esp, [esp+0]
  28. .text:10011ED0
  29. .text:10011ED0 loc_10011ED0: ; CODE XREF: sub_10011EA0+34j
  30. .text:10011ED0 add eax, eax
  31. .text:10011ED2 cmp eax, esi
  32. .text:10011ED4 jl short loc_10011ED0
  33. .text:10011ED6
  34. .text:10011ED6 loc_10011ED6: ; CODE XREF: sub_10011EA0+2Aj
  35. .text:10011ED6 push edi
  36. .text:10011ED7 lea edi, [eax-1]
  37. .text:10011EDA lea ebx, [ebx+0]
  38. .text:10011EE0
  39. .text:10011EE0 loc_10011EE0: ; CODE XREF: sub_10011EA0+49j
  40. .text:10011EE0 call sub_10011E50
  41. .text:10011EE5 and eax, edi
  42. .text:10011EE7 cmp eax, esi
  43. .text:10011EE9 jge short loc_10011EE0
  44. .text:10011EEB pop edi
  45. .text:10011EEC pop esi
  46. .text:10011EED add eax, ebx
  47. .text:10011EEF pop ebx
  48. .text:10011EF0 retn
  49. .text:10011EF0 sub_10011EA0 endp
  50. .text:10011EF0
  51. .text:10011EF0 ; ---------------------------------------------------------------------------
  52. .text:10011EF1 db 0Fh dup(0CCh)
  53. .text:10011F00
  54. .text:10011F00 ; =============== S U B R O U T I N E =======================================
  55. .text:10011F00
  56. .text:10011F00
  57. .text:10011F00 sub_10011F00 proc near ; CODE XREF: Create256Key+F8p
  58. .text:10011F00 ; Create256Key+47Ap
  59. .text:10011F00
  60. .text:10011F00 arg_0 = dword ptr 4
  61. .text:10011F00
  62. .text:10011F00 mov eax, [esp+arg_0]
  63. .text:10011F04 and eax, 3FFFFFFFh
  64. .text:10011F09 mov dword_100653C8, eax
  65. .text:10011F0E mov dword_100653C0, 0
  66. .text:10011F18 mov dword_100653C4, 1Fh
  67. .text:10011F22 mov dword_100653CC, 1
  68. .text:10011F2C mov eax, offset dword_100653C8
  69. .text:10011F31
  70. .text:10011F31 loc_10011F31: ; CODE XREF: sub_10011F00+47j
  71. .text:10011F31 mov ecx, [eax]
  72. .text:10011F33 add ecx, [eax+4]
  73. .text:10011F36 add eax, 4
  74. .text:10011F39 and ecx, 3FFFFFFFh
  75. .text:10011F3F cmp eax, offset unk_1006549C
  76. .text:10011F44 mov [eax+4], ecx
  77. .text:10011F47 jl short loc_10011F31
  78. .text:10011F49 retn
  79. .text:10011F49 sub_10011F00 endp
  80. .text:10011F49
  81. .text:10011F49 ; ---------------------------------------------------------------------------
  82. .text:10011F4A db 6 dup(0CCh)
  83. .text:10011F50
  84. .text:10011F50 ; =============== S U B R O U T I N E =======================================
  85. .text:10011F50
  86. .text:10011F50
  87. .text:10011F50 Create256Key proc near ; This is the routine here
  88. .text:10011F50
  89. .text:10011F50 var_14B = byte ptr -14Bh
  90. .text:10011F50 var_14A = byte ptr -14Ah
  91. .text:10011F50 var_149 = byte ptr -149h
  92. .text:10011F50 var_148 = dword ptr -148h
  93. .text:10011F50 var_144 = byte ptr -144h
  94. .text:10011F50 var_143 = byte ptr -143h
  95. .text:10011F50 var_142 = byte ptr -142h
  96. .text:10011F50 var_141 = byte ptr -141h
  97. .text:10011F50 var_13D = byte ptr -13Dh
  98. .text:10011F50 var_13C = dword ptr -13Ch
  99. .text:10011F50 var_138 = byte ptr -138h
  100. .text:10011F50 var_135 = byte ptr -135h
  101. .text:10011F50 var_134 = byte ptr -134h
  102. .text:10011F50 var_133 = byte ptr -133h
  103. .text:10011F50 var_132 = byte ptr -132h
  104. .text:10011F50 var_131 = byte ptr -131h
  105. .text:10011F50 var_12E = byte ptr -12Eh
  106. .text:10011F50 var_12D = byte ptr -12Dh
  107. .text:10011F50 var_12C = dword ptr -12Ch
  108. .text:10011F50 var_125 = byte ptr -125h
  109. .text:10011F50 var_124 = dword ptr -124h
  110. .text:10011F50 var_120 = dword ptr -120h
  111. .text:10011F50 var_11C = dword ptr -11Ch
  112. .text:10011F50 var_118 = dword ptr -118h
  113. .text:10011F50 var_104 = byte ptr -104h
  114. .text:10011F50 var_103 = byte ptr -103h
  115. .text:10011F50 var_102 = byte ptr -102h
  116. .text:10011F50 var_101 = byte ptr -101h
  117. .text:10011F50 var_100 = byte ptr -100h
  118. .text:10011F50 var_FF = byte ptr -0FFh
  119. .text:10011F50 var_FE = byte ptr -0FEh
  120. .text:10011F50 var_FD = byte ptr -0FDh
  121. .text:10011F50 var_FC = byte ptr -0FCh
  122. .text:10011F50 var_FB = byte ptr -0FBh
  123. .text:10011F50 var_FA = byte ptr -0FAh
  124. .text:10011F50 var_F9 = byte ptr -0F9h
  125. .text:10011F50 var_F8 = byte ptr -0F8h
  126. .text:10011F50 var_F7 = byte ptr -0F7h
  127. .text:10011F50 var_F6 = byte ptr -0F6h
  128. .text:10011F50 var_F5 = byte ptr -0F5h
  129. .text:10011F50 var_F4 = byte ptr -0F4h
  130. .text:10011F50 var_F3 = byte ptr -0F3h
  131. .text:10011F50 var_F2 = byte ptr -0F2h
  132. .text:10011F50 var_F1 = byte ptr -0F1h
  133. .text:10011F50 var_F0 = byte ptr -0F0h
  134. .text:10011F50 var_EF = byte ptr -0EFh
  135. .text:10011F50 var_EE = byte ptr -0EEh
  136. .text:10011F50 var_ED = byte ptr -0EDh
  137. .text:10011F50 var_EC = byte ptr -0ECh
  138. .text:10011F50 var_EB = byte ptr -0EBh
  139. .text:10011F50 var_EA = byte ptr -0EAh
  140. .text:10011F50 var_E9 = byte ptr -0E9h
  141. .text:10011F50 var_E8 = byte ptr -0E8h
  142. .text:10011F50 var_E7 = byte ptr -0E7h
  143. .text:10011F50 var_E6 = byte ptr -0E6h
  144. .text:10011F50 var_E5 = byte ptr -0E5h
  145. .text:10011F50 var_E4 = byte ptr -0E4h
  146. .text:10011F50 var_E3 = byte ptr -0E3h
  147. .text:10011F50 var_E2 = byte ptr -0E2h
  148. .text:10011F50 var_E1 = byte ptr -0E1h
  149. .text:10011F50 var_E0 = byte ptr -0E0h
  150. .text:10011F50 var_DF = byte ptr -0DFh
  151. .text:10011F50 var_DE = byte ptr -0DEh
  152. .text:10011F50 var_DD = byte ptr -0DDh
  153. .text:10011F50 var_DC = byte ptr -0DCh
  154. .text:10011F50 var_DB = byte ptr -0DBh
  155. .text:10011F50 var_DA = byte ptr -0DAh
  156. .text:10011F50 var_D9 = byte ptr -0D9h
  157. .text:10011F50 var_D8 = byte ptr -0D8h
  158. .text:10011F50 var_D7 = byte ptr -0D7h
  159. .text:10011F50 var_D6 = byte ptr -0D6h
  160. .text:10011F50 var_D5 = byte ptr -0D5h
  161. .text:10011F50 var_D4 = byte ptr -0D4h
  162. .text:10011F50 var_D3 = byte ptr -0D3h
  163. .text:10011F50 var_D2 = byte ptr -0D2h
  164. .text:10011F50 var_D1 = byte ptr -0D1h
  165. .text:10011F50 var_D0 = byte ptr -0D0h
  166. .text:10011F50 var_CF = byte ptr -0CFh
  167. .text:10011F50 var_CE = byte ptr -0CEh
  168. .text:10011F50 var_CD = byte ptr -0CDh
  169. .text:10011F50 var_CC = byte ptr -0CCh
  170. .text:10011F50 var_CB = byte ptr -0CBh
  171. .text:10011F50 var_CA = byte ptr -0CAh
  172. .text:10011F50 var_C9 = byte ptr -0C9h
  173. .text:10011F50 var_C8 = byte ptr -0C8h
  174. .text:10011F50 var_C7 = byte ptr -0C7h
  175. .text:10011F50 var_C6 = byte ptr -0C6h
  176. .text:10011F50 var_C5 = byte ptr -0C5h
  177. .text:10011F50 var_C4 = byte ptr -0C4h
  178. .text:10011F50 var_C3 = byte ptr -0C3h
  179. .text:10011F50 var_C2 = byte ptr -0C2h
  180. .text:10011F50 var_C1 = byte ptr -0C1h
  181. .text:10011F50 var_C0 = byte ptr -0C0h
  182. .text:10011F50 var_BF = byte ptr -0BFh
  183. .text:10011F50 var_BE = byte ptr -0BEh
  184. .text:10011F50 var_BD = byte ptr -0BDh
  185. .text:10011F50 var_BA = byte ptr -0BAh
  186. .text:10011F50 var_B7 = byte ptr -0B7h
  187. .text:10011F50 var_B6 = byte ptr -0B6h
  188. .text:10011F50 var_B5 = byte ptr -0B5h
  189. .text:10011F50 var_B4 = byte ptr -0B4h
  190. .text:10011F50 var_B3 = byte ptr -0B3h
  191. .text:10011F50 var_B2 = byte ptr -0B2h
  192. .text:10011F50 var_B1 = byte ptr -0B1h
  193. .text:10011F50 var_74 = dword ptr -74h
  194. .text:10011F50 var_70 = dword ptr -70h
  195. .text:10011F50 var_6C = dword ptr -6Ch
  196. .text:10011F50 var_68 = dword ptr -68h
  197. .text:10011F50 var_64 = byte ptr -64h
  198. .text:10011F50 var_44 = byte ptr -44h
  199. .text:10011F50 var_24 = byte ptr -24h
  200. .text:10011F50 var_4 = dword ptr -4
  201. .text:10011F50 arg_0 = dword ptr 4
  202. .text:10011F50 arg_4 = dword ptr 8
  203. .text:10011F50 arg_8 = dword ptr 0Ch
  204. .text:10011F50 arg_C = dword ptr 10h
  205. .text:10011F50 arg_10 = dword ptr 14h
  206. .text:10011F50 arg_14 = dword ptr 18h
  207. .text:10011F50
  208. .text:10011F50 sub esp, 14Ch
  209. .text:10011F56 mov eax, dword_10064684
  210. .text:10011F5B xor eax, esp
  211. .text:10011F5D mov [esp+14Ch+var_4], eax
  212. .text:10011F64 push ebx
  213. .text:10011F65 push ebp
  214. .text:10011F66 push esi
  215. .text:10011F67 push edi
  216. .text:10011F68 mov edx, [esp+15Ch+arg_C]
  217. .text:10011F6F mov eax, [esp+15Ch+arg_0] ; PARAM1
  218. .text:10011F76 mov ecx, [esp+15Ch+arg_4] ; PARAM2
  219. .text:10011F7D mov [esp+15Ch+var_11C], edx
  220. .text:10011F81 mov edx, [esp+15Ch+arg_10]
  221. .text:10011F88 mov [esp+15Ch+var_124], edx
  222. .text:10011F8C mov edx, [esp+15Ch+arg_14]
  223. .text:10011F93 mov [esp+15Ch+var_120], edx
  224. .text:10011F97 mov ebx, [esp+15Ch+arg_8] ; PARAM3
  225. .text:10011F9E mov edx, ebx
  226. .text:10011FA0 shr edx, 18h
  227. .text:10011FA3 mov [esp+15Ch+var_134], dl
  228. .text:10011FA7 mov edx, ebx
  229. .text:10011FA9 shr edx, 10h
  230. .text:10011FAC mov [esp+15Ch+var_133], dl
  231. .text:10011FB0 mov edx, ebx
  232. .text:10011FB2 shr edx, 8
  233. .text:10011FB5 mov [esp+15Ch+var_132], dl
  234. .text:10011FB9 mov [esp+15Ch+var_131], bl
  235. .text:10011FBD mov ebx, [eax]
  236. .text:10011FBF mov eax, [eax+4]
  237. .text:10011FC2 mov [esp+15Ch+var_68], eax
  238. .text:10011FC9 mov eax, [ecx]
  239. .text:10011FCB mov ecx, [ecx+4]
  240. .text:10011FCE mov [esp+15Ch+var_70], ecx
  241. .text:10011FD5 mov edx, ebx
  242. .text:10011FD7 shr edx, 8
  243. .text:10011FDA movzx ecx, dl
  244. .text:10011FDD shl ecx, 8
  245. .text:10011FE0 mov [esp+15Ch+var_74], eax
  246. .text:10011FE7 mov edx, ebx
  247. .text:10011FE9 shr edx, 18h
  248. .text:10011FEC or ecx, edx
  249. .text:10011FEE shr eax, 10h
  250. .text:10011FF1 movzx eax, al
  251. .text:10011FF4 shl ecx, 8
  252. .text:10011FF7 or ecx, eax
  253. .text:10011FF9 mov edx, ebx
  254. .text:10011FFB shr edx, 10h
  255. .text:10011FFE movzx eax, dl
  256. .text:10012001 shl ecx, 8
  257. .text:10012004 or ecx, eax
  258. .text:10012006 push ecx
  259. .text:10012007 mov [esp+160h+var_F3], 33h
  260. .text:1001200C mov [esp+160h+var_F2], 76h
  261. .text:10012011 mov [esp+160h+var_F0], 21h
  262. .text:10012016 mov [esp+160h+var_EE], 2
  263. .text:1001201B mov [esp+160h+var_ED], 71h
  264. .text:10012020 mov [esp+160h+var_E1], 0B9h
  265. .text:10012025 mov [esp+160h+var_DE], 1
  266. .text:1001202D mov [esp+160h+var_144], 43h
  267. .text:10012032 mov [esp+160h+var_143], 27h
  268. .text:10012037 mov [esp+160h+var_142], 56h
  269. .text:1001203C mov [esp+160h+var_141], 98h
  270. .text:10012041 mov [esp+160h+var_6C], ebx
  271. .text:10012048 call sub_10011F00
  272. .text:1001204D push 0C8h
  273. .text:10012052 push 64h
  274. .text:10012054 call sub_10011EA0
  275. .text:10012059 push 258h
  276. .text:1001205E push 190h
  277. .text:10012063 call sub_10011EA0
  278. .text:10012068 add esp, 14h
  279. .text:1001206B test eax, eax
  280. .text:1001206D jle loc_100121A3
  281. .text:10012073 mov esi, eax
  282. .text:10012075
  283. .text:10012075 loc_10012075: ; CODE XREF: Create256Key+24Dj
  284. .text:10012075 push 4
  285. .text:10012077 push 0
  286. .text:10012079 call sub_10011EA0
  287. .text:1001207E add esp, 8
  288. .text:10012081 cmp eax, 3 ; switch 4 cases
  289. .text:10012084 ja loc_1001214C ; jumptable 1001208A default case
  290. .text:1001208A jmp ds:off_10012FF4[eax*4] ; switch jump
  291. .text:10012091 ; ---------------------------------------------------------------------------
  292. .text:10012091
  293. .text:10012091 loc_10012091: ; CODE XREF: Create256Key+13Aj
  294. .text:10012091 ; DATA XREF: .text:off_10012FF4o
  295. .text:10012091 push 0EBh ; jumptable 1001208A case 0
  296. .text:10012096 push 0B3h
  297. .text:1001209B call sub_10011EA0
  298. .text:100120A0 add esp, 8
  299. .text:100120A3 push eax
  300. .text:100120A4 push 4Fh
  301. .text:100120A6 push 15h
  302. .text:100120A8 call sub_10011EA0
  303. .text:100120AD add esp, 8
  304. .text:100120B0 push eax
  305. .text:100120B1 call sub_10011EA0
  306. .text:100120B6 add esp, 8
  307. .text:100120B9 add [esp+15Ch+var_144], al
  308. .text:100120BD jmp loc_1001219A
  309. .text:100120C2 ; ---------------------------------------------------------------------------
  310. .text:100120C2
  311. .text:100120C2 loc_100120C2: ; CODE XREF: Create256Key+13Aj
  312. .text:100120C2 ; DATA XREF: .text:off_10012FF4o
  313. .text:100120C2 push 0E7h ; jumptable 1001208A case 1
  314. .text:100120C7 push 0B1h
  315. .text:100120CC call sub_10011EA0
  316. .text:100120D1 add esp, 8
  317. .text:100120D4 push eax
  318. .text:100120D5 push 4Dh
  319. .text:100120D7 push 17h
  320. .text:100120D9 call sub_10011EA0
  321. .text:100120DE add esp, 8
  322. .text:100120E1 push eax
  323. .text:100120E2 call sub_10011EA0
  324. .text:100120E7 add esp, 8
  325. .text:100120EA add [esp+15Ch+var_143], al
  326. .text:100120EE jmp loc_1001219A
  327. .text:100120F3 ; ---------------------------------------------------------------------------
  328. .text:100120F3
  329. .text:100120F3 loc_100120F3: ; CODE XREF: Create256Key+13Aj
  330. .text:100120F3 ; DATA XREF: .text:off_10012FF4o
  331. .text:100120F3 push 0F7h ; jumptable 1001208A case 2
  332. .text:100120F8 push 0B9h
  333. .text:100120FD call sub_10011EA0
  334. .text:10012102 add esp, 8
  335. .text:10012105 push eax
  336. .text:10012106 push 53h
  337. .text:10012108 push 1Bh
  338. .text:1001210A call sub_10011EA0
  339. .text:1001210F add esp, 8
  340. .text:10012112 push eax
  341. .text:10012113 call sub_10011EA0
  342. .text:10012118 add esp, 8
  343. .text:1001211B add [esp+15Ch+var_142], al
  344. .text:1001211F jmp short loc_1001219A
  345. .text:10012121 ; ---------------------------------------------------------------------------
  346. .text:10012121
  347. .text:10012121 loc_10012121: ; CODE XREF: Create256Key+13Aj
  348. .text:10012121 ; DATA XREF: .text:off_10012FF4o
  349. .text:10012121 push 0CDh ; jumptable 1001208A case 3
  350. .text:10012126 push 79h
  351. .text:10012128 call sub_10011EA0
  352. .text:1001212D add esp, 8
  353. .text:10012130 push eax
  354. .text:10012131 push 65h
  355. .text:10012133 push 1Dh
  356. .text:10012135 call sub_10011EA0
  357. .text:1001213A add esp, 8
  358. .text:1001213D push eax
  359. .text:1001213E call sub_10011EA0
  360. .text:10012143 add esp, 8
  361. .text:10012146 add [esp+15Ch+var_141], al
  362. .text:1001214A jmp short loc_1001219A
  363. .text:1001214C ; ---------------------------------------------------------------------------
  364. .text:1001214C
  365. .text:1001214C loc_1001214C: ; CODE XREF: Create256Key+134j
  366. .text:1001214C push 0FBh ; jumptable 1001208A default case
  367. .text:10012151 push 9Bh
  368. .text:10012156 call sub_10011EA0
  369. .text:1001215B add esp, 8
  370. .text:1001215E push eax
  371. .text:1001215F push 4Ch
  372. .text:10012161 push 0Bh
  373. .text:10012163 call sub_10011EA0
  374. .text:10012168 add esp, 8
  375. .text:1001216B push eax
  376. .text:1001216C call sub_10011EA0
  377. .text:10012171 push 3
  378. .text:10012173 push 0
  379. .text:10012175 mov [esp+16Ch+var_14A], al
  380. .text:10012179 call sub_10011EA0
  381. .text:1001217E mov cl, [esp+eax+16Ch+var_144]
  382. .text:10012182 add [esp+16Ch+var_14A], cl
  383. .text:10012186 push 3
  384. .text:10012188 push 0
  385. .text:1001218A call sub_10011EA0
  386. .text:1001218F mov dl, [esp+174h+var_14A]
  387. .text:10012193 add esp, 18h
  388. .text:10012196 mov [esp+eax+15Ch+var_144], dl
  389. .text:1001219A
  390. .text:1001219A loc_1001219A: ; CODE XREF: Create256Key+16Dj
  391. .text:1001219A ; Create256Key+19Ej ...
  392. .text:1001219A sub esi, 1
  393. .text:1001219D jnz loc_10012075
  394. .text:100121A3
  395. .text:100121A3 loc_100121A3: ; CODE XREF: Create256Key+11Dj
  396. .text:100121A3 xor eax, eax
  397. .text:100121A5 xor ecx, ecx
  398. .text:100121A7 lea edx, [esp+15Ch+var_13D]
  399. .text:100121AB mov [esp+15Ch+var_13C], ecx
  400. .text:100121AF mov [esp+15Ch+var_148], ecx
  401. .text:100121B3 mov [esp+15Ch+var_12C], edx
  402. .text:100121B7 lea ebp, [esp+15Ch+var_70+3]
  403. .text:100121BE lea edi, [esp+15Ch+var_68+3]
  404. .text:100121C5 lea esi, [esp+15Ch+var_131]
  405. .text:100121C9 lea esp, [esp+0]
  406. .text:100121D0
  407. .text:100121D0 loc_100121D0: ; CODE XREF: Create256Key+2F6j
  408. .text:100121D0 cmp [esp+15Ch+var_148], 7
  409. .text:100121D5 ja short loc_1001223C
  410. .text:100121D7 cmp eax, 4
  411. .text:100121DA lea ecx, [esp+ecx+15Ch+var_D2]
  412. .text:100121E1 jge short loc_10012200
  413. .text:100121E3 movzx edx, byte ptr [esp+eax+15Ch+var_74]
  414. .text:100121EB mov [ecx-1], dl
  415. .text:100121EE movzx edx, byte ptr [esi]
  416. .text:100121F1 mov [ecx], dl
  417. .text:100121F3 movzx edx, [esp+eax+15Ch+var_144]
  418. .text:100121F8 mov [ecx+1], dl
  419. .text:100121FB movzx edx, byte ptr [edi]
  420. .text:100121FE jmp short loc_10012220
  421. .text:10012200 ; ---------------------------------------------------------------------------
  422. .text:10012200
  423. .text:10012200 loc_10012200: ; CODE XREF: Create256Key+291j
  424. .text:10012200 movzx edx, byte ptr [ebp+0]
  425. .text:10012204 mov [ecx-1], dl
  426. .text:10012207 mov edx, [esp+15Ch+var_12C]
  427. .text:1001220B movzx edx, byte ptr [edx]
  428. .text:1001220E mov [ecx], dl
  429. .text:10012210 movzx edx, byte ptr [esp+eax+15Ch+var_6C]
  430. .text:10012218 mov [ecx+1], dl
  431. .text:1001221B movzx edx, [esp+eax+15Ch+var_138]
  432. .text:10012220
  433. .text:10012220 loc_10012220: ; CODE XREF: Create256Key+2AEj
  434. .text:10012220 mov [ecx-2], dl
  435. .text:10012223 mov ecx, 1
  436. .text:10012228 add [esp+15Ch+var_148], ecx
  437. .text:1001222C add eax, ecx
  438. .text:1001222E sub esi, ecx
  439. .text:10012230 sub edi, ecx
  440. .text:10012232 sub ebp, ecx
  441. .text:10012234 sub [esp+15Ch+var_12C], ecx
  442. .text:10012238 mov ecx, [esp+15Ch+var_13C]
  443. .text:1001223C
  444. .text:1001223C loc_1001223C: ; CODE XREF: Create256Key+285j
  445. .text:1001223C add ecx, 4
  446. .text:1001223F cmp ecx, 20h
  447. .text:10012242 mov [esp+15Ch+var_13C], ecx
  448. .text:10012246 jl short loc_100121D0
  449. .text:10012248 movzx ecx, byte ptr [esp+15Ch+var_74+2]
  450. .text:10012250 movzx edx, byte ptr [esp+15Ch+arg_8]
  451. .text:10012258 movzx eax, bh
  452. .text:1001225B shl eax, 8
  453. .text:1001225E or eax, ecx
  454. .text:10012260 push 18h
  455. .text:10012262 shl eax, 8
  456. .text:10012265 or eax, edx
  457. .text:10012267 push 20h
  458. .text:10012269 push eax
  459. .text:1001226A lea eax, [esp+168h+var_D4]
  460. .text:10012271 push eax
  461. .text:10012272 call sub_10011C50
  462. .text:10012277 add esp, 0Ch
  463. .text:1001227A push eax
  464. .text:1001227B lea ecx, [esp+164h+var_D0]
  465. .text:10012282 push ecx
  466. .text:10012283 call sub_10011C50
  467. .text:10012288 mov esi, eax
  468. .text:1001228A shr eax, 5
  469. .text:1001228D add al, 69h
  470. .text:1001228F mov dl, [esp+168h+var_D0]
  471. .text:10012296 mov [esp+168h+var_EF], al
  472. .text:1001229A mov al, [esp+168h+var_D4]
  473. .text:100122A1 xor al, 14h
  474. .text:100122A3 add al, dl
  475. .text:100122A5 mov [esp+168h+var_DC], al
  476. .text:100122AC mov al, [esp+168h+var_D3]
  477. .text:100122B3 mov bl, [esp+168h+var_CE]
  478. .text:100122BA xor al, 65h
  479. .text:100122BC add al, [esp+168h+var_CF]
  480. .text:100122C3 mov cl, [esp+168h+var_CD]
  481. .text:100122CA mov [esp+168h+var_DB], al
  482. .text:100122D1 mov al, [esp+168h+var_D2]
  483. .text:100122D8 xor al, 82h
  484. .text:100122DA add al, bl
  485. .text:100122DC mov [esp+168h+var_DA], al
  486. .text:100122E3 mov al, [esp+168h+var_D1]
  487. .text:100122EA xor al, 21h
  488. .text:100122EC add al, cl
  489. .text:100122EE mov [esp+168h+var_D9], al
  490. .text:100122F5 mov al, dl
  491. .text:100122F7 xor al, 5Fh
  492. .text:100122F9 add al, [esp+168h+var_CC]
  493. .text:10012300 push 12h
  494. .text:10012302 mov [esp+16Ch+var_D8], al
  495. .text:10012309 mov al, [esp+16Ch+var_CF]
  496. .text:10012310 xor al, 8Bh
  497. .text:10012312 add al, [esp+16Ch+var_CB]
  498. .text:10012319 lea edx, [esp+16Ch+var_D2]
  499. .text:10012320 mov [esp+16Ch+var_D7], al
  500. .text:10012327 mov al, bl
  501. .text:10012329 xor al, 89h
  502. .text:1001232B add al, [esp+16Ch+var_CA]
  503. .text:10012332 push esi
  504. .text:10012333 mov [esp+170h+var_D6], al
  505. .text:1001233A mov al, cl
  506. .text:1001233C xor al, 25h
  507. .text:1001233E add al, [esp+170h+var_C9]
  508. .text:10012345 push edx
  509. .text:10012346 mov [esp+174h+var_D5], al
  510. .text:1001234D mov eax, esi
  511. .text:1001234F shr eax, 11h
  512. .text:10012352 and al, 7Fh
  513. .text:10012354 sub al, 57h
  514. .text:10012356 mov [esp+174h+var_F1], al
  515. .text:1001235D mov [esp+174h+var_B5], cl
  516. .text:10012364 call sub_10011C50
  517. .text:10012369 movzx edx, [esp+174h+var_D2]
  518. .text:10012371 mov esi, eax
  519. .text:10012373 mov al, [esp+174h+var_BA]
  520. .text:1001237A shr al, 3
  521. .text:1001237D shl dl, 5
  522. .text:10012380 xor al, dl
  523. .text:10012382 add al, byte ptr [esp+174h+arg_8]
  524. .text:10012389 movzx edx, byte ptr [esp+174h+var_74+1]
  525. .text:10012391 mov ecx, esi
  526. .text:10012393 shr ecx, 5
  527. .text:10012396 add al, cl
  528. .text:10012398 add al, 42h
  529. .text:1001239A mov [esp+174h+var_F4], al
  530. .text:100123A1 movzx edi, byte ptr [esp+174h+var_6C+2]
  531. .text:100123A9 movzx eax, al
  532. .text:100123AC shl edx, 8
  533. .text:100123AF or edx, edi
  534. .text:100123B1 movzx edi, [esp+174h+var_141]
  535. .text:100123B6 add edx, eax
  536. .text:100123B8 movzx eax, [esp+174h+var_133]
  537. .text:100123BD shl eax, 8
  538. .text:100123C0 or eax, edi
  539. .text:100123C2 add eax, ecx
  540. .text:100123C4 shl eax, 10h
  541. .text:100123C7 or edx, eax
  542. .text:100123C9 push edx
  543. .text:100123CA call sub_10011F00
  544. .text:100123CF mov cl, [esp+178h+var_D2]
  545. .text:100123D6 mov al, cl
  546. .text:100123D8 add al, [esp+178h+var_CD]
  547. .text:100123DF mov dl, [esp+178h+var_CD]
  548. .text:100123E6 add al, 28h
  549. .text:100123E8 mov [esp+178h+var_EC], al
  550. .text:100123EF mov al, [esp+178h+var_D4]
  551. .text:100123F6 add al, 1Ah
  552. .text:100123F8 add al, al
  553. .text:100123FA add al, [esp+178h+var_D0]
  554. .text:10012401 mov [esp+178h+var_B6], cl
  555. .text:10012408 mov [esp+178h+var_FC], al
  556. .text:1001240C mov al, [esp+178h+var_CF]
  557. .text:10012413 add al, [esp+178h+var_D3]
  558. .text:1001241A add al, cl
  559. .text:1001241C sub al, 0Ch
  560. .text:1001241E mov [esp+178h+var_FB], al
  561. .text:10012422 mov al, bl
  562. .text:10012424 add al, [esp+178h+var_D0]
  563. .text:1001242B mov [esp+178h+var_14B], al
  564. .text:1001242F add al, cl
  565. .text:10012431 sub al, 2Dh
  566. .text:10012433 mov [esp+178h+var_FA], al
  567. .text:10012437 mov al, [esp+178h+var_D1]
  568. .text:1001243E mov cl, [esp+178h+var_CA]
  569. .text:10012445 add cl, [esp+178h+var_CF]
  570. .text:1001244C add al, bl
  571. .text:1001244E add al, dl
  572. .text:10012450 add cl, [esp+178h+var_CB]
  573. .text:10012457 add al, 43h
  574. .text:10012459 mov [esp+178h+var_F9], al
  575. .text:1001245D mov al, [esp+178h+var_CC]
  576. .text:10012464 add al, al
  577. .text:10012466 add al, [esp+178h+var_D0]
  578. .text:1001246D sub cl, 79h
  579. .text:10012470 add al, 21h
  580. .text:10012472 mov [esp+178h+var_F8], al
  581. .text:10012479 mov al, [esp+178h+var_CA]
  582. .text:10012480 add al, [esp+178h+var_C8]
  583. .text:10012487 mov [esp+178h+var_F7], cl
  584. .text:1001248E movzx ecx, [esp+178h+var_CB]
  585. .text:10012496 add al, bl
  586. .text:10012498 add al, 24h
  587. .text:1001249A mov [esp+178h+var_F6], al
  588. .text:100124A1 mov al, [esp+178h+var_C9]
  589. .text:100124A8 add al, [esp+178h+var_C6]
  590. .text:100124AF add cl, dl
  591. .text:100124B1 add al, dl
  592. .text:100124B3 movzx edx, [esp+178h+var_C3]
  593. .text:100124BB inc edx
  594. .text:100124BC push edx
  595. .text:100124BD sub al, 68h
  596. .text:100124BF push 0
  597. .text:100124C1 mov [esp+180h+var_F5], al
  598. .text:100124C8 mov [esp+180h+var_B5], cl
  599. .text:100124CF call sub_10011EA0
  600. .text:100124D4 add esp, 24h
  601. .text:100124D7 cmp eax, 7
  602. .text:100124DA jle short loc_100124EC
  603. .text:100124DC mov al, [esp+15Ch+var_D0]
  604. .text:100124E3 add al, [esp+15Ch+var_CD]
  605. .text:100124EA jmp short loc_100124F0
  606. .text:100124EC ; ---------------------------------------------------------------------------
  607. .text:100124EC
  608. .text:100124EC loc_100124EC: ; CODE XREF: Create256Key+58Aj
  609. .text:100124EC mov al, [esp+15Ch+var_14B]
  610. .text:100124F0
  611. .text:100124F0 loc_100124F0: ; CODE XREF: Create256Key+59Aj
  612. .text:100124F0 mov cl, [esp+15Ch+var_CB]
  613. .text:100124F7 mov [esp+15Ch+var_D2], al
  614. .text:100124FE add al, 34h
  615. .text:10012500 movzx ebp, [esp+15Ch+var_CD]
  616. .text:10012508 mov [esp+15Ch+var_101], al
  617. .text:1001250C mov eax, esi
  618. .text:1001250E shr eax, 12h
  619. .text:10012511 and al, 3Fh
  620. .text:10012513 add al, [esp+15Ch+var_141]
  621. .text:10012517 movzx edi, [esp+15Ch+var_BF]
  622. .text:1001251F mov [esp+15Ch+var_E3], al
  623. .text:10012523 mov eax, esi
  624. .text:10012525 shr eax, 3
  625. .text:10012528 sub al, 61h
  626. .text:1001252A mov [esp+15Ch+var_E0], al
  627. .text:1001252E mov al, [esp+15Ch+var_D3]
  628. .text:10012535 add al, cl
  629. .text:10012537 movzx ecx, cl
  630. .text:1001253A lea edx, [ecx+ebp+0EB4Ah]
  631. .text:10012541 push 8
  632. .text:10012543 push edx
  633. .text:10012544 movzx ecx, bl
  634. .text:10012547 movzx edx, al
  635. .text:1001254A mov [esp+164h+var_D0], al
  636. .text:10012551 lea eax, [ecx+edx+5D52h]
  637. .text:10012558 push eax
  638. .text:10012559 call sub_10011EA0
  639. .text:1001255E movzx ecx, [esp+168h+var_C2]
  640. .text:10012566 add esp, 8
  641. .text:10012569 push eax
  642. .text:1001256A movzx eax, [esp+164h+var_D1]
  643. .text:10012572 lea edx, [ecx+edi+7BCh]
  644. .text:10012579 push edx
  645. .text:1001257A add eax, ebp
  646. .text:1001257C push eax
  647. .text:1001257D call sub_10011EA0
  648. .text:10012582 add esp, 8
  649. .text:10012585 push eax
  650. .text:10012586 call sub_10011EA0
  651. .text:1001258B add esp, 8
  652. .text:1001258E add eax, esi
  653. .text:10012590 push eax
  654. .text:10012591 lea ecx, [esp+164h+var_F4]
  655. .text:10012595 push ecx
  656. .text:10012596 call sub_10011C50
  657. .text:1001259B movzx edx, [esp+168h+var_C6]
  658. .text:100125A3 xor esi, eax
  659. .text:100125A5 movzx eax, [esp+168h+var_E3]
  660. .text:100125AD add eax, esi
  661. .text:100125AF shr eax, 5
  662. .text:100125B2 add al, [esp+168h+var_132]
  663. .text:100125B6 inc edx
  664. .text:100125B7 push edx
  665. .text:100125B8 push 0
  666. .text:100125BA mov [esp+170h+var_F2], al
  667. .text:100125BE call sub_10011EA0
  668. .text:100125C3 add esp, 14h
  669. .text:100125C6 cmp eax, 9
  670. .text:100125C9 jg short loc_100125D9
  671. .text:100125CB mov al, [esp+15Ch+var_CD]
  672. .text:100125D2 add [esp+15Ch+var_C8], al
  673. .text:100125D9
  674. .text:100125D9 loc_100125D9: ; CODE XREF: Create256Key+679j
  675. .text:100125D9 push 0Fh
  676. .text:100125DB push 1
  677. .text:100125DD call sub_10011EA0
  678. .text:100125E2 mov ecx, eax
  679. .text:100125E4 mov al, [esp+164h+var_C5]
  680. .text:100125EB mov edx, esi
  681. .text:100125ED shr edx, cl
  682. .text:100125EF mov cl, [esp+164h+var_CB]
  683. .text:100125F6 add cl, cl
  684. .text:100125F8 add cl, cl
  685. .text:100125FA shr al, 4
  686. .text:100125FD xor al, cl
  687. .text:100125FF add al, 39h
  688. .text:10012601 mov [esp+164h+var_E4], al
  689. .text:10012608 mov al, [esp+164h+var_C6]
  690. .text:1001260F mov cl, al
  691. .text:10012611 add cl, [esp+164h+var_C3]
  692. .text:10012618 xor al, [esp+164h+var_BF]
  693. .text:1001261F mov [esp+164h+var_CB], cl
  694. .text:10012626 mov [esp+164h+var_C6], al
  695. .text:1001262D mov al, [esp+164h+var_C8]
  696. .text:10012634 add al, cl
  697. .text:10012636 mov cl, [esp+164h+var_D4]
  698. .text:1001263D add cl, cl
  699. .text:1001263F xor cl, [esp+164h+var_D0]
  700. .text:10012646 add dl, [esp+164h+var_143]
  701. .text:1001264A add cl, 22h
  702. .text:1001264D mov [esp+164h+var_104], cl
  703. .text:10012651 mov cl, [esp+164h+var_D3]
  704. .text:10012658 add cl, [esp+164h+var_D2]
  705. .text:1001265F push 7
  706. .text:10012661 xor cl, [esp+168h+var_CF]
  707. .text:10012668 push 3
  708. .text:1001266A add cl, 45h
  709. .text:1001266D mov [esp+16Ch+var_103], cl
  710. .text:10012671 mov cl, [esp+16Ch+var_D0]
  711. .text:10012678 add cl, [esp+16Ch+var_D2]
  712. .text:1001267F mov [esp+16Ch+var_DD], dl
  713. .text:10012686 xor cl, bl
  714. .text:10012688 add cl, 76h
  715. .text:1001268B mov [esp+16Ch+var_102], cl
  716. .text:1001268F mov cl, [esp+16Ch+var_D1]
  717. .text:10012696 add cl, bl
  718. .text:10012698 xor cl, al
  719. .text:1001269A movzx ecx, cl
  720. .text:1001269D add [esp+16Ch+var_101], cl
  721. .text:100126A1 mov cl, [esp+16Ch+var_CC]
  722. .text:100126A8 add cl, [esp+16Ch+var_D0]
  723. .text:100126AF mov [esp+16Ch+var_CD], al
  724. .text:100126B6 xor cl, [esp+16Ch+var_CC]
  725. .text:100126BD add cl, 77h
  726. .text:100126C0 mov [esp+16Ch+var_100], cl
  727. .text:100126C4 mov cl, [esp+16Ch+var_CA]
  728. .text:100126CB add cl, [esp+16Ch+var_CF]
  729. .text:100126D2 xor cl, [esp+16Ch+var_CB]
  730. .text:100126D9 dec cl
  731. .text:100126DB mov [esp+16Ch+var_FF], cl
  732. .text:100126DF mov cl, [esp+16Ch+var_C8]
  733. .text:100126E6 add cl, bl
  734. .text:100126E8 xor cl, [esp+16Ch+var_CA]
  735. .text:100126EF add cl, 21h
  736. .text:100126F2 mov [esp+16Ch+var_FE], cl
  737. .text:100126F6 mov cl, [esp+16Ch+var_C6]
  738. .text:100126FD add cl, al
  739. .text:100126FF xor cl, [esp+16Ch+var_C9]
  740. .text:10012706 add cl, 72h
  741. .text:10012709 mov [esp+16Ch+var_FD], cl
  742. .text:1001270D call sub_10011EA0
  743. .text:10012712 movzx edx, [esp+16Ch+var_D2]
  744. .text:1001271A mov ecx, eax
  745. .text:1001271C shl edx, cl
  746. .text:1001271E push 12h
  747. .text:10012720 push esi
  748. .text:10012721 mov [esp+174h+var_13C], edx
  749. .text:10012725 lea edx, [esp+174h+var_CE]
  750. .text:1001272C push edx
  751. .text:1001272D call sub_10011C50
  752. .text:10012732 mov ecx, [esp+178h+var_13C]
  753. .text:10012736 add ecx, eax
  754. .text:10012738 mov [esp+178h+var_148], ecx
  755. .text:1001273C push 9
  756. .text:1001273E push 2
  757. .text:10012740 call sub_10011EA0
  758. .text:10012745 movzx edx, word ptr [esp+180h+var_148]
  759. .text:1001274A mov ecx, eax
  760. .text:1001274C shr edx, cl
  761. .text:1001274E push 3
  762. .text:10012750 push 1
  763. .text:10012752 add dl, 45h
  764. .text:10012755 mov [esp+188h+var_E2], dl
  765. .text:1001275C call sub_10011EA0
  766. .text:10012761 mov edx, [esp+188h+var_148]
  767. .text:10012765 mov ecx, eax
  768. .text:10012767 movzx eax, [esp+188h+var_DD]
  769. .text:1001276F add al, [esp+188h+var_E3]
  770. .text:10012776 shr edx, cl
  771. .text:10012778 add edi, 2
  772. .text:1001277B push edi
  773. .text:1001277C push 0
  774. .text:1001277E add dl, [esp+190h+var_EF]
  775. .text:10012785 add dl, 33h
  776. .text:10012788 xor dl, al
  777. .text:1001278A mov [esp+190h+var_ED], dl
  778. .text:10012791 call sub_10011EA0
  779. .text:10012796 add esp, 34h
  780. .text:10012799 cmp eax, 0Bh
  781. .text:1001279C push 8
  782. .text:1001279E jle short loc_100127BB
  783. .text:100127A0 mov ecx, [esp+160h+var_148]
  784. .text:100127A4 push ecx
  785. .text:100127A5 lea edx, [esp+164h+var_CC]
  786. .text:100127AC push edx
  787. .text:100127AD call sub_10011C50
  788. .text:100127B2 add esp, 0Ch
  789. .text:100127B5 xor [esp+15Ch+var_148], eax
  790. .text:100127B9 jmp short loc_100127D4
  791. .text:100127BB ; ---------------------------------------------------------------------------
  792. .text:100127BB
  793. .text:100127BB loc_100127BB: ; CODE XREF: Create256Key+84Ej
  794. .text:100127BB mov eax, [esp+160h+var_148]
  795. .text:100127BF push eax
  796. .text:100127C0 lea ecx, [esp+164h+var_C4]
  797. .text:100127C7 push ecx
  798. .text:100127C8 call sub_10011C50
  799. .text:100127CD add esp, 0Ch
  800. .text:100127D0 add [esp+15Ch+var_148], eax
  801. .text:100127D4
  802. .text:100127D4 loc_100127D4: ; CODE XREF: Create256Key+869j
  803. .text:100127D4 mov al, [esp+15Ch+var_CC]
  804. .text:100127DB add al, [esp+15Ch+var_B7]
  805. .text:100127E2 push 3
  806. .text:100127E4 push 1
  807. .text:100127E6 mov [esp+164h+var_C4], al
  808. .text:100127ED call sub_10011EA0
  809. .text:100127F2 mov ecx, eax
  810. .text:100127F4 mov al, [esp+164h+var_CC]
  811. .text:100127FB xor al, [esp+164h+var_EC]
  812. .text:100127FF movzx edx, byte ptr [esp+164h+var_148]
  813. .text:10012804 add al, [esp+164h+var_C4]
  814. .text:1001280B shr edx, cl
  815. .text:1001280D mov [esp+164h+var_EC], al
  816. .text:10012811 mov al, [esp+164h+var_CB]
  817. .text:10012818 not al
  818. .text:1001281A add al, [esp+164h+var_C3]
  819. .text:10012821 add dl, [esp+164h+var_F1]
  820. .text:10012825 mov [esp+164h+var_EB], al
  821. .text:10012829 mov al, [esp+164h+var_CA]
  822. .text:10012830 xor al, 12h
  823. .text:10012832 add al, [esp+164h+var_C2]
  824. .text:10012839 mov [esp+164h+var_DF], dl
  825. .text:10012840 mov [esp+164h+var_EA], al
  826. .text:10012844 mov al, [esp+164h+var_C9]
  827. .text:1001284B xor al, 34h
  828. .text:1001284D add al, [esp+164h+var_C1]
  829. .text:10012854 mov dl, bl
  830. .text:10012856 mov [esp+164h+var_E9], al
  831. .text:1001285A mov al, [esp+164h+var_C8]
  832. .text:10012861 xor al, 3Ah
  833. .text:10012863 add al, [esp+164h+var_C0]
  834. .text:1001286A add dl, [esp+164h+var_D0]
  835. .text:10012871 mov [esp+164h+var_E8], al
  836. .text:10012875 mov al, [esp+164h+var_C7]
  837. .text:1001287C xor al, 8Bh
  838. .text:1001287E add al, [esp+164h+var_BF]
  839. .text:10012885 add dl, 1Bh
  840. .text:10012888 mov [esp+164h+var_E7], al
  841. .text:1001288C mov al, [esp+164h+var_C6]
  842. .text:10012893 xor al, 82h
  843. .text:10012895 add al, [esp+164h+var_BE]
  844. .text:1001289C add [esp+164h+var_100], dl
  845. .text:100128A0 mov [esp+164h+var_E6], al
  846. .text:100128A4 mov al, [esp+164h+var_C5]
  847. .text:100128AB xor al, 23h
  848. .text:100128AD add al, [esp+164h+var_BD]
  849. .text:100128B4 push 0FFh
  850. .text:100128B9 mov [esp+168h+var_E5], al
  851. .text:100128C0 mov al, [esp+168h+var_D4]
  852. .text:100128C7 add al, [esp+168h+var_CF]
  853. .text:100128CE push 0
  854. .text:100128D0 add al, bl
  855. .text:100128D2 mov [esp+16Ch+var_BF], al
  856. .text:100128D9 mov eax, [esp+16Ch+var_148]
  857. .text:100128DD shr eax, 3
  858. .text:100128E0 mov [esp+16Ch+var_13C], eax
  859. .text:100128E4 call sub_10011EA0
  860. .text:100128E9 mov esi, [esp+16Ch+var_148]
  861. .text:100128ED mov ebx, eax
  862. .text:100128EF mov al, [esp+16Ch+var_C4]
  863. .text:100128F6 add al, [esp+16Ch+var_BF]
  864. .text:100128FD add bl, byte ptr [esp+16Ch+var_13C]
  865. .text:10012901 add [esp+16Ch+var_E8], al
  866. .text:10012908 add bl, [esp+16Ch+var_142]
  867. .text:1001290C mov eax, esi
  868. .text:1001290E add bl, [esp+16Ch+var_133]
  869. .text:10012912 shr eax, 2
  870. .text:10012915 push eax
  871. .text:10012916 add bl, 2
  872. .text:10012919 push 0
  873. .text:1001291B mov [esp+174h+var_EE], bl
  874. .text:10012922 call sub_100015B0
  875. .text:10012927 add esp, 18h
  876. .text:1001292A xor edi, edi
  877. .text:1001292C lea esp, [esp+0]
  878. .text:10012930
  879. .text:10012930 loc_10012930: ; CODE XREF: Create256Key+A08j
  880. .text:10012930 movzx cx, [esp+edi+15Ch+var_F4]
  881. .text:10012936 movzx dx, [esp+edi+15Ch+var_F0]
  882. .text:1001293C shl cx, 8
  883. .text:10012940 or cx, dx
  884. .text:10012943 movzx eax, cx
  885. .text:10012946 push eax
  886. .text:10012947 push 0
  887. .text:10012949 call sub_100015E0
  888. .text:1001294E inc edi
  889. .text:1001294F add esp, 8
  890. .text:10012952 cmp edi, 4
  891. .text:10012955 movzx eax, ax
  892. .text:10012958 jl short loc_10012930
  893. .text:1001295A mov cl, al
  894. .text:1001295C not cl
  895. .text:1001295E mov [esp+15Ch+var_F0], cl
  896. .text:10012962 mov ecx, [esp+15Ch+var_13C]
  897. .text:10012966 not eax
  898. .text:10012968 push ecx
  899. .text:10012969 sar eax, 8
  900. .text:1001296C push 0
  901. .text:1001296E mov [esp+164h+var_F3], al
  902. .text:10012972 call sub_100015B0
  903. .text:10012977 add esp, 8
  904. .text:1001297A xor edi, edi
  905. .text:1001297C lea esp, [esp+0]
  906. .text:10012980
  907. .text:10012980 loc_10012980: ; CODE XREF: Create256Key+A58j
  908. .text:10012980 movzx dx, [esp+edi+15Ch+var_E4]
  909. .text:10012986 movzx ax, [esp+edi+15Ch+var_E0]
  910. .text:1001298C shl dx, 8
  911. .text:10012990 or dx, ax
  912. .text:10012993 movzx ecx, dx
  913. .text:10012996 push ecx
  914. .text:10012997 push 0
  915. .text:10012999 call sub_100015E0
  916. .text:1001299E inc edi
  917. .text:1001299F add esp, 8
  918. .text:100129A2 cmp edi, 4
  919. .text:100129A5 movzx eax, ax
  920. .text:100129A8 jl short loc_10012980
  921. .text:100129AA movzx edx, [esp+15Ch+var_E4]
  922. .text:100129AF mov cl, al
  923. .text:100129B1 not eax
  924. .text:100129B3 sar eax, 8
  925. .text:100129B6 mov [esp+15Ch+var_DE], al
  926. .text:100129BA movzx eax, [esp+15Ch+var_F4]
  927. .text:100129BF add dl, 63h
  928. .text:100129C2 add [esp+15Ch+var_104], dl
  929. .text:100129C6 movzx edx, [esp+15Ch+var_E3]
  930. .text:100129CB sub al, 45h
  931. .text:100129CD add [esp+15Ch+var_FC], al
  932. .text:100129D1 movzx eax, [esp+15Ch+var_F3]
  933. .text:100129D6 not cl
  934. .text:100129D8 mov [esp+15Ch+var_E1], cl
  935. .text:100129DC add dl, 63h
  936. .text:100129DF add [esp+15Ch+var_103], dl
  937. .text:100129E3 movzx edx, [esp+15Ch+var_E2]
  938. .text:100129E8 sub al, 45h
  939. .text:100129EA add [esp+15Ch+var_FB], al
  940. .text:100129EE movzx eax, [esp+15Ch+var_F2]
  941. .text:100129F3 add cl, 63h
  942. .text:100129F6 add [esp+15Ch+var_101], cl
  943. .text:100129FA movzx ecx, [esp+15Ch+var_F1]
  944. .text:100129FF add dl, 63h
  945. .text:10012A02 add [esp+15Ch+var_102], dl
  946. .text:10012A06 movzx edx, [esp+15Ch+var_E0]
  947. .text:10012A0B sub al, 45h
  948. .text:10012A0D add [esp+15Ch+var_FA], al
  949. .text:10012A11 movzx eax, [esp+15Ch+var_F0]
  950. .text:10012A16 sub cl, 45h
  951. .text:10012A19 add [esp+15Ch+var_F9], cl
  952. .text:10012A1D movzx ecx, [esp+15Ch+var_DF]
  953. .text:10012A22 add dl, 63h
  954. .text:10012A25 add [esp+15Ch+var_100], dl
  955. .text:10012A29 movzx edx, [esp+15Ch+var_EF]
  956. .text:10012A2E sub al, 45h
  957. .text:10012A30 add [esp+15Ch+var_F8], al
  958. .text:10012A34 movzx eax, [esp+15Ch+var_DE]
  959. .text:10012A39 add cl, 63h
  960. .text:10012A3C add [esp+15Ch+var_FF], cl
  961. .text:10012A40 mov cl, bl
  962. .text:10012A42 sub cl, 45h
  963. .text:10012A45 add [esp+15Ch+var_F6], cl
  964. .text:10012A49 sub dl, 45h
  965. .text:10012A4C add [esp+15Ch+var_F7], dl
  966. .text:10012A50 movzx edx, [esp+15Ch+var_DD]
  967. .text:10012A55 add al, 63h
  968. .text:10012A57 add [esp+15Ch+var_FE], al
  969. .text:10012A5B movzx eax, [esp+15Ch+var_ED]
  970. .text:10012A60 lea ecx, [esi+48h]
  971. .text:10012A63 shr ecx, 2
  972. .text:10012A66 push ecx
  973. .text:10012A67 add dl, 63h
  974. .text:10012A6A add [esp+160h+var_FD], dl
  975. .text:10012A6E sub al, 45h
  976. .text:10012A70 add [esp+160h+var_F5], al
  977. .text:10012A74 push 0
  978. .text:10012A76 call sub_100015B0
  979. .text:10012A7B add esp, 8
  980. .text:10012A7E xor edi, edi
  981. .text:10012A80
  982. .text:10012A80 loc_10012A80: ; CODE XREF: Create256Key+B58j
  983. .text:10012A80 movzx dx, [esp+edi+15Ch+var_104]
  984. .text:10012A86 movzx ax, [esp+edi+15Ch+var_100]
  985. .text:10012A8C shl dx, 8
  986. .text:10012A90 or dx, ax
  987. .text:10012A93 movzx ecx, dx
  988. .text:10012A96 push ecx
  989. .text:10012A97 push 0
  990. .text:10012A99 call sub_100015E0
  991. .text:10012A9E inc edi
  992. .text:10012A9F add esp, 8
  993. .text:10012AA2 cmp edi, 4
  994. .text:10012AA5 movzx eax, ax
  995. .text:10012AA8 jl short loc_10012A80
  996. .text:10012AAA mov cl, al
  997. .text:10012AAC lea edx, [esi-48h]
  998. .text:10012AAF shr edx, 3
  999. .text:10012AB2 not eax
  1000. .text:10012AB4 push edx
  1001. .text:10012AB5 not cl
  1002. .text:10012AB7 sar eax, 8
  1003. .text:10012ABA push 0
  1004. .text:10012ABC mov [esp+164h+var_100], cl
  1005. .text:10012AC0 mov [esp+164h+var_103], al
  1006. .text:10012AC4 call sub_100015B0
  1007. .text:10012AC9 add esp, 8
  1008. .text:10012ACC xor edi, edi
  1009. .text:10012ACE mov edi, edi
  1010. .text:10012AD0
  1011. .text:10012AD0 loc_10012AD0: ; CODE XREF: Create256Key+BA8j
  1012. .text:10012AD0 movzx ax, [esp+edi+15Ch+var_FC]
  1013. .text:10012AD6 movzx cx, [esp+edi+15Ch+var_F8]
  1014. .text:10012ADC shl ax, 8
  1015. .text:10012AE0 or ax, cx
  1016. .text:10012AE3 movzx edx, ax
  1017. .text:10012AE6 push edx
  1018. .text:10012AE7 push 0
  1019. .text:10012AE9 call sub_100015E0
  1020. .text:10012AEE inc edi
  1021. .text:10012AEF add esp, 8
  1022. .text:10012AF2 cmp edi, 4
  1023. .text:10012AF5 movzx ecx, ax
  1024. .text:10012AF8 jl short loc_10012AD0
  1025. .text:10012AFA mov al, cl
  1026. .text:10012AFC not ecx
  1027. .text:10012AFE sar ecx, 8
  1028. .text:10012B01 not al
  1029. .text:10012B03 mov [esp+15Ch+var_F6], cl
  1030. .text:10012B07 mov cl, [esp+15Ch+var_104]
  1031. .text:10012B0B add cl, [esp+15Ch+var_E4]
  1032. .text:10012B0F mov [esp+15Ch+var_F9], al
  1033. .text:10012B13 add al, [esp+15Ch+var_F1]
  1034. .text:10012B17 add cl, 45h
  1035. .text:10012B1A sub al, 63h
  1036. .text:10012B1C add [esp+15Ch+var_D9], al
  1037. .text:10012B23 mov al, [esp+15Ch+var_100]
  1038. .text:10012B27 add al, [esp+15Ch+var_E0]
  1039. .text:10012B2B movzx ecx, cl
  1040. .text:10012B2E add [esp+15Ch+var_EC], cl
  1041. .text:10012B32 mov cl, [esp+15Ch+var_FC]
  1042. .text:10012B36 add cl, [esp+15Ch+var_F4]
  1043. .text:10012B3A add al, 45h
  1044. .text:10012B3C add [esp+15Ch+var_E8], al
  1045. .text:10012B40 mov al, [esp+15Ch+var_F8]
  1046. .text:10012B44 add al, [esp+15Ch+var_F0]
  1047. .text:10012B48 sub cl, 63h
  1048. .text:10012B4B movzx edx, cl
  1049. .text:10012B4E mov cl, [esp+15Ch+var_103]
  1050. .text:10012B52 add cl, [esp+15Ch+var_E3]
  1051. .text:10012B56 add [esp+15Ch+var_DC], dl
  1052. .text:10012B5D sub al, 63h
  1053. .text:10012B5F add [esp+15Ch+var_D8], al
  1054. .text:10012B66 mov al, [esp+15Ch+var_FF]
  1055. .text:10012B6A add al, [esp+15Ch+var_DF]
  1056. .text:10012B6E add cl, 45h
  1057. .text:10012B71 movzx ecx, cl
  1058. .text:10012B74 add [esp+15Ch+var_EB], cl
  1059. .text:10012B78 mov cl, [esp+15Ch+var_FB]
  1060. .text:10012B7C add cl, [esp+15Ch+var_F3]
  1061. .text:10012B80 add al, 45h
  1062. .text:10012B82 add [esp+15Ch+var_E7], al
  1063. .text:10012B86 mov al, [esp+15Ch+var_F7]
  1064. .text:10012B8A add al, [esp+15Ch+var_EF]
  1065. .text:10012B8E sub cl, 63h
  1066. .text:10012B91 sub al, 63h
  1067. .text:10012B93 add [esp+15Ch+var_D7], al
  1068. .text:10012B9A mov al, [esp+15Ch+var_FE]
  1069. .text:10012B9E add al, [esp+15Ch+var_DE]
  1070. .text:10012BA2 movzx edx, cl
  1071. .text:10012BA5 mov cl, [esp+15Ch+var_102]
  1072. .text:10012BA9 add cl, [esp+15Ch+var_E2]
  1073. .text:10012BAD add [esp+15Ch+var_DB], dl
  1074. .text:10012BB4 add al, 45h
  1075. .text:10012BB6 add [esp+15Ch+var_E6], al
  1076. .text:10012BBA mov al, [esp+15Ch+var_F6]
  1077. .text:10012BBE add cl, 45h
  1078. .text:10012BC1 movzx ecx, cl
  1079. .text:10012BC4 add [esp+15Ch+var_EA], cl
  1080. .text:10012BC8 mov cl, [esp+15Ch+var_FA]
  1081. .text:10012BCC add cl, [esp+15Ch+var_F2]
  1082. .text:10012BD0 add al, bl
  1083. .text:10012BD2 sub al, 63h
  1084. .text:10012BD4 add [esp+15Ch+var_D6], al
  1085. .text:10012BDB mov al, [esp+15Ch+var_FD]
  1086. .text:10012BDF add al, [esp+15Ch+var_DD]
  1087. .text:10012BE3 sub cl, 63h
  1088. .text:10012BE6 movzx edx, cl
  1089. .text:10012BE9 mov cl, [esp+15Ch+var_101]
  1090. .text:10012BED add cl, [esp+15Ch+var_E1]
  1091. .text:10012BF1 add [esp+15Ch+var_DA], dl
  1092. .text:10012BF8 add al, 45h
  1093. .text:10012BFA add [esp+15Ch+var_E5], al
  1094. .text:10012BFE mov al, [esp+15Ch+var_F5]
  1095. .text:10012C02 add al, [esp+15Ch+var_ED]
  1096. .text:10012C06 add cl, 45h
  1097. .text:10012C09 lea edx, [esi+2Fh]
  1098. .text:10012C0C shr edx, 2
  1099. .text:10012C0F movzx ecx, cl
  1100. .text:10012C12 add [esp+15Ch+var_E9], cl
  1101. .text:10012C16 push edx
  1102. .text:10012C17 sub al, 63h
  1103. .text:10012C19 add [esp+160h+var_D5], al
  1104. .text:10012C20 push 0
  1105. .text:10012C22 call sub_100015B0
  1106. .text:10012C27 add esp, 8
  1107. .text:10012C2A xor edi, edi
  1108. .text:10012C2C lea esp, [esp+0]
  1109. .text:10012C30
  1110. .text:10012C30 loc_10012C30: ; CODE XREF: Create256Key+D08j
  1111. .text:10012C30 movzx ax, [esp+edi+15Ch+var_EC]
  1112. .text:10012C36 movzx cx, [esp+edi+15Ch+var_E8]
  1113. .text:10012C3C shl ax, 8
  1114. .text:10012C40 or ax, cx
  1115. .text:10012C43 movzx edx, ax
  1116. .text:10012C46 push edx
  1117. .text:10012C47 push 0
  1118. .text:10012C49 call sub_100015E0
  1119. .text:10012C4E inc edi
  1120. .text:10012C4F add esp, 8
  1121. .text:10012C52 cmp edi, 4
  1122. .text:10012C55 movzx eax, ax
  1123. .text:10012C58 jl short loc_10012C30
  1124. .text:10012C5A mov cl, al
  1125. .text:10012C5C add esi, 0FFFFFFB6h
  1126. .text:10012C5F not eax
  1127. .text:10012C61 shr esi, 3
  1128. .text:10012C64 not cl
  1129. .text:10012C66 sar eax, 8
  1130. .text:10012C69 push esi
  1131. .text:10012C6A push 0
  1132. .text:10012C6C mov [esp+164h+var_E8], cl
  1133. .text:10012C70 mov [esp+164h+var_EB], al
  1134. .text:10012C74 call sub_100015B0
  1135. .text:10012C79 add esp, 8
  1136. .text:10012C7C xor esi, esi
  1137. .text:10012C7E mov edi, edi
  1138. .text:10012C80
  1139. .text:10012C80 loc_10012C80: ; CODE XREF: Create256Key+D5Ej
  1140. .text:10012C80 movzx dx, [esp+esi+15Ch+var_DC]
  1141. .text:10012C89 movzx ax, [esp+esi+15Ch+var_D8]
  1142. .text:10012C92 shl dx, 8
  1143. .text:10012C96 or dx, ax
  1144. .text:10012C99 movzx ecx, dx
  1145. .text:10012C9C push ecx
  1146. .text:10012C9D push 0
  1147. .text:10012C9F call sub_100015E0
  1148. .text:10012CA4 inc esi
  1149. .text:10012CA5 add esp, 8
  1150. .text:10012CA8 cmp esi, 4
  1151. .text:10012CAB movzx eax, ax
  1152. .text:10012CAE jl short loc_10012C80
  1153. .text:10012CB0 mov dl, al
  1154. .text:10012CB2 not eax
  1155. .text:10012CB4 sar eax, 8
  1156. .text:10012CB7 xor ecx, ecx
  1157. .text:10012CB9 not dl
  1158. .text:10012CBB mov [esp+15Ch+var_D9], dl
  1159. .text:10012CC2 mov [esp+15Ch+var_D6], al
  1160. .text:10012CC9 xor esi, esi
  1161. .text:10012CCB lea edi, [ecx+20h]
  1162. .text:10012CCE mov edi, edi
  1163. .text:10012CD0
  1164. .text:10012CD0 loc_10012CD0: ; CODE XREF: Create256Key+DEBj
  1165. .text:10012CD0 mov eax, ecx
  1166. .text:10012CD2 and eax, 80000007h
  1167. .text:10012CD7 jns short loc_10012CDE
  1168. .text:10012CD9 dec eax
  1169. .text:10012CDA or eax, 0FFFFFFF8h
  1170. .text:10012CDD inc eax
  1171. .text:10012CDE
  1172. .text:10012CDE loc_10012CDE: ; CODE XREF: Create256Key+D87j
  1173. .text:10012CDE movzx edx, byte ptr [esp+eax+15Ch+var_74]
  1174. .text:10012CE6 mov eax, edi
  1175. .text:10012CE8 and eax, 80000007h
  1176. .text:10012CED mov [esp+esi+15Ch+var_B4], dl
  1177. .text:10012CF4 jns short loc_10012CFB
  1178. .text:10012CF6 dec eax
  1179. .text:10012CF7 or eax, 0FFFFFFF8h
  1180. .text:10012CFA inc eax
  1181. .text:10012CFB
  1182. .text:10012CFB loc_10012CFB: ; CODE XREF: Create256Key+DA4j
  1183. .text:10012CFB movzx edx, byte ptr [esp+eax+15Ch+var_6C]
  1184. .text:10012D03 mov eax, ecx
  1185. .text:10012D05 and eax, 80000003h
  1186. .text:10012D0A mov [esp+esi+15Ch+var_B3], dl
  1187. .text:10012D11 jns short loc_10012D18
  1188. .text:10012D13 dec eax
  1189. .text:10012D14 or eax, 0FFFFFFFCh
  1190. .text:10012D17 inc eax
  1191. .text:10012D18
  1192. .text:10012D18 loc_10012D18: ; CODE XREF: Create256Key+DC1j
  1193. .text:10012D18 movzx edx, [esp+eax+15Ch+var_134]
  1194. .text:10012D1D mov [esp+esi+15Ch+var_B2], dl
  1195. .text:10012D24 lea edx, [esp+15Ch+var_141]
  1196. .text:10012D28 sub edx, eax
  1197. .text:10012D2A mov al, [edx]
  1198. .text:10012D2C mov [esp+esi+15Ch+var_B1], al
  1199. .text:10012D33 add esi, 4
  1200. .text:10012D36 inc ecx
  1201. .text:10012D37 dec edi
  1202. .text:10012D38 cmp esi, 20h
  1203. .text:10012D3B jl short loc_10012CD0
  1204. .text:10012D3D lea ecx, [esp+15Ch+var_118]
  1205. .text:10012D41 push ecx
  1206. .text:10012D42 lea edx, [esp+160h+var_D4]
  1207. .text:10012D49 push edx
  1208. .text:10012D4A call sub_10011CB0
  1209. .text:10012D4F add esp, 8
  1210. .text:10012D52 xor esi, esi
  1211. .text:10012D54
  1212. .text:10012D54 loc_10012D54: ; CODE XREF: Create256Key+E35j
  1213. .text:10012D54 push 7Fh
  1214. .text:10012D56 push 0
  1215. .text:10012D58 call sub_10011EA0
  1216. .text:10012D5D mov bl, al
  1217. .text:10012D5F add bl, [esp+esi+164h+var_D4]
  1218. .text:10012D66 push 0FFh
  1219. .text:10012D6B push 80h
  1220. .text:10012D70 call sub_10011EA0
  1221. .text:10012D75 sub bl, al
  1222. .text:10012D77 mov [esp+esi+16Ch+var_D4], bl
  1223. .text:10012D7E inc esi
  1224. .text:10012D7F add esp, 10h
  1225. .text:10012D82 cmp esi, 20h
  1226. .text:10012D85 jl short loc_10012D54
  1227. .text:10012D87 mov ecx, 8
  1228. .text:10012D8C lea esi, [esp+15Ch+var_D4]
  1229. .text:10012D93 lea edi, [esp+15Ch+var_64]
  1230. .text:10012D9A rep movsd
  1231. .text:10012D9C mov ecx, 8
  1232. .text:10012DA1 lea esi, [esp+15Ch+var_D0]
  1233. .text:10012DA8 lea edi, [esp+15Ch+var_44]
  1234. .text:10012DAF rep movsd
  1235. .text:10012DB1 mov ecx, 8
  1236. .text:10012DB6 lea esi, [esp+15Ch+var_CC]
  1237. .text:10012DBD lea edi, [esp+15Ch+var_24]
  1238. .text:10012DC4 rep movsd
  1239. .text:10012DC6 xor edi, edi
  1240. .text:10012DC8 jmp short loc_10012DD0
  1241. .text:10012DC8 ; ---------------------------------------------------------------------------
  1242. .text:10012DCA db 8Dh, 9Bh, 4 dup(0)
  1243. .text:10012DD0 ; ---------------------------------------------------------------------------
  1244. .text:10012DD0
  1245. .text:10012DD0 loc_10012DD0: ; CODE XREF: Create256Key+E78j
  1246. .text:10012DD0 ; Create256Key+FBBj
  1247. .text:10012DD0 movzx eax, [esp+edi*2+15Ch+var_D4]
  1248. .text:10012DD8 mov cl, [esp+edi+15Ch+var_D4]
  1249. .text:10012DDF mov [esp+15Ch+var_12D], al
  1250. .text:10012DE3 mov eax, edi
  1251. .text:10012DE5 cdq
  1252. .text:10012DE6 sub eax, edx
  1253. .text:10012DE8 sar eax, 1
  1254. .text:10012DEA mov al, [esp+eax+15Ch+var_D4]
  1255. .text:10012DF1 sub al, cl
  1256. .text:10012DF3 mov [esp+15Ch+var_12E], al
  1257. .text:10012DF7 mov bl, [esp+edi+15Ch+var_64]
  1258. .text:10012DFE mov eax, 2AAAAAABh ; Divisor of 12
  1259. .text:10012E03 imul edi
  1260. .text:10012E05 sar edx, 2
  1261. .text:10012E08 mov eax, edx
  1262. .text:10012E0A shr eax, 1Fh
  1263. .text:10012E0D add eax, edx
  1264. .text:10012E0F mov [esp+15Ch+var_135], cl
  1265. .text:10012E13 movzx ecx, [esp+edi+15Ch+var_B4]
  1266. .text:10012E1B lea edx, [eax+eax*2]
  1267. .text:10012E1E movzx eax, [esp+edi+15Ch+var_44]
  1268. .text:10012E26 add edx, edx
  1269. .text:10012E28 mov [esp+15Ch+var_125], cl
  1270. .text:10012E2C movzx ecx, [esp+edi+15Ch+var_24]
  1271. .text:10012E34 add edx, edx
  1272. .text:10012E36 add edx, edx
  1273. .text:10012E38 mov ebp, edi
  1274. .text:10012E3A xor esi, esi
  1275. .text:10012E3C sub ebp, edx
  1276. .text:10012E3E mov [esp+15Ch+var_149], al
  1277. .text:10012E42 mov [esp+15Ch+var_14A], cl
  1278. .text:10012E46 jmp short loc_10012E50
  1279. .text:10012E46 ; ---------------------------------------------------------------------------
  1280. .text:10012E48 db 8Dh, 0A4h, 24h, 4 dup(0), 90h
  1281. .text:10012E50 ; ---------------------------------------------------------------------------
  1282. .text:10012E50
  1283. .text:10012E50 loc_10012E50: ; CODE XREF: Create256Key+EF6j
  1284. .text:10012E50 ; Create256Key+F98j
  1285. .text:10012E50 add bl, byte ptr [esp+esi+15Ch+var_74]
  1286. .text:10012E57 mov edx, esi
  1287. .text:10012E59 sub bl, byte ptr [esp+esi+15Ch+var_6C]
  1288. .text:10012E60 and edx, 3
  1289. .text:10012E63 mov al, [esp+edx+15Ch+var_134]
  1290. .text:10012E67 mov [esp+15Ch+var_14B], al
  1291. .text:10012E6B add bl, al
  1292. .text:10012E6D mov eax, 0CCCCCCCDh
  1293. .text:10012E72 mul esi
  1294. .text:10012E74 shr edx, 2
  1295. .text:10012E77 lea eax, [edx+edx*4]
  1296. .text:10012E7A movzx edx, [esp+15Ch+var_135]
  1297. .text:10012E7F add dl, byte ptr [esp+esi+15Ch+var_6C]
  1298. .text:10012E86 mov ecx, esi
  1299. .text:10012E88 add [esp+15Ch+var_149], dl
  1300. .text:10012E8C movzx edx, [esp+15Ch+var_12D]
  1301. .text:10012E91 sub dl, byte ptr [esp+esi+15Ch+var_74]
  1302. .text:10012E98 sub ecx, eax
  1303. .text:10012E9A mov eax, [esp+ecx*4+15Ch+var_118]
  1304. .text:10012E9E mov ecx, ebp
  1305. .text:10012EA0 shr eax, cl
  1306. .text:10012EA2 mov cl, [esp+15Ch+var_149]
  1307. .text:10012EA6 add cl, dl
  1308. .text:10012EA8 add cl, [esp+15Ch+var_14B]
  1309. .text:10012EAC movzx edx, [esp+15Ch+var_135]
  1310. .text:10012EB1 sub dl, [esp+15Ch+var_125]
  1311. .text:10012EB5 sub cl, al
  1312. .text:10012EB7 sub dl, byte ptr [esp+esi+15Ch+var_6C]
  1313. .text:10012EBE mov [esp+15Ch+var_149], cl
  1314. .text:10012EC2 movzx ecx, [esp+15Ch+var_12E]
  1315. .text:10012EC7 add cl, byte ptr [esp+esi+15Ch+var_74]
  1316. .text:10012ECE inc esi
  1317. .text:10012ECF add [esp+15Ch+var_14A], cl
  1318. .text:10012ED3 mov cl, [esp+15Ch+var_14A]
  1319. .text:10012ED7 add cl, dl
  1320. .text:10012ED9 add cl, [esp+15Ch+var_14B]
  1321. .text:10012EDD sub bl, al
  1322. .text:10012EDF sub cl, al
  1323. .text:10012EE1 cmp esi, 8
  1324. .text:10012EE4 mov [esp+15Ch+var_14A], cl
  1325. .text:10012EE8 jl loc_10012E50
  1326. .text:10012EEE mov al, [esp+15Ch+var_149]
  1327. .text:10012EF2 mov [esp+edi+15Ch+var_64], bl
  1328. .text:10012EF9 mov [esp+edi+15Ch+var_44], al
  1329. .text:10012F00 mov [esp+edi+15Ch+var_24], cl
  1330. .text:10012F07 inc edi
  1331. .text:10012F08 cmp edi, 20h
  1332. .text:10012F0B jl loc_10012DD0
  1333. .text:10012F11 mov eax, [esp+15Ch+var_124]
  1334. .text:10012F15 mov ebp, [esp+15Ch+var_120]
  1335. .text:10012F19 lea ebx, [esp+15Ch+var_DC]
  1336. .text:10012F20 sub ebx, eax
  1337. .text:10012F22 mov [esp+15Ch+var_124], ebx
  1338. .text:10012F26 lea ebx, [esp+15Ch+var_F4]
  1339. .text:10012F2A sub ebx, eax
  1340. .text:10012F2C mov [esp+15Ch+var_120], ebx
  1341. .text:10012F30 lea esi, [esp+15Ch+var_104]
  1342. .text:10012F34 lea edi, [esp+15Ch+var_FC]
  1343. .text:10012F38 lea edx, [esp+15Ch+var_EC]
  1344. .text:10012F3C lea ecx, [ebp+10h]
  1345. .text:10012F3F lea ebx, [esp+15Ch+var_E4]
  1346. .text:10012F43 sub esi, eax
  1347. .text:10012F45 sub edi, eax
  1348. .text:10012F47 sub ebp, eax
  1349. .text:10012F49 sub edx, eax
  1350. .text:10012F4B sub ebx, eax
  1351. .text:10012F4D mov [esp+15Ch+var_12C], ebx
  1352. .text:10012F51 mov [esp+15Ch+var_13C], 8
  1353. .text:10012F59 lea esp, [esp+0]
  1354. .text:10012F60
  1355. .text:10012F60 loc_10012F60: ; CODE XREF: Create256Key+104Bj
  1356. .text:10012F60 movzx ebx, byte ptr [esi+eax]
  1357. .text:10012F64 mov [eax], bl
  1358. .text:10012F66 movzx ebx, byte ptr [edi+eax]
  1359. .text:10012F6A mov [eax+ebp], bl
  1360. .text:10012F6D movzx ebx, byte ptr [edx+eax]
  1361. .text:10012F71 mov [eax+8], bl
  1362. .text:10012F74 mov ebx, [esp+15Ch+var_124]
  1363. .text:10012F78 movzx ebx, byte ptr [ebx+eax]
  1364. .text:10012F7C mov [ecx-8], bl
  1365. .text:10012F7F mov ebx, [esp+15Ch+var_120]
  1366. .text:10012F83 movzx ebx, byte ptr [ebx+eax]
  1367. .text:10012F87 mov [eax+10h], bl
  1368. .text:10012F8A mov ebx, [esp+15Ch+var_12C]
  1369. .text:10012F8E movzx ebx, byte ptr [ebx+eax]
  1370. .text:10012F92 mov [ecx], bl
  1371. .text:10012F94 inc eax
  1372. .text:10012F95 inc ecx
  1373. .text:10012F96 sub [esp+15Ch+var_13C], 1
  1374. .text:10012F9B jnz short loc_10012F60
  1375. .text:10012F9D mov eax, [esp+15Ch+var_11C]
  1376. .text:10012FA1 lea ecx, [esp+15Ch+var_64]
  1377. .text:10012FA8 lea esi, [esp+15Ch+var_44]
  1378. .text:10012FAF lea edi, [esp+15Ch+var_24]
  1379. .text:10012FB6 sub ecx, eax
  1380. .text:10012FB8 sub esi, eax
  1381. .text:10012FBA sub edi, eax
  1382. .text:10012FBC mov ebp, 20h
  1383. .text:10012FC1
  1384. .text:10012FC1 loc_10012FC1: ; CODE XREF: Create256Key+1089j
  1385. .text:10012FC1 movzx edx, byte ptr [ecx+eax]
  1386. .text:10012FC5 mov [eax], dl
  1387. .text:10012FC7 movzx edx, byte ptr [esi+eax] ; Key is here
  1388. .text:10012FCB mov [eax+20h], dl
  1389. .text:10012FCE movzx edx, byte ptr [edi+eax]
  1390. .text:10012FD2 mov [eax+40h], dl
  1391. .text:10012FD5 inc eax
  1392. .text:10012FD6 sub ebp, 1
  1393. .text:10012FD9 jnz short loc_10012FC1
  1394. .text:10012FDB mov ecx, [esp+15Ch+var_4]
  1395. .text:10012FE2 pop edi
  1396. .text:10012FE3 pop esi
  1397. .text:10012FE4 pop ebp
  1398. .text:10012FE5 pop ebx
  1399. .text:10012FE6 xor ecx, esp
  1400. .text:10012FE8 call Compare2DWORDS
  1401. .text:10012FED add esp, 14Ch
  1402. .text:10012FF3 retn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement