Function at 0x4de248
Capabilities:
Send data
Send data on socket
Terminate process

Disassembly:
mov eax, 0x57394c
call fcn.0051f140
push ecx
mov eax, 0x2040
call fcn.0051f470
push ebx
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], edi
jne 0x4de277
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [esi + 0x1200c]
mov dword [ebp - 4], edi
cmp ecx, 2
jge 0x4de2a3
mov ecx, esi
call fcn.004de8d0
cmp eax, edi
je 0x4de593
mov ecx, dword [esi + 0x1200c]
cmp ecx, 2
jl 0x4de593
mov eax, dword [esi + 0x12428]
xor ebx, ebx
dec eax
je 0x4de35d
dec eax
jne 0x4de3ba
cmp dword [esi + 0x1242c], 0xffffffff
lea eax, [esi + 0x1242c]
jne 0x4de2d0
mov edx, dword [esi + 0x12010]
mov dword [eax], edx
cmp byte [esi + 0x12424], 0
jne 0x4de3ba
mov ecx, dword [esi + 0x12010]
mov ebx, 0x10000
lea eax, [ecx + 1]
cdq
idiv ebx
movzx eax, byte [ecx + esi + 0x200c]
movzx ebx, byte [edx + esi + 0x200c]
shl ebx, 8
add ebx, eax
cmp ebx, edi
jle 0x4de342
cmp ebx, 0x400
jg 0x4de342
call fcn.0050f2a4
mov ecx, dword [esi + 0x1200c]
add ebx, eax
cmp ebx, ecx
jle 0x4de3ba
mov ecx, esi
call fcn.004de8d0
cmp eax, edi
je 0x4de593
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jle 0x4de3ba
jmp 0x4de593
mov ecx, esi
mov dword [esi + 0x1200c], edi
mov dword [esi + 0x12010], edi
call fcn.004de764
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov edi, dword [esi + 0x12010]
mov ebx, 0x10000
lea eax, [edi + 1]
cdq
idiv ebx
movzx eax, byte [edi + esi + 0x200c]
movzx ebx, byte [edx + esi + 0x200c]
shl ebx, 8
add ebx, eax
test ebx, ebx
jle 0x4de64d
cmp ebx, 0x400
jg 0x4de64d
cmp ebx, ecx
jle 0x4de3b8
mov ecx, esi
call fcn.004de8d0
test eax, eax
je 0x4de593
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jg 0x4de593
xor edi, edi
cmp dword [esi + 0x12428], 2
jne 0x4de5a6
cmp byte [esi + 0x12424], 0
je 0x4de4ae
mov eax, dword [esi + 0x1242c]
lea edx, [esi + 0x12430]
sub ecx, eax
lea eax, [eax + esi + 0x200c]
push ecx
push eax
mov ecx, edx
call fcn.0050ecd4
mov ebx, eax
cmp ebx, edi
jge 0x4de41b
mov ecx, esi
call fcn.004de764
push 0x231
push str.E:CQ2ClientRelease_17.1.93DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___OnShakeHand_failed_at__s___d
call fcn.005185c3
add esp, 0xc
jmp 0x4de593
je 0x4de593
and byte [ebp - 0x2050], 0
mov ecx, 0x7ff
xor eax, eax
lea edi, [ebp - 0x204f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x2050]
push 0x2000
push eax
lea ecx, [esi + 0x12430]
call fcn.0050eb38
test eax, eax
jg 0x4de469
push 0x243
push str.E:CQ2ClientRelease_17.1.93DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___GenerateShakeHandBuf_failed_at__s___d
jmp 0x4de584
push eax
lea eax, [ebp - 0x2050]
push eax
mov ecx, esi
call fcn.004de054
mov ecx, esi
call fcn.004de672
mov eax, dword [esi + 0x12010]
lea ecx, [esi + 0x12010]
add eax, ebx
mov edi, 0x10000
cdq
idiv edi
sub dword [esi + 0x1200c], ebx
and byte [esi + 0x12424], 0
mov dword [ecx], edx
call fcn.004dcfb5
jmp 0x4de593
and byte [ebp - 0x50], 0
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0x4f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.0050f2a4
mov ecx, dword [esi + 0x12010]
mov edi, ecx
add ecx, ebx
sub edi, eax
add edi, ebx
cmp ecx, 0x10000
jle 0x4de53d
call fcn.0050f2a4
mov ecx, dword [esi + 0x12010]
sub ecx, eax
mov eax, 0x10000
add ecx, ebx
cmp ecx, eax
jge 0x4de52e
sub eax, edi
push eax
lea eax, [edi + esi + 0x200c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x12010]
lea eax, [eax + ebx - 0x10000]
push eax
lea eax, [esi + 0x200c]
push eax
lea eax, [ebp + 0xffb0]
sub eax, edi
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x18
jmp 0x4de557
call fcn.0050f2a4
push eax
lea eax, [edi + esi - 0xdff4]
jmp 0x4de54a
call fcn.0050f2a4
push eax
lea eax, [edi + esi + 0x200c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
call fcn.0050f2a4
mov edi, eax
call fcn.0050f29e
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4de5a6
push 0x273
push str.E:CQ2ClientRelease_17.1.93DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___memcmp_PROTOCOL_PACKAGE_FLAG_failed_at__s___d
call fcn.005185c3
add esp, 0xc
mov ecx, esi
call fcn.004de764
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8
mov eax, dword [esi + 0x12010]
mov edi, 0x10000
lea ecx, [eax + ebx]
cmp ecx, edi
jle 0x4de5ec
sub edi, eax
lea eax, [eax + esi + 0x200c]
push edi
push eax
push dword [ebp + 8]
call sub.MSVCRT.dll_memcpy
mov eax, ebx
sub eax, edi
push eax
lea eax, [esi + 0x200c]
push eax
mov eax, dword [ebp + 8]
add edi, eax
push edi
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0xc]
add esp, 0x18
mov dword [eax], ebx
jmp 0x4de621
cmp dword [esi + 0x12428], 2
mov edi, ebx
mov byte [ebp - 4], 7
jne 0x4de602
call fcn.0050f2a4
sub edi, eax
mov eax, dword [esi + 0x12010]
push edi
lea eax, [eax + esi + 0x200c]
push eax
push dword [ebp + 8]
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov dword [eax], edi
mov eax, dword [esi + 0x12010]
mov ecx, 0x10000
add eax, ebx
push 1
cdq
idiv ecx
sub dword [esi + 0x1200c], ebx
pop eax
mov dword [esi + 0x12010], edx
jmp 0x4de595
and dword [esi + 0x1200c], 0
and dword [esi + 0x12010], 0
mov ecx, esi
call fcn.004de764
push 5
call dword [sym.imp.MSVCRT.dll_exit]
push 5
call dword [sym.imp.MSVCRT.dll_exit]