Guest User

Untitled

a guest
Nov 7th, 2019
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .text:00CA5DC8
  2. .text:00CA5DC8 ; =============== S U B R O U T I N E =======================================
  3. .text:00CA5DC8
  4. .text:00CA5DC8 ; Attributes: bp-based frame
  5. .text:00CA5DC8
  6. .text:00CA5DC8 sub_CA5DC8      proc near               ; CODE XREF: ProtocolCore+6D4p
  7. .text:00CA5DC8
  8. .text:00CA5DC8 var_EC          = dword ptr -0ECh
  9. .text:00CA5DC8 var_D8          = dword ptr -0D8h
  10. .text:00CA5DC8 var_D4          = dword ptr -0D4h
  11. .text:00CA5DC8 var_CC          = qword ptr -0CCh
  12. .text:00CA5DC8 var_C4          = qword ptr -0C4h
  13. .text:00CA5DC8 var_BC          = qword ptr -0BCh
  14. .text:00CA5DC8 var_B4          = qword ptr -0B4h
  15. .text:00CA5DC8 var_AC          = qword ptr -0ACh
  16. .text:00CA5DC8 var_A4          = dword ptr -0A4h
  17. .text:00CA5DC8 var_A0          = dword ptr -0A0h
  18. .text:00CA5DC8 var_9C          = byte ptr -9Ch
  19. .text:00CA5DC8 var_80          = dword ptr -80h
  20. .text:00CA5DC8 var_7C          = dword ptr -7Ch
  21. .text:00CA5DC8 var_78          = dword ptr -78h
  22. .text:00CA5DC8 var_74          = dword ptr -74h
  23. .text:00CA5DC8 var_6E          = byte ptr -6Eh
  24. .text:00CA5DC8 var_6D          = dword ptr -6Dh
  25. .text:00CA5DC8 var_68          = dword ptr -68h
  26. .text:00CA5DC8 var_64          = dword ptr -64h
  27. .text:00CA5DC8 var_60          = dword ptr -60h
  28. .text:00CA5DC8 var_5C          = dword ptr -5Ch
  29. .text:00CA5DC8 var_58          = dword ptr -58h
  30. .text:00CA5DC8 var_54          = word ptr -54h
  31. .text:00CA5DC8 var_4D          = byte ptr -4Dh
  32. .text:00CA5DC8 var_4C          = byte ptr -4Ch
  33. .text:00CA5DC8 var_4B          = byte ptr -4Bh
  34. .text:00CA5DC8 var_42          = byte ptr -42h
  35. .text:00CA5DC8 var_3F          = byte ptr -3Fh
  36. .text:00CA5DC8 var_3E          = byte ptr -3Eh
  37. .text:00CA5DC8 var_3D          = byte ptr -3Dh
  38. .text:00CA5DC8 var_3C          = dword ptr -3Ch
  39. .text:00CA5DC8 var_36          = byte ptr -36h
  40. .text:00CA5DC8 var_35          = byte ptr -35h
  41. .text:00CA5DC8 var_34          = dword ptr -34h
  42. .text:00CA5DC8 var_30          = dword ptr -30h
  43. .text:00CA5DC8 var_2C          = word ptr -2Ch
  44. .text:00CA5DC8 var_28          = byte ptr -28h
  45. .text:00CA5DC8 var_1E          = byte ptr -1Eh
  46. .text:00CA5DC8 var_1C          = dword ptr -1Ch
  47. .text:00CA5DC8 var_18          = dword ptr -18h
  48. .text:00CA5DC8 var_14          = dword ptr -14h
  49. .text:00CA5DC8 var_10          = dword ptr -10h
  50. .text:00CA5DC8 var_C           = dword ptr -0Ch
  51. .text:00CA5DC8 var_4           = dword ptr -4
  52. .text:00CA5DC8 arg_0           = dword ptr  8
  53. .text:00CA5DC8 arg_4           = dword ptr  0Ch
  54. .text:00CA5DC8
  55. .text:00CA5DC8                 push    ebp
  56. .text:00CA5DC9                 mov     ebp, esp
  57. .text:00CA5DCB                 push    0FFFFFFFFh
  58. .text:00CA5DCD                 push    offset SEH_CA5DC8
  59. .text:00CA5DD2                 mov     eax, large fs:0
  60. .text:00CA5DD8                 push    eax
  61. .text:00CA5DD9                 mov     large fs:0, esp
  62. .text:00CA5DE0                 sub     esp, 0C0h
  63. .text:00CA5DE6                 push    edi
  64. .text:00CA5DE7                 mov     eax, [ebp+arg_0]
  65. .text:00CA5DEA                 mov     [ebp+var_14], eax
  66. .text:00CA5DED                 mov     [ebp+var_10], 5
  67. .text:00CA5DF4                 and     [ebp+var_18], 0
  68. .text:00CA5DF8                 jmp     short loc_CA5E01
  69. .text:00CA5DFA ; ---------------------------------------------------------------------------
  70. .text:00CA5DFA
  71. .text:00CA5DFA loc_CA5DFA:                             ; CODE XREF: sub_CA5DC8+B17j
  72. .text:00CA5DFA                 mov     eax, [ebp+var_18]
  73. .text:00CA5DFD                 inc     eax
  74. .text:00CA5DFE                 mov     [ebp+var_18], eax
  75. .text:00CA5E01
  76. .text:00CA5E01 loc_CA5E01:                             ; CODE XREF: sub_CA5DC8+30j
  77. .text:00CA5E01                 mov     eax, [ebp+var_14]
  78. .text:00CA5E04                 movzx   eax, byte ptr [eax+4]
  79. .text:00CA5E08                 cmp     [ebp+var_18], eax
  80. .text:00CA5E0B                 jge     loc_CA68E4
  81. .text:00CA5E11                 mov     eax, [ebp+arg_0]
  82. .text:00CA5E14                 add     eax, [ebp+var_10]
  83. .text:00CA5E17                 mov     [ebp+var_30], eax
  84. .text:00CA5E1A                 mov     eax, [ebp+var_30]
  85. .text:00CA5E1D                 movzx   eax, byte ptr [eax]
  86. .text:00CA5E20                 shl     eax, 8
  87. .text:00CA5E23                 mov     ecx, [ebp+var_30]
  88. .text:00CA5E26                 movzx   ecx, byte ptr [ecx+1]
  89. .text:00CA5E2A                 add     eax, ecx
  90. .text:00CA5E2C                 mov     [ebp+var_2C], ax
  91. .text:00CA5E30                 movzx   eax, [ebp+var_2C]
  92. .text:00CA5E34                 sar     eax, 0Fh
  93. .text:00CA5E37                 mov     [ebp+var_1C], eax
  94. .text:00CA5E3A                 movzx   eax, [ebp+var_2C]
  95. .text:00CA5E3E                 and     eax, 7FFFh
  96. .text:00CA5E43                 mov     [ebp+var_2C], ax
  97. .text:00CA5E47                 push    0Ah
  98. .text:00CA5E49                 mov     eax, [ebp+var_30]
  99. .text:00CA5E4C                 add     eax, 17h
  100. .text:00CA5E4F                 push    eax
  101. .text:00CA5E50                 lea     eax, [ebp+var_28]
  102. .text:00CA5E53                 push    eax
  103. .text:00CA5E54                 call    loc_11B4460
  104. .text:00CA5E59 ; ---------------------------------------------------------------------------
  105. .text:00CA5E59                 add     esp, 0Ch
  106. .text:00CA5E5C                 mov     [ebp+var_1E], 0
  107. .text:00CA5E60                 push    0
  108. .text:00CA5E62                 push    offset asc_157E3C0 ; "webzen"
  109. .text:00CA5E67                 lea     eax, [ebp+var_28]
  110. .text:00CA5E6A                 push    eax
  111. .text:00CA5E6B                 call    sub_4E5CE9
  112. .text:00CA5E70 ; ---------------------------------------------------------------------------
  113. .text:00CA5E70                 add     esp, 0Ch
  114. .text:00CA5E73                 movzx   eax, al
  115. .text:00CA5E76                 test    eax, eax
  116. .text:00CA5E78                 jnz     loc_CA68C3
  117. .text:00CA5E7E                 or      eax, 0FFFFFFFFh
  118. .text:00CA5E81                 mov     [ebp+var_54], ax
  119. .text:00CA5E85                 mov     [ebp+var_35], 0
  120. .text:00CA5E89                 mov     [ebp+var_3D], 0
  121. .text:00CA5E8D                 mov     [ebp+var_3F], 0
  122. .text:00CA5E91                 mov     [ebp+var_3E], 0
  123. .text:00CA5E95                 mov     [ebp+var_4D], 0
  124. .text:00CA5E99                 mov     [ebp+var_36], 0
  125. .text:00CA5E9D                 mov     eax, [ebp+var_30]
  126. .text:00CA5EA0                 movzx   eax, byte ptr [eax+4]
  127. .text:00CA5EA4                 and     eax, 7
  128. .text:00CA5EA7                 cmp     eax, 1
  129. .text:00CA5EAA                 jnz     short loc_CA5F20
  130. .text:00CA5EAC                 movzx   eax, [ebp+var_2C]
  131. .text:00CA5EB0                 push    eax
  132. .text:00CA5EB1                 call    sub_A36EC6
  133. .text:00CA5EB6                 pop     ecx
  134. .text:00CA5EB7                 mov     [ebp+var_34], eax
  135. .text:00CA5EBA                 push    [ebp+var_34]
  136. .text:00CA5EBD                 call    sub_458067
  137. .text:00CA5EC2                 mov     ecx, eax
  138. .text:00CA5EC4                 call    sub_A855D6
  139. .text:00CA5EC9                 mov     [ebp+var_60], eax
  140. .text:00CA5ECC                 cmp     [ebp+var_60], 0
  141. .text:00CA5ED0                 jz      short loc_CA5F1E
  142. .text:00CA5ED2                 mov     eax, [ebp+var_60]
  143. .text:00CA5ED5                 mov     ax, [eax+3Ch]
  144. .text:00CA5ED9                 mov     [ebp+var_54], ax
  145. .text:00CA5EDD                 mov     eax, [ebp+var_60]
  146. .text:00CA5EE0                 mov     al, [eax+17h]
  147. .text:00CA5EE3                 mov     [ebp+var_35], al
  148. .text:00CA5EE6                 mov     eax, [ebp+var_60]
  149. .text:00CA5EE9                 mov     al, [eax+18h]
  150. .text:00CA5EEC                 mov     [ebp+var_3D], al
  151. .text:00CA5EEF                 mov     eax, [ebp+var_60]
  152. .text:00CA5EF2                 mov     al, [eax+19h]
  153. .text:00CA5EF5                 mov     [ebp+var_3F], al
  154. .text:00CA5EF8                 mov     eax, [ebp+var_60]
  155. .text:00CA5EFB                 mov     al, [eax+16h]
  156. .text:00CA5EFE                 mov     [ebp+var_4D], al
  157. .text:00CA5F01                 mov     eax, [ebp+var_60]
  158. .text:00CA5F04                 mov     al, [eax+1Bh]
  159. .text:00CA5F07                 mov     [ebp+var_3E], al
  160. .text:00CA5F0A                 mov     eax, [ebp+var_60]
  161. .text:00CA5F0D                 cmp     eax, dword_9D056FC
  162. .text:00CA5F13                 jnz     short loc_CA5F1E
  163. .text:00CA5F15                 mov     eax, [ebp+var_60]
  164. .text:00CA5F18                 mov     al, [eax+14h]
  165. .text:00CA5F1B                 mov     [ebp+var_36], al
  166. .text:00CA5F1E
  167. .text:00CA5F1E loc_CA5F1E:                             ; CODE XREF: sub_CA5DC8+108j
  168. .text:00CA5F1E                                         ; sub_CA5DC8+14Bj
  169. .text:00CA5F1E                 jmp     short loc_CA5F92
  170. .text:00CA5F20 ; ---------------------------------------------------------------------------
  171. .text:00CA5F20
  172. .text:00CA5F20 loc_CA5F20:                             ; CODE XREF: sub_CA5DC8+E2j
  173. .text:00CA5F20                 movzx   eax, [ebp+var_2C]
  174. .text:00CA5F24                 push    eax
  175. .text:00CA5F25                 call    sub_A36EC6
  176. .text:00CA5F2A                 pop     ecx
  177. .text:00CA5F2B                 mov     [ebp+var_34], eax
  178. .text:00CA5F2E                 push    [ebp+var_34]
  179. .text:00CA5F31                 call    sub_458067
  180. .text:00CA5F36                 mov     ecx, eax
  181. .text:00CA5F38                 call    sub_A855D6
  182. .text:00CA5F3D                 mov     [ebp+var_64], eax
  183. .text:00CA5F40                 cmp     [ebp+var_64], 0
  184. .text:00CA5F44                 jz      short loc_CA5F92
  185. .text:00CA5F46                 mov     eax, [ebp+var_64]
  186. .text:00CA5F49                 mov     ax, [eax+3Ch]
  187. .text:00CA5F4D                 mov     [ebp+var_54], ax
  188. .text:00CA5F51                 mov     eax, [ebp+var_64]
  189. .text:00CA5F54                 mov     al, [eax+17h]
  190. .text:00CA5F57                 mov     [ebp+var_35], al
  191. .text:00CA5F5A                 mov     eax, [ebp+var_64]
  192. .text:00CA5F5D                 mov     al, [eax+18h]
  193. .text:00CA5F60                 mov     [ebp+var_3D], al
  194. .text:00CA5F63                 mov     eax, [ebp+var_64]
  195. .text:00CA5F66                 mov     al, [eax+19h]
  196. .text:00CA5F69                 mov     [ebp+var_3F], al
  197. .text:00CA5F6C                 mov     eax, [ebp+var_64]
  198. .text:00CA5F6F                 mov     al, [eax+1Bh]
  199. .text:00CA5F72                 mov     [ebp+var_3E], al
  200. .text:00CA5F75                 mov     eax, [ebp+var_64]
  201. .text:00CA5F78                 mov     al, [eax+16h]
  202. .text:00CA5F7B                 mov     [ebp+var_4D], al
  203. .text:00CA5F7E                 mov     eax, [ebp+var_64]
  204. .text:00CA5F81                 cmp     eax, dword_9D056FC
  205. .text:00CA5F87                 jnz     short loc_CA5F92
  206. .text:00CA5F89                 mov     eax, [ebp+var_64]
  207. .text:00CA5F8C                 mov     al, [eax+14h]
  208. .text:00CA5F8F                 mov     [ebp+var_36], al
  209. .text:00CA5F92
  210. .text:00CA5F92 loc_CA5F92:                             ; CODE XREF: sub_CA5DC8:loc_CA5F1Ej
  211. .text:00CA5F92                                         ; sub_CA5DC8+17Cj ...
  212. .text:00CA5F92                 push    ecx
  213. .text:00CA5F93                 fldz
  214. .text:00CA5F95                 fstp    [esp+0D4h+var_D4]
  215. .text:00CA5F98                 mov     eax, [ebp+var_30]
  216. .text:00CA5F9B                 movzx   eax, byte ptr [eax+3]
  217. .text:00CA5F9F                 push    eax
  218. .text:00CA5FA0                 mov     eax, [ebp+var_30]
  219. .text:00CA5FA3                 movzx   eax, byte ptr [eax+2]
  220. .text:00CA5FA7                 push    eax
  221. .text:00CA5FA8                 push    5C4h
  222. .text:00CA5FAD                 movzx   eax, [ebp+var_2C]
  223. .text:00CA5FB1                 push    eax
  224. .text:00CA5FB2                 call    sub_A388F4
  225. .text:00CA5FB7                 add     esp, 14h
  226. .text:00CA5FBA                 mov     [ebp+var_58], eax
  227. .text:00CA5FBD                 push    0
  228. .text:00CA5FBF                 mov     eax, [ebp+var_58]
  229. .text:00CA5FC2                 add     eax, 40Ch
  230. .text:00CA5FC7                 push    eax
  231. .text:00CA5FC8                 push    [ebp+var_58]
  232. .text:00CA5FCB                 call    sub_9E8DDF
  233. .text:00CA5FD0                 add     esp, 0Ch
  234. .text:00CA5FD3                 mov     eax, [ebp+var_58]
  235. .text:00CA5FD6                 add     eax, 40Ch
  236. .text:00CA5FDB                 mov     [ebp+var_5C], eax
  237. .text:00CA5FDE                 mov     eax, [ebp+var_30]
  238. .text:00CA5FE1                 movzx   eax, byte ptr [eax+4]
  239. .text:00CA5FE5                 push    eax
  240. .text:00CA5FE6                 call    sub_A45D0B
  241. .text:00CA5FEB                 pop     ecx
  242. .text:00CA5FEC                 mov     ecx, [ebp+var_58]
  243. .text:00CA5FEF                 mov     [ecx+12h], al
  244. .text:00CA5FF2                 mov     eax, [ebp+var_58]
  245. .text:00CA5FF5                 mov     byte ptr [eax+13h], 0
  246. .text:00CA5FF9                 mov     eax, [ebp+var_30]
  247. .text:00CA5FFC                 movzx   eax, byte ptr [eax+23h]
  248. .text:00CA6000                 and     eax, 0Fh
  249. .text:00CA6003                 mov     ecx, [ebp+var_58]
  250. .text:00CA6006                 mov     [ecx+1Fh], al
  251. .text:00CA6009                 mov     eax, [ebp+var_5C]
  252. .text:00CA600C                 mov     byte ptr [eax+30h], 1
  253. .text:00CA6010                 mov     eax, [ebp+var_30]
  254. .text:00CA6013                 movzx   eax, byte ptr [eax+15h]
  255. .text:00CA6017                 sar     eax, 5
  256. .text:00CA601A                 and     eax, 7
  257. .text:00CA601D                 mov     [ebp+var_A0], eax
  258. .text:00CA6023                 cmp     [ebp+var_A0], 1
  259. .text:00CA602A                 jz      short loc_CA6050
  260. .text:00CA602C                 cmp     [ebp+var_A0], 2
  261. .text:00CA6033                 jz      short loc_CA606B
  262. .text:00CA6035                 cmp     [ebp+var_A0], 3
  263. .text:00CA603C                 jz      short loc_CA609F
  264. .text:00CA603E                 cmp     [ebp+var_A0], 4
  265. .text:00CA6045                 jz      loc_CA60D3
  266. .text:00CA604B                 jmp     loc_CA6105
  267. .text:00CA6050 ; ---------------------------------------------------------------------------
  268. .text:00CA6050
  269. .text:00CA6050 loc_CA6050:                             ; CODE XREF: sub_CA5DC8+262j
  270. .text:00CA6050                 push    [ebp+var_58]
  271. .text:00CA6053                 call    sub_7655BE
  272. .text:00CA6058                 pop     ecx
  273. .text:00CA6059                 push    [ebp+arg_4]
  274. .text:00CA605C                 push    [ebp+arg_0]
  275. .text:00CA605F                 call    sub_C9E1B4
  276. .text:00CA6064                 pop     ecx
  277. .text:00CA6065                 pop     ecx
  278. .text:00CA6066                 jmp     loc_CA6105
  279. .text:00CA606B ; ---------------------------------------------------------------------------
  280. .text:00CA606B
  281. .text:00CA606B loc_CA606B:                             ; CODE XREF: sub_CA5DC8+26Bj
  282. .text:00CA606B                 mov     eax, [ebp+var_58]
  283. .text:00CA606E                 movzx   eax, byte ptr [eax+12h]
  284. .text:00CA6072                 push    eax
  285. .text:00CA6073                 call    sub_4E0433
  286. .text:00CA6078                 pop     ecx
  287. .text:00CA6079                 test    eax, eax
  288. .text:00CA607B                 jnz     short loc_CA608E
  289. .text:00CA607D                 push    143h
  290. .text:00CA6082                 push    [ebp+var_5C]
  291. .text:00CA6085                 call    sub_5B2F40
  292. .text:00CA608A                 pop     ecx
  293. .text:00CA608B                 pop     ecx
  294. .text:00CA608C                 jmp     short loc_CA609D
  295. .text:00CA608E ; ---------------------------------------------------------------------------
  296. .text:00CA608E
  297. .text:00CA608E loc_CA608E:                             ; CODE XREF: sub_CA5DC8+2B3j
  298. .text:00CA608E                 push    145h
  299. .text:00CA6093                 push    [ebp+var_5C]
  300. .text:00CA6096                 call    sub_5B2F40
  301. .text:00CA609B                 pop     ecx
  302. .text:00CA609C                 pop     ecx
  303. .text:00CA609D
  304. .text:00CA609D loc_CA609D:                             ; CODE XREF: sub_CA5DC8+2C4j
  305. .text:00CA609D                 jmp     short loc_CA6105
  306. .text:00CA609F ; ---------------------------------------------------------------------------
  307. .text:00CA609F
  308. .text:00CA609F loc_CA609F:                             ; CODE XREF: sub_CA5DC8+274j
  309. .text:00CA609F                 mov     eax, [ebp+var_58]
  310. .text:00CA60A2                 movzx   eax, byte ptr [eax+12h]
  311. .text:00CA60A6                 push    eax
  312. .text:00CA60A7                 call    sub_4E0433
  313. .text:00CA60AC                 pop     ecx
  314. .text:00CA60AD                 test    eax, eax
  315. .text:00CA60AF                 jnz     short loc_CA60C2
  316. .text:00CA60B1                 push    149h
  317. .text:00CA60B6                 push    [ebp+var_5C]
  318. .text:00CA60B9                 call    sub_5B2F40
  319. .text:00CA60BE                 pop     ecx
  320. .text:00CA60BF                 pop     ecx
  321. .text:00CA60C0                 jmp     short loc_CA60D1
  322. .text:00CA60C2 ; ---------------------------------------------------------------------------
  323. .text:00CA60C2
  324. .text:00CA60C2 loc_CA60C2:                             ; CODE XREF: sub_CA5DC8+2E7j
  325. .text:00CA60C2                 push    14Ah
  326. .text:00CA60C7                 push    [ebp+var_5C]
  327. .text:00CA60CA                 call    sub_5B2F40
  328. .text:00CA60CF                 pop     ecx
  329. .text:00CA60D0                 pop     ecx
  330. .text:00CA60D1
  331. .text:00CA60D1 loc_CA60D1:                             ; CODE XREF: sub_CA5DC8+2F8j
  332. .text:00CA60D1                 jmp     short loc_CA6105
  333. .text:00CA60D3 ; ---------------------------------------------------------------------------
  334. .text:00CA60D3
  335. .text:00CA60D3 loc_CA60D3:                             ; CODE XREF: sub_CA5DC8+27Dj
  336. .text:00CA60D3                 mov     eax, [ebp+var_58]
  337. .text:00CA60D6                 movzx   eax, byte ptr [eax+12h]
  338. .text:00CA60DA                 push    eax
  339. .text:00CA60DB                 call    sub_4E0433
  340. .text:00CA60E0                 pop     ecx
  341. .text:00CA60E1                 test    eax, eax
  342. .text:00CA60E3                 jnz     short loc_CA60F6
  343. .text:00CA60E5                 push    147h
  344. .text:00CA60EA                 push    [ebp+var_5C]
  345. .text:00CA60ED                 call    sub_5B2F40
  346. .text:00CA60F2                 pop     ecx
  347. .text:00CA60F3                 pop     ecx
  348. .text:00CA60F4                 jmp     short loc_CA6105
  349. .text:00CA60F6 ; ---------------------------------------------------------------------------
  350. .text:00CA60F6
  351. .text:00CA60F6 loc_CA60F6:                             ; CODE XREF: sub_CA5DC8+31Bj
  352. .text:00CA60F6                 push    148h
  353. .text:00CA60FB                 push    [ebp+var_5C]
  354. .text:00CA60FE                 call    sub_5B2F40
  355. .text:00CA6103                 pop     ecx
  356. .text:00CA6104                 pop     ecx
  357. .text:00CA6105
  358. .text:00CA6105 loc_CA6105:                             ; CODE XREF: sub_CA5DC8+283j
  359. .text:00CA6105                                         ; sub_CA5DC8+29Ej ...
  360. .text:00CA6105                 mov     eax, [ebp+var_58]
  361. .text:00CA6108                 cmp     eax, dword_9D056FC
  362. .text:00CA610E                 jnz     short loc_CA612F
  363. .text:00CA6110                 call    sub_98A52D
  364. .text:00CA6115                 mov     ecx, eax
  365. .text:00CA6117                 call    sub_98B111
  366. .text:00CA611C                 test    eax, eax
  367. .text:00CA611E                 jz      short loc_CA612F
  368. .text:00CA6120                 push    150h
  369. .text:00CA6125                 push    [ebp+var_5C]
  370. .text:00CA6128                 call    sub_5B2F40
  371. .text:00CA612D                 pop     ecx
  372. .text:00CA612E                 pop     ecx
  373. .text:00CA612F
  374. .text:00CA612F loc_CA612F:                             ; CODE XREF: sub_CA5DC8+346j
  375. .text:00CA612F                                         ; sub_CA5DC8+356j
  376. .text:00CA612F                 mov     eax, [ebp+var_30]
  377. .text:00CA6132                 movzx   eax, byte ptr [eax+2]
  378. .text:00CA6136                 mov     ecx, [ebp+var_58]
  379. .text:00CA6139                 mov     [ecx+180h], eax
  380. .text:00CA613F                 mov     eax, [ebp+var_30]
  381. .text:00CA6142                 movzx   eax, byte ptr [eax+3]
  382. .text:00CA6146                 mov     ecx, [ebp+var_58]
  383. .text:00CA6149                 mov     [ecx+184h], eax
  384. .text:00CA614F                 mov     eax, [ebp+var_58]
  385. .text:00CA6152                 mov     ecx, [ebp+var_30]
  386. .text:00CA6155                 mov     cl, [ecx+21h]
  387. .text:00CA6158                 mov     [eax+2Dh], cl
  388. .text:00CA615B                 mov     eax, [ebp+var_58]
  389. .text:00CA615E                 mov     ecx, [ebp+var_30]
  390. .text:00CA6161                 mov     cl, [ecx+22h]
  391. .text:00CA6164                 mov     [eax+2Eh], cl
  392. .text:00CA6167                 mov     eax, [ebp+var_30]
  393. .text:00CA616A                 movzx   eax, byte ptr [eax+23h]
  394. .text:00CA616E                 sar     eax, 4
  395. .text:00CA6171                 mov     [ebp+var_A4], eax
  396. .text:00CA6177                 fild    [ebp+var_A4]
  397. .text:00CA617D                 fsub    ds:dbl_154EBA8
  398. .text:00CA6183                 fmul    ds:dbl_1555678
  399. .text:00CA6189                 push    2
  400. .text:00CA618B                 mov     ecx, [ebp+var_58]
  401. .text:00CA618E                 add     ecx, 534h
  402. .text:00CA6194                 fstp    [ebp+var_AC]
  403. .text:00CA619A                 call    sub_9DA4CA
  404. .text:00CA619F                 fld     [ebp+var_AC]
  405. .text:00CA61A5                 fstp    dword ptr [eax]
  406. .text:00CA61A7                 mov     eax, [ebp+var_30]
  407. .text:00CA61AA                 movzx   eax, byte ptr [eax+24h]
  408. .text:00CA61AE                 mov     ecx, [ebp+var_58]
  409. .text:00CA61B1                 mov     [ecx+420h], eax
  410. .text:00CA61B7                 mov     eax, [ebp+var_58]
  411. .text:00CA61BA                 mov     byte ptr [eax+434h], 0
  412. .text:00CA61C1                 mov     eax, [ebp+var_58]
  413. .text:00CA61C4                 mov     ecx, [ebp+var_30]
  414. .text:00CA61C7                 mov     cl, [ecx+3Eh]
  415. .text:00CA61CA                 mov     [eax+190h], cl
  416. .text:00CA61D0                 and     [ebp+var_68], 0
  417. .text:00CA61D4                 jmp     short loc_CA61DD
  418. .text:00CA61D6 ; ---------------------------------------------------------------------------
  419. .text:00CA61D6
  420. .text:00CA61D6 loc_CA61D6:                             ; CODE XREF: sub_CA5DC8:loc_CA62C9j
  421. .text:00CA61D6                 mov     eax, [ebp+var_68]
  422. .text:00CA61D9                 inc     eax
  423. .text:00CA61DA                 mov     [ebp+var_68], eax
  424. .text:00CA61DD
  425. .text:00CA61DD loc_CA61DD:                             ; CODE XREF: sub_CA5DC8+40Cj
  426. .text:00CA61DD                 cmp     [ebp+var_68], 3
  427. .text:00CA61E1                 jge     loc_CA62CE
  428. .text:00CA61E7                 mov     eax, [ebp+var_68]
  429. .text:00CA61EA                 mov     ecx, [ebp+var_58]
  430. .text:00CA61ED                 or      dword ptr [ecx+eax*4+3F0h], 0FFFFFFFFh
  431. .text:00CA61F5                 mov     eax, [ebp+var_68]
  432. .text:00CA61F8                 imul    eax, 3
  433. .text:00CA61FB                 mov     ecx, [ebp+var_30]
  434. .text:00CA61FE                 movzx   eax, byte ptr [ecx+eax+26h]
  435. .text:00CA6203                 and     eax, 0FFh
  436. .text:00CA6208                 movzx   eax, al
  437. .text:00CA620B                 mov     ecx, [ebp+var_68]
  438. .text:00CA620E                 imul    ecx, 3
  439. .text:00CA6211                 mov     edx, [ebp+var_30]
  440. .text:00CA6214                 movzx   ecx, byte ptr [edx+ecx+25h]
  441. .text:00CA6219                 and     ecx, 0FFh
  442. .text:00CA621F                 movzx   ecx, cl
  443. .text:00CA6222                 shl     ecx, 8
  444. .text:00CA6225                 or      eax, ecx
  445. .text:00CA6227                 mov     word ptr [ebp+var_6D+1], ax
  446. .text:00CA622B                 movzx   eax, word ptr [ebp+var_6D+1]
  447. .text:00CA622F                 cmp     eax, 0FFFFh
  448. .text:00CA6234                 jz      loc_CA62C9
  449. .text:00CA623A                 push    0Ch
  450. .text:00CA623C                 movzx   eax, word ptr [ebp+var_6D+1]
  451. .text:00CA6240                 push    eax
  452. .text:00CA6241                 call    sub_A765F5
  453. .text:00CA6246                 mov     ecx, eax
  454. .text:00CA6248                 call    sub_A77705
  455. .text:00CA624D ; ---------------------------------------------------------------------------
  456. .text:00CA624D                 movzx   eax, al
  457. .text:00CA6250                 test    eax, eax
  458. .text:00CA6252                 jz      short loc_CA62C9
  459. .text:00CA6254                 mov     eax, [ebp+var_68]
  460. .text:00CA6257                 imul    eax, 3
  461. .text:00CA625A                 mov     ecx, [ebp+var_30]
  462. .text:00CA625D                 mov     al, [ecx+eax+27h]
  463. .text:00CA6261                 mov     [ebp+var_6E], al
  464. .text:00CA6264                 movzx   eax, word ptr [ebp+var_6D+1]
  465. .text:00CA6268                 push    eax
  466. .text:00CA6269                 call    sub_5E6246
  467. .text:00CA626E                 mov     ecx, eax
  468. .text:00CA6270                 call    sub_C731B9
  469. .text:00CA6275                 mov     [ebp+var_74], eax
  470. .text:00CA6278                 mov     byte ptr [ebp+var_6D], 0
  471. .text:00CA627C                 cmp     [ebp+var_74], 0
  472. .text:00CA6280                 jz      short loc_CA629E
  473. .text:00CA6282                 movzx   eax, [ebp+var_6E]
  474. .text:00CA6286                 test    eax, eax
  475. .text:00CA6288                 jz      short loc_CA629A
  476. .text:00CA628A                 movzx   eax, [ebp+var_6E]
  477. .text:00CA628E                 mov     ecx, [ebp+var_74]
  478. .text:00CA6291                 movzx   ecx, byte ptr [ecx+9]
  479. .text:00CA6295                 inc     ecx
  480. .text:00CA6296                 cmp     eax, ecx
  481. .text:00CA6298                 jnz     short loc_CA629E
  482. .text:00CA629A
  483. .text:00CA629A loc_CA629A:                             ; CODE XREF: sub_CA5DC8+4C0j
  484. .text:00CA629A                 mov     byte ptr [ebp+var_6D], 1
  485. .text:00CA629E
  486. .text:00CA629E loc_CA629E:                             ; CODE XREF: sub_CA5DC8+4B8j
  487. .text:00CA629E                                         ; sub_CA5DC8+4D0j
  488. .text:00CA629E                 push    [ebp+var_6D]
  489. .text:00CA62A1                 push    [ebp+var_68]
  490. .text:00CA62A4                 push    [ebp+var_58]
  491. .text:00CA62A7                 movzx   eax, word ptr [ebp+var_6D+1]
  492. .text:00CA62AB                 push    eax
  493. .text:00CA62AC                 call    sub_502A7A
  494. .text:00CA62B1                 mov     ecx, eax
  495. .text:00CA62B3                 call    sub_C78F9D
  496. .text:00CA62B8                 movzx   eax, word ptr [ebp+var_6D+1]
  497. .text:00CA62BC                 mov     ecx, [ebp+var_68]
  498. .text:00CA62BF                 mov     edx, [ebp+var_58]
  499. .text:00CA62C2                 mov     [edx+ecx*4+3F0h], eax
  500. .text:00CA62C9
  501. .text:00CA62C9 loc_CA62C9:                             ; CODE XREF: sub_CA5DC8+46Cj
  502. .text:00CA62C9                                         ; sub_CA5DC8+48Aj
  503. .text:00CA62C9                 jmp     loc_CA61D6
  504. .text:00CA62CE ; ---------------------------------------------------------------------------
  505. .text:00CA62CE
  506. .text:00CA62CE loc_CA62CE:                             ; CODE XREF: sub_CA5DC8+419j
  507. .text:00CA62CE                 mov     eax, [ebp+var_30]
  508. .text:00CA62D1                 movzx   eax, byte ptr [eax+2Eh]
  509. .text:00CA62D5                 push    eax
  510. .text:00CA62D6                 mov     ecx, [ebp+var_58]
  511. .text:00CA62D9                 call    sub_ADB177
  512. .text:00CA62DE                 mov     eax, [ebp+var_30]
  513. .text:00CA62E1                 movzx   eax, byte ptr [eax+30h]
  514. .text:00CA62E5                 and     eax, 0FFh
  515. .text:00CA62EA                 movzx   eax, al
  516. .text:00CA62ED                 mov     ecx, [ebp+var_30]
  517. .text:00CA62F0                 movzx   ecx, byte ptr [ecx+2Fh]
  518. .text:00CA62F4                 and     ecx, 0FFh
  519. .text:00CA62FA                 movzx   ecx, cl
  520. .text:00CA62FD                 shl     ecx, 8
  521. .text:00CA6300                 or      eax, ecx
  522. .text:00CA6302                 mov     word ptr [ebp+var_3C], ax
  523. .text:00CA6306                 push    [ebp+var_3C]
  524. .text:00CA6309                 mov     ecx, [ebp+var_58]
  525. .text:00CA630C                 call    sub_4F782F
  526. .text:00CA6311                 mov     eax, [ebp+var_30]
  527. .text:00CA6314                 add     eax, 5
  528. .text:00CA6317                 push    eax
  529. .text:00CA6318                 mov     ecx, [ebp+var_58]
  530. .text:00CA631B                 call    sub_4F7848
  531. .text:00CA6320                 mov     eax, [ebp+var_30]
  532. .text:00CA6323                 movzx   eax, byte ptr [eax+31h]
  533. .text:00CA6327                 test    eax, eax
  534. .text:00CA6329                 jz      short loc_CA6334
  535. .text:00CA632B                 push    [ebp+var_58]
  536. .text:00CA632E                 call    sub_56F2AB
  537. .text:00CA6333 ; ---------------------------------------------------------------------------
  538. .text:00CA6333                 pop     ecx
  539. .text:00CA6334
  540. .text:00CA6334 loc_CA6334:                             ; CODE XREF: sub_CA5DC8+561j
  541. .text:00CA6334                 cmp     [ebp+var_1C], 0
  542. .text:00CA6338                 jz      loc_CA6403
  543. .text:00CA633E                 mov     eax, [ebp+var_58]
  544. .text:00CA6341                 fild    dword ptr [eax+180h]
  545. .text:00CA6347                 fadd    ds:dbl_154E790
  546. .text:00CA634D                 fmul    ds:dbl_15503E0
  547. .text:00CA6353                 push    0
  548. .text:00CA6355                 mov     ecx, [ebp+var_58]
  549. .text:00CA6358                 add     ecx, 528h
  550. .text:00CA635E                 fstp    [ebp+var_B4]
  551. .text:00CA6364                 call    sub_9DA4CA
  552. .text:00CA6369                 fld     [ebp+var_B4]
  553. .text:00CA636F                 fstp    dword ptr [eax]
  554. .text:00CA6371                 mov     eax, [ebp+var_58]
  555. .text:00CA6374                 fild    dword ptr [eax+184h]
  556. .text:00CA637A                 fadd    ds:dbl_154E790
  557. .text:00CA6380                 fmul    ds:dbl_15503E0
  558. .text:00CA6386                 push    1
  559. .text:00CA6388                 mov     ecx, [ebp+var_58]
  560. .text:00CA638B                 add     ecx, 528h
  561. .text:00CA6391                 fstp    [ebp+var_BC]
  562. .text:00CA6397                 call    sub_9DA4CA
  563. .text:00CA639C                 fld     [ebp+var_BC]
  564. .text:00CA63A2                 fstp    dword ptr [eax]
  565. .text:00CA63A4                 push    0FFFFFFFFh
  566. .text:00CA63A6                 push    ecx
  567. .text:00CA63A7                 fldz
  568. .text:00CA63A9                 fstp    [esp+0D8h+var_D8]
  569. .text:00CA63AC                 push    0
  570. .text:00CA63AE                 push    0
  571. .text:00CA63B0                 push    0
  572. .text:00CA63B2                 push    0FFFFFFFFh
  573. .text:00CA63B4                 push    [ebp+var_5C]
  574. .text:00CA63B7                 push    0
  575. .text:00CA63B9                 mov     ecx, [ebp+var_5C]
  576. .text:00CA63BC                 add     ecx, 0BCh
  577. .text:00CA63C2                 call    sub_9DA4F2
  578. .text:00CA63C7                 push    eax
  579. .text:00CA63C8                 mov     ecx, [ebp+var_5C]
  580. .text:00CA63CB                 add     ecx, 128h
  581. .text:00CA63D1                 call    sub_9DA4F2
  582. .text:00CA63D6                 push    eax
  583. .text:00CA63D7                 mov     ecx, [ebp+var_5C]
  584. .text:00CA63DA                 add     ecx, 11Ch
  585. .text:00CA63E0                 call    sub_9DA4F2
  586. .text:00CA63E5                 push    eax
  587. .text:00CA63E6                 push    7D90h
  588. .text:00CA63EB                 call    sub_6627F3
  589. .text:00CA63F0 ; ---------------------------------------------------------------------------
  590. .text:00CA63F0                 add     esp, 30h
  591. .text:00CA63F3                 mov     eax, [ebp+var_58]
  592. .text:00CA63F6                 fldz
  593. .text:00CA63F8                 fstp    dword ptr [eax+4C4h]
  594. .text:00CA63FE                 jmp     loc_CA6525
  595. .text:00CA6403 ; ---------------------------------------------------------------------------
  596. .text:00CA6403
  597. .text:00CA6403 loc_CA6403:                             ; CODE XREF: sub_CA5DC8+570j
  598. .text:00CA6403                 push    2
  599. .text:00CA6405                 push    ecx
  600. .text:00CA6406                 fldz
  601. .text:00CA6408                 fstp    [esp+0D8h+var_D8]
  602. .text:00CA640B                 mov     eax, [ebp+var_58]
  603. .text:00CA640E                 add     eax, 350h
  604. .text:00CA6413                 push    eax
  605. .text:00CA6414                 mov     eax, [ebp+var_58]
  606. .text:00CA6417                 movzx   eax, byte ptr [eax+2Eh]
  607. .text:00CA641B                 push    eax
  608. .text:00CA641C                 mov     eax, [ebp+var_58]
  609. .text:00CA641F                 movzx   eax, byte ptr [eax+2Dh]
  610. .text:00CA6423                 push    eax
  611. .text:00CA6424                 mov     eax, [ebp+var_58]
  612. .text:00CA6427                 push    dword ptr [eax+184h]
  613. .text:00CA642D                 mov     eax, [ebp+var_58]
  614. .text:00CA6430                 push    dword ptr [eax+180h]
  615. .text:00CA6436                 call    sub_5B3AE7
  616. .text:00CA643B                 add     esp, 1Ch
  617. .text:00CA643E                 movzx   eax, al
  618. .text:00CA6441                 test    eax, eax
  619. .text:00CA6443                 jz      short loc_CA6451
  620. .text:00CA6445                 mov     eax, [ebp+var_58]
  621. .text:00CA6448                 mov     byte ptr [eax+38h], 1
  622. .text:00CA644C                 jmp     loc_CA6525
  623. .text:00CA6451 ; ---------------------------------------------------------------------------
  624. .text:00CA6451
  625. .text:00CA6451 loc_CA6451:                             ; CODE XREF: sub_CA5DC8+67Bj
  626. .text:00CA6451                 push    4
  627. .text:00CA6453                 push    ecx
  628. .text:00CA6454                 fldz
  629. .text:00CA6456                 fstp    [esp+0D8h+var_D8]
  630. .text:00CA6459                 mov     eax, [ebp+var_58]
  631. .text:00CA645C                 add     eax, 350h
  632. .text:00CA6461                 push    eax
  633. .text:00CA6462                 mov     eax, [ebp+var_58]
  634. .text:00CA6465                 movzx   eax, byte ptr [eax+2Eh]
  635. .text:00CA6469                 push    eax
  636. .text:00CA646A                 mov     eax, [ebp+var_58]
  637. .text:00CA646D                 movzx   eax, byte ptr [eax+2Dh]
  638. .text:00CA6471                 push    eax
  639. .text:00CA6472                 mov     eax, [ebp+var_58]
  640. .text:00CA6475                 push    dword ptr [eax+184h]
  641. .text:00CA647B                 mov     eax, [ebp+var_58]
  642. .text:00CA647E                 push    dword ptr [eax+180h]
  643. .text:00CA6484                 call    sub_5B3AE7
  644. .text:00CA6489                 add     esp, 1Ch
  645. .text:00CA648C                 movzx   eax, al
  646. .text:00CA648F                 test    eax, eax
  647. .text:00CA6491                 jz      short loc_CA649F
  648. .text:00CA6493                 mov     eax, [ebp+var_58]
  649. .text:00CA6496                 mov     byte ptr [eax+38h], 1
  650. .text:00CA649A                 jmp     loc_CA6525
  651. .text:00CA649F ; ---------------------------------------------------------------------------
  652. .text:00CA649F
  653. .text:00CA649F loc_CA649F:                             ; CODE XREF: sub_CA5DC8+6C9j
  654. .text:00CA649F                 mov     eax, [ebp+var_58]
  655. .text:00CA64A2                 movzx   eax, byte ptr [eax+2Dh]
  656. .text:00CA64A6                 mov     ecx, [ebp+var_58]
  657. .text:00CA64A9                 mov     [ecx+180h], eax
  658. .text:00CA64AF                 mov     eax, [ebp+var_58]
  659. .text:00CA64B2                 movzx   eax, byte ptr [eax+2Eh]
  660. .text:00CA64B6                 mov     ecx, [ebp+var_58]
  661. .text:00CA64B9                 mov     [ecx+184h], eax
  662. .text:00CA64BF                 mov     eax, [ebp+var_58]
  663. .text:00CA64C2                 fild    dword ptr [eax+180h]
  664. .text:00CA64C8                 fmul    ds:dbl_15503E0
  665. .text:00CA64CE                 fadd    ds:dbl_154E9D0
  666. .text:00CA64D4                 push    0
  667. .text:00CA64D6                 mov     ecx, [ebp+var_5C]
  668. .text:00CA64D9                 add     ecx, 11Ch
  669. .text:00CA64DF                 fstp    [ebp+var_C4]
  670. .text:00CA64E5                 call    sub_9DA4CA
  671. .text:00CA64EA                 fld     [ebp+var_C4]
  672. .text:00CA64F0                 fstp    dword ptr [eax]
  673. .text:00CA64F2                 mov     eax, [ebp+var_58]
  674. .text:00CA64F5                 fild    dword ptr [eax+184h]
  675. .text:00CA64FB                 fmul    ds:dbl_15503E0
  676. .text:00CA6501                 fadd    ds:dbl_154E9D0
  677. .text:00CA6507                 push    1
  678. .text:00CA6509                 mov     ecx, [ebp+var_5C]
  679. .text:00CA650C                 add     ecx, 11Ch
  680. .text:00CA6512                 fstp    [ebp+var_CC]
  681. .text:00CA6518                 call    sub_9DA4CA
  682. .text:00CA651D                 fld     [ebp+var_CC]
  683. .text:00CA6523                 fstp    dword ptr [eax]
  684. .text:00CA6525
  685. .text:00CA6525 loc_CA6525:                             ; CODE XREF: sub_CA5DC8+636j
  686. .text:00CA6525                                         ; sub_CA5DC8+684j ...
  687. .text:00CA6525                 push    dword_177307C
  688. .text:00CA652B                 call    sub_50CB90
  689. .text:00CA6530                 pop     ecx
  690. .text:00CA6531                 movzx   eax, al
  691. .text:00CA6534                 test    eax, eax
  692. .text:00CA6536                 jz      short loc_CA658D
  693. .text:00CA6538                 push    0FFFFFFFFh
  694. .text:00CA653A                 push    0
  695. .text:00CA653C                 push    0FFFFFFFFh
  696. .text:00CA653E                 push    0
  697. .text:00CA6540                 push    0
  698. .text:00CA6542                 push    0FFFFFFFFh
  699. .text:00CA6544                 push    ecx
  700. .text:00CA6545                 fld     ds:flt_154F518
  701. .text:00CA654B                 fstp    [esp+0ECh+var_EC]
  702. .text:00CA654E                 push    [ebp+var_5C]
  703. .text:00CA6551                 push    8
  704. .text:00CA6553                 mov     ecx, [ebp+var_5C]
  705. .text:00CA6556                 add     ecx, 128h
  706. .text:00CA655C                 call    sub_9DA4F2
  707. .text:00CA6561                 push    eax
  708. .text:00CA6562                 mov     ecx, [ebp+var_5C]
  709. .text:00CA6565                 add     ecx, 11Ch
  710. .text:00CA656B                 call    sub_9DA4F2
  711. .text:00CA6570                 push    eax
  712. .text:00CA6571                 mov     ecx, [ebp+var_5C]
  713. .text:00CA6574                 add     ecx, 11Ch
  714. .text:00CA657A                 call    sub_9DA4F2
  715. .text:00CA657F                 push    eax
  716. .text:00CA6580                 push    7D84h
  717. .text:00CA6585                 call    sub_732811
  718. .text:00CA658A                 add     esp, 34h
  719. .text:00CA658D
  720. .text:00CA658D loc_CA658D:                             ; CODE XREF: sub_CA5DC8+76Ej
  721. .text:00CA658D                 mov     eax, [ebp+var_30]
  722. .text:00CA6590                 movzx   eax, byte ptr [eax+4]
  723. .text:00CA6594                 and     eax, 7
  724. .text:00CA6597                 cmp     eax, 1
  725. .text:00CA659A                 jnz     short loc_CA65FF
  726. .text:00CA659C                 cmp     [ebp+var_34], 190h
  727. .text:00CA65A3                 jz      short loc_CA65FF
  728. .text:00CA65A5                 mov     eax, [ebp+var_58]
  729. .text:00CA65A8                 mov     cx, [ebp+var_54]
  730. .text:00CA65AC                 mov     [eax+3Ch], cx
  731. .text:00CA65B0                 mov     eax, [ebp+var_58]
  732. .text:00CA65B3                 mov     cl, [ebp+var_35]
  733. .text:00CA65B6                 mov     [eax+17h], cl
  734. .text:00CA65B9                 mov     eax, [ebp+var_58]
  735. .text:00CA65BC                 mov     cl, [ebp+var_3D]
  736. .text:00CA65BF                 mov     [eax+18h], cl
  737. .text:00CA65C2                 mov     eax, [ebp+var_58]
  738. .text:00CA65C5                 mov     cl, [ebp+var_3F]
  739. .text:00CA65C8                 mov     [eax+19h], cl
  740. .text:00CA65CB                 mov     eax, [ebp+var_58]
  741. .text:00CA65CE                 mov     cl, [ebp+var_4D]
  742. .text:00CA65D1                 mov     [eax+16h], cl
  743. .text:00CA65D4                 mov     eax, [ebp+var_58]
  744. .text:00CA65D7                 mov     cl, [ebp+var_3E]
  745. .text:00CA65DA                 mov     [eax+1Bh], cl
  746. .text:00CA65DD                 push    [ebp+var_34]
  747. .text:00CA65E0                 call    sub_458067
  748. .text:00CA65E5                 mov     ecx, eax
  749. .text:00CA65E7                 call    sub_A855D6
  750. .text:00CA65EC                 cmp     eax, dword_9D056FC
  751. .text:00CA65F2                 jnz     short loc_CA65FD
  752. .text:00CA65F4                 mov     eax, [ebp+var_58]
  753. .text:00CA65F7                 mov     cl, [ebp+var_36]
  754. .text:00CA65FA                 mov     [eax+14h], cl
  755. .text:00CA65FD
  756. .text:00CA65FD loc_CA65FD:                             ; CODE XREF: sub_CA5DC8+82Aj
  757. .text:00CA65FD                 jmp     short loc_CA6657
  758. .text:00CA65FF ; ---------------------------------------------------------------------------
  759. .text:00CA65FF
  760. .text:00CA65FF loc_CA65FF:                             ; CODE XREF: sub_CA5DC8+7D2j
  761. .text:00CA65FF                                         ; sub_CA5DC8+7DBj
  762. .text:00CA65FF                 mov     eax, [ebp+var_58]
  763. .text:00CA6602                 mov     cx, [ebp+var_54]
  764. .text:00CA6606                 mov     [eax+3Ch], cx
  765. .text:00CA660A                 mov     eax, [ebp+var_58]
  766. .text:00CA660D                 mov     cl, [ebp+var_35]
  767. .text:00CA6610                 mov     [eax+17h], cl
  768. .text:00CA6613                 mov     eax, [ebp+var_58]
  769. .text:00CA6616                 mov     cl, [ebp+var_3D]
  770. .text:00CA6619                 mov     [eax+18h], cl
  771. .text:00CA661C                 mov     eax, [ebp+var_58]
  772. .text:00CA661F                 mov     cl, [ebp+var_3F]
  773. .text:00CA6622                 mov     [eax+19h], cl
  774. .text:00CA6625                 mov     eax, [ebp+var_58]
  775. .text:00CA6628                 mov     cl, [ebp+var_3E]
  776. .text:00CA662B                 mov     [eax+1Bh], cl
  777. .text:00CA662E                 mov     eax, [ebp+var_58]
  778. .text:00CA6631                 mov     cl, [ebp+var_4D]
  779. .text:00CA6634                 mov     [eax+16h], cl
  780. .text:00CA6637                 push    [ebp+var_34]
  781. .text:00CA663A                 call    sub_458067
  782. .text:00CA663F                 mov     ecx, eax
  783. .text:00CA6641                 call    sub_A855D6
  784. .text:00CA6646                 cmp     eax, dword_9D056FC
  785. .text:00CA664C                 jnz     short loc_CA6657
  786. .text:00CA664E                 mov     eax, [ebp+var_58]
  787. .text:00CA6651                 mov     cl, [ebp+var_36]
  788. .text:00CA6654                 mov     [eax+14h], cl
  789. .text:00CA6657
  790. .text:00CA6657 loc_CA6657:                             ; CODE XREF: sub_CA5DC8:loc_CA65FDj
  791. .text:00CA6657                                         ; sub_CA5DC8+884j
  792. .text:00CA6657                 push    0
  793. .text:00CA6659                 push    0
  794. .text:00CA665B                 mov     eax, [ebp+var_30]
  795. .text:00CA665E                 add     eax, 5
  796. .text:00CA6661                 push    eax
  797. .text:00CA6662                 movzx   eax, [ebp+var_2C]
  798. .text:00CA6666                 push    eax
  799. .text:00CA6667                 call    sub_A36EC6
  800. .text:00CA666C                 pop     ecx
  801. .text:00CA666D                 push    eax
  802. .text:00CA666E                 call    sub_A3987D
  803. .text:00CA6673                 add     esp, 10h
  804. .text:00CA6676                 mov     [ebp+var_4C], 0
  805. .text:00CA667A                 xor     eax, eax
  806. .text:00CA667C                 lea     edi, [ebp+var_4B]
  807. .text:00CA667F                 stosd
  808. .text:00CA6680                 stosd
  809. .text:00CA6681                 stosw
  810. .text:00CA6683                 push    0Ah
  811. .text:00CA6685                 mov     eax, [ebp+var_30]
  812. .text:00CA6688                 add     eax, 17h
  813. .text:00CA668B                 push    eax
  814. .text:00CA668C                 lea     eax, [ebp+var_4C]
  815. .text:00CA668F                 push    eax
  816. .text:00CA6690                 call    loc_11B4460
  817. .text:00CA6695 ; ---------------------------------------------------------------------------
  818. .text:00CA6695                 add     esp, 0Ch
  819. .text:00CA6698                 mov     [ebp+var_42], 0
  820. .text:00CA669C                 lea     eax, [ebp+var_4C]
  821. .text:00CA669F                 push    eax
  822. .text:00CA66A0                 lea     ecx, [ebp+var_9C]
  823. .text:00CA66A6                 call    sub_406FC0
  824. .text:00CA66AB                 and     [ebp+var_4], 0
  825. .text:00CA66AF                 lea     eax, [ebp+var_9C]
  826. .text:00CA66B5                 push    eax
  827. .text:00CA66B6                 mov     ecx, [ebp+var_58]
  828. .text:00CA66B9                 call    sub_4F7989
  829. .text:00CA66BE                 or      [ebp+var_4], 0FFFFFFFFh
  830. .text:00CA66C2                 lea     ecx, [ebp+var_9C]
  831. .text:00CA66C8                 call    sub_407B10
  832. .text:00CA66CD                 mov     eax, [ebp+var_30]
  833. .text:00CA66D0                 movzx   eax, byte ptr [eax+4]
  834. .text:00CA66D4                 and     eax, 7
  835. .text:00CA66D7                 cmp     eax, 1
  836. .text:00CA66DA                 jnz     short loc_CA66EE
  837. .text:00CA66DC                 cmp     [ebp+var_34], 190h
  838. .text:00CA66E3                 jz      short loc_CA66EE
  839. .text:00CA66E5                 mov     eax, [ebp+var_58]
  840. .text:00CA66E8                 mov     cl, [ebp+var_4D]
  841. .text:00CA66EB                 mov     [eax+16h], cl
  842. .text:00CA66EE
  843. .text:00CA66EE loc_CA66EE:                             ; CODE XREF: sub_CA5DC8+912j
  844. .text:00CA66EE                                         ; sub_CA5DC8+91Bj
  845. .text:00CA66EE                 and     [ebp+var_78], 0
  846. .text:00CA66F2                 jmp     short loc_CA66FB
  847. .text:00CA66F4 ; ---------------------------------------------------------------------------
  848. .text:00CA66F4
  849. .text:00CA66F4 loc_CA66F4:                             ; CODE XREF: sub_CA5DC8+9B0j
  850. .text:00CA66F4                 mov     eax, [ebp+var_78]
  851. .text:00CA66F7                 inc     eax
  852. .text:00CA66F8                 mov     [ebp+var_78], eax
  853. .text:00CA66FB
  854. .text:00CA66FB loc_CA66FB:                             ; CODE XREF: sub_CA5DC8+92Aj
  855. .text:00CA66FB                 mov     eax, [ebp+var_30]
  856. .text:00CA66FE                 movzx   eax, byte ptr [eax+3Fh]
  857. .text:00CA6702                 cmp     [ebp+var_78], eax
  858. .text:00CA6705                 jge     short loc_CA677D
  859. .text:00CA6707                 mov     eax, [ebp+var_78]
  860. .text:00CA670A                 mov     ecx, [ebp+var_30]
  861. .text:00CA670D                 movzx   eax, word ptr [ecx+eax*8+40h]
  862. .text:00CA6712                 push    eax
  863. .text:00CA6713                 mov     ecx, offset off_A5985E8
  864. .text:00CA6718                 call    sub_E06C48
  865. .text:00CA671D                 cmp     eax, 1
  866. .text:00CA6720                 jnz     short loc_CA6747
  867. .text:00CA6722                 mov     eax, [ebp+var_78]
  868. .text:00CA6725                 mov     ecx, [ebp+var_30]
  869. .text:00CA6728                 push    dword ptr [ecx+eax*8+44h]
  870. .text:00CA672C                 push    0
  871. .text:00CA672E                 push    [ebp+var_5C]
  872. .text:00CA6731                 mov     eax, [ebp+var_78]
  873. .text:00CA6734                 mov     ecx, [ebp+var_30]
  874. .text:00CA6737                 movzx   eax, word ptr [ecx+eax*8+40h]
  875. .text:00CA673C                 push    eax
  876. .text:00CA673D                 call    sub_CE7756
  877. .text:00CA6742                 add     esp, 10h
  878. .text:00CA6745                 jmp     short loc_CA6762
  879. .text:00CA6747 ; ---------------------------------------------------------------------------
  880. .text:00CA6747
  881. .text:00CA6747 loc_CA6747:                             ; CODE XREF: sub_CA5DC8+958j
  882. .text:00CA6747                 push    0
  883. .text:00CA6749                 push    0
  884. .text:00CA674B                 push    [ebp+var_5C]
  885. .text:00CA674E                 mov     eax, [ebp+var_78]
  886. .text:00CA6751                 mov     ecx, [ebp+var_30]
  887. .text:00CA6754                 movzx   eax, word ptr [ecx+eax*8+40h]
  888. .text:00CA6759                 push    eax
  889. .text:00CA675A                 call    sub_CE7756
  890. .text:00CA675F                 add     esp, 10h
  891. .text:00CA6762
  892. .text:00CA6762 loc_CA6762:                             ; CODE XREF: sub_CA5DC8+97Dj
  893. .text:00CA6762                 mov     eax, [ebp+var_78]
  894. .text:00CA6765                 mov     ecx, [ebp+var_30]
  895. .text:00CA6768                 movzx   eax, word ptr [ecx+eax*8+40h]
  896. .text:00CA676D                 push    eax
  897. .text:00CA676E                 push    [ebp+var_58]
  898. .text:00CA6771                 call    sub_8E2B37
  899. .text:00CA6776                 pop     ecx
  900. .text:00CA6777                 pop     ecx
  901. .text:00CA6778                 jmp     loc_CA66F4
  902. .text:00CA677D ; ---------------------------------------------------------------------------
  903. .text:00CA677D
  904. .text:00CA677D loc_CA677D:                             ; CODE XREF: sub_CA5DC8+93Dj
  905. .text:00CA677D                 push    dword_177307C
  906. .text:00CA6783                 call    sub_50CAC8
  907. .text:00CA6788                 pop     ecx
  908. .text:00CA6789                 movzx   eax, al
  909. .text:00CA678C                 test    eax, eax
  910. .text:00CA678E                 jz      short loc_CA6795
  911. .text:00CA6790                 call    sub_8E1C8F
  912. .text:00CA6795
  913. .text:00CA6795 loc_CA6795:                             ; CODE XREF: sub_CA5DC8+9C6j
  914. .text:00CA6795                 mov     eax, [ebp+var_58]
  915. .text:00CA6798                 cmp     eax, dword_9D056FC
  916. .text:00CA679E                 jz      short loc_CA67C2
  917. .text:00CA67A0                 push    dword_177307C
  918. .text:00CA67A6                 call    sub_51BDFF
  919. .text:00CA67AB                 pop     ecx
  920. .text:00CA67AC                 movzx   eax, al
  921. .text:00CA67AF                 test    eax, eax
  922. .text:00CA67B1                 jnz     short loc_CA67C2
  923. .text:00CA67B3                 push    [ebp+var_58]
  924. .text:00CA67B6                 call    sub_458067
  925. .text:00CA67BB                 mov     ecx, eax
  926. .text:00CA67BD                 call    sub_A858D2
  927. .text:00CA67C2
  928. .text:00CA67C2 loc_CA67C2:                             ; CODE XREF: sub_CA5DC8+9D6j
  929. .text:00CA67C2                                         ; sub_CA5DC8+9E9j
  930. .text:00CA67C2                 call    sub_45AFBC
  931. .text:00CA67C7                 mov     ecx, eax
  932. .text:00CA67C9                 call    sub_45B1CF
  933. .text:00CA67CE                 movzx   eax, al
  934. .text:00CA67D1                 test    eax, eax
  935. .text:00CA67D3                 jz      short loc_CA682B
  936. .text:00CA67D5                 mov     eax, [ebp+var_58]
  937. .text:00CA67D8                 mov     ecx, [ebp+var_30]
  938. .text:00CA67DB                 mov     cx, [ecx+3Ch]
  939. .text:00CA67DF                 mov     [eax+42h], cx
  940. .text:00CA67E3                 mov     eax, [ebp+var_58]
  941. .text:00CA67E6                 movzx   eax, word ptr [eax+42h]
  942. .text:00CA67EA                 push    eax
  943. .text:00CA67EB                 call    sub_C34406
  944. .text:00CA67F0                 mov     ecx, eax
  945. .text:00CA67F2                 call    sub_C347FF
  946. .text:00CA67F7                 mov     [ebp+var_7C], eax
  947. .text:00CA67FA                 cmp     [ebp+var_7C], 0
  948. .text:00CA67FE                 jz      short loc_CA682B
  949. .text:00CA6800                 push    [ebp+var_7C]
  950. .text:00CA6803                 push    offset asc_157E3C8 ; "%s"
  951. .text:00CA6808                 push    0FFh
  952. .text:00CA680D                 mov     eax, [ebp+var_58]
  953. .text:00CA6810                 add     eax, 44h
  954. .text:00CA6813                 push    eax
  955. .text:00CA6814                 call    loc_11B49E3
  956. .text:00CA6819 ; ---------------------------------------------------------------------------
  957. .text:00CA6819                 add     esp, 10h
  958. .text:00CA681C                 push    [ebp+var_58]
  959. .text:00CA681F                 call    sub_458067
  960. .text:00CA6824                 mov     ecx, eax
  961. .text:00CA6826                 call    sub_A85984
  962. .text:00CA682B
  963. .text:00CA682B loc_CA682B:                             ; CODE XREF: sub_CA5DC8+A0Bj
  964. .text:00CA682B                                         ; sub_CA5DC8+A36j
  965. .text:00CA682B                 mov     eax, [ebp+var_58]
  966. .text:00CA682E                 movzx   eax, byte ptr [eax+12h]
  967. .text:00CA6832                 push    eax
  968. .text:00CA6833                 call    sub_45A27C
  969. .text:00CA6838                 pop     ecx
  970. .text:00CA6839                 cmp     eax, 8
  971. .text:00CA683C                 jnz     loc_CA68C3
  972. .text:00CA6842                 push    0FFFFFFFFh
  973. .text:00CA6844                 push    [ebp+var_5C]
  974. .text:00CA6847                 push    353h
  975. .text:00CA684C                 call    sub_72B556
  976. .text:00CA6851                 add     esp, 0Ch
  977. .text:00CA6854                 movzx   eax, al
  978. .text:00CA6857                 test    eax, eax
  979. .text:00CA6859                 jnz     short loc_CA68C3
  980. .text:00CA685B                 mov     eax, [ebp+var_58]
  981. .text:00CA685E                 movzx   eax, byte ptr [eax+12h]
  982. .text:00CA6862                 push    eax
  983. .text:00CA6863                 call    sub_A46095
  984. .text:00CA6868                 pop     ecx
  985. .text:00CA6869                 movzx   eax, al
  986. .text:00CA686C                 mov     [ebp+var_80], eax
  987. .text:00CA686F                 push    0FFFFFFFFh
  988. .text:00CA6871                 push    ecx
  989. .text:00CA6872                 fld     ds:flt_154EBB0
  990. .text:00CA6878                 fstp    [esp+0D8h+var_D8]
  991. .text:00CA687B                 push    0
  992. .text:00CA687D                 push    0
  993. .text:00CA687F                 push    0
  994. .text:00CA6881                 push    0FFFFFFFFh
  995. .text:00CA6883                 push    [ebp+var_5C]
  996. .text:00CA6886                 push    [ebp+var_80]
  997. .text:00CA6889                 mov     ecx, [ebp+var_5C]
  998. .text:00CA688C                 add     ecx, 0BCh
  999. .text:00CA6892                 call    sub_9DA4F2
  1000. .text:00CA6897                 push    eax
  1001. .text:00CA6898                 mov     ecx, [ebp+var_5C]
  1002. .text:00CA689B                 add     ecx, 128h
  1003. .text:00CA68A1                 call    sub_9DA4F2
  1004. .text:00CA68A6                 push    eax
  1005. .text:00CA68A7                 mov     ecx, [ebp+var_5C]
  1006. .text:00CA68AA                 add     ecx, 11Ch
  1007. .text:00CA68B0                 call    sub_9DA4F2
  1008. .text:00CA68B5                 push    eax
  1009. .text:00CA68B6                 push    353h
  1010. .text:00CA68BB                 call    sub_6627F3
  1011. .text:00CA68C0 ; ---------------------------------------------------------------------------
  1012. .text:00CA68C0                 add     esp, 30h
  1013. .text:00CA68C3
  1014. .text:00CA68C3 loc_CA68C3:                             ; CODE XREF: sub_CA5DC8+B0j
  1015. .text:00CA68C3                                         ; sub_CA5DC8+A74j ...
  1016. .text:00CA68C3                 mov     eax, [ebp+var_30]
  1017. .text:00CA68C6                 movzx   eax, byte ptr [eax+3Fh]
  1018. .text:00CA68CA                 push    20h
  1019. .text:00CA68CC                 pop     ecx
  1020. .text:00CA68CD                 sub     ecx, eax
  1021. .text:00CA68CF                 shl     ecx, 3
  1022. .text:00CA68D2                 mov     eax, 140h
  1023. .text:00CA68D7                 sub     eax, ecx
  1024. .text:00CA68D9                 add     eax, [ebp+var_10]
  1025. .text:00CA68DC                 mov     [ebp+var_10], eax
  1026. .text:00CA68DF                 jmp     loc_CA5DFA
  1027. .text:00CA68E4 ; ---------------------------------------------------------------------------
  1028. .text:00CA68E4
  1029. .text:00CA68E4 loc_CA68E4:                             ; CODE XREF: sub_CA5DC8+43j
  1030. .text:00CA68E4                 push    dword_9D056FC
  1031. .text:00CA68EA                 call    sub_4F84F5
  1032. .text:00CA68EF                 mov     ecx, eax
  1033. .text:00CA68F1                 call    sub_99F082
  1034. .text:00CA68F6                 call    ds:off_154D468
  1035. .text:00CA68FC                 mov     dword_17AACF4, eax
  1036. .text:00CA6901                 mov     ecx, [ebp+var_C]
  1037. .text:00CA6904                 mov     large fs:0, ecx
  1038. .text:00CA690B                 pop     edi
  1039. .text:00CA690C                 leave
  1040. .text:00CA690D                 retn
  1041. .text:00CA690D sub_CA5DC8      endp
Add Comment
Please, Sign In to add comment