Guest User

Salt+SHA-1 -O3

a guest
Aug 4th, 2012
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. push r15
  2. push r14
  3. push r13
  4. push r12
  5. push rbp
  6. push rbx
  7. mov rbx,rdi
  8. sub rsp,0x448
  9. mov rax,[fs:0x28]
  10. mov [rsp+0x438],rax
  11. xor eax,eax
  12. mov rax,[rdi]
  13. lea rdi,[rsp+0x1c0]
  14. mov qword [rsp+0x1c0],0x60c678
  15. mov rsi,[rax-0x18]
  16. add rsi,byte +0xf
  17. call dword 0x1a80
  18. mov edx,0xf
  19. mov esi,0x409744
  20. lea rdi,[rsp+0x1c0]
  21. call dword 0x19e0
  22. mov rsi,rbx
  23. lea rdi,[rsp+0x1c0]
  24. call dword 0x1da0
  25. mov rcx,[rsp+0x1c0]
  26. mov [rsp+0x20],rcx
  27. add rcx,[rcx-0x18]
  28. cmp [rsp+0x20],rcx
  29. mov [rsp],rcx
  30. jz dword 0x49f8
  31. mov rbp,[rsp+0x20]
  32. xor edx,edx
  33. mov r13d,0xc3d2e1f0
  34. mov r12d,0x10325476
  35. mov r14d,0x98badcfe
  36. mov r15d,0xefcdab89
  37. mov dword [rsp+0x1c],0x67452301
  38. mov ebx,0x4d
  39. jmp short 0x2574
  40. inc rbp
  41. cmp rbp,[rsp]
  42. lea rax,[rdx+0x2]
  43. mov rdx,rcx
  44. jz dword 0x2a22
  45. movzx eax,byte [rbp+0x0]
  46. lea rcx,[rdx+0x1]
  47. cmp rcx,byte +0x40
  48. mov [rsp+rdx+0x3e4],al
  49. jnz 0x2560
  50. movzx r8d,byte [rsp+0x3e4]
  51. movzx eax,byte [rsp+0x3e5]
  52. movzx edi,byte [rsp+0x3e8]
  53. movzx edx,byte [rsp+0x3ed]
  54. shl eax,0x10
  55. shl r8d,0x18
  56. or r8d,eax
  57. movzx eax,byte [rsp+0x3e7]
  58. shl edi,0x18
  59. shl edx,0x10
  60. or r8d,eax
  61. movzx eax,byte [rsp+0x3e6]
  62. shl eax,0x8
  63. or r8d,eax
  64. movzx eax,byte [rsp+0x3e9]
  65. mov [rsp+0x60],r8d
  66. shl eax,0x10
  67. or edi,eax
  68. movzx eax,byte [rsp+0x3eb]
  69. or edi,eax
  70. movzx eax,byte [rsp+0x3ea]
  71. shl eax,0x8
  72. or edi,eax
  73. movzx eax,byte [rsp+0x3ec]
  74. mov [rsp+0x64],edi
  75. shl eax,0x18
  76. or eax,edx
  77. movzx edx,byte [rsp+0x3ef]
  78. or eax,edx
  79. movzx edx,byte [rsp+0x3ee]
  80. shl edx,0x8
  81. or eax,edx
  82. movzx edx,byte [rsp+0x3f1]
  83. mov [rsp+0x68],eax
  84. movzx eax,byte [rsp+0x3f0]
  85. shl edx,0x10
  86. shl eax,0x18
  87. or eax,edx
  88. movzx edx,byte [rsp+0x3f3]
  89. or eax,edx
  90. movzx edx,byte [rsp+0x3f2]
  91. shl edx,0x8
  92. or eax,edx
  93. movzx edx,byte [rsp+0x3f5]
  94. mov [rsp+0x6c],eax
  95. movzx eax,byte [rsp+0x3f4]
  96. shl edx,0x10
  97. shl eax,0x18
  98. or eax,edx
  99. movzx edx,byte [rsp+0x3f7]
  100. or eax,edx
  101. movzx edx,byte [rsp+0x3f6]
  102. shl edx,0x8
  103. or eax,edx
  104. movzx edx,byte [rsp+0x3f9]
  105. mov [rsp+0x70],eax
  106. movzx eax,byte [rsp+0x3f8]
  107. shl edx,0x10
  108. shl eax,0x18
  109. or eax,edx
  110. movzx edx,byte [rsp+0x3fb]
  111. or eax,edx
  112. movzx edx,byte [rsp+0x3fa]
  113. shl edx,0x8
  114. or eax,edx
  115. movzx edx,byte [rsp+0x3fd]
  116. mov [rsp+0x74],eax
  117. movzx eax,byte [rsp+0x3fc]
  118. shl edx,0x10
  119. shl eax,0x18
  120. or eax,edx
  121. movzx edx,byte [rsp+0x3ff]
  122. or eax,edx
  123. movzx edx,byte [rsp+0x3fe]
  124. shl edx,0x8
  125. or eax,edx
  126. mov [rsp+0x78],eax
  127. movzx eax,byte [rsp+0x400]
  128. movzx edx,byte [rsp+0x401]
  129. movzx esi,byte [rsp+0x418]
  130. shl eax,0x18
  131. shl edx,0x10
  132. or eax,edx
  133. movzx edx,byte [rsp+0x403]
  134. or eax,edx
  135. movzx edx,byte [rsp+0x402]
  136. shl edx,0x8
  137. or eax,edx
  138. movzx edx,byte [rsp+0x405]
  139. mov [rsp+0x7c],eax
  140. movzx eax,byte [rsp+0x404]
  141. shl edx,0x10
  142. shl eax,0x18
  143. or eax,edx
  144. movzx edx,byte [rsp+0x407]
  145. or eax,edx
  146. movzx edx,byte [rsp+0x406]
  147. shl edx,0x8
  148. or eax,edx
  149. movzx edx,byte [rsp+0x409]
  150. mov [rsp+0x80],eax
  151. movzx eax,byte [rsp+0x408]
  152. shl edx,0x10
  153. shl eax,0x18
  154. or eax,edx
  155. movzx edx,byte [rsp+0x40b]
  156. or eax,edx
  157. movzx edx,byte [rsp+0x40a]
  158. shl edx,0x8
  159. or eax,edx
  160. movzx edx,byte [rsp+0x40d]
  161. mov [rsp+0x84],eax
  162. movzx eax,byte [rsp+0x40c]
  163. shl edx,0x10
  164. shl eax,0x18
  165. or eax,edx
  166. movzx edx,byte [rsp+0x40f]
  167. or eax,edx
  168. movzx edx,byte [rsp+0x40e]
  169. shl edx,0x8
  170. or eax,edx
  171. movzx edx,byte [rsp+0x411]
  172. mov [rsp+0x88],eax
  173. movzx eax,byte [rsp+0x410]
  174. shl eax,0x18
  175. shl edx,0x10
  176. shl esi,0x18
  177. or eax,edx
  178. movzx edx,byte [rsp+0x413]
  179. or eax,edx
  180. movzx edx,byte [rsp+0x412]
  181. shl edx,0x8
  182. or eax,edx
  183. movzx edx,byte [rsp+0x415]
  184. mov [rsp+0x8c],eax
  185. movzx eax,byte [rsp+0x414]
  186. shl edx,0x10
  187. shl eax,0x18
  188. or eax,edx
  189. movzx edx,byte [rsp+0x417]
  190. or eax,edx
  191. movzx edx,byte [rsp+0x416]
  192. shl edx,0x8
  193. or eax,edx
  194. mov [rsp+0x90],eax
  195. movzx eax,byte [rsp+0x419]
  196. shl eax,0x10
  197. or esi,eax
  198. movzx eax,byte [rsp+0x41b]
  199. or esi,eax
  200. movzx eax,byte [rsp+0x41a]
  201. shl eax,0x8
  202. or esi,eax
  203. mov [rsp+0x94],esi
  204. movzx ecx,byte [rsp+0x41c]
  205. movzx eax,byte [rsp+0x41d]
  206. movzx edx,byte [rsp+0x420]
  207. shl ecx,0x18
  208. shl eax,0x10
  209. shl edx,0x18
  210. or ecx,eax
  211. movzx eax,byte [rsp+0x41f]
  212. or ecx,eax
  213. movzx eax,byte [rsp+0x41e]
  214. shl eax,0x8
  215. or ecx,eax
  216. movzx eax,byte [rsp+0x421]
  217. mov [rsp+0x98],ecx
  218. shl eax,0x10
  219. or edx,eax
  220. movzx eax,byte [rsp+0x423]
  221. or edx,eax
  222. movzx eax,byte [rsp+0x422]
  223. shl eax,0x8
  224. or edx,eax
  225. mov eax,0x10
  226. mov [rsp+0x9c],edx
  227. jmp short 0x28e3
  228. xchg ax,ax
  229. mov rax,r9
  230. xor esi,[rsp+rax*4+0x40]
  231. mov r9d,[rsp+rax*4+0x28]
  232. mov r10,rbx
  233. xor ecx,[rsp+rax*4+0x44]
  234. xor edx,[rsp+rax*4+0x48]
  235. sub r10,rax
  236. xor esi,r9d
  237. xor esi,r8d
  238. mov r8d,[rsp+rax*4+0x2c]
  239. rol esi,1
  240. mov [rsp+rax*4+0x60],esi
  241. xor ecx,r8d
  242. xor ecx,edi
  243. mov edi,[rsp+rax*4+0x30]
  244. rol ecx,1
  245. mov [rsp+rax*4+0x64],ecx
  246. xor edx,edi
  247. xor edx,r9d
  248. lea r9,[rax+0x3]
  249. rol edx,1
  250. cmp r9,byte +0x4f
  251. mov [rsp+rax*4+0x68],edx
  252. jnz 0x28e0
  253. lea rdx,[rsp+0x190]
  254. lea rcx,[rsp+r10*4+0x190]
  255. nop
  256. mov eax,[rdx]
  257. xor eax,[rdx-0x14]
  258. xor eax,[rdx-0x34]
  259. xor eax,[rdx-0x2c]
  260. rol eax,1
  261. mov [rdx+0xc],eax
  262. add rdx,byte +0x4
  263. cmp rdx,rcx
  264. jnz 0x2940
  265. mov r10d,r13d
  266. mov r8d,[rsp+0x1c]
  267. mov esi,r12d
  268. mov edi,r14d
  269. mov ecx,r15d
  270. xor eax,eax
  271. jmp short 0x29b3
  272. xchg ax,ax
  273. mov edx,ecx
  274. mov r9d,edi
  275. mov r11d,0x5a827999
  276. not edx
  277. and r9d,ecx
  278. and edx,esi
  279. or edx,r9d
  280. add r10d,[rsp+rax*4+0x60]
  281. mov r9d,r8d
  282. inc rax
  283. rol r9d,0x5
  284. rol ecx,0x1e
  285. add r9d,r10d
  286. add r9d,edx
  287. add r9d,r11d
  288. cmp rax,byte +0x50
  289. jz 0x2a00
  290. mov r10d,esi
  291. mov esi,edi
  292. mov edi,ecx
  293. mov ecx,r8d
  294. mov r8d,r9d
  295. cmp rax,byte +0x13
  296. jna 0x2970
  297. cmp rax,byte +0x27
  298. ja 0x29d0
  299. mov edx,edi
  300. mov r11d,0x6ed9eba1
  301. xor edx,ecx
  302. xor edx,esi
  303. jmp short 0x2985
  304. nop dword [rax]
  305. cmp rax,byte +0x3b
  306. ja 0x29f0
  307. mov edx,esi
  308. mov r9d,esi
  309. mov r11d,0x8f1bbcdc
  310. or edx,edi
  311. and r9d,edi
  312. and edx,ecx
  313. or edx,r9d
  314. jmp short 0x2985
  315. nop dword [rax]
  316. mov edx,edi
  317. mov r11d,0xca62c1d6
  318. xor edx,ecx
  319. xor edx,esi
  320. jmp short 0x2985
  321. xchg ax,ax
  322. add [rsp+0x1c],r9d
  323. add r15d,r8d
  324. add r14d,ecx
  325. add r12d,edi
  326. add r13d,esi
  327. xor edx,edx
  328. inc rbp
  329. cmp rbp,[rsp]
  330. mov al,0x1
  331. jnz dword 0x2574
  332. sub rbp,[rsp+0x20]
  333. mov byte [rsp+rdx+0x3e4],0x80
  334. shl rbp,0x3
  335. mov rcx,rbp
  336. mov rbx,rbp
  337. mov r10,rbp
  338. shr rcx,0x10
  339. shr rbx,0x18
  340. shr r10,0x8
  341. cmp rax,byte +0x40
  342. mov [rsp],rbp
  343. mov [rsp+0x20],cl
  344. mov [rsp+0x40],bl
  345. mov [rsp+0x50],r10b
  346. jz dword 0x4b33
  347. cmp rax,byte +0x38
  348. jna dword 0x4a3c
  349. nop dword [rax+0x0]
  350. nop word [cs:rax+rax+0x0]
  351. test rax,rax
  352. jz dword 0x2f2f
  353. mov byte [rsp+rax+0x3e4],0x0
  354. inc rax
  355. cmp rax,byte +0x40
  356. jnz 0x2a80
  357. movzx r9d,byte [rsp+0x3e4]
  358. movzx eax,byte [rsp+0x3e5]
  359. mov r11d,0x4d
  360. movzx r8d,byte [rsp+0x3e8]
  361. movzx edx,byte [rsp+0x3ed]
  362. shl eax,0x10
  363. shl r9d,0x18
  364. or r9d,eax
  365. movzx eax,byte [rsp+0x3e7]
  366. shl r8d,0x18
  367. shl edx,0x10
  368. or r9d,eax
  369. movzx eax,byte [rsp+0x3e6]
  370. shl eax,0x8
  371. or r9d,eax
  372. movzx eax,byte [rsp+0x3e9]
  373. mov [rsp+0x60],r9d
  374. shl eax,0x10
  375. or r8d,eax
  376. movzx eax,byte [rsp+0x3eb]
  377. or r8d,eax
  378. movzx eax,byte [rsp+0x3ea]
  379. shl eax,0x8
  380. or r8d,eax
  381. movzx eax,byte [rsp+0x3ec]
  382. mov [rsp+0x64],r8d
  383. shl eax,0x18
  384. or eax,edx
  385. movzx edx,byte [rsp+0x3ef]
  386. or eax,edx
  387. movzx edx,byte [rsp+0x3ee]
  388. shl edx,0x8
  389. or eax,edx
  390. movzx edx,byte [rsp+0x3f1]
  391. mov [rsp+0x68],eax
  392. movzx eax,byte [rsp+0x3f0]
  393. shl edx,0x10
  394. shl eax,0x18
  395. or eax,edx
  396. movzx edx,byte [rsp+0x3f3]
  397. or eax,edx
  398. movzx edx,byte [rsp+0x3f2]
  399. shl edx,0x8
  400. or eax,edx
  401. movzx edx,byte [rsp+0x3f5]
  402. mov [rsp+0x6c],eax
  403. movzx eax,byte [rsp+0x3f4]
  404. shl edx,0x10
  405. shl eax,0x18
  406. or eax,edx
  407. movzx edx,byte [rsp+0x3f7]
  408. or eax,edx
  409. movzx edx,byte [rsp+0x3f6]
  410. shl edx,0x8
  411. or eax,edx
  412. movzx edx,byte [rsp+0x3f9]
  413. mov [rsp+0x70],eax
  414. movzx eax,byte [rsp+0x3f8]
  415. shl edx,0x10
  416. shl eax,0x18
  417. or eax,edx
  418. movzx edx,byte [rsp+0x3fb]
  419. or eax,edx
  420. movzx edx,byte [rsp+0x3fa]
  421. shl edx,0x8
  422. or eax,edx
  423. movzx edx,byte [rsp+0x3fd]
  424. mov [rsp+0x74],eax
  425. movzx eax,byte [rsp+0x3fc]
  426. shl edx,0x10
  427. shl eax,0x18
  428. or eax,edx
  429. movzx edx,byte [rsp+0x3ff]
  430. or eax,edx
  431. movzx edx,byte [rsp+0x3fe]
  432. shl edx,0x8
  433. or eax,edx
  434. mov [rsp+0x78],eax
  435. movzx eax,byte [rsp+0x400]
  436. movzx edx,byte [rsp+0x401]
  437. movzx edi,byte [rsp+0x418]
  438. shl eax,0x18
  439. shl edx,0x10
  440. or eax,edx
  441. movzx edx,byte [rsp+0x403]
  442. or eax,edx
  443. movzx edx,byte [rsp+0x402]
  444. shl edx,0x8
  445. or eax,edx
  446. movzx edx,byte [rsp+0x405]
  447. mov [rsp+0x7c],eax
  448. movzx eax,byte [rsp+0x404]
  449. shl edx,0x10
  450. shl eax,0x18
  451. or eax,edx
  452. movzx edx,byte [rsp+0x407]
  453. or eax,edx
  454. movzx edx,byte [rsp+0x406]
  455. shl edx,0x8
  456. or eax,edx
  457. movzx edx,byte [rsp+0x409]
  458. mov [rsp+0x80],eax
  459. movzx eax,byte [rsp+0x408]
  460. shl edx,0x10
  461. shl eax,0x18
  462. or eax,edx
  463. movzx edx,byte [rsp+0x40b]
  464. or eax,edx
  465. movzx edx,byte [rsp+0x40a]
  466. shl edx,0x8
  467. or eax,edx
  468. movzx edx,byte [rsp+0x40d]
  469. mov [rsp+0x84],eax
  470. movzx eax,byte [rsp+0x40c]
  471. shl edx,0x10
  472. shl eax,0x18
  473. or eax,edx
  474. movzx edx,byte [rsp+0x40f]
  475. or eax,edx
  476. movzx edx,byte [rsp+0x40e]
  477. shl edx,0x8
  478. or eax,edx
  479. movzx edx,byte [rsp+0x411]
  480. mov [rsp+0x88],eax
  481. movzx eax,byte [rsp+0x410]
  482. shl eax,0x18
  483. shl edx,0x10
  484. shl edi,0x18
  485. or eax,edx
  486. movzx edx,byte [rsp+0x413]
  487. or eax,edx
  488. movzx edx,byte [rsp+0x412]
  489. shl edx,0x8
  490. or eax,edx
  491. movzx edx,byte [rsp+0x415]
  492. mov [rsp+0x8c],eax
  493. movzx eax,byte [rsp+0x414]
  494. shl edx,0x10
  495. shl eax,0x18
  496. or eax,edx
  497. movzx edx,byte [rsp+0x417]
  498. or eax,edx
  499. movzx edx,byte [rsp+0x416]
  500. shl edx,0x8
  501. or eax,edx
  502. mov edx,0x10
  503. mov [rsp+0x90],eax
  504. movzx eax,byte [rsp+0x419]
  505. shl eax,0x10
  506. or edi,eax
  507. movzx eax,byte [rsp+0x41b]
  508. or edi,eax
  509. movzx eax,byte [rsp+0x41a]
  510. shl eax,0x8
  511. or edi,eax
  512. mov [rsp+0x94],edi
  513. movzx esi,byte [rsp+0x41c]
  514. movzx eax,byte [rsp+0x41d]
  515. movzx ecx,byte [rsp+0x420]
  516. shl esi,0x18
  517. shl eax,0x10
  518. shl ecx,0x18
  519. or esi,eax
  520. movzx eax,byte [rsp+0x41f]
  521. or esi,eax
  522. movzx eax,byte [rsp+0x41e]
  523. shl eax,0x8
  524. or esi,eax
  525. movzx eax,byte [rsp+0x421]
  526. mov [rsp+0x98],esi
  527. shl eax,0x10
  528. or ecx,eax
  529. movzx eax,byte [rsp+0x423]
  530. or ecx,eax
  531. movzx eax,byte [rsp+0x422]
  532. shl eax,0x8
  533. or ecx,eax
  534. lea rax,[rsp+0x60]
  535. mov [rsp+0x9c],ecx
  536. jmp short 0x2e03
  537. mov rdx,r10
  538. xor edi,[rax+rdx*4-0x20]
  539. mov r10d,[rax+rdx*4-0x38]
  540. xor esi,r8d
  541. mov r8d,[rax+rdx*4-0x30]
  542. xor esi,[rax+rdx*4-0x1c]
  543. mov rbx,r11
  544. sub rbx,rdx
  545. xor edi,r10d
  546. xor ecx,r8d
  547. xor ecx,[rax+rdx*4-0x18]
  548. xor edi,r9d
  549. mov r9d,[rax+rdx*4-0x34]
  550. rol edi,1
  551. mov [rax+rdx*4],edi
  552. xor ecx,r10d
  553. xor esi,r9d
  554. lea r10,[rdx+0x3]
  555. rol esi,1
  556. rol ecx,1
  557. cmp r10,byte +0x4f
  558. mov [rax+rdx*4+0x4],esi
  559. mov [rax+rdx*4+0x8],ecx
  560. jnz 0x2e00
  561. lea rcx,[rax+0x130]
  562. lea rsi,[rsp+rbx*4+0x190]
  563. mov edx,[rcx-0x2c]
  564. xor edx,[rcx-0x14]
  565. xor edx,[rcx-0x34]
  566. xor edx,[rcx]
  567. rol edx,1
  568. mov [rcx+0xc],edx
  569. add rcx,byte +0x4
  570. cmp rcx,rsi
  571. jnz 0x2e60
  572. mov r11d,r13d
  573. mov r9d,[rsp+0x1c]
  574. mov edi,r12d
  575. mov r8d,r14d
  576. mov esi,r15d
  577. xor edx,edx
  578. jmp short 0x2ed3
  579. xchg ax,ax
  580. mov ecx,esi
  581. mov r10d,r8d
  582. mov ebx,0x5a827999
  583. not ecx
  584. and r10d,esi
  585. and ecx,edi
  586. or ecx,r10d
  587. add r11d,[rax+rdx*4]
  588. mov r10d,r9d
  589. inc rdx
  590. rol r10d,0x5
  591. rol esi,0x1e
  592. add r10d,r11d
  593. add r10d,ecx
  594. add r10d,ebx
  595. cmp rdx,byte +0x50
  596. jz 0x2f1e
  597. mov r11d,edi
  598. mov edi,r8d
  599. mov r8d,esi
  600. mov esi,r9d
  601. mov r9d,r10d
  602. cmp rdx,byte +0x13
  603. jna 0x2e90
  604. cmp rdx,byte +0x27
  605. ja 0x2ef0
  606. mov ecx,r8d
  607. mov ebx,0x6ed9eba1
  608. xor ecx,esi
  609. xor ecx,edi
  610. jmp short 0x2ea4
  611. nop dword [rax]
  612. cmp rdx,byte +0x3b
  613. ja 0x2f10
  614. mov ecx,edi
  615. mov r10d,edi
  616. mov ebx,0x8f1bbcdc
  617. or ecx,r8d
  618. and r10d,r8d
  619. and ecx,esi
  620. or ecx,r10d
  621. jmp short 0x2ea4
  622. nop dword [rax]
  623. mov ecx,r8d
  624. mov ebx,0xca62c1d6
  625. xor ecx,esi
  626. xor ecx,edi
  627. jmp short 0x2ea4
  628. add [rsp+0x1c],r10d
  629. add r15d,r9d
  630. add r14d,esi
  631. add r12d,r8d
  632. add r13d,edi
  633. pxor xmm0,xmm0
  634. mov byte [rsp+0x3e4],0x0
  635. mov byte [rsp+0x3e5],0x0
  636. mov byte [rsp+0x3e6],0x0
  637. mov byte [rsp+0x3e7],0x0
  638. movaps [rsp+0x3f0],xmm0
  639. mov byte [rsp+0x3e8],0x0
  640. mov byte [rsp+0x3e9],0x0
  641. mov byte [rsp+0x3ea],0x0
  642. mov byte [rsp+0x3eb],0x0
  643. movaps [rsp+0x400],xmm0
  644. mov byte [rsp+0x3ec],0x0
  645. mov byte [rsp+0x3ed],0x0
  646. mov byte [rsp+0x3ee],0x0
  647. mov byte [rsp+0x3ef],0x0
  648. mov byte [rsp+0x410],0x0
  649. mov byte [rsp+0x411],0x0
  650. mov byte [rsp+0x412],0x0
  651. mov byte [rsp+0x413],0x0
  652. mov byte [rsp+0x414],0x0
  653. mov byte [rsp+0x415],0x0
  654. mov byte [rsp+0x416],0x0
  655. mov byte [rsp+0x417],0x0
  656. mov byte [rsp+0x418],0x0
  657. mov byte [rsp+0x419],0x0
  658. mov byte [rsp+0x41a],0x0
  659. mov byte [rsp+0x41b],0x0
  660. mov byte [rsp+0x41c],0x0
  661. mov byte [rsp+0x41d],0x0
  662. mov eax,0x3a
  663. lea rdx,[rax+0x1]
  664. mov byte [rsp+rax+0x3e4],0x0
  665. cmp rdx,byte +0x40
  666. jz dword 0x42b5
  667. lea rax,[rdx+0x1]
  668. mov byte [rsp+rdx+0x3e4],0x0
  669. cmp rax,byte +0x40
  670. jz dword 0x3b75
  671. movzx ebx,byte [rsp+0x40]
  672. lea rdx,[rax+0x1]
  673. cmp rdx,byte +0x40
  674. mov [rsp+rax+0x3e4],bl
  675. jz dword 0x3f15
  676. movzx ecx,byte [rsp+0x20]
  677. lea rax,[rdx+0x1]
  678. cmp rax,byte +0x40
  679. mov [rsp+rdx+0x3e4],cl
  680. jz dword 0x37d6
  681. movzx ebx,byte [rsp+0x50]
  682. lea rdx,[rax+0x1]
  683. cmp rdx,byte +0x40
  684. mov [rsp+rax+0x3e4],bl
  685. jz dword 0x3436
  686. movzx eax,byte [rsp]
  687. cmp rdx,byte +0x3f
  688. mov [rsp+rdx+0x3e4],al
  689. jnz dword 0x47d9
  690. movdqu xmm5,[rsp+0x3f4]
  691. movdqu xmm4,[rsp+0x3e4]
  692. mov dl,0x10
  693. movdqu xmm6,[rsp+0x414]
  694. movdqu xmm3,[rsp+0x404]
  695. lea rax,[rsp+0x60]
  696. movdqa xmm2,xmm4
  697. movdqa xmm1,xmm4
  698. punpckhbw xmm2,xmm5
  699. punpcklbw xmm1,xmm5
  700. punpcklbw xmm4,xmm5
  701. movdqa xmm5,xmm3
  702. punpckhbw xmm5,xmm6
  703. mov r11d,0x4d
  704. movdqa xmm0,xmm1
  705. punpcklbw xmm4,xmm2
  706. punpckhbw xmm0,xmm2
  707. punpcklbw xmm1,xmm2
  708. punpcklbw xmm4,xmm0
  709. movdqa xmm7,xmm1
  710. punpcklbw xmm1,xmm0
  711. punpckhbw xmm7,xmm0
  712. movdqa xmm0,xmm3
  713. punpcklbw xmm0,xmm6
  714. punpcklbw xmm3,xmm6
  715. punpcklbw xmm1,xmm7
  716. punpckhbw xmm4,xmm7
  717. movdqa xmm2,xmm0
  718. punpcklbw xmm0,xmm5
  719. punpckhbw xmm2,xmm5
  720. punpcklbw xmm3,xmm5
  721. movdqa xmm6,xmm1
  722. movdqa xmm7,xmm0
  723. punpcklbw xmm0,xmm2
  724. punpckhbw xmm7,xmm2
  725. punpcklbw xmm3,xmm2
  726. movdqa xmm2,xmm1
  727. punpcklbw xmm0,xmm7
  728. punpckhbw xmm3,xmm7
  729. punpckhbw xmm6,xmm0
  730. punpcklbw xmm2,xmm0
  731. punpcklbw xmm1,xmm0
  732. movdqa xmm0,xmm4
  733. punpcklbw xmm0,xmm3
  734. movdqa xmm5,xmm2
  735. punpcklbw xmm2,xmm6
  736. punpckhbw xmm5,xmm6
  737. punpcklbw xmm1,xmm6
  738. movdqa xmm6,xmm4
  739. punpckhbw xmm6,xmm3
  740. movdqa xmm7,xmm2
  741. punpcklbw xmm4,xmm3
  742. punpckhbw xmm7,xmm5
  743. punpcklbw xmm2,xmm5
  744. punpcklbw xmm1,xmm5
  745. movdqa xmm5,xmm0
  746. punpcklbw xmm0,xmm6
  747. punpckhbw xmm5,xmm6
  748. punpcklbw xmm2,xmm7
  749. punpckhbw xmm1,xmm7
  750. punpcklbw xmm4,xmm6
  751. movdqa xmm7,xmm0
  752. punpcklbw xmm0,xmm5
  753. punpckhbw xmm7,xmm5
  754. pxor xmm3,xmm3
  755. movdqa xmm9,xmm2
  756. punpcklbw xmm4,xmm5
  757. movdqa xmm6,xmm1
  758. punpcklbw xmm0,xmm7
  759. punpcklbw xmm9,xmm3
  760. punpckhbw xmm4,xmm7
  761. punpckhbw xmm2,xmm3
  762. movdqa xmm8,xmm0
  763. movdqa xmm5,xmm0
  764. pxor xmm0,xmm0
  765. punpcklbw xmm8,xmm3
  766. punpckhbw xmm5,xmm3
  767. movdqa xmm7,xmm4
  768. punpcklbw xmm6,xmm3
  769. punpckhbw xmm1,xmm3
  770. punpcklbw xmm7,xmm3
  771. punpckhbw xmm4,xmm3
  772. movdqa xmm3,xmm9
  773. punpcklwd xmm3,xmm0
  774. pslld xmm3,0x18
  775. movaps [rsp],xmm3
  776. movdqa xmm3,xmm8
  777. punpcklwd xmm3,xmm0
  778. punpckhwd xmm8,xmm0
  779. pslld xmm3,0x10
  780. por xmm3,[rsp]
  781. pslld xmm8,0x10
  782. movaps [rsp],xmm3
  783. movdqa xmm3,xmm7
  784. punpcklwd xmm3,xmm0
  785. punpckhwd xmm7,xmm0
  786. por xmm3,[rsp]
  787. movaps [rsp],xmm3
  788. movdqa xmm3,xmm6
  789. punpcklwd xmm3,xmm0
  790. punpckhwd xmm6,xmm0
  791. pslld xmm3,0x8
  792. por xmm3,[rsp]
  793. pslld xmm6,0x8
  794. movaps [rsp],xmm3
  795. mov r9d,[rsp]
  796. movaps [rsp+0x60],xmm3
  797. movdqa xmm3,xmm9
  798. punpckhwd xmm3,xmm0
  799. mov r8d,[rsp+0x64]
  800. pslld xmm3,0x18
  801. por xmm3,xmm8
  802. por xmm3,xmm7
  803. por xmm3,xmm6
  804. movdqa xmm6,xmm5
  805. punpcklwd xmm6,xmm0
  806. movaps [rsp+0x70],xmm3
  807. movdqa xmm3,xmm2
  808. punpcklwd xmm3,xmm0
  809. pslld xmm6,0x10
  810. punpckhwd xmm2,xmm0
  811. pslld xmm3,0x18
  812. por xmm3,xmm6
  813. movdqa xmm6,xmm4
  814. punpcklwd xmm6,xmm0
  815. punpckhwd xmm4,xmm0
  816. pslld xmm2,0x18
  817. por xmm3,xmm6
  818. movdqa xmm6,xmm1
  819. punpcklwd xmm6,xmm0
  820. punpckhwd xmm1,xmm0
  821. pslld xmm6,0x8
  822. por xmm3,xmm6
  823. movaps [rsp+0x80],xmm3
  824. movdqa xmm3,xmm5
  825. punpckhwd xmm3,xmm0
  826. movdqa xmm0,xmm1
  827. pslld xmm0,0x8
  828. pslld xmm3,0x10
  829. por xmm2,xmm3
  830. por xmm2,xmm4
  831. por xmm2,xmm0
  832. movaps [rsp+0x90],xmm2
  833. mov edi,[rsp+0x94]
  834. mov esi,[rsp+0x98]
  835. mov ecx,[rsp+0x9c]
  836. jmp short 0x333b
  837. nop dword [rax+rax+0x0]
  838. mov rdx,r10
  839. xor edi,[rax+rdx*4-0x20]
  840. mov r10d,[rax+rdx*4-0x38]
  841. mov rbx,r11
  842. xor esi,[rax+rdx*4-0x1c]
  843. xor ecx,[rax+rdx*4-0x18]
  844. sub rbx,rdx
  845. xor edi,r10d
  846. xor edi,r9d
  847. mov r9d,[rax+rdx*4-0x34]
  848. rol edi,1
  849. mov [rax+rdx*4],edi
  850. xor esi,r9d
  851. xor esi,r8d
  852. mov r8d,[rax+rdx*4-0x30]
  853. rol esi,1
  854. mov [rax+rdx*4+0x4],esi
  855. xor ecx,r8d
  856. xor ecx,r10d
  857. lea r10,[rdx+0x3]
  858. rol ecx,1
  859. cmp r10,byte +0x4f
  860. mov [rax+rdx*4+0x8],ecx
  861. jnz 0x3338
  862. lea rcx,[rax+0x130]
  863. lea rsi,[rsp+rbx*4+0x190]
  864. nop dword [rax+rax+0x0]
  865. mov edx,[rcx-0x14]
  866. xor edx,[rcx]
  867. xor edx,[rcx-0x2c]
  868. xor edx,[rcx-0x34]
  869. rol edx,1
  870. mov [rcx+0xc],edx
  871. add rcx,byte +0x4
  872. cmp rcx,rsi
  873. jnz 0x33a0
  874. mov r10d,r13d
  875. mov r9d,[rsp+0x1c]
  876. mov edi,r12d
  877. mov r8d,r14d
  878. mov esi,r15d
  879. xor edx,edx
  880. jmp short 0x3417
  881. xchg ax,ax
  882. mov ecx,esi
  883. mov r11d,r8d
  884. not ecx
  885. and r11d,esi
  886. and ecx,edi
  887. or ecx,r11d
  888. mov r11d,0x5a827999
  889. add r10d,[rax+rdx*4]
  890. mov ebx,r9d
  891. inc rdx
  892. rol ebx,0x5
  893. rol esi,0x1e
  894. add r10d,ebx
  895. add ecx,r10d
  896. add ecx,r11d
  897. cmp rdx,byte +0x50
  898. jz dword 0x47c9
  899. mov r10d,edi
  900. mov edi,r8d
  901. mov r8d,esi
  902. mov esi,r9d
  903. mov r9d,ecx
  904. cmp rdx,byte +0x13
  905. jna 0x33d0
  906. cmp rdx,byte +0x27
  907. ja dword 0x4658
  908. mov ecx,r8d
  909. mov r11d,0x6ed9eba1
  910. xor ecx,esi
  911. xor ecx,edi
  912. jmp short 0x33e5
  913. movdqu xmm5,[rsp+0x3f4]
  914. movdqu xmm4,[rsp+0x3e4]
  915. mov dl,0x10
  916. movdqu xmm6,[rsp+0x414]
  917. movdqu xmm3,[rsp+0x404]
  918. lea rax,[rsp+0x60]
  919. movdqa xmm2,xmm4
  920. movdqa xmm1,xmm4
  921. punpckhbw xmm2,xmm5
  922. punpcklbw xmm1,xmm5
  923. punpcklbw xmm4,xmm5
  924. movdqa xmm5,xmm3
  925. punpckhbw xmm5,xmm6
  926. mov r11d,0x4d
  927. movdqa xmm0,xmm1
  928. punpcklbw xmm4,xmm2
  929. punpckhbw xmm0,xmm2
  930. punpcklbw xmm1,xmm2
  931. punpcklbw xmm4,xmm0
  932. movdqa xmm7,xmm1
  933. punpcklbw xmm1,xmm0
  934. punpckhbw xmm7,xmm0
  935. movdqa xmm0,xmm3
  936. punpcklbw xmm0,xmm6
  937. punpcklbw xmm3,xmm6
  938. punpcklbw xmm1,xmm7
  939. punpckhbw xmm4,xmm7
  940. movdqa xmm2,xmm0
  941. punpcklbw xmm0,xmm5
  942. punpckhbw xmm2,xmm5
  943. punpcklbw xmm3,xmm5
  944. movdqa xmm6,xmm1
  945. movdqa xmm7,xmm0
  946. punpcklbw xmm0,xmm2
  947. punpckhbw xmm7,xmm2
  948. punpcklbw xmm3,xmm2
  949. movdqa xmm2,xmm1
  950. punpcklbw xmm0,xmm7
  951. punpckhbw xmm3,xmm7
  952. punpckhbw xmm6,xmm0
  953. punpcklbw xmm2,xmm0
  954. punpcklbw xmm1,xmm0
  955. movdqa xmm0,xmm4
  956. punpcklbw xmm0,xmm3
  957. movdqa xmm5,xmm2
  958. punpcklbw xmm2,xmm6
  959. punpckhbw xmm5,xmm6
  960. punpcklbw xmm1,xmm6
  961. movdqa xmm6,xmm4
  962. punpckhbw xmm6,xmm3
  963. movdqa xmm7,xmm2
  964. punpcklbw xmm4,xmm3
  965. punpckhbw xmm7,xmm5
  966. punpcklbw xmm2,xmm5
  967. punpcklbw xmm1,xmm5
  968. movdqa xmm5,xmm0
  969. punpcklbw xmm0,xmm6
  970. punpckhbw xmm5,xmm6
  971. punpcklbw xmm2,xmm7
  972. punpckhbw xmm1,xmm7
  973. punpcklbw xmm4,xmm6
  974. movdqa xmm7,xmm0
  975. punpcklbw xmm0,xmm5
  976. punpckhbw xmm7,xmm5
  977. pxor xmm3,xmm3
  978. movdqa xmm9,xmm1
  979. punpcklbw xmm4,xmm5
  980. movdqa xmm6,xmm2
  981. punpcklbw xmm0,xmm7
  982. punpcklbw xmm9,xmm3
  983. punpckhbw xmm4,xmm7
  984. punpcklbw xmm6,xmm3
  985. movdqa xmm8,xmm0
  986. movdqa xmm5,xmm0
  987. pxor xmm0,xmm0
  988. punpckhbw xmm2,xmm3
  989. punpcklbw xmm8,xmm3
  990. movdqa xmm7,xmm4
  991. punpckhbw xmm5,xmm3
  992. punpckhbw xmm1,xmm3
  993. punpcklbw xmm7,xmm3
  994. punpckhbw xmm4,xmm3
  995. movdqa xmm3,xmm9
  996. punpcklwd xmm3,xmm0
  997. pslld xmm3,0x8
  998. movaps [rsp],xmm3
  999. movdqa xmm3,xmm8
  1000. punpcklwd xmm3,xmm0
  1001. punpckhwd xmm8,xmm0
  1002. pslld xmm3,0x10
  1003. por xmm3,[rsp]
  1004. pslld xmm8,0x10
  1005. movaps [rsp],xmm3
  1006. movdqa xmm3,xmm7
  1007. punpcklwd xmm3,xmm0
  1008. punpckhwd xmm7,xmm0
  1009. por xmm3,[rsp]
  1010. movaps [rsp],xmm3
  1011. movdqa xmm3,xmm6
  1012. punpcklwd xmm3,xmm0
  1013. punpckhwd xmm6,xmm0
  1014. pslld xmm3,0x18
  1015. por xmm3,[rsp]
  1016. pslld xmm6,0x18
  1017. movaps [rsp],xmm3
  1018. mov r9d,[rsp]
  1019. movaps [rsp+0x60],xmm3
  1020. movdqa xmm3,xmm9
  1021. punpckhwd xmm3,xmm0
  1022. mov r8d,[rsp+0x64]
  1023. pslld xmm3,0x8
  1024. por xmm3,xmm8
  1025. por xmm3,xmm7
  1026. por xmm3,xmm6
  1027. movdqa xmm6,xmm5
  1028. punpcklwd xmm6,xmm0
  1029. movaps [rsp+0x70],xmm3
  1030. movdqa xmm3,xmm1
  1031. punpcklwd xmm3,xmm0
  1032. pslld xmm6,0x10
  1033. punpckhwd xmm1,xmm0
  1034. pslld xmm3,0x8
  1035. por xmm3,xmm6
  1036. movdqa xmm6,xmm4
  1037. punpcklwd xmm6,xmm0
  1038. punpckhwd xmm4,xmm0
  1039. pslld xmm1,0x8
  1040. por xmm3,xmm6
  1041. movdqa xmm6,xmm2
  1042. punpcklwd xmm6,xmm0
  1043. punpckhwd xmm2,xmm0
  1044. pslld xmm6,0x18
  1045. por xmm3,xmm6
  1046. movaps [rsp+0x80],xmm3
  1047. movdqa xmm3,xmm5
  1048. punpckhwd xmm3,xmm0
  1049. movdqa xmm0,xmm2
  1050. pslld xmm0,0x18
  1051. pslld xmm3,0x10
  1052. por xmm1,xmm3
  1053. por xmm1,xmm4
  1054. por xmm1,xmm0
  1055. movaps [rsp+0x90],xmm1
  1056. mov edi,[rsp+0x94]
  1057. mov esi,[rsp+0x98]
  1058. mov ecx,[rsp+0x9c]
  1059. jmp short 0x36cb
  1060. nop word [rax+rax+0x0]
  1061. mov rdx,r10
  1062. xor edi,[rax+rdx*4-0x20]
  1063. mov r10d,[rax+rdx*4-0x38]
  1064. mov rbx,r11
  1065. xor esi,[rax+rdx*4-0x1c]
  1066. xor ecx,[rax+rdx*4-0x18]
  1067. sub rbx,rdx
  1068. xor edi,r10d
  1069. xor edi,r9d
  1070. mov r9d,[rax+rdx*4-0x34]
  1071. rol edi,1
  1072. mov [rax+rdx*4],edi
  1073. xor esi,r9d
  1074. xor esi,r8d
  1075. mov r8d,[rax+rdx*4-0x30]
  1076. rol esi,1
  1077. mov [rax+rdx*4+0x4],esi
  1078. xor ecx,r8d
  1079. xor ecx,r10d
  1080. lea r10,[rdx+0x3]
  1081. rol ecx,1
  1082. cmp r10,byte +0x4f
  1083. mov [rax+rdx*4+0x8],ecx
  1084. jnz 0x36c8
  1085. lea rcx,[rax+0x130]
  1086. lea rsi,[rsp+rbx*4+0x190]
  1087. nop word [rax+rax+0x0]
  1088. nop word [cs:rax+rax+0x0]
  1089. mov edx,[rcx-0x14]
  1090. xor edx,[rcx]
  1091. xor edx,[rcx-0x2c]
  1092. xor edx,[rcx-0x34]
  1093. rol edx,1
  1094. mov [rcx+0xc],edx
  1095. add rcx,byte +0x4
  1096. cmp rcx,rsi
  1097. jnz 0x3740
  1098. mov r10d,r13d
  1099. mov r9d,[rsp+0x1c]
  1100. mov edi,r12d
  1101. mov r8d,r14d
  1102. mov esi,r15d
  1103. xor edx,edx
  1104. jmp short 0x37b7
  1105. xchg ax,ax
  1106. mov ecx,esi
  1107. mov r11d,r8d
  1108. not ecx
  1109. and r11d,esi
  1110. and ecx,edi
  1111. or ecx,r11d
  1112. mov r11d,0x5a827999
  1113. add r10d,[rax+rdx*4]
  1114. mov ebx,r9d
  1115. inc rdx
  1116. rol ebx,0x5
  1117. rol esi,0x1e
  1118. add r10d,ebx
  1119. add ecx,r10d
  1120. add ecx,r11d
  1121. cmp rdx,byte +0x50
  1122. jz dword 0x47c9
  1123. mov r10d,edi
  1124. mov edi,r8d
  1125. mov r8d,esi
  1126. mov esi,r9d
  1127. mov r9d,ecx
  1128. cmp rdx,byte +0x13
  1129. jna 0x3770
  1130. cmp rdx,byte +0x27
  1131. ja dword 0x46a8
  1132. mov ecx,r8d
  1133. mov r11d,0x6ed9eba1
  1134. xor ecx,esi
  1135. xor ecx,edi
  1136. jmp short 0x3785
  1137. movdqu xmm5,[rsp+0x3f4]
  1138. movdqu xmm4,[rsp+0x3e4]
  1139. mov edx,0x10
  1140. movdqu xmm6,[rsp+0x414]
  1141. movdqu xmm3,[rsp+0x404]
  1142. lea rax,[rsp+0x60]
  1143. movdqa xmm2,xmm4
  1144. movdqa xmm1,xmm4
  1145. punpckhbw xmm2,xmm5
  1146. punpcklbw xmm1,xmm5
  1147. punpcklbw xmm4,xmm5
  1148. movdqa xmm5,xmm3
  1149. punpckhbw xmm5,xmm6
  1150. mov r11d,0x4d
  1151. movdqa xmm0,xmm1
  1152. punpcklbw xmm4,xmm2
  1153. punpckhbw xmm0,xmm2
  1154. punpcklbw xmm1,xmm2
  1155. punpcklbw xmm4,xmm0
  1156. movdqa xmm7,xmm1
  1157. punpcklbw xmm1,xmm0
  1158. punpckhbw xmm7,xmm0
  1159. movdqa xmm0,xmm3
  1160. punpcklbw xmm0,xmm6
  1161. punpcklbw xmm3,xmm6
  1162. punpcklbw xmm1,xmm7
  1163. punpckhbw xmm4,xmm7
  1164. movdqa xmm2,xmm0
  1165. punpcklbw xmm0,xmm5
  1166. punpckhbw xmm2,xmm5
  1167. punpcklbw xmm3,xmm5
  1168. movdqa xmm6,xmm1
  1169. movdqa xmm7,xmm0
  1170. punpcklbw xmm0,xmm2
  1171. punpckhbw xmm7,xmm2
  1172. punpcklbw xmm3,xmm2
  1173. movdqa xmm2,xmm1
  1174. punpcklbw xmm0,xmm7
  1175. punpckhbw xmm3,xmm7
  1176. punpckhbw xmm6,xmm0
  1177. punpcklbw xmm2,xmm0
  1178. punpcklbw xmm1,xmm0
  1179. movdqa xmm0,xmm4
  1180. punpcklbw xmm0,xmm3
  1181. movdqa xmm5,xmm2
  1182. punpcklbw xmm2,xmm6
  1183. punpckhbw xmm5,xmm6
  1184. punpcklbw xmm1,xmm6
  1185. movdqa xmm6,xmm4
  1186. punpckhbw xmm6,xmm3
  1187. movdqa xmm7,xmm2
  1188. punpcklbw xmm4,xmm3
  1189. punpckhbw xmm7,xmm5
  1190. punpcklbw xmm2,xmm5
  1191. punpcklbw xmm1,xmm5
  1192. movdqa xmm5,xmm0
  1193. punpcklbw xmm0,xmm6
  1194. punpckhbw xmm5,xmm6
  1195. punpcklbw xmm2,xmm7
  1196. punpckhbw xmm1,xmm7
  1197. punpcklbw xmm4,xmm6
  1198. movdqa xmm7,xmm0
  1199. punpcklbw xmm0,xmm5
  1200. punpckhbw xmm7,xmm5
  1201. pxor xmm3,xmm3
  1202. movdqa xmm9,xmm2
  1203. punpcklbw xmm4,xmm5
  1204. movdqa xmm6,xmm1
  1205. punpcklbw xmm0,xmm7
  1206. punpcklbw xmm9,xmm3
  1207. punpckhbw xmm4,xmm7
  1208. punpckhbw xmm2,xmm3
  1209. movdqa xmm8,xmm0
  1210. movdqa xmm5,xmm0
  1211. pxor xmm0,xmm0
  1212. punpcklbw xmm8,xmm3
  1213. punpckhbw xmm5,xmm3
  1214. movdqa xmm7,xmm4
  1215. punpcklbw xmm6,xmm3
  1216. punpckhbw xmm1,xmm3
  1217. punpcklbw xmm7,xmm3
  1218. punpckhbw xmm4,xmm3
  1219. movdqa xmm3,xmm9
  1220. punpcklwd xmm3,xmm0
  1221. pslld xmm3,0x18
  1222. movaps [rsp+0x20],xmm3
  1223. movdqa xmm3,xmm8
  1224. punpcklwd xmm3,xmm0
  1225. punpckhwd xmm8,xmm0
  1226. pslld xmm3,0x10
  1227. por xmm3,[rsp+0x20]
  1228. pslld xmm8,0x10
  1229. movaps [rsp+0x20],xmm3
  1230. movdqa xmm3,xmm7
  1231. punpcklwd xmm3,xmm0
  1232. punpckhwd xmm7,xmm0
  1233. por xmm3,[rsp+0x20]
  1234. movaps [rsp+0x20],xmm3
  1235. movdqa xmm3,xmm6
  1236. punpcklwd xmm3,xmm0
  1237. punpckhwd xmm6,xmm0
  1238. pslld xmm3,0x8
  1239. por xmm3,[rsp+0x20]
  1240. pslld xmm6,0x8
  1241. movaps [rsp+0x20],xmm3
  1242. mov r9d,[rsp+0x20]
  1243. movaps [rsp+0x60],xmm3
  1244. movdqa xmm3,xmm9
  1245. punpckhwd xmm3,xmm0
  1246. mov r8d,[rsp+0x64]
  1247. pslld xmm3,0x18
  1248. por xmm3,xmm8
  1249. por xmm3,xmm7
  1250. por xmm3,xmm6
  1251. movdqa xmm6,xmm5
  1252. punpcklwd xmm6,xmm0
  1253. movaps [rsp+0x70],xmm3
  1254. movdqa xmm3,xmm2
  1255. punpcklwd xmm3,xmm0
  1256. pslld xmm6,0x10
  1257. punpckhwd xmm2,xmm0
  1258. pslld xmm3,0x18
  1259. por xmm3,xmm6
  1260. movdqa xmm6,xmm4
  1261. punpcklwd xmm6,xmm0
  1262. punpckhwd xmm4,xmm0
  1263. pslld xmm2,0x18
  1264. por xmm3,xmm6
  1265. movdqa xmm6,xmm1
  1266. punpcklwd xmm6,xmm0
  1267. punpckhwd xmm1,xmm0
  1268. pslld xmm6,0x8
  1269. por xmm3,xmm6
  1270. movaps [rsp+0x80],xmm3
  1271. movdqa xmm3,xmm5
  1272. punpckhwd xmm3,xmm0
  1273. movdqa xmm0,xmm1
  1274. pslld xmm0,0x8
  1275. pslld xmm3,0x10
  1276. por xmm2,xmm3
  1277. por xmm2,xmm4
  1278. por xmm2,xmm0
  1279. movaps [rsp+0x90],xmm2
  1280. mov edi,[rsp+0x94]
  1281. mov esi,[rsp+0x98]
  1282. mov ecx,[rsp+0x9c]
  1283. jmp short 0x3a73
  1284. nop dword [rax]
  1285. mov rdx,r10
  1286. xor edi,[rax+rdx*4-0x20]
  1287. mov r10d,[rax+rdx*4-0x38]
  1288. mov rbx,r11
  1289. xor esi,[rax+rdx*4-0x1c]
  1290. xor ecx,[rax+rdx*4-0x18]
  1291. sub rbx,rdx
  1292. xor edi,r10d
  1293. xor edi,r9d
  1294. mov r9d,[rax+rdx*4-0x34]
  1295. rol edi,1
  1296. mov [rax+rdx*4],edi
  1297. xor esi,r9d
  1298. xor esi,r8d
  1299. mov r8d,[rax+rdx*4-0x30]
  1300. rol esi,1
  1301. mov [rax+rdx*4+0x4],esi
  1302. xor ecx,r8d
  1303. xor ecx,r10d
  1304. lea r10,[rdx+0x3]
  1305. rol ecx,1
  1306. cmp r10,byte +0x4f
  1307. mov [rax+rdx*4+0x8],ecx
  1308. jnz 0x3a70
  1309. lea rcx,[rax+0x130]
  1310. lea rsi,[rsp+rbx*4+0x190]
  1311. nop
  1312. nop word [cs:rax+rax+0x0]
  1313. mov edx,[rcx-0x14]
  1314. xor edx,[rcx]
  1315. xor edx,[rcx-0x2c]
  1316. xor edx,[rcx-0x34]
  1317. rol edx,1
  1318. mov [rcx+0xc],edx
  1319. add rcx,byte +0x4
  1320. cmp rcx,rsi
  1321. jnz 0x3ae0
  1322. mov r11d,r13d
  1323. mov r9d,[rsp+0x1c]
  1324. mov edi,r12d
  1325. mov r8d,r14d
  1326. mov esi,r15d
  1327. xor edx,edx
  1328. jmp short 0x3b57
  1329. xchg ax,ax
  1330. mov ecx,esi
  1331. mov r10d,r8d
  1332. mov ebx,0x5a827999
  1333. not ecx
  1334. and r10d,esi
  1335. and ecx,edi
  1336. or ecx,r10d
  1337. add r11d,[rax+rdx*4]
  1338. mov r10d,r9d
  1339. inc rdx
  1340. rol r10d,0x5
  1341. rol esi,0x1e
  1342. add r10d,r11d
  1343. add r10d,ecx
  1344. add r10d,ebx
  1345. cmp rdx,byte +0x50
  1346. jz dword 0x4f42
  1347. mov r11d,edi
  1348. mov edi,r8d
  1349. mov r8d,esi
  1350. mov esi,r9d
  1351. mov r9d,r10d
  1352. cmp rdx,byte +0x13
  1353. jna 0x3b10
  1354. cmp rdx,byte +0x27
  1355. ja dword 0x46d0
  1356. mov ecx,r8d
  1357. mov ebx,0x6ed9eba1
  1358. xor ecx,esi
  1359. xor ecx,edi
  1360. jmp short 0x3b24
  1361. movdqu xmm5,[rsp+0x3f4]
  1362. movdqu xmm4,[rsp+0x3e4]
  1363. mov edx,0x10
  1364. movdqu xmm6,[rsp+0x414]
  1365. movdqu xmm3,[rsp+0x404]
  1366. lea rax,[rsp+0x60]
  1367. movdqa xmm2,xmm4
  1368. movdqa xmm1,xmm4
  1369. punpckhbw xmm2,xmm5
  1370. punpcklbw xmm1,xmm5
  1371. punpcklbw xmm4,xmm5
  1372. movdqa xmm5,xmm3
  1373. punpckhbw xmm5,xmm6
  1374. mov r11d,0x4d
  1375. movdqa xmm0,xmm1
  1376. punpcklbw xmm4,xmm2
  1377. punpckhbw xmm0,xmm2
  1378. punpcklbw xmm1,xmm2
  1379. punpcklbw xmm4,xmm0
  1380. movdqa xmm7,xmm1
  1381. punpcklbw xmm1,xmm0
  1382. punpckhbw xmm7,xmm0
  1383. movdqa xmm0,xmm3
  1384. punpcklbw xmm0,xmm6
  1385. punpcklbw xmm3,xmm6
  1386. punpcklbw xmm1,xmm7
  1387. punpckhbw xmm4,xmm7
  1388. movdqa xmm2,xmm0
  1389. punpcklbw xmm0,xmm5
  1390. punpckhbw xmm2,xmm5
  1391. punpcklbw xmm3,xmm5
  1392. movdqa xmm6,xmm1
  1393. movdqa xmm7,xmm0
  1394. punpcklbw xmm0,xmm2
  1395. punpckhbw xmm7,xmm2
  1396. punpcklbw xmm3,xmm2
  1397. movdqa xmm2,xmm1
  1398. punpcklbw xmm0,xmm7
  1399. punpckhbw xmm3,xmm7
  1400. punpckhbw xmm6,xmm0
  1401. punpcklbw xmm2,xmm0
  1402. punpcklbw xmm1,xmm0
  1403. movdqa xmm0,xmm4
  1404. punpcklbw xmm0,xmm3
  1405. movdqa xmm5,xmm2
  1406. punpcklbw xmm2,xmm6
  1407. punpckhbw xmm5,xmm6
  1408. punpcklbw xmm1,xmm6
  1409. movdqa xmm6,xmm4
  1410. punpckhbw xmm6,xmm3
  1411. movdqa xmm7,xmm2
  1412. punpcklbw xmm4,xmm3
  1413. punpckhbw xmm7,xmm5
  1414. punpcklbw xmm2,xmm5
  1415. punpcklbw xmm1,xmm5
  1416. movdqa xmm5,xmm0
  1417. punpcklbw xmm0,xmm6
  1418. punpckhbw xmm5,xmm6
  1419. punpcklbw xmm2,xmm7
  1420. punpckhbw xmm1,xmm7
  1421. punpcklbw xmm4,xmm6
  1422. movdqa xmm7,xmm0
  1423. punpcklbw xmm0,xmm5
  1424. punpckhbw xmm7,xmm5
  1425. pxor xmm3,xmm3
  1426. movdqa xmm9,xmm1
  1427. punpcklbw xmm4,xmm5
  1428. movdqa xmm6,xmm2
  1429. punpcklbw xmm0,xmm7
  1430. punpcklbw xmm9,xmm3
  1431. punpckhbw xmm4,xmm7
  1432. punpcklbw xmm6,xmm3
  1433. movdqa xmm8,xmm0
  1434. movdqa xmm5,xmm0
  1435. pxor xmm0,xmm0
  1436. punpckhbw xmm2,xmm3
  1437. punpcklbw xmm8,xmm3
  1438. movdqa xmm7,xmm4
  1439. punpckhbw xmm5,xmm3
  1440. punpckhbw xmm1,xmm3
  1441. punpcklbw xmm7,xmm3
  1442. punpckhbw xmm4,xmm3
  1443. movdqa xmm3,xmm9
  1444. punpcklwd xmm3,xmm0
  1445. pslld xmm3,0x8
  1446. movaps [rsp+0x30],xmm3
  1447. movdqa xmm3,xmm8
  1448. punpcklwd xmm3,xmm0
  1449. punpckhwd xmm8,xmm0
  1450. pslld xmm3,0x10
  1451. por xmm3,[rsp+0x30]
  1452. pslld xmm8,0x10
  1453. movaps [rsp+0x30],xmm3
  1454. movdqa xmm3,xmm7
  1455. punpcklwd xmm3,xmm0
  1456. punpckhwd xmm7,xmm0
  1457. por xmm3,[rsp+0x30]
  1458. movaps [rsp+0x30],xmm3
  1459. movdqa xmm3,xmm6
  1460. punpcklwd xmm3,xmm0
  1461. punpckhwd xmm6,xmm0
  1462. pslld xmm3,0x18
  1463. por xmm3,[rsp+0x30]
  1464. pslld xmm6,0x18
  1465. movaps [rsp+0x30],xmm3
  1466. mov r9d,[rsp+0x30]
  1467. movaps [rsp+0x60],xmm3
  1468. movdqa xmm3,xmm9
  1469. punpckhwd xmm3,xmm0
  1470. mov r8d,[rsp+0x64]
  1471. pslld xmm3,0x8
  1472. por xmm3,xmm8
  1473. por xmm3,xmm7
  1474. por xmm3,xmm6
  1475. movdqa xmm6,xmm5
  1476. punpcklwd xmm6,xmm0
  1477. movaps [rsp+0x70],xmm3
  1478. movdqa xmm3,xmm1
  1479. punpcklwd xmm3,xmm0
  1480. pslld xmm6,0x10
  1481. punpckhwd xmm1,xmm0
  1482. pslld xmm3,0x8
  1483. por xmm3,xmm6
  1484. movdqa xmm6,xmm4
  1485. punpcklwd xmm6,xmm0
  1486. punpckhwd xmm4,xmm0
  1487. pslld xmm1,0x8
  1488. por xmm3,xmm6
  1489. movdqa xmm6,xmm2
  1490. punpcklwd xmm6,xmm0
  1491. punpckhwd xmm2,xmm0
  1492. pslld xmm6,0x18
  1493. por xmm3,xmm6
  1494. movaps [rsp+0x80],xmm3
  1495. movdqa xmm3,xmm5
  1496. punpckhwd xmm3,xmm0
  1497. movdqa xmm0,xmm2
  1498. pslld xmm0,0x18
  1499. pslld xmm3,0x10
  1500. por xmm1,xmm3
  1501. por xmm1,xmm4
  1502. por xmm1,xmm0
  1503. movaps [rsp+0x90],xmm1
  1504. mov edi,[rsp+0x94]
  1505. mov esi,[rsp+0x98]
  1506. mov ecx,[rsp+0x9c]
  1507. jmp short 0x3e13
  1508. nop dword [rax+0x0]
  1509. mov rdx,r10
  1510. xor edi,[rax+rdx*4-0x20]
  1511. mov r10d,[rax+rdx*4-0x38]
  1512. mov rbx,r11
  1513. xor esi,[rax+rdx*4-0x1c]
  1514. xor ecx,[rax+rdx*4-0x18]
  1515. sub rbx,rdx
  1516. xor edi,r10d
  1517. xor edi,r9d
  1518. mov r9d,[rax+rdx*4-0x34]
  1519. rol edi,1
  1520. mov [rax+rdx*4],edi
  1521. xor esi,r9d
  1522. xor esi,r8d
  1523. mov r8d,[rax+rdx*4-0x30]
  1524. rol esi,1
  1525. mov [rax+rdx*4+0x4],esi
  1526. xor ecx,r8d
  1527. xor ecx,r10d
  1528. lea r10,[rdx+0x3]
  1529. rol ecx,1
  1530. cmp r10,byte +0x4f
  1531. mov [rax+rdx*4+0x8],ecx
  1532. jnz 0x3e10
  1533. lea rcx,[rax+0x130]
  1534. lea rsi,[rsp+rbx*4+0x190]
  1535. nop
  1536. nop word [cs:rax+rax+0x0]
  1537. mov edx,[rcx-0x14]
  1538. xor edx,[rcx]
  1539. xor edx,[rcx-0x2c]
  1540. xor edx,[rcx-0x34]
  1541. rol edx,1
  1542. mov [rcx+0xc],edx
  1543. add rcx,byte +0x4
  1544. cmp rcx,rsi
  1545. jnz 0x3e80
  1546. mov r11d,r13d
  1547. mov r9d,[rsp+0x1c]
  1548. mov edi,r12d
  1549. mov r8d,r14d
  1550. mov esi,r15d
  1551. xor edx,edx
  1552. jmp short 0x3ef7
  1553. xchg ax,ax
  1554. mov ecx,esi
  1555. mov r10d,r8d
  1556. mov ebx,0x5a827999
  1557. not ecx
  1558. and r10d,esi
  1559. and ecx,edi
  1560. or ecx,r10d
  1561. add r11d,[rax+rdx*4]
  1562. mov r10d,r9d
  1563. inc rdx
  1564. rol r10d,0x5
  1565. rol esi,0x1e
  1566. add r10d,r11d
  1567. add r10d,ecx
  1568. add r10d,ebx
  1569. cmp rdx,byte +0x50
  1570. jz dword 0x4f6f
  1571. mov r11d,edi
  1572. mov edi,r8d
  1573. mov r8d,esi
  1574. mov esi,r9d
  1575. mov r9d,r10d
  1576. cmp rdx,byte +0x13
  1577. jna 0x3eb0
  1578. cmp rdx,byte +0x27
  1579. ja dword 0x46f8
  1580. mov ecx,r8d
  1581. mov ebx,0x6ed9eba1
  1582. xor ecx,esi
  1583. xor ecx,edi
  1584. jmp short 0x3ec4
  1585. movdqu xmm5,[rsp+0x3f4]
  1586. movdqu xmm4,[rsp+0x3e4]
  1587. mov dl,0x10
  1588. movdqu xmm6,[rsp+0x414]
  1589. movdqu xmm3,[rsp+0x404]
  1590. lea rax,[rsp+0x60]
  1591. movdqa xmm2,xmm4
  1592. movdqa xmm1,xmm4
  1593. punpckhbw xmm2,xmm5
  1594. punpcklbw xmm1,xmm5
  1595. punpcklbw xmm4,xmm5
  1596. movdqa xmm5,xmm3
  1597. punpckhbw xmm5,xmm6
  1598. mov r11d,0x4d
  1599. movdqa xmm0,xmm1
  1600. punpcklbw xmm4,xmm2
  1601. punpckhbw xmm0,xmm2
  1602. punpcklbw xmm1,xmm2
  1603. punpcklbw xmm4,xmm0
  1604. movdqa xmm7,xmm1
  1605. punpcklbw xmm1,xmm0
  1606. punpckhbw xmm7,xmm0
  1607. movdqa xmm0,xmm3
  1608. punpcklbw xmm0,xmm6
  1609. punpcklbw xmm3,xmm6
  1610. punpcklbw xmm1,xmm7
  1611. punpckhbw xmm4,xmm7
  1612. movdqa xmm2,xmm0
  1613. punpcklbw xmm0,xmm5
  1614. punpckhbw xmm2,xmm5
  1615. punpcklbw xmm3,xmm5
  1616. movdqa xmm6,xmm1
  1617. movdqa xmm7,xmm0
  1618. punpcklbw xmm0,xmm2
  1619. punpckhbw xmm7,xmm2
  1620. punpcklbw xmm3,xmm2
  1621. movdqa xmm2,xmm1
  1622. punpcklbw xmm0,xmm7
  1623. punpckhbw xmm3,xmm7
  1624. punpckhbw xmm6,xmm0
  1625. punpcklbw xmm2,xmm0
  1626. punpcklbw xmm1,xmm0
  1627. movdqa xmm0,xmm4
  1628. punpcklbw xmm0,xmm3
  1629. movdqa xmm5,xmm2
  1630. punpcklbw xmm2,xmm6
  1631. punpckhbw xmm5,xmm6
  1632. punpcklbw xmm1,xmm6
  1633. movdqa xmm6,xmm4
  1634. punpckhbw xmm6,xmm3
  1635. movdqa xmm7,xmm2
  1636. punpcklbw xmm4,xmm3
  1637. punpckhbw xmm7,xmm5
  1638. punpcklbw xmm2,xmm5
  1639. punpcklbw xmm1,xmm5
  1640. movdqa xmm5,xmm0
  1641. punpcklbw xmm0,xmm6
  1642. punpckhbw xmm5,xmm6
  1643. punpcklbw xmm2,xmm7
  1644. punpckhbw xmm1,xmm7
  1645. punpcklbw xmm4,xmm6
  1646. movdqa xmm7,xmm0
  1647. punpcklbw xmm0,xmm5
  1648. punpckhbw xmm7,xmm5
  1649. pxor xmm3,xmm3
  1650. movdqa xmm9,xmm2
  1651. punpcklbw xmm4,xmm5
  1652. movdqa xmm6,xmm1
  1653. punpcklbw xmm0,xmm7
  1654. punpcklbw xmm9,xmm3
  1655. punpckhbw xmm4,xmm7
  1656. punpckhbw xmm2,xmm3
  1657. movdqa xmm8,xmm0
  1658. movdqa xmm5,xmm0
  1659. pxor xmm0,xmm0
  1660. punpcklbw xmm8,xmm3
  1661. punpckhbw xmm5,xmm3
  1662. movdqa xmm7,xmm4
  1663. punpcklbw xmm6,xmm3
  1664. punpckhbw xmm1,xmm3
  1665. punpcklbw xmm7,xmm3
  1666. punpckhbw xmm4,xmm3
  1667. movdqa xmm3,xmm9
  1668. punpcklwd xmm3,xmm0
  1669. pslld xmm3,0x18
  1670. movaps [rsp+0x40],xmm3
  1671. movdqa xmm3,xmm8
  1672. punpcklwd xmm3,xmm0
  1673. punpckhwd xmm8,xmm0
  1674. pslld xmm3,0x10
  1675. por xmm3,[rsp+0x40]
  1676. pslld xmm8,0x10
  1677. movaps [rsp+0x40],xmm3
  1678. movdqa xmm3,xmm7
  1679. punpcklwd xmm3,xmm0
  1680. punpckhwd xmm7,xmm0
  1681. por xmm3,[rsp+0x40]
  1682. movaps [rsp+0x40],xmm3
  1683. movdqa xmm3,xmm6
  1684. punpcklwd xmm3,xmm0
  1685. punpckhwd xmm6,xmm0
  1686. pslld xmm3,0x8
  1687. por xmm3,[rsp+0x40]
  1688. pslld xmm6,0x8
  1689. movaps [rsp+0x40],xmm3
  1690. mov r9d,[rsp+0x40]
  1691. movaps [rsp+0x60],xmm3
  1692. movdqa xmm3,xmm9
  1693. punpckhwd xmm3,xmm0
  1694. mov r8d,[rsp+0x64]
  1695. pslld xmm3,0x18
  1696. por xmm3,xmm8
  1697. por xmm3,xmm7
  1698. por xmm3,xmm6
  1699. movdqa xmm6,xmm5
  1700. punpcklwd xmm6,xmm0
  1701. movaps [rsp+0x70],xmm3
  1702. movdqa xmm3,xmm2
  1703. punpcklwd xmm3,xmm0
  1704. pslld xmm6,0x10
  1705. punpckhwd xmm2,xmm0
  1706. pslld xmm3,0x18
  1707. por xmm3,xmm6
  1708. movdqa xmm6,xmm4
  1709. punpcklwd xmm6,xmm0
  1710. punpckhwd xmm4,xmm0
  1711. pslld xmm2,0x18
  1712. por xmm3,xmm6
  1713. movdqa xmm6,xmm1
  1714. punpcklwd xmm6,xmm0
  1715. punpckhwd xmm1,xmm0
  1716. pslld xmm6,0x8
  1717. por xmm3,xmm6
  1718. movaps [rsp+0x80],xmm3
  1719. movdqa xmm3,xmm5
  1720. punpckhwd xmm3,xmm0
  1721. movdqa xmm0,xmm1
  1722. pslld xmm0,0x8
  1723. pslld xmm3,0x10
  1724. por xmm2,xmm3
  1725. por xmm2,xmm4
  1726. por xmm2,xmm0
  1727. movaps [rsp+0x90],xmm2
  1728. mov edi,[rsp+0x94]
  1729. mov esi,[rsp+0x98]
  1730. mov ecx,[rsp+0x9c]
  1731. jmp short 0x41b3
  1732. nop dword [rax+0x0]
  1733. mov rdx,r10
  1734. xor edi,[rax+rdx*4-0x20]
  1735. mov r10d,[rax+rdx*4-0x38]
  1736. mov rbx,r11
  1737. xor esi,[rax+rdx*4-0x1c]
  1738. xor ecx,[rax+rdx*4-0x18]
  1739. sub rbx,rdx
  1740. xor edi,r10d
  1741. xor edi,r9d
  1742. mov r9d,[rax+rdx*4-0x34]
  1743. rol edi,1
  1744. mov [rax+rdx*4],edi
  1745. xor esi,r9d
  1746. xor esi,r8d
  1747. mov r8d,[rax+rdx*4-0x30]
  1748. rol esi,1
  1749. mov [rax+rdx*4+0x4],esi
  1750. xor ecx,r8d
  1751. xor ecx,r10d
  1752. lea r10,[rdx+0x3]
  1753. rol ecx,1
  1754. cmp r10,byte +0x4f
  1755. mov [rax+rdx*4+0x8],ecx
  1756. jnz 0x41b0
  1757. lea rcx,[rax+0x130]
  1758. lea rsi,[rsp+rbx*4+0x190]
  1759. nop
  1760. nop word [cs:rax+rax+0x0]
  1761. mov edx,[rcx-0x14]
  1762. xor edx,[rcx]
  1763. xor edx,[rcx-0x2c]
  1764. xor edx,[rcx-0x34]
  1765. rol edx,1
  1766. mov [rcx+0xc],edx
  1767. add rcx,byte +0x4
  1768. cmp rcx,rsi
  1769. jnz 0x4220
  1770. mov r11d,r13d
  1771. mov r9d,[rsp+0x1c]
  1772. mov edi,r12d
  1773. mov r8d,r14d
  1774. mov esi,r15d
  1775. xor edx,edx
  1776. jmp short 0x4297
  1777. xchg ax,ax
  1778. mov ecx,esi
  1779. mov r10d,r8d
  1780. mov ebx,0x5a827999
  1781. not ecx
  1782. and r10d,esi
  1783. and ecx,edi
  1784. or ecx,r10d
  1785. add r11d,[rax+rdx*4]
  1786. mov r10d,r9d
  1787. inc rdx
  1788. rol r10d,0x5
  1789. rol esi,0x1e
  1790. add r10d,r11d
  1791. add r10d,ecx
  1792. add r10d,ebx
  1793. cmp rdx,byte +0x50
  1794. jz dword 0x4fa2
  1795. mov r11d,edi
  1796. mov edi,r8d
  1797. mov r8d,esi
  1798. mov esi,r9d
  1799. mov r9d,r10d
  1800. cmp rdx,byte +0x13
  1801. jna 0x4250
  1802. cmp rdx,byte +0x27
  1803. ja dword 0x4720
  1804. mov ecx,r8d
  1805. mov ebx,0x6ed9eba1
  1806. xor ecx,esi
  1807. xor ecx,edi
  1808. jmp short 0x4264
  1809. movdqu xmm5,[rsp+0x3f4]
  1810. movdqu xmm4,[rsp+0x3e4]
  1811. mov dl,0x10
  1812. movdqu xmm6,[rsp+0x414]
  1813. movdqu xmm3,[rsp+0x404]
  1814. lea rax,[rsp+0x60]
  1815. movdqa xmm2,xmm4
  1816. movdqa xmm1,xmm4
  1817. punpckhbw xmm2,xmm5
  1818. punpcklbw xmm1,xmm5
  1819. punpcklbw xmm4,xmm5
  1820. movdqa xmm5,xmm3
  1821. punpckhbw xmm5,xmm6
  1822. mov r11d,0x4d
  1823. movdqa xmm0,xmm1
  1824. punpcklbw xmm4,xmm2
  1825. punpckhbw xmm0,xmm2
  1826. punpcklbw xmm1,xmm2
  1827. punpcklbw xmm4,xmm0
  1828. movdqa xmm7,xmm1
  1829. punpcklbw xmm1,xmm0
  1830. punpckhbw xmm7,xmm0
  1831. movdqa xmm0,xmm3
  1832. punpcklbw xmm0,xmm6
  1833. punpcklbw xmm3,xmm6
  1834. punpcklbw xmm1,xmm7
  1835. punpckhbw xmm4,xmm7
  1836. movdqa xmm2,xmm0
  1837. punpcklbw xmm0,xmm5
  1838. punpckhbw xmm2,xmm5
  1839. punpcklbw xmm3,xmm5
  1840. movdqa xmm6,xmm1
  1841. movdqa xmm7,xmm0
  1842. punpcklbw xmm0,xmm2
  1843. punpckhbw xmm7,xmm2
  1844. punpcklbw xmm3,xmm2
  1845. movdqa xmm2,xmm1
  1846. punpcklbw xmm0,xmm7
  1847. punpckhbw xmm3,xmm7
  1848. punpckhbw xmm6,xmm0
  1849. punpcklbw xmm2,xmm0
  1850. punpcklbw xmm1,xmm0
  1851. movdqa xmm0,xmm4
  1852. punpcklbw xmm0,xmm3
  1853. movdqa xmm5,xmm2
  1854. punpcklbw xmm2,xmm6
  1855. punpckhbw xmm5,xmm6
  1856. punpcklbw xmm1,xmm6
  1857. movdqa xmm6,xmm4
  1858. punpckhbw xmm6,xmm3
  1859. movdqa xmm7,xmm2
  1860. punpcklbw xmm4,xmm3
  1861. punpckhbw xmm7,xmm5
  1862. punpcklbw xmm2,xmm5
  1863. punpcklbw xmm1,xmm5
  1864. movdqa xmm5,xmm0
  1865. punpcklbw xmm0,xmm6
  1866. punpckhbw xmm5,xmm6
  1867. punpcklbw xmm2,xmm7
  1868. punpckhbw xmm1,xmm7
  1869. punpcklbw xmm4,xmm6
  1870. movdqa xmm7,xmm0
  1871. punpcklbw xmm0,xmm5
  1872. punpckhbw xmm7,xmm5
  1873. pxor xmm3,xmm3
  1874. movdqa xmm9,xmm1
  1875. punpcklbw xmm4,xmm5
  1876. movdqa xmm8,xmm2
  1877. punpcklbw xmm0,xmm7
  1878. punpcklbw xmm9,xmm3
  1879. punpckhbw xmm4,xmm7
  1880. punpcklbw xmm8,xmm3
  1881. movdqa xmm6,xmm0
  1882. movdqa xmm5,xmm0
  1883. pxor xmm0,xmm0
  1884. punpckhbw xmm2,xmm3
  1885. punpcklbw xmm6,xmm3
  1886. movdqa xmm7,xmm4
  1887. punpckhbw xmm5,xmm3
  1888. punpckhbw xmm1,xmm3
  1889. punpcklbw xmm7,xmm3
  1890. punpckhbw xmm4,xmm3
  1891. movdqa xmm3,xmm9
  1892. punpcklwd xmm3,xmm0
  1893. pslld xmm3,0x8
  1894. movaps [rsp+0x30],xmm3
  1895. movdqa xmm3,xmm8
  1896. punpcklwd xmm3,xmm0
  1897. punpckhwd xmm8,xmm0
  1898. pslld xmm3,0x18
  1899. por xmm3,[rsp+0x30]
  1900. pslld xmm8,0x18
  1901. movaps [rsp+0x30],xmm3
  1902. movdqa xmm3,xmm7
  1903. punpcklwd xmm3,xmm0
  1904. punpckhwd xmm7,xmm0
  1905. por xmm3,[rsp+0x30]
  1906. movaps [rsp+0x30],xmm3
  1907. movdqa xmm3,xmm6
  1908. punpcklwd xmm3,xmm0
  1909. punpckhwd xmm6,xmm0
  1910. pslld xmm3,0x10
  1911. por xmm3,[rsp+0x30]
  1912. pslld xmm6,0x10
  1913. movaps [rsp+0x30],xmm3
  1914. mov r9d,[rsp+0x30]
  1915. movaps [rsp+0x60],xmm3
  1916. movdqa xmm3,xmm9
  1917. punpckhwd xmm3,xmm0
  1918. mov r8d,[rsp+0x64]
  1919. pslld xmm3,0x8
  1920. por xmm3,xmm8
  1921. por xmm3,xmm7
  1922. por xmm3,xmm6
  1923. movdqa xmm6,xmm5
  1924. punpcklwd xmm6,xmm0
  1925. movaps [rsp+0x70],xmm3
  1926. movdqa xmm3,xmm1
  1927. punpcklwd xmm3,xmm0
  1928. pslld xmm6,0x10
  1929. punpckhwd xmm1,xmm0
  1930. pslld xmm3,0x8
  1931. por xmm3,xmm6
  1932. movdqa xmm6,xmm4
  1933. punpcklwd xmm6,xmm0
  1934. punpckhwd xmm4,xmm0
  1935. pslld xmm1,0x8
  1936. por xmm3,xmm6
  1937. movdqa xmm6,xmm2
  1938. punpcklwd xmm6,xmm0
  1939. punpckhwd xmm2,xmm0
  1940. pslld xmm6,0x18
  1941. por xmm3,xmm6
  1942. movaps [rsp+0x80],xmm3
  1943. movdqa xmm3,xmm5
  1944. punpckhwd xmm3,xmm0
  1945. movdqa xmm0,xmm2
  1946. pslld xmm0,0x18
  1947. pslld xmm3,0x10
  1948. por xmm1,xmm3
  1949. por xmm1,xmm4
  1950. por xmm1,xmm0
  1951. movaps [rsp+0x90],xmm1
  1952. mov edi,[rsp+0x94]
  1953. mov esi,[rsp+0x98]
  1954. mov ecx,[rsp+0x9c]
  1955. jmp short 0x4553
  1956. nop dword [rax+0x0]
  1957. mov rdx,r10
  1958. xor edi,[rax+rdx*4-0x20]
  1959. mov r10d,[rax+rdx*4-0x38]
  1960. mov rbx,r11
  1961. xor esi,[rax+rdx*4-0x1c]
  1962. xor ecx,[rax+rdx*4-0x18]
  1963. sub rbx,rdx
  1964. xor edi,r10d
  1965. xor edi,r9d
  1966. mov r9d,[rax+rdx*4-0x34]
  1967. rol edi,1
  1968. mov [rax+rdx*4],edi
  1969. xor esi,r9d
  1970. xor esi,r8d
  1971. mov r8d,[rax+rdx*4-0x30]
  1972. rol esi,1
  1973. mov [rax+rdx*4+0x4],esi
  1974. xor ecx,r8d
  1975. xor ecx,r10d
  1976. lea r10,[rdx+0x3]
  1977. rol ecx,1
  1978. cmp r10,byte +0x4f
  1979. mov [rax+rdx*4+0x8],ecx
  1980. jnz 0x4550
  1981. lea rcx,[rax+0x130]
  1982. lea rsi,[rsp+rbx*4+0x190]
  1983. nop
  1984. nop word [cs:rax+rax+0x0]
  1985. mov edx,[rcx-0x14]
  1986. xor edx,[rcx]
  1987. xor edx,[rcx-0x2c]
  1988. xor edx,[rcx-0x34]
  1989. rol edx,1
  1990. mov [rcx+0xc],edx
  1991. add rcx,byte +0x4
  1992. cmp rcx,rsi
  1993. jnz 0x45c0
  1994. mov r11d,r13d
  1995. mov r9d,[rsp+0x1c]
  1996. mov edi,r12d
  1997. mov r8d,r14d
  1998. mov esi,r15d
  1999. xor edx,edx
  2000. jmp short 0x4637
  2001. xchg ax,ax
  2002. mov ecx,esi
  2003. mov r10d,r8d
  2004. mov ebx,0x5a827999
  2005. not ecx
  2006. and r10d,esi
  2007. and ecx,edi
  2008. or ecx,r10d
  2009. add r11d,[rax+rdx*4]
  2010. mov r10d,r9d
  2011. inc rdx
  2012. rol r10d,0x5
  2013. rol esi,0x1e
  2014. add r10d,r11d
  2015. add r10d,ecx
  2016. add r10d,ebx
  2017. cmp rdx,byte +0x50
  2018. jz dword 0x4f16
  2019. mov r11d,edi
  2020. mov edi,r8d
  2021. mov r8d,esi
  2022. mov esi,r9d
  2023. mov r9d,r10d
  2024. cmp rdx,byte +0x13
  2025. jna 0x45f0
  2026. cmp rdx,byte +0x27
  2027. ja 0x4680
  2028. mov ecx,r8d
  2029. mov ebx,0x6ed9eba1
  2030. xor ecx,esi
  2031. xor ecx,edi
  2032. jmp short 0x4604
  2033. nop dword [rax+0x0]
  2034. cmp rdx,byte +0x3b
  2035. ja dword 0x4740
  2036. mov ecx,edi
  2037. mov r11d,edi
  2038. or ecx,r8d
  2039. and r11d,r8d
  2040. and ecx,esi
  2041. or ecx,r11d
  2042. mov r11d,0x8f1bbcdc
  2043. jmp dword 0x33e5
  2044. nop dword [rax]
  2045. cmp rdx,byte +0x3b
  2046. ja dword 0x4770
  2047. mov ecx,edi
  2048. mov r10d,edi
  2049. mov ebx,0x8f1bbcdc
  2050. or ecx,r8d
  2051. and r10d,r8d
  2052. and ecx,esi
  2053. or ecx,r10d
  2054. jmp dword 0x4604
  2055. nop dword [rax+0x0]
  2056. cmp rdx,byte +0x3b
  2057. ja dword 0x47a0
  2058. mov ecx,edi
  2059. mov r11d,edi
  2060. or ecx,r8d
  2061. and r11d,r8d
  2062. and ecx,esi
  2063. or ecx,r11d
  2064. mov r11d,0x8f1bbcdc
  2065. jmp dword 0x3785
  2066. nop dword [rax]
  2067. cmp rdx,byte +0x3b
  2068. ja dword 0x4788
  2069. mov ecx,edi
  2070. mov r10d,edi
  2071. mov ebx,0x8f1bbcdc
  2072. or ecx,r8d
  2073. and r10d,r8d
  2074. and ecx,esi
  2075. or ecx,r10d
  2076. jmp dword 0x3b24
  2077. nop dword [rax+0x0]
  2078. cmp rdx,byte +0x3b
  2079. ja dword 0x47b8
  2080. mov ecx,edi
  2081. mov r10d,edi
  2082. mov ebx,0x8f1bbcdc
  2083. or ecx,r8d
  2084. and r10d,r8d
  2085. and ecx,esi
  2086. or ecx,r10d
  2087. jmp dword 0x3ec4
  2088. nop dword [rax+0x0]
  2089. cmp rdx,byte +0x3b
  2090. ja 0x4758
  2091. mov ecx,edi
  2092. mov r10d,edi
  2093. mov ebx,0x8f1bbcdc
  2094. or ecx,r8d
  2095. and r10d,r8d
  2096. and ecx,esi
  2097. or ecx,r10d
  2098. jmp dword 0x4264
  2099. mov ecx,r8d
  2100. mov r11d,0xca62c1d6
  2101. xor ecx,esi
  2102. xor ecx,edi
  2103. jmp dword 0x33e5
  2104. nop word [rax+rax+0x0]
  2105. mov ecx,r8d
  2106. mov ebx,0xca62c1d6
  2107. xor ecx,esi
  2108. xor ecx,edi
  2109. jmp dword 0x4264
  2110. nop dword [rax+0x0]
  2111. mov ecx,r8d
  2112. mov ebx,0xca62c1d6
  2113. xor ecx,esi
  2114. xor ecx,edi
  2115. jmp dword 0x4604
  2116. nop dword [rax+0x0]
  2117. mov ecx,r8d
  2118. mov ebx,0xca62c1d6
  2119. xor ecx,esi
  2120. xor ecx,edi
  2121. jmp dword 0x3b24
  2122. nop dword [rax+0x0]
  2123. mov ecx,r8d
  2124. mov r11d,0xca62c1d6
  2125. xor ecx,esi
  2126. xor ecx,edi
  2127. jmp dword 0x3785
  2128. nop word [rax+rax+0x0]
  2129. mov ecx,r8d
  2130. mov ebx,0xca62c1d6
  2131. xor ecx,esi
  2132. xor ecx,edi
  2133. jmp dword 0x3ec4
  2134. add [rsp+0x1c],ecx
  2135. add r15d,r9d
  2136. add r14d,esi
  2137. add r12d,r8d
  2138. add r13d,edi
  2139. mov eax,[rsp+0x1c]
  2140. lea rdi,[rsp+0x2c8]
  2141. bswap r15d
  2142. bswap r14d
  2143. bswap r12d
  2144. bswap r13d
  2145. mov [rsp+0x1a4],r15d
  2146. mov [rsp+0x1a8],r14d
  2147. bswap eax
  2148. mov [rsp+0x1ac],r12d
  2149. mov [rsp+0x1b0],r13d
  2150. mov [rsp+0x1a0],eax
  2151. call dword 0x1a50
  2152. mov rbx,[rel 0x20c3e8]
  2153. mov byte [rsp+0x3a8],0x0
  2154. lea rdi,[rsp+0x1d0]
  2155. mov rbp,[rel 0x20c3f0]
  2156. mov qword [rsp+0x2c8],0x60c350
  2157. xor esi,esi
  2158. mov qword [rsp+0x3a0],0x0
  2159. mov byte [rsp+0x3a9],0x0
  2160. add rdi,[rbx-0x18]
  2161. mov [rsp+0x1d0],rbx
  2162. mov qword [rsp+0x3b0],0x0
  2163. mov qword [rsp+0x3b8],0x0
  2164. mov qword [rsp+0x3c0],0x0
  2165. mov qword [rsp+0x3c8],0x0
  2166. mov [rdi],rbp
  2167. call dword 0x1c10
  2168. lea rdi,[rsp+0x1d8]
  2169. mov qword [rsp+0x1d0],0x60c698
  2170. mov qword [rsp+0x2c8],0x60c6c0
  2171. call dword 0x1cd0
  2172. lea rsi,[rsp+0x1d8]
  2173. lea rdi,[rsp+0x2c8]
  2174. call dword 0x1c10
  2175. lea rdi,[rsp+0x1d8]
  2176. mov edx,0x34
  2177. mov esi,0x409754
  2178. call dword 0x1af0
  2179. test rax,rax
  2180. lea rdi,[rsp+0x1d0]
  2181. mov rax,[rsp+0x1d0]
  2182. jz dword 0x4fdb
  2183. add rdi,[rax-0x18]
  2184. xor esi,esi
  2185. call dword 0x1cb0
  2186. mov edx,0x14
  2187. lea rsi,[rsp+0x1a0]
  2188. lea rdi,[rsp+0x1d0]
  2189. call dword 0x1b20
  2190. lea rdi,[rsp+0x1d8]
  2191. mov qword [rsp+0x1d0],0x60c698
  2192. mov qword [rsp+0x2c8],0x60c6c0
  2193. mov qword [rsp+0x1d8],0x60c370
  2194. call dword 0x1dc0
  2195. lea rdi,[rsp+0x240]
  2196. call dword 0x1c50
  2197. lea rdi,[rsp+0x210]
  2198. mov qword [rsp+0x1d8],0x60c5f0
  2199. call dword 0x1d70
  2200. mov rax,[rbx-0x18]
  2201. lea rdi,[rsp+0x2c8]
  2202. mov [rsp+0x1d0],rbx
  2203. mov [rsp+rax+0x1d0],rbp
  2204. mov qword [rsp+0x2c8],0x60c350
  2205. call dword 0x1c40
  2206. mov rax,[rsp+0x1c0]
  2207. lea rdi,[rax-0x18]
  2208. cmp rdi,0x60c660
  2209. jnz dword 0x58ce
  2210. mov r10,[rsp+0x438]
  2211. xor r10,[fs:0x28]
  2212. jnz dword 0x58fc
  2213. add rsp,0x448
  2214. pop rbx
  2215. pop rbp
  2216. pop r12
  2217. pop r13
  2218. pop r14
  2219. pop r15
  2220. ret
  2221. mov byte [rsp+0x3e4],0x80
  2222. mov eax,0x1
  2223. mov byte [rsp+0x20],0x0
  2224. mov r14d,0x98badcfe
  2225. mov r13d,0xc3d2e1f0
  2226. mov r15d,0xefcdab89
  2227. mov r12d,0x10325476
  2228. mov dword [rsp+0x1c],0x67452301
  2229. mov byte [rsp+0x50],0x0
  2230. mov qword [rsp],0x0
  2231. mov byte [rsp+0x40],0x0
  2232. cmp rax,byte +0x37
  2233. lea rdx,[rax+0x1]
  2234. lea rbp,[rsp+0x3d0]
  2235. ja dword 0x4fef
  2236. lea r9,[rax+0x14]
  2237. mov r8,rax
  2238. mov rdx,rax
  2239. lea rsi,[rbp+r9+0x0]
  2240. not r8
  2241. neg rsi
  2242. add r8,byte +0x39
  2243. and esi,byte +0xf
  2244. cmp rsi,r8
  2245. cmova rsi,r8
  2246. test rsi,rsi
  2247. jz 0x4a9b
  2248. lea rdi,[rbp+0x14]
  2249. xchg ax,ax
  2250. mov byte [rdi+rdx],0x0
  2251. inc rdx
  2252. mov rcx,rdx
  2253. sub rcx,rax
  2254. cmp rcx,rsi
  2255. jc 0x4a80
  2256. cmp r8,rsi
  2257. jz dword 0x3003
  2258. mov r11,r8
  2259. sub r11,rsi
  2260. mov rdi,r11
  2261. shr rdi,0x4
  2262. mov r10,rdi
  2263. shl r10,0x4
  2264. jz 0x4b1b
  2265. lea rcx,[r9+rsi]
  2266. xor eax,eax
  2267. lea r8,[rdi-0x3]
  2268. add rcx,rbp
  2269. cmp rdi,byte +0x4
  2270. jna 0x4afa
  2271. xor esi,esi
  2272. pxor xmm0,xmm0
  2273. jmp short 0x4ad3
  2274. nop dword [rax+0x0]
  2275. mov rsi,rax
  2276. lea rax,[rsi+0x4]
  2277. add rsi,byte +0x5
  2278. prefetchw [rcx+0x280]
  2279. movaps [rcx],xmm0
  2280. movaps [rcx+0x10],xmm0
  2281. movaps [rcx+0x20],xmm0
  2282. movaps [rcx+0x30],xmm0
  2283. add rcx,byte +0x40
  2284. cmp r8,rsi
  2285. ja 0x4ad0
  2286. pxor xmm0,xmm0
  2287. xchg ax,ax
  2288. inc rax
  2289. movaps [rcx],xmm0
  2290. add rcx,byte +0x10
  2291. cmp rdi,rax
  2292. ja 0x4b00
  2293. add rdx,r10
  2294. cmp r11,r10
  2295. jz dword 0x3003
  2296. add rbp,byte +0x14
  2297. nop
  2298. mov byte [rbp+rdx+0x0],0x0
  2299. inc rdx
  2300. cmp rdx,byte +0x37
  2301. jna 0x4b20
  2302. jmp dword 0x3003
  2303. lea rbp,[rsp+0x3d0]
  2304. mov edx,0x10
  2305. lea rax,[rsp+0x60]
  2306. movdqu xmm5,[rbp+0x24]
  2307. movdqu xmm4,[rbp+0x14]
  2308. mov r11d,0x4d
  2309. movdqu xmm6,[rbp+0x44]
  2310. movdqu xmm3,[rbp+0x34]
  2311. movdqa xmm2,xmm4
  2312. movdqa xmm1,xmm4
  2313. punpckhbw xmm2,xmm5
  2314. punpcklbw xmm1,xmm5
  2315. punpcklbw xmm4,xmm5
  2316. movdqa xmm5,xmm3
  2317. punpckhbw xmm5,xmm6
  2318. movdqa xmm0,xmm1
  2319. punpcklbw xmm4,xmm2
  2320. punpckhbw xmm0,xmm2
  2321. punpcklbw xmm1,xmm2
  2322. punpcklbw xmm4,xmm0
  2323. movdqa xmm7,xmm1
  2324. punpcklbw xmm1,xmm0
  2325. punpckhbw xmm7,xmm0
  2326. movdqa xmm0,xmm3
  2327. punpcklbw xmm0,xmm6
  2328. punpcklbw xmm3,xmm6
  2329. punpcklbw xmm1,xmm7
  2330. punpckhbw xmm4,xmm7
  2331. movdqa xmm2,xmm0
  2332. punpcklbw xmm0,xmm5
  2333. punpckhbw xmm2,xmm5
  2334. punpcklbw xmm3,xmm5
  2335. movdqa xmm6,xmm1
  2336. movdqa xmm7,xmm0
  2337. punpcklbw xmm0,xmm2
  2338. punpckhbw xmm7,xmm2
  2339. punpcklbw xmm3,xmm2
  2340. movdqa xmm2,xmm1
  2341. punpcklbw xmm0,xmm7
  2342. punpckhbw xmm3,xmm7
  2343. punpckhbw xmm6,xmm0
  2344. punpcklbw xmm2,xmm0
  2345. punpcklbw xmm1,xmm0
  2346. movdqa xmm0,xmm4
  2347. punpcklbw xmm0,xmm3
  2348. movdqa xmm5,xmm2
  2349. punpcklbw xmm2,xmm6
  2350. punpckhbw xmm5,xmm6
  2351. punpcklbw xmm1,xmm6
  2352. movdqa xmm6,xmm4
  2353. punpckhbw xmm6,xmm3
  2354. movdqa xmm7,xmm2
  2355. punpcklbw xmm4,xmm3
  2356. punpckhbw xmm7,xmm5
  2357. punpcklbw xmm2,xmm5
  2358. punpcklbw xmm1,xmm5
  2359. movdqa xmm5,xmm0
  2360. punpcklbw xmm0,xmm6
  2361. punpckhbw xmm5,xmm6
  2362. punpcklbw xmm2,xmm7
  2363. punpckhbw xmm1,xmm7
  2364. punpcklbw xmm4,xmm6
  2365. movdqa xmm7,xmm0
  2366. punpcklbw xmm0,xmm5
  2367. punpckhbw xmm7,xmm5
  2368. pxor xmm3,xmm3
  2369. movdqa xmm9,xmm2
  2370. punpcklbw xmm4,xmm5
  2371. movdqa xmm6,xmm1
  2372. punpcklbw xmm0,xmm7
  2373. punpcklbw xmm9,xmm3
  2374. punpckhbw xmm4,xmm7
  2375. punpckhbw xmm2,xmm3
  2376. movdqa xmm8,xmm0
  2377. movdqa xmm5,xmm0
  2378. pxor xmm0,xmm0
  2379. punpcklbw xmm8,xmm3
  2380. punpckhbw xmm5,xmm3
  2381. movdqa xmm7,xmm4
  2382. punpcklbw xmm6,xmm3
  2383. punpckhbw xmm1,xmm3
  2384. punpcklbw xmm7,xmm3
  2385. punpckhbw xmm4,xmm3
  2386. movdqa xmm3,xmm9
  2387. punpcklwd xmm3,xmm0
  2388. pslld xmm3,0x18
  2389. movaps [rsp+0x30],xmm3
  2390. movdqa xmm3,xmm8
  2391. punpcklwd xmm3,xmm0
  2392. punpckhwd xmm8,xmm0
  2393. pslld xmm3,0x10
  2394. por xmm3,[rsp+0x30]
  2395. pslld xmm8,0x10
  2396. movaps [rsp+0x30],xmm3
  2397. movdqa xmm3,xmm7
  2398. punpcklwd xmm3,xmm0
  2399. punpckhwd xmm7,xmm0
  2400. por xmm3,[rsp+0x30]
  2401. movaps [rsp+0x30],xmm3
  2402. movdqa xmm3,xmm6
  2403. punpcklwd xmm3,xmm0
  2404. punpckhwd xmm6,xmm0
  2405. pslld xmm3,0x8
  2406. por xmm3,[rsp+0x30]
  2407. pslld xmm6,0x8
  2408. movaps [rsp+0x30],xmm3
  2409. mov r9d,[rsp+0x30]
  2410. movaps [rsp+0x60],xmm3
  2411. movdqa xmm3,xmm9
  2412. punpckhwd xmm3,xmm0
  2413. mov r8d,[rsp+0x64]
  2414. pslld xmm3,0x18
  2415. por xmm3,xmm8
  2416. por xmm3,xmm7
  2417. por xmm3,xmm6
  2418. movdqa xmm6,xmm5
  2419. punpcklwd xmm6,xmm0
  2420. movaps [rsp+0x70],xmm3
  2421. movdqa xmm3,xmm2
  2422. punpcklwd xmm3,xmm0
  2423. pslld xmm6,0x10
  2424. punpckhwd xmm2,xmm0
  2425. pslld xmm3,0x18
  2426. por xmm3,xmm6
  2427. movdqa xmm6,xmm4
  2428. punpcklwd xmm6,xmm0
  2429. punpckhwd xmm4,xmm0
  2430. pslld xmm2,0x18
  2431. por xmm3,xmm6
  2432. movdqa xmm6,xmm1
  2433. punpcklwd xmm6,xmm0
  2434. punpckhwd xmm1,xmm0
  2435. pslld xmm6,0x8
  2436. por xmm3,xmm6
  2437. movaps [rsp+0x80],xmm3
  2438. movdqa xmm3,xmm5
  2439. punpckhwd xmm3,xmm0
  2440. movdqa xmm0,xmm1
  2441. pslld xmm0,0x8
  2442. pslld xmm3,0x10
  2443. por xmm2,xmm3
  2444. por xmm2,xmm4
  2445. por xmm2,xmm0
  2446. movaps [rsp+0x90],xmm2
  2447. mov edi,[rsp+0x94]
  2448. mov esi,[rsp+0x98]
  2449. mov ecx,[rsp+0x9c]
  2450. jmp dword 0x4dcb
  2451. nop dword [rax]
  2452. mov rdx,r10
  2453. xor edi,[rax+rdx*4-0x20]
  2454. mov r10d,[rax+rdx*4-0x38]
  2455. xor esi,r8d
  2456. xor ecx,[rax+rdx*4-0x18]
  2457. xor esi,[rax+rdx*4-0x1c]
  2458. mov rbx,r11
  2459. mov r8d,[rax+rdx*4-0x30]
  2460. sub rbx,rdx
  2461. xor edi,r10d
  2462. xor edi,r9d
  2463. mov r9d,[rax+rdx*4-0x34]
  2464. xor ecx,r8d
  2465. xor ecx,r10d
  2466. lea r10,[rdx+0x3]
  2467. rol edi,1
  2468. rol ecx,1
  2469. mov [rax+rdx*4],edi
  2470. xor esi,r9d
  2471. mov [rax+rdx*4+0x8],ecx
  2472. rol esi,1
  2473. cmp r10,byte +0x4f
  2474. mov [rax+rdx*4+0x4],esi
  2475. jnz 0x4dc8
  2476. lea rcx,[rax+0x130]
  2477. lea rsi,[rsp+rbx*4+0x190]
  2478. nop word [rax+rax+0x0]
  2479. nop word [cs:rax+rax+0x0]
  2480. mov edx,[rcx-0x34]
  2481. xor edx,[rcx-0x2c]
  2482. xor edx,[rcx]
  2483. xor edx,[rcx-0x14]
  2484. rol edx,1
  2485. mov [rcx+0xc],edx
  2486. add rcx,byte +0x4
  2487. cmp rcx,rsi
  2488. jnz 0x4e40
  2489. mov r11d,r13d
  2490. mov r9d,[rsp+0x1c]
  2491. mov edi,r12d
  2492. mov r8d,r14d
  2493. mov esi,r15d
  2494. xor edx,edx
  2495. jmp short 0x4eb3
  2496. xchg ax,ax
  2497. mov ecx,esi
  2498. mov r10d,r8d
  2499. mov ebx,0x5a827999
  2500. not ecx
  2501. and r10d,esi
  2502. and ecx,edi
  2503. or ecx,r10d
  2504. add r11d,[rax+rdx*4]
  2505. mov r10d,r9d
  2506. inc rdx
  2507. rol r10d,0x5
  2508. rol esi,0x1e
  2509. add r10d,r11d
  2510. add r10d,ecx
  2511. add r10d,ebx
  2512. cmp rdx,byte +0x50
  2513. jz 0x4efe
  2514. mov r11d,edi
  2515. mov edi,r8d
  2516. mov r8d,esi
  2517. mov esi,r9d
  2518. mov r9d,r10d
  2519. cmp rdx,byte +0x13
  2520. jna 0x4e70
  2521. cmp rdx,byte +0x27
  2522. ja 0x4ed0
  2523. mov ecx,r8d
  2524. mov ebx,0x6ed9eba1
  2525. xor ecx,esi
  2526. xor ecx,edi
  2527. jmp short 0x4e84
  2528. nop dword [rax]
  2529. cmp rdx,byte +0x3b
  2530. ja 0x4ef0
  2531. mov ecx,edi
  2532. mov r10d,edi
  2533. mov ebx,0x8f1bbcdc
  2534. or ecx,r8d
  2535. and r10d,r8d
  2536. and ecx,esi
  2537. or ecx,r10d
  2538. jmp short 0x4e84
  2539. nop dword [rax]
  2540. mov ecx,r8d
  2541. mov ebx,0xca62c1d6
  2542. xor ecx,esi
  2543. xor ecx,edi
  2544. jmp short 0x4e84
  2545. add [rsp+0x1c],r10d
  2546. add r15d,r9d
  2547. add r14d,esi
  2548. add r12d,r8d
  2549. add r13d,edi
  2550. xor eax,eax
  2551. jmp dword 0x4a52
  2552. movzx eax,byte [rsp+0x40]
  2553. add [rsp+0x1c],r10d
  2554. add r15d,r9d
  2555. add r14d,esi
  2556. add r12d,r8d
  2557. add r13d,edi
  2558. mov byte [rsp+0x3e4],0x0
  2559. mov dl,0x2
  2560. mov [rsp+0x3e5],al
  2561. jmp dword 0x305e
  2562. movzx eax,byte [rsp+0x50]
  2563. movzx ecx,byte [rsp]
  2564. add r15d,r9d
  2565. add [rsp+0x1c],r10d
  2566. add r14d,esi
  2567. add r12d,r8d
  2568. add r13d,edi
  2569. mov [rsp+0x3e4],al
  2570. mov [rsp+0x3e5],cl
  2571. jmp dword 0x47d9
  2572. movzx eax,byte [rsp+0x40]
  2573. movzx ecx,byte [rsp+0x20]
  2574. add r15d,r9d
  2575. add [rsp+0x1c],r10d
  2576. add r14d,esi
  2577. add r12d,r8d
  2578. add r13d,edi
  2579. mov [rsp+0x3e4],al
  2580. mov eax,0x2
  2581. mov [rsp+0x3e5],cl
  2582. jmp dword 0x3078
  2583. movzx eax,byte [rsp+0x20]
  2584. movzx ecx,byte [rsp+0x50]
  2585. add r15d,r9d
  2586. movzx ebx,byte [rsp]
  2587. add [rsp+0x1c],r10d
  2588. add r14d,esi
  2589. add r12d,r8d
  2590. add r13d,edi
  2591. mov [rsp+0x3e4],al
  2592. mov [rsp+0x3e5],cl
  2593. mov [rsp+0x3e6],bl
  2594. jmp dword 0x47d9
  2595. add rdi,[rax-0x18]
  2596. mov esi,[rdi+0x20]
  2597. or esi,byte +0x4
  2598. call dword 0x1cb0
  2599. jmp dword 0x4918
  2600. cmp rdx,byte +0x40
  2601. mov byte [rsp+rax+0x3e4],0x0
  2602. jnz dword 0x53e6
  2603. movdqu xmm5,[rbp+0x24]
  2604. movdqu xmm4,[rbp+0x14]
  2605. mov dl,0x10
  2606. movdqu xmm6,[rbp+0x44]
  2607. movdqu xmm3,[rbp+0x34]
  2608. lea rax,[rsp+0x60]
  2609. movdqa xmm2,xmm4
  2610. movdqa xmm1,xmm4
  2611. punpckhbw xmm2,xmm5
  2612. punpcklbw xmm1,xmm5
  2613. punpcklbw xmm4,xmm5
  2614. movdqa xmm5,xmm3
  2615. punpckhbw xmm5,xmm6
  2616. mov r11d,0x4d
  2617. movdqa xmm0,xmm1
  2618. punpcklbw xmm4,xmm2
  2619. punpckhbw xmm0,xmm2
  2620. punpcklbw xmm1,xmm2
  2621. punpcklbw xmm4,xmm0
  2622. movdqa xmm7,xmm1
  2623. punpcklbw xmm1,xmm0
  2624. punpckhbw xmm7,xmm0
  2625. movdqa xmm0,xmm3
  2626. punpcklbw xmm0,xmm6
  2627. punpcklbw xmm3,xmm6
  2628. punpcklbw xmm1,xmm7
  2629. punpckhbw xmm4,xmm7
  2630. movdqa xmm2,xmm0
  2631. punpcklbw xmm0,xmm5
  2632. punpckhbw xmm2,xmm5
  2633. punpcklbw xmm3,xmm5
  2634. movdqa xmm6,xmm1
  2635. movdqa xmm7,xmm0
  2636. punpcklbw xmm0,xmm2
  2637. punpckhbw xmm7,xmm2
  2638. punpcklbw xmm3,xmm2
  2639. movdqa xmm2,xmm1
  2640. punpcklbw xmm0,xmm7
  2641. punpckhbw xmm3,xmm7
  2642. punpckhbw xmm6,xmm0
  2643. punpcklbw xmm2,xmm0
  2644. punpcklbw xmm1,xmm0
  2645. movdqa xmm0,xmm4
  2646. punpcklbw xmm0,xmm3
  2647. movdqa xmm5,xmm2
  2648. punpcklbw xmm2,xmm6
  2649. punpckhbw xmm5,xmm6
  2650. punpcklbw xmm1,xmm6
  2651. movdqa xmm6,xmm4
  2652. punpckhbw xmm6,xmm3
  2653. movdqa xmm7,xmm2
  2654. punpcklbw xmm4,xmm3
  2655. punpckhbw xmm7,xmm5
  2656. punpcklbw xmm2,xmm5
  2657. punpcklbw xmm1,xmm5
  2658. movdqa xmm5,xmm0
  2659. punpcklbw xmm0,xmm6
  2660. punpckhbw xmm5,xmm6
  2661. punpcklbw xmm2,xmm7
  2662. punpckhbw xmm1,xmm7
  2663. punpcklbw xmm4,xmm6
  2664. movdqa xmm7,xmm0
  2665. punpcklbw xmm0,xmm5
  2666. punpckhbw xmm7,xmm5
  2667. pxor xmm3,xmm3
  2668. movdqa xmm8,xmm2
  2669. punpcklbw xmm4,xmm5
  2670. movdqa xmm6,xmm1
  2671. punpcklbw xmm0,xmm7
  2672. punpcklbw xmm8,xmm3
  2673. punpckhbw xmm4,xmm7
  2674. punpckhbw xmm2,xmm3
  2675. movdqa xmm9,xmm0
  2676. movdqa xmm5,xmm0
  2677. pxor xmm0,xmm0
  2678. punpcklbw xmm9,xmm3
  2679. punpckhbw xmm5,xmm3
  2680. movdqa xmm7,xmm4
  2681. punpcklbw xmm6,xmm3
  2682. punpckhbw xmm1,xmm3
  2683. punpcklbw xmm7,xmm3
  2684. punpckhbw xmm4,xmm3
  2685. movdqa xmm3,xmm8
  2686. punpcklwd xmm3,xmm0
  2687. punpckhwd xmm8,xmm0
  2688. pslld xmm3,0x18
  2689. movaps [rsp+0x30],xmm3
  2690. movdqa xmm3,xmm9
  2691. punpcklwd xmm3,xmm0
  2692. pslld xmm8,0x18
  2693. pslld xmm3,0x10
  2694. por xmm3,[rsp+0x30]
  2695. movaps [rsp+0x30],xmm3
  2696. movdqa xmm3,xmm7
  2697. punpcklwd xmm3,xmm0
  2698. punpckhwd xmm7,xmm0
  2699. por xmm3,[rsp+0x30]
  2700. movaps [rsp+0x30],xmm3
  2701. movdqa xmm3,xmm6
  2702. punpcklwd xmm3,xmm0
  2703. punpckhwd xmm6,xmm0
  2704. pslld xmm3,0x8
  2705. por xmm3,[rsp+0x30]
  2706. pslld xmm6,0x8
  2707. movaps [rsp+0x30],xmm3
  2708. mov r9d,[rsp+0x30]
  2709. movaps [rsp+0x60],xmm3
  2710. movdqa xmm3,xmm9
  2711. punpckhwd xmm3,xmm0
  2712. mov r8d,[rsp+0x64]
  2713. pslld xmm3,0x10
  2714. por xmm3,xmm8
  2715. por xmm3,xmm7
  2716. por xmm3,xmm6
  2717. movdqa xmm6,xmm2
  2718. punpckhwd xmm2,xmm0
  2719. punpcklwd xmm6,xmm0
  2720. movaps [rsp+0x70],xmm3
  2721. movdqa xmm3,xmm1
  2722. punpckhwd xmm1,xmm0
  2723. punpcklwd xmm3,xmm0
  2724. pslld xmm6,0x18
  2725. pslld xmm2,0x18
  2726. pslld xmm1,0x8
  2727. por xmm1,xmm2
  2728. pslld xmm3,0x8
  2729. por xmm3,xmm6
  2730. movdqa xmm6,xmm4
  2731. punpckhwd xmm4,xmm0
  2732. punpcklwd xmm6,xmm0
  2733. por xmm1,xmm4
  2734. por xmm3,xmm6
  2735. movdqa xmm6,xmm5
  2736. punpckhwd xmm5,xmm0
  2737. punpcklwd xmm6,xmm0
  2738. movdqa xmm0,xmm5
  2739. pslld xmm6,0x10
  2740. pslld xmm0,0x10
  2741. por xmm3,xmm6
  2742. por xmm1,xmm0
  2743. movaps [rsp+0x80],xmm3
  2744. movaps [rsp+0x90],xmm1
  2745. mov edi,[rsp+0x94]
  2746. mov esi,[rsp+0x98]
  2747. mov ecx,[rsp+0x9c]
  2748. jmp short 0x528b
  2749. nop dword [rax+0x0]
  2750. mov rdx,r10
  2751. xor edi,[rax+rdx*4-0x20]
  2752. mov r10d,[rax+rdx*4-0x38]
  2753. mov rbx,r11
  2754. xor esi,[rax+rdx*4-0x1c]
  2755. xor ecx,[rax+rdx*4-0x18]
  2756. sub rbx,rdx
  2757. xor edi,r10d
  2758. xor edi,r9d
  2759. mov r9d,[rax+rdx*4-0x34]
  2760. rol edi,1
  2761. mov [rax+rdx*4],edi
  2762. xor esi,r9d
  2763. xor esi,r8d
  2764. mov r8d,[rax+rdx*4-0x30]
  2765. rol esi,1
  2766. mov [rax+rdx*4+0x4],esi
  2767. xor ecx,r8d
  2768. xor ecx,r10d
  2769. lea r10,[rdx+0x3]
  2770. rol ecx,1
  2771. cmp r10,byte +0x4f
  2772. mov [rax+rdx*4+0x8],ecx
  2773. jnz 0x5288
  2774. lea rcx,[rax+0x130]
  2775. lea rsi,[rsp+rbx*4+0x190]
  2776. nop word [rax+rax+0x0]
  2777. nop word [cs:rax+rax+0x0]
  2778. mov edx,[rcx-0x14]
  2779. xor edx,[rcx]
  2780. xor edx,[rcx-0x2c]
  2781. xor edx,[rcx-0x34]
  2782. rol edx,1
  2783. mov [rcx+0xc],edx
  2784. add rcx,byte +0x4
  2785. cmp rcx,rsi
  2786. jnz 0x5300
  2787. mov r11d,r13d
  2788. mov r9d,[rsp+0x1c]
  2789. mov edi,r12d
  2790. mov r8d,r14d
  2791. mov esi,r15d
  2792. xor edx,edx
  2793. jmp short 0x5373
  2794. xchg ax,ax
  2795. mov ecx,esi
  2796. mov r10d,r8d
  2797. mov ebx,0x5a827999
  2798. not ecx
  2799. and r10d,esi
  2800. and ecx,edi
  2801. or ecx,r10d
  2802. add r11d,[rax+rdx*4]
  2803. mov r10d,r9d
  2804. inc rdx
  2805. rol r10d,0x5
  2806. rol esi,0x1e
  2807. add r10d,r11d
  2808. add r10d,ecx
  2809. add r10d,ebx
  2810. cmp rdx,byte +0x50
  2811. jz 0x53be
  2812. mov r11d,edi
  2813. mov edi,r8d
  2814. mov r8d,esi
  2815. mov esi,r9d
  2816. mov r9d,r10d
  2817. cmp rdx,byte +0x13
  2818. jna 0x5330
  2819. cmp rdx,byte +0x27
  2820. ja 0x5390
  2821. mov ecx,r8d
  2822. mov ebx,0x6ed9eba1
  2823. xor ecx,esi
  2824. xor ecx,edi
  2825. jmp short 0x5344
  2826. nop dword [rax]
  2827. cmp rdx,byte +0x3b
  2828. ja 0x53b0
  2829. mov ecx,edi
  2830. mov r10d,edi
  2831. mov ebx,0x8f1bbcdc
  2832. or ecx,r8d
  2833. and r10d,r8d
  2834. and ecx,esi
  2835. or ecx,r10d
  2836. jmp short 0x5344
  2837. nop dword [rax]
  2838. mov ecx,r8d
  2839. mov ebx,0xca62c1d6
  2840. xor ecx,esi
  2841. xor ecx,edi
  2842. jmp short 0x5344
  2843. add [rsp+0x1c],r10d
  2844. add r15d,r9d
  2845. add r14d,esi
  2846. add r12d,r8d
  2847. add r13d,edi
  2848. mov byte [rsp+0x3e4],0x0
  2849. mov byte [rsp+0x3e5],0x0
  2850. mov dl,0x2
  2851. jmp dword 0x302e
  2852. add rax,byte +0x2
  2853. mov byte [rsp+rdx+0x3e4],0x0
  2854. cmp rax,byte +0x40
  2855. jnz dword 0x3018
  2856. movdqu xmm5,[rbp+0x24]
  2857. movdqu xmm4,[rbp+0x14]
  2858. mov edx,0x10
  2859. movdqu xmm6,[rbp+0x44]
  2860. movdqu xmm3,[rbp+0x34]
  2861. lea rax,[rsp+0x60]
  2862. movdqa xmm2,xmm4
  2863. movdqa xmm1,xmm4
  2864. punpckhbw xmm2,xmm5
  2865. punpcklbw xmm1,xmm5
  2866. punpcklbw xmm4,xmm5
  2867. movdqa xmm5,xmm3
  2868. punpckhbw xmm5,xmm6
  2869. mov r11d,0x4d
  2870. movdqa xmm0,xmm1
  2871. punpcklbw xmm4,xmm2
  2872. punpckhbw xmm0,xmm2
  2873. punpcklbw xmm1,xmm2
  2874. punpcklbw xmm4,xmm0
  2875. movdqa xmm7,xmm1
  2876. punpcklbw xmm1,xmm0
  2877. punpckhbw xmm7,xmm0
  2878. movdqa xmm0,xmm3
  2879. punpcklbw xmm0,xmm6
  2880. punpcklbw xmm3,xmm6
  2881. punpcklbw xmm1,xmm7
  2882. punpckhbw xmm4,xmm7
  2883. movdqa xmm2,xmm0
  2884. punpcklbw xmm0,xmm5
  2885. punpckhbw xmm2,xmm5
  2886. punpcklbw xmm3,xmm5
  2887. movdqa xmm6,xmm1
  2888. movdqa xmm7,xmm0
  2889. punpcklbw xmm0,xmm2
  2890. punpckhbw xmm7,xmm2
  2891. punpcklbw xmm3,xmm2
  2892. movdqa xmm2,xmm1
  2893. punpcklbw xmm0,xmm7
  2894. punpckhbw xmm3,xmm7
  2895. punpckhbw xmm6,xmm0
  2896. punpcklbw xmm2,xmm0
  2897. punpcklbw xmm1,xmm0
  2898. movdqa xmm0,xmm4
  2899. punpcklbw xmm0,xmm3
  2900. movdqa xmm5,xmm2
  2901. punpcklbw xmm2,xmm6
  2902. punpckhbw xmm5,xmm6
  2903. punpcklbw xmm1,xmm6
  2904. movdqa xmm6,xmm4
  2905. punpckhbw xmm6,xmm3
  2906. movdqa xmm7,xmm2
  2907. punpcklbw xmm4,xmm3
  2908. punpckhbw xmm7,xmm5
  2909. punpcklbw xmm2,xmm5
  2910. punpcklbw xmm1,xmm5
  2911. movdqa xmm5,xmm0
  2912. punpcklbw xmm0,xmm6
  2913. punpckhbw xmm5,xmm6
  2914. punpcklbw xmm2,xmm7
  2915. punpckhbw xmm1,xmm7
  2916. punpcklbw xmm4,xmm6
  2917. movdqa xmm7,xmm0
  2918. punpcklbw xmm0,xmm5
  2919. punpckhbw xmm7,xmm5
  2920. pxor xmm3,xmm3
  2921. movdqa xmm9,xmm2
  2922. punpcklbw xmm4,xmm5
  2923. movdqa xmm6,xmm1
  2924. punpcklbw xmm0,xmm7
  2925. punpcklbw xmm9,xmm3
  2926. punpckhbw xmm4,xmm7
  2927. punpckhbw xmm2,xmm3
  2928. movdqa xmm8,xmm0
  2929. movdqa xmm5,xmm0
  2930. pxor xmm0,xmm0
  2931. punpcklbw xmm8,xmm3
  2932. punpckhbw xmm5,xmm3
  2933. movdqa xmm7,xmm4
  2934. punpcklbw xmm6,xmm3
  2935. punpckhbw xmm1,xmm3
  2936. punpcklbw xmm7,xmm3
  2937. punpckhbw xmm4,xmm3
  2938. movdqa xmm3,xmm9
  2939. punpcklwd xmm3,xmm0
  2940. pslld xmm3,0x18
  2941. movaps [rsp+0x30],xmm3
  2942. movdqa xmm3,xmm8
  2943. punpcklwd xmm3,xmm0
  2944. punpckhwd xmm8,xmm0
  2945. pslld xmm3,0x10
  2946. por xmm3,[rsp+0x30]
  2947. pslld xmm8,0x10
  2948. movaps [rsp+0x30],xmm3
  2949. movdqa xmm3,xmm7
  2950. punpcklwd xmm3,xmm0
  2951. punpckhwd xmm7,xmm0
  2952. por xmm3,[rsp+0x30]
  2953. movaps [rsp+0x30],xmm3
  2954. movdqa xmm3,xmm6
  2955. punpcklwd xmm3,xmm0
  2956. punpckhwd xmm6,xmm0
  2957. pslld xmm3,0x8
  2958. por xmm3,[rsp+0x30]
  2959. pslld xmm6,0x8
  2960. movaps [rsp+0x30],xmm3
  2961. mov r9d,[rsp+0x30]
  2962. movaps [rsp+0x60],xmm3
  2963. movdqa xmm3,xmm9
  2964. punpckhwd xmm3,xmm0
  2965. mov r8d,[rsp+0x64]
  2966. pslld xmm3,0x18
  2967. por xmm3,xmm8
  2968. por xmm3,xmm7
  2969. por xmm3,xmm6
  2970. movdqa xmm6,xmm5
  2971. punpcklwd xmm6,xmm0
  2972. movaps [rsp+0x70],xmm3
  2973. movdqa xmm3,xmm2
  2974. punpcklwd xmm3,xmm0
  2975. pslld xmm6,0x10
  2976. punpckhwd xmm2,xmm0
  2977. pslld xmm3,0x18
  2978. por xmm3,xmm6
  2979. movdqa xmm6,xmm4
  2980. punpcklwd xmm6,xmm0
  2981. punpckhwd xmm4,xmm0
  2982. pslld xmm2,0x18
  2983. por xmm3,xmm6
  2984. movdqa xmm6,xmm1
  2985. punpcklwd xmm6,xmm0
  2986. punpckhwd xmm1,xmm0
  2987. pslld xmm6,0x8
  2988. por xmm3,xmm6
  2989. movaps [rsp+0x80],xmm3
  2990. movdqa xmm3,xmm5
  2991. punpckhwd xmm3,xmm0
  2992. movdqa xmm0,xmm1
  2993. pslld xmm0,0x8
  2994. pslld xmm3,0x10
  2995. por xmm2,xmm3
  2996. por xmm2,xmm4
  2997. por xmm2,xmm0
  2998. movaps [rsp+0x90],xmm2
  2999. mov edi,[rsp+0x94]
  3000. mov esi,[rsp+0x98]
  3001. mov ecx,[rsp+0x9c]
  3002. jmp short 0x568b
  3003. nop dword [rax+rax+0x0]
  3004. mov rdx,r10
  3005. xor edi,[rax+rdx*4-0x20]
  3006. mov r10d,[rax+rdx*4-0x38]
  3007. mov rbx,r11
  3008. xor esi,[rax+rdx*4-0x1c]
  3009. xor ecx,[rax+rdx*4-0x18]
  3010. sub rbx,rdx
  3011. xor edi,r10d
  3012. xor edi,r9d
  3013. mov r9d,[rax+rdx*4-0x34]
  3014. rol edi,1
  3015. mov [rax+rdx*4],edi
  3016. xor esi,r9d
  3017. xor esi,r8d
  3018. mov r8d,[rax+rdx*4-0x30]
  3019. rol esi,1
  3020. mov [rax+rdx*4+0x4],esi
  3021. xor ecx,r8d
  3022. xor ecx,r10d
  3023. lea r10,[rdx+0x3]
  3024. rol ecx,1
  3025. cmp r10,byte +0x4f
  3026. mov [rax+rdx*4+0x8],ecx
  3027. jnz 0x5688
  3028. lea rcx,[rax+0x130]
  3029. lea rsi,[rsp+rbx*4+0x190]
  3030. nop word [rax+rax+0x0]
  3031. nop word [cs:rax+rax+0x0]
  3032. mov edx,[rcx-0x14]
  3033. xor edx,[rcx]
  3034. xor edx,[rcx-0x2c]
  3035. xor edx,[rcx-0x34]
  3036. rol edx,1
  3037. mov [rcx+0xc],edx
  3038. add rcx,byte +0x4
  3039. cmp rcx,rsi
  3040. jnz 0x5700
  3041. mov r11d,r13d
  3042. mov r9d,[rsp+0x1c]
  3043. mov edi,r12d
  3044. mov r8d,r14d
  3045. mov esi,r15d
  3046. xor edx,edx
  3047. jmp short 0x5773
  3048. xchg ax,ax
  3049. mov ecx,esi
  3050. mov r10d,r8d
  3051. mov ebx,0x5a827999
  3052. not ecx
  3053. and r10d,esi
  3054. and ecx,edi
  3055. or ecx,r10d
  3056. add r11d,[rax+rdx*4]
  3057. mov r10d,r9d
  3058. inc rdx
  3059. rol r10d,0x5
  3060. rol esi,0x1e
  3061. add r10d,r11d
  3062. add r10d,ecx
  3063. add r10d,ebx
  3064. cmp rdx,byte +0x50
  3065. jz 0x57be
  3066. mov r11d,edi
  3067. mov edi,r8d
  3068. mov r8d,esi
  3069. mov esi,r9d
  3070. mov r9d,r10d
  3071. cmp rdx,byte +0x13
  3072. jna 0x5730
  3073. cmp rdx,byte +0x27
  3074. ja 0x5790
  3075. mov ecx,r8d
  3076. mov ebx,0x6ed9eba1
  3077. xor ecx,esi
  3078. xor ecx,edi
  3079. jmp short 0x5744
  3080. nop dword [rax]
  3081. cmp rdx,byte +0x3b
  3082. ja 0x57b0
  3083. mov ecx,edi
  3084. mov r10d,edi
  3085. mov ebx,0x8f1bbcdc
  3086. or ecx,r8d
  3087. and r10d,r8d
  3088. and ecx,esi
  3089. or ecx,r10d
  3090. jmp short 0x5744
  3091. nop dword [rax]
  3092. mov ecx,r8d
  3093. mov ebx,0xca62c1d6
  3094. xor ecx,esi
  3095. xor ecx,edi
  3096. jmp short 0x5744
  3097. add [rsp+0x1c],r10d
  3098. add r15d,r9d
  3099. add r14d,esi
  3100. add r12d,r8d
  3101. add r13d,edi
  3102. mov byte [rsp+0x3e4],0x0
  3103. mov byte [rsp+0x3e5],0x0
  3104. mov eax,0x2
  3105. jmp dword 0x3044
  3106. lea rdi,[rsp+0x1d0]
  3107. mov rbx,rax
  3108. call dword 0x1ba0
  3109. lea rdi,[rsp+0x1c0]
  3110. call dword 0x1b30
  3111. mov rdi,rbx
  3112. call dword 0x1d60
  3113. lea rdi,[rsp+0x240]
  3114. mov r12,rax
  3115. call dword 0x1c50
  3116. lea rdi,[rsp+0x1d8]
  3117. call dword 0x1bb0
  3118. mov rax,[rbx-0x18]
  3119. lea rdi,[rsp+0x2c8]
  3120. mov [rsp+0x1d0],rbx
  3121. mov rbx,r12
  3122. mov [rsp+rax+0x1d0],rbp
  3123. mov qword [rsp+0x2c8],0x60c350
  3124. call dword 0x1c40
  3125. jmp short 0x57f9
  3126. mov r12,rax
  3127. jmp short 0x581e
  3128. mov rbx,rax
  3129. jmp short 0x57f9
  3130. mov rbx,rax
  3131. lea rdi,[rsp+0x1c0]
  3132. call dword 0x1b30
  3133. mov rdi,rbx
  3134. call dword 0x1d60
  3135. mov rbx,rax
  3136. lea rdi,[rsp+0x2c8]
  3137. mov qword [rsp+0x2c8],0x60c350
  3138. call dword 0x1c40
  3139. jmp dword 0x57f9
  3140. mov rdx,[rbx-0x18]
  3141. mov [rsp+0x1d0],rbx
  3142. mov rbx,rax
  3143. mov [rsp+rdx+0x1d0],rbp
  3144. jmp short 0x5882
  3145. mov r12,rax
  3146. lea rdi,[rsp+0x1d8]
  3147. call dword 0x1cf0
  3148. mov rax,r12
  3149. jmp short 0x58a0
  3150. mov edx,0x401c80
  3151. test rdx,rdx
  3152. jz 0x5901
  3153. mov edx,0xffffffff
  3154. lock xadd [rax-0x8],edx
  3155. test edx,edx
  3156. jg dword 0x49cf
  3157. lea rsi,[rsp+0x1cf]
  3158. call dword 0x1b50
  3159. jmp dword 0x49cf
  3160. call dword 0x1c30
  3161. mov edx,[rax-0x8]
  3162. lea ecx,[rdx-0x1]
  3163. mov [rax-0x8],ecx
  3164. jmp short 0x58e2
  3165. nop
  3166. nop
  3167. nop
  3168. nop
  3169. nop
  3170. nop
  3171. nop
  3172. nop
  3173. nop
  3174. nop
  3175. nop
  3176. nop
  3177. nop
  3178. nop
  3179. nop
  3180. nop
  3181. nop
  3182. nop
  3183. nop
  3184. nop
  3185. push r12
  3186. xor eax,eax
  3187. test rsi,rsi
  3188. mov r12d,edx
  3189. push rbp
  3190. mov rbp,rdi
  3191. push rbx
  3192. mov rbx,rsi
  3193. mov [rbp+0x0],rsi
  3194. jz 0x5941
  3195. mov rax,[rsi]
  3196. mov rdi,rsi
  3197. call qword [rax+0x58]
  3198. test rbx,rbx
  3199. mov [rbp+0x8],eax
  3200. mov qword [rbp+0x10],0x60c678
  3201. mov [rbp+0x18],r12b
  3202. jz 0x596c
  3203. mov rdi,[rbp+0x0]
  3204. lea rbx,[rbp+0x10]
  3205. mov rax,[rdi]
  3206. call qword [rax+0x38]
  3207. cmp eax,[rbp+0x8]
  3208. jc 0x5978
  3209. mov byte [rbp+0x18],0x1
  3210. pop rbx
  3211. pop rbp
  3212. pop r12
  3213. ret
  3214. nop dword [rax+0x0]
  3215. mov rdi,[rbp+0x0]
  3216. mov rsi,rbx
  3217. call dword 0x8630
  3218. pop rbx
  3219. pop rbp
  3220. pop r12
  3221. ret
  3222. mov rbp,rax
  3223. mov rdi,rbx
  3224. call dword 0x1b30
  3225. mov rdi,rbp
  3226. call dword 0x1d60
  3227. nop
  3228. nop
  3229. nop
  3230. nop
  3231. push rbx
  3232. mov rbx,rdi
  3233. mov rdi,[rdi+0x30]
  3234. mov rax,[rdi]
  3235. call qword [rax+0x38]
  3236. cmp eax,byte -0x1
  3237. jz 0x59b9
  3238. add eax,[rbx+0x28]
  3239. sub eax,[rbx+0x2c]
  3240. pop rbx
  3241. ret
  3242. nop
  3243. nop dword [rax+0x0]
  3244. push rbx
  3245. mov rbx,rdi
  3246. mov rdi,[rdi+0x30]
  3247. mov rax,[rdi]
  3248. call qword [rax+0x40]
  3249. cmp rax,byte -0x1
  3250. jz 0x59e0
  3251. mov edx,[rbx+0x28]
  3252. mov ecx,[rbx+0x2c]
  3253. sub rdx,rcx
  3254. add rax,rdx
  3255. pop rbx
  3256. ret
  3257. nop word [cs:rax+rax+0x0]
  3258. mov [rsp-0x30],rbx
  3259. mov [rsp-0x28],rbp
  3260. mov rbx,rdi
  3261. mov [rsp-0x20],r12
  3262. mov [rsp-0x18],r13
  3263. mov r12d,edx
  3264. mov [rsp-0x10],r14
  3265. mov [rsp-0x8],r15
  3266. sub rsp,byte +0x38
  3267. mov ebp,[rdi+0x2c]
  3268. mov r13,rsi
  3269. cmp ebp,edx
  3270. jnc 0x5aa0
  3271. mov esi,[rdi+0x14]
  3272. mov r14d,ebp
  3273. mov rdx,r14
  3274. sub esi,ebp
  3275. add rsi,[rdi+0x20]
  3276. mov rdi,r13
  3277. call dword 0x1bd0
  3278. mov rax,[rbx]
  3279. sub [rbx+0x2c],ebp
  3280. mov rdi,rbx
  3281. mov r15,[rax+0x30]
  3282. call qword [rax+0x40]
  3283. mov rdi,rbx
  3284. mov rsi,rax
  3285. call r15
  3286. mov rdi,[rbx+0x30]
  3287. mov edx,r12d
  3288. lea rsi,[r13+r14+0x0]
  3289. sub edx,ebp
  3290. mov rax,[rdi]
  3291. call qword [rax+0x10]
  3292. lea r12d,[rax+rbp]
  3293. cmp eax,byte -0x1
  3294. mov eax,ebp
  3295. cmovnz eax,r12d
  3296. mov rbx,[rsp+0x8]
  3297. mov rbp,[rsp+0x10]
  3298. mov r12,[rsp+0x18]
  3299. mov r13,[rsp+0x20]
  3300. mov r14,[rsp+0x28]
  3301. mov r15,[rsp+0x30]
  3302. add rsp,byte +0x38
  3303. ret
  3304. nop word [cs:rax+rax+0x0]
  3305. mov esi,[rdi+0x14]
  3306. mov edx,edx
  3307. sub esi,ebp
  3308. add rsi,[rdi+0x20]
  3309. mov rdi,r13
  3310. call dword 0x1bd0
  3311. sub [rbx+0x2c],r12d
  3312. mov eax,r12d
  3313. jmp short 0x5a73
  3314. nop dword [rax+0x0]
  3315. mov [rsp-0x10],rbx
  3316. mov [rsp-0x8],rbp
  3317. mov rbx,rdi
  3318. sub rsp,byte +0x18
  3319. mov rdi,[rdi+0x30]
  3320. mov rax,[rdi]
  3321. call qword [rax+0x58]
  3322. mov ebp,eax
  3323. mov rax,[rbx]
  3324. mov rdi,rbx
  3325. call qword [rax+0x38]
  3326. cmp ebp,eax
  3327. ja 0x5b08
  3328. mov rax,[rbx]
  3329. mov rdi,rbx
  3330. mov rbp,[rsp+0x10]
  3331. mov rbx,[rsp+0x8]
  3332. mov rax,[rax+0x38]
  3333. add rsp,byte +0x18
  3334. jmp rax
  3335. nop dword [rax+0x0]
  3336. mov rdi,[rbx+0x30]
  3337. mov rbp,[rsp+0x10]
  3338. mov rbx,[rsp+0x8]
  3339. mov rax,[rdi]
  3340. mov rax,[rax+0x58]
  3341. add rsp,byte +0x18
  3342. jmp rax
  3343. nop
  3344. nop word [cs:rax+rax+0x0]
  3345. mov [rsp-0x10],rbx
  3346. mov [rsp-0x8],rbp
  3347. mov rbx,rdi
  3348. sub rsp,byte +0x18
  3349. mov rdi,[rdi+0x30]
  3350. mov rax,[rdi]
  3351. call qword [rax+0x60]
  3352. mov rbp,rax
  3353. mov rax,[rbx]
  3354. mov rdi,rbx
  3355. call qword [rax+0x40]
  3356. cmp rbp,rax
  3357. ja 0x5b80
  3358. mov rax,[rbx]
  3359. mov rdi,rbx
  3360. mov rbp,[rsp+0x10]
  3361. mov rbx,[rsp+0x8]
  3362. mov rax,[rax+0x40]
  3363. add rsp,byte +0x18
  3364. jmp rax
  3365. nop word [cs:rax+rax+0x0]
  3366. mov rdi,[rbx+0x30]
  3367. mov rbp,[rsp+0x10]
  3368. mov rbx,[rsp+0x8]
  3369. mov rax,[rdi]
  3370. mov rax,[rax+0x60]
  3371. add rsp,byte +0x18
  3372. jmp rax
  3373. nop
  3374. nop dword [rax+0x0]
  3375. mov [rsp-0x20],rbx
  3376. mov [rsp-0x18],rbp
  3377. mov rbx,rdi
  3378. mov [rsp-0x10],r12
  3379. mov [rsp-0x8],r13
  3380. sub rsp,byte +0x28
  3381. mov ebp,[rdi+0x14]
  3382. mov rdi,[rdi+0x30]
  3383. mov rax,[rdi]
  3384. call qword [rax+0x60]
  3385. mov rdi,[rbx+0x30]
  3386. mov r13d,[rbx+0x14]
  3387. mov r12,rax
  3388. mov rax,[rdi]
  3389. call qword [rax+0x40]
  3390. add r13,rax
  3391. cmp r12,r13
  3392. js 0x5c60
  3393. test ebp,ebp
  3394. jng 0x5c41
  3395. mov rdi,[rbx+0x30]
  3396. mov esi,[rbx+0x14]
  3397. mov edx,ebp
  3398. mov rax,[rdi]
  3399. sub esi,ebp
  3400. add rsi,[rbx+0x20]
  3401. call qword [rax+0x10]
  3402. test eax,eax
  3403. jng dword 0x5c80
  3404. cmp ebp,eax
  3405. jng 0x5c3e
  3406. mov ecx,[rbx+0x14]
  3407. sub ebp,eax
  3408. mov r8d,ecx
  3409. sub ecx,byte +0x1
  3410. sub r8d,eax
  3411. cmp r8d,ecx
  3412. jg 0x5c3e
  3413. movsxd rdx,ecx
  3414. movsxd rbp,ebp
  3415. nop
  3416. mov rsi,[rbx+0x20]
  3417. mov rdi,rdx
  3418. sub ecx,byte +0x1
  3419. sub rdi,rbp
  3420. movzx edi,byte [rsi+rdi]
  3421. mov [rsi+rdx],dil
  3422. sub rdx,byte +0x1
  3423. cmp r8d,ecx
  3424. jng 0x5c20
  3425. mov [rbx+0x2c],eax
  3426. mov rbx,[rsp+0x8]
  3427. mov rbp,[rsp+0x10]
  3428. mov r12,[rsp+0x18]
  3429. mov r13,[rsp+0x20]
  3430. add rsp,byte +0x28
  3431. ret
  3432. nop word [rax+rax+0x0]
  3433. mov rdi,[rbx+0x30]
  3434. mov rax,[rdi]
  3435. call qword [rax+0x60]
  3436. mov rdi,[rbx+0x30]
  3437. mov rbp,rax
  3438. mov rax,[rdi]
  3439. call qword [rax+0x40]
  3440. sub ebp,eax
  3441. jmp dword 0x5be1
  3442. xchg ax,ax
  3443. mov dword [rbx+0x2c],0x0
  3444. jmp short 0x5c41
  3445. nop
  3446. nop word [rax+rax+0x0]
  3447. push rbx
  3448. mov rbx,rdi
  3449. sub rsp,byte +0x10
  3450. cmp byte [rdi+0xd],0x2
  3451. mov qword [rdi],0x409830
  3452. jz 0x5cac
  3453. mov edx,[rdi+0x28]
  3454. test edx,edx
  3455. jnz 0x5cf8
  3456. mov rdi,[rbx+0x30]
  3457. test rdi,rdi
  3458. jz 0x5cbb
  3459. mov rax,[rdi]
  3460. call qword [rax+0x8]
  3461. mov rdi,[rbx+0x20]
  3462. test rdi,rdi
  3463. jz 0x5cc9
  3464. call dword 0x1ca0
  3465. mov rdi,[rbx+0x18]
  3466. test rdi,rdi
  3467. jz 0x5cd7
  3468. call dword 0x1ca0
  3469. mov rax,[rbx+0x38]
  3470. lea rdi,[rax-0x18]
  3471. cmp rdi,0x60c660
  3472. jnz 0x5d0f
  3473. mov qword [rbx],0x409910
  3474. add rsp,byte +0x10
  3475. pop rbx
  3476. ret
  3477. nop dword [rax]
  3478. mov rdi,[rdi+0x30]
  3479. mov rsi,[rbx+0x18]
  3480. mov rax,[rdi]
  3481. call qword [rax+0x18]
  3482. mov dword [rbx+0x28],0x0
  3483. jmp short 0x5cac
  3484. mov edx,0x401c80
  3485. test rdx,rdx
  3486. jz 0x5d31
  3487. or edx,byte -0x1
  3488. lock xadd [rax-0x8],edx
  3489. test edx,edx
  3490. jg 0x5ce8
  3491. lea rsi,[rsp+0xf]
  3492. call dword 0x1b50
  3493. jmp short 0x5ce8
  3494. mov edx,[rax-0x8]
  3495. lea ecx,[rdx-0x1]
  3496. mov [rax-0x8],ecx
  3497. jmp short 0x5d21
Advertisement
Add Comment
Please, Sign In to add comment