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

Disassembly:
mov eax, 0x53eb10
call fcn.0050ad90
push ecx
mov eax, 0x2040
call fcn.0050b030
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 0x4d281d
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [esi + 0x1200c]
mov dword [ebp - 4], edi
cmp ecx, 2
jge 0x4d2849
mov ecx, esi
call fcn.004d2e76
cmp eax, edi
je 0x4d2b39
mov ecx, dword [esi + 0x1200c]
cmp ecx, 2
jl 0x4d2b39
mov eax, dword [esi + 0x12428]
xor ebx, ebx
dec eax
je 0x4d2903
dec eax
jne 0x4d2960
cmp dword [esi + 0x1242c], 0xffffffff
lea eax, [esi + 0x1242c]
jne 0x4d2876
mov edx, dword [esi + 0x12010]
mov dword [eax], edx
cmp byte [esi + 0x12424], 0
jne 0x4d2960
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 0x4d28e8
cmp ebx, 0x400
jg 0x4d28e8
call fcn.004fe6b3
mov ecx, dword [esi + 0x1200c]
add ebx, eax
cmp ebx, ecx
jle 0x4d2960
mov ecx, esi
call fcn.004d2e76
cmp eax, edi
je 0x4d2b39
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jle 0x4d2960
jmp 0x4d2b39
mov ecx, esi
mov dword [esi + 0x1200c], edi
mov dword [esi + 0x12010], edi
call fcn.004d2d0a
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 0x4d2bf3
cmp ebx, 0x400
jg 0x4d2bf3
cmp ebx, ecx
jle 0x4d295e
mov ecx, esi
call fcn.004d2e76
test eax, eax
je 0x4d2b39
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jg 0x4d2b39
xor edi, edi
cmp dword [esi + 0x12428], 2
jne 0x4d2b4c
cmp byte [esi + 0x12424], 0
je 0x4d2a54
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.004fe0dc
mov ebx, eax
cmp ebx, edi
jge 0x4d29c1
mov ecx, esi
call fcn.004d2d0a
push 0x231
push str.D:CQ2ClientCn_15.3.7_10183DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___OnShakeHand_failed_at__s___d
call fcn.00507881
add esp, 0xc
jmp 0x4d2b39
je 0x4d2b39
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.004fdf40
test eax, eax
jg 0x4d2a0f
push 0x243
push str.D:CQ2ClientCn_15.3.7_10183DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___GenerateShakeHandBuf_failed_at__s___d
jmp 0x4d2b2a
push eax
lea eax, [ebp - 0x2050]
push eax
mov ecx, esi
call fcn.004d25fa
mov ecx, esi
call fcn.004d2c18
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.004d15be
jmp 0x4d2b39
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.004fe6b3
mov ecx, dword [esi + 0x12010]
mov edi, ecx
add ecx, ebx
sub edi, eax
add edi, ebx
cmp ecx, 0x10000
jle 0x4d2ae3
call fcn.004fe6b3
mov ecx, dword [esi + 0x12010]
sub ecx, eax
mov eax, 0x10000
add ecx, ebx
cmp ecx, eax
jge 0x4d2ad4
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 0x4d2afd
call fcn.004fe6b3
push eax
lea eax, [edi + esi - 0xdff4]
jmp 0x4d2af0
call fcn.004fe6b3
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.004fe6b3
mov edi, eax
call fcn.004fe6b7
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4d2b4c
push 0x273
push str.D:CQ2ClientCn_15.3.7_10183DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___memcmp_PROTOCOL_PACKAGE_FLAG_failed_at__s___d
call fcn.00507881
add esp, 0xc
mov ecx, esi
call fcn.004d2d0a
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 0x4d2b92
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 0x4d2bc7
cmp dword [esi + 0x12428], 2
mov edi, ebx
mov byte [ebp - 4], 7
jne 0x4d2ba8
call fcn.004fe6b3
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 0x4d2b3b
and dword [esi + 0x1200c], 0
and dword [esi + 0x12010], 0
mov ecx, esi
call fcn.004d2d0a
push 5
call dword [sym.imp.MSVCRT.dll_exit]
push 5
call dword [sym.imp.MSVCRT.dll_exit]