SHARE
TWEET

Untitled

a guest Aug 12th, 2018 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top