Guest User

Untitled

a guest
Jun 17th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. seg000:004368E0 ; int __stdcall sub_4368E0(void *Dst, int, int)
  2. seg000:004368E0 sub_4368E0      proc near               ; CODE XREF: sub_439FF0+3Dp
  3. seg000:004368E0
  4. seg000:004368E0 var_210         = dword ptr -210h
  5. seg000:004368E0 var_20C         = byte ptr -20Ch
  6. seg000:004368E0 Src             = dword ptr -20Bh
  7. seg000:004368E0 Dst             = dword ptr  4
  8. seg000:004368E0 arg_4           = dword ptr  8
  9. seg000:004368E0 arg_8           = dword ptr  0Ch
  10. seg000:004368E0
  11. seg000:004368E0                 mov     eax, [esp+arg_4]
  12. seg000:004368E4                 sub     esp, 210h
  13. seg000:004368EA                 push    ebx
  14. seg000:004368EB                 push    esi
  15. seg000:004368EC                 mov     esi, [esp+218h+arg_8]
  16. seg000:004368F3                 push    edi
  17. seg000:004368F4                 cmp     esi, 20Ch
  18. seg000:004368FA                 mov     edi, eax
  19. seg000:004368FC                 jbe     short loc_436903
  20. seg000:004368FE                 mov     esi, 20Ch
  21. seg000:00436903
  22. seg000:00436903 loc_436903:                             ; CODE XREF: sub_4368E0+1Cj
  23. seg000:00436903                 mov     bl, [eax]
  24. seg000:00436905                 test    bl, bl
  25. seg000:00436907                 jnz     short loc_436922
  26. seg000:00436909                 mov     dl, [eax+1]
  27. seg000:0043690C                 cmp     dl, 1
  28. seg000:0043690F                 jz      short loc_43691B
  29. seg000:00436911                 cmp     dl, 10h
  30. seg000:00436914                 jz      short loc_43691B
  31. seg000:00436916                 cmp     dl, 11h
  32. seg000:00436919                 jnz     short loc_436922
  33. seg000:0043691B
  34. seg000:0043691B loc_43691B:                             ; CODE XREF: sub_4368E0+2Fj
  35. seg000:0043691B                                         ; sub_4368E0+34j
  36. seg000:0043691B                 push    esi
  37. seg000:0043691C                 push    eax
  38. seg000:0043691D                 jmp     loc_4369D9
  39. seg000:00436922 ; ---------------------------------------------------------------------------
  40. seg000:00436922
  41. seg000:00436922 loc_436922:                             ; CODE XREF: sub_4368E0+27j
  42. seg000:00436922                                         ; sub_4368E0+39j
  43. seg000:00436922                 cmp     bl, 0FFh
  44. seg000:00436925                 jnz     short loc_436936
  45. seg000:00436927
  46. seg000:00436927 loc_436927:                             ; DATA XREF: sub_437D00+141o
  47. seg000:00436927                 mov     dl, [eax+1]
  48. seg000:0043692A                 inc     eax
  49. seg000:0043692B                 test    dl, dl
  50. seg000:0043692D                 jz      short loc_436933
  51. seg000:0043692F                 cmp     dl, bl
  52. seg000:00436931                 jnz     short loc_436936
  53. seg000:00436933
  54. seg000:00436933 loc_436933:                             ; CODE XREF: sub_4368E0+4Dj
  55. seg000:00436933                 mov     edi, eax
  56. seg000:00436935                 dec     esi
  57. seg000:00436936
  58. seg000:00436936 loc_436936:                             ; CODE XREF: sub_4368E0+45j
  59. seg000:00436936                                         ; sub_4368E0+51j
  60. seg000:00436936                 cmp     esi, 1
  61. seg000:00436939                 jnb     short loc_436949
  62. seg000:0043693B                 pop     edi
  63. seg000:0043693C                 pop     esi
  64. seg000:0043693D                 xor     eax, eax
  65. seg000:0043693F                 pop     ebx
  66. seg000:00436940                 add     esp, 210h
  67. seg000:00436946                 retn    0Ch
  68. seg000:00436949 ; ---------------------------------------------------------------------------
  69. seg000:00436949
  70. seg000:00436949 loc_436949:                             ; CODE XREF: sub_4368E0+59j
  71. seg000:00436949                 push    esi
  72. seg000:0043694A                 lea     edx, [esp+220h+var_20C]
  73. seg000:0043694E                 push    edi
  74. seg000:0043694F                 push    edx
  75. seg000:00436950                 call    decryptPacket
  76. seg000:00436955                 lea     eax, [esi-1]
  77. seg000:00436958                 xor     dl, dl
  78. seg000:0043695A                 mov     edi, eax
  79. seg000:0043695C                 dec     eax
  80. seg000:0043695D                 test    edi, edi
  81. seg000:0043695F                 mov     byte ptr [esp+21Ch+var_210], dl
  82. seg000:00436963                 lea     ecx, [esp+21Ch+Src]
  83. seg000:00436967                 jz      short loc_436988
  84. seg000:00436969                 inc     eax
  85. seg000:0043696A
  86. seg000:0043696A loc_43696A:                             ; CODE XREF: sub_4368E0+A6j
  87. seg000:0043696A                 mov     edi, [esp+21Ch+var_210]
  88. seg000:0043696E                 xor     edx, edx
  89. seg000:00436970                 mov     dl, [ecx]
  90. seg000:00436972                 and     edi, 0FFh
  91. seg000:00436978                 xor     edx, edi
  92. seg000:0043697A                 inc     ecx
  93. seg000:0043697B                 dec     eax
  94. seg000:0043697C                 mov     dl, ds:crc8Array[edx]
  95. seg000:00436982                 mov     byte ptr [esp+21Ch+var_210], dl
  96. seg000:00436986                 jnz     short loc_43696A
  97. seg000:00436988
  98. seg000:00436988 loc_436988:                             ; CODE XREF: sub_4368E0+87j
  99. seg000:00436988                 mov     bl, [esp+21Ch+var_20C]
  100. seg000:0043698C                 cmp     bl, dl
  101. seg000:0043698E                 jz      short loc_4369D2
  102. seg000:00436990                 xor     cl, cl
  103. seg000:00436992                 cmp     esi, 1
  104. seg000:00436995                 mov     byte ptr [esp+21Ch+var_210], cl
  105. seg000:00436999                 jbe     short loc_4369C0
  106. seg000:0043699B                 mov     eax, [esp+21Ch+Src]
  107. seg000:0043699F                 lea     edx, [esi-1]
  108. seg000:004369A2                 and     eax, 0FFh
  109. seg000:004369A7
  110. seg000:004369A7 loc_4369A7:                             ; CODE XREF: sub_4368E0+DEj
  111. seg000:004369A7                 mov     ecx, [esp+21Ch+var_210]
  112. seg000:004369AB                 and     ecx, 0FFh
  113. seg000:004369B1                 xor     ecx, eax
  114. seg000:004369B3                 dec     edx
  115. seg000:004369B4                 mov     cl, ds:crc8Array[ecx]
  116. seg000:004369BA                 mov     byte ptr [esp+21Ch+var_210], cl
  117. seg000:004369BE                 jnz     short loc_4369A7
  118. seg000:004369C0
  119. seg000:004369C0 loc_4369C0:                             ; CODE XREF: sub_4368E0+B9j
  120. seg000:004369C0                 cmp     bl, cl
  121. seg000:004369C2                 jz      short loc_4369D2
  122. seg000:004369C4                 pop     edi
  123. seg000:004369C5                 pop     esi
  124. seg000:004369C6                 xor     eax, eax
  125. seg000:004369C8                 pop     ebx
  126. seg000:004369C9                 add     esp, 210h
  127. seg000:004369CF                 retn    0Ch
  128. seg000:004369D2 ; ---------------------------------------------------------------------------
  129. seg000:004369D2
  130. seg000:004369D2 loc_4369D2:                             ; CODE XREF: sub_4368E0+AEj
  131. seg000:004369D2                                         ; sub_4368E0+E2j
  132. seg000:004369D2                 dec     esi
  133. seg000:004369D3                 lea     edx, [esp+21Ch+Src]
  134. seg000:004369D7                 push    esi             ; Size
  135. seg000:004369D8                 push    edx             ; Src
  136. seg000:004369D9
  137. seg000:004369D9 loc_4369D9:                             ; CODE XREF: sub_4368E0+3Dj
  138. seg000:004369D9                 mov     eax, [esp+224h+Dst]
  139. seg000:004369E0                 push    eax             ; Dst
  140. seg000:004369E1                 call    _memcpy
  141. seg000:004369E6                 add     esp, 0Ch
  142. seg000:004369E9                 mov     eax, esi
  143. seg000:004369EB                 pop     edi
  144. seg000:004369EC                 pop     esi
  145. seg000:004369ED                 pop     ebx
  146. seg000:004369EE                 add     esp, 210h
  147. seg000:004369F4                 retn    0Ch
  148. seg000:004369F4 sub_4368E0      endp
  149. seg000:004369F4
  150. seg000:004369F4 ; ---------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment