Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- seg000:004368E0 ; int __stdcall sub_4368E0(void *Dst, int, int)
- seg000:004368E0 sub_4368E0 proc near ; CODE XREF: sub_439FF0+3Dp
- seg000:004368E0
- seg000:004368E0 var_210 = dword ptr -210h
- seg000:004368E0 var_20C = byte ptr -20Ch
- seg000:004368E0 Src = dword ptr -20Bh
- seg000:004368E0 Dst = dword ptr 4
- seg000:004368E0 arg_4 = dword ptr 8
- seg000:004368E0 arg_8 = dword ptr 0Ch
- seg000:004368E0
- seg000:004368E0 mov eax, [esp+arg_4]
- seg000:004368E4 sub esp, 210h
- seg000:004368EA push ebx
- seg000:004368EB push esi
- seg000:004368EC mov esi, [esp+218h+arg_8]
- seg000:004368F3 push edi
- seg000:004368F4 cmp esi, 20Ch
- seg000:004368FA mov edi, eax
- seg000:004368FC jbe short loc_436903
- seg000:004368FE mov esi, 20Ch
- seg000:00436903
- seg000:00436903 loc_436903: ; CODE XREF: sub_4368E0+1Cj
- seg000:00436903 mov bl, [eax]
- seg000:00436905 test bl, bl
- seg000:00436907 jnz short loc_436922
- seg000:00436909 mov dl, [eax+1]
- seg000:0043690C cmp dl, 1
- seg000:0043690F jz short loc_43691B
- seg000:00436911 cmp dl, 10h
- seg000:00436914 jz short loc_43691B
- seg000:00436916 cmp dl, 11h
- seg000:00436919 jnz short loc_436922
- seg000:0043691B
- seg000:0043691B loc_43691B: ; CODE XREF: sub_4368E0+2Fj
- seg000:0043691B ; sub_4368E0+34j
- seg000:0043691B push esi
- seg000:0043691C push eax
- seg000:0043691D jmp loc_4369D9
- seg000:00436922 ; ---------------------------------------------------------------------------
- seg000:00436922
- seg000:00436922 loc_436922: ; CODE XREF: sub_4368E0+27j
- seg000:00436922 ; sub_4368E0+39j
- seg000:00436922 cmp bl, 0FFh
- seg000:00436925 jnz short loc_436936
- seg000:00436927
- seg000:00436927 loc_436927: ; DATA XREF: sub_437D00+141o
- seg000:00436927 mov dl, [eax+1]
- seg000:0043692A inc eax
- seg000:0043692B test dl, dl
- seg000:0043692D jz short loc_436933
- seg000:0043692F cmp dl, bl
- seg000:00436931 jnz short loc_436936
- seg000:00436933
- seg000:00436933 loc_436933: ; CODE XREF: sub_4368E0+4Dj
- seg000:00436933 mov edi, eax
- seg000:00436935 dec esi
- seg000:00436936
- seg000:00436936 loc_436936: ; CODE XREF: sub_4368E0+45j
- seg000:00436936 ; sub_4368E0+51j
- seg000:00436936 cmp esi, 1
- seg000:00436939 jnb short loc_436949
- seg000:0043693B pop edi
- seg000:0043693C pop esi
- seg000:0043693D xor eax, eax
- seg000:0043693F pop ebx
- seg000:00436940 add esp, 210h
- seg000:00436946 retn 0Ch
- seg000:00436949 ; ---------------------------------------------------------------------------
- seg000:00436949
- seg000:00436949 loc_436949: ; CODE XREF: sub_4368E0+59j
- seg000:00436949 push esi
- seg000:0043694A lea edx, [esp+220h+var_20C]
- seg000:0043694E push edi
- seg000:0043694F push edx
- seg000:00436950 call decryptPacket
- seg000:00436955 lea eax, [esi-1]
- seg000:00436958 xor dl, dl
- seg000:0043695A mov edi, eax
- seg000:0043695C dec eax
- seg000:0043695D test edi, edi
- seg000:0043695F mov byte ptr [esp+21Ch+var_210], dl
- seg000:00436963 lea ecx, [esp+21Ch+Src]
- seg000:00436967 jz short loc_436988
- seg000:00436969 inc eax
- seg000:0043696A
- seg000:0043696A loc_43696A: ; CODE XREF: sub_4368E0+A6j
- seg000:0043696A mov edi, [esp+21Ch+var_210]
- seg000:0043696E xor edx, edx
- seg000:00436970 mov dl, [ecx]
- seg000:00436972 and edi, 0FFh
- seg000:00436978 xor edx, edi
- seg000:0043697A inc ecx
- seg000:0043697B dec eax
- seg000:0043697C mov dl, ds:crc8Array[edx]
- seg000:00436982 mov byte ptr [esp+21Ch+var_210], dl
- seg000:00436986 jnz short loc_43696A
- seg000:00436988
- seg000:00436988 loc_436988: ; CODE XREF: sub_4368E0+87j
- seg000:00436988 mov bl, [esp+21Ch+var_20C]
- seg000:0043698C cmp bl, dl
- seg000:0043698E jz short loc_4369D2
- seg000:00436990 xor cl, cl
- seg000:00436992 cmp esi, 1
- seg000:00436995 mov byte ptr [esp+21Ch+var_210], cl
- seg000:00436999 jbe short loc_4369C0
- seg000:0043699B mov eax, [esp+21Ch+Src]
- seg000:0043699F lea edx, [esi-1]
- seg000:004369A2 and eax, 0FFh
- seg000:004369A7
- seg000:004369A7 loc_4369A7: ; CODE XREF: sub_4368E0+DEj
- seg000:004369A7 mov ecx, [esp+21Ch+var_210]
- seg000:004369AB and ecx, 0FFh
- seg000:004369B1 xor ecx, eax
- seg000:004369B3 dec edx
- seg000:004369B4 mov cl, ds:crc8Array[ecx]
- seg000:004369BA mov byte ptr [esp+21Ch+var_210], cl
- seg000:004369BE jnz short loc_4369A7
- seg000:004369C0
- seg000:004369C0 loc_4369C0: ; CODE XREF: sub_4368E0+B9j
- seg000:004369C0 cmp bl, cl
- seg000:004369C2 jz short loc_4369D2
- seg000:004369C4 pop edi
- seg000:004369C5 pop esi
- seg000:004369C6 xor eax, eax
- seg000:004369C8 pop ebx
- seg000:004369C9 add esp, 210h
- seg000:004369CF retn 0Ch
- seg000:004369D2 ; ---------------------------------------------------------------------------
- seg000:004369D2
- seg000:004369D2 loc_4369D2: ; CODE XREF: sub_4368E0+AEj
- seg000:004369D2 ; sub_4368E0+E2j
- seg000:004369D2 dec esi
- seg000:004369D3 lea edx, [esp+21Ch+Src]
- seg000:004369D7 push esi ; Size
- seg000:004369D8 push edx ; Src
- seg000:004369D9
- seg000:004369D9 loc_4369D9: ; CODE XREF: sub_4368E0+3Dj
- seg000:004369D9 mov eax, [esp+224h+Dst]
- seg000:004369E0 push eax ; Dst
- seg000:004369E1 call _memcpy
- seg000:004369E6 add esp, 0Ch
- seg000:004369E9 mov eax, esi
- seg000:004369EB pop edi
- seg000:004369EC pop esi
- seg000:004369ED pop ebx
- seg000:004369EE add esp, 210h
- seg000:004369F4 retn 0Ch
- seg000:004369F4 sub_4368E0 endp
- seg000:004369F4
- seg000:004369F4 ; ---------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment