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

Disassembly:
mov eax, 0x51fd1c
call fcn.004edf30
push ecx
mov eax, 0x2040
call fcn.004ee1d0
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 0x4babf9
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [esi + 0x1200c]
mov dword [ebp - 4], edi
cmp ecx, 2
jge 0x4bac25
mov ecx, esi
call fcn.004bb252
cmp eax, edi
je 0x4baf15
mov ecx, dword [esi + 0x1200c]
cmp ecx, 2
jl 0x4baf15
mov eax, dword [esi + 0x12428]
xor ebx, ebx
dec eax
je 0x4bacdf
dec eax
jne 0x4bad3c
cmp dword [esi + 0x1242c], 0xffffffff
lea eax, [esi + 0x1242c]
jne 0x4bac52
mov edx, dword [esi + 0x12010]
mov dword [eax], edx
cmp byte [esi + 0x12424], 0
jne 0x4bad3c
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 0x4bacc4
cmp ebx, 0x400
jg 0x4bacc4
call fcn.004e1837
mov ecx, dword [esi + 0x1200c]
add ebx, eax
cmp ebx, ecx
jle 0x4bad3c
mov ecx, esi
call fcn.004bb252
cmp eax, edi
je 0x4baf15
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jle 0x4bad3c
jmp 0x4baf15
mov ecx, esi
mov dword [esi + 0x1200c], edi
mov dword [esi + 0x12010], edi
call fcn.004bb0e6
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 0x4bafcf
cmp ebx, 0x400
jg 0x4bafcf
cmp ebx, ecx
jle 0x4bad3a
mov ecx, esi
call fcn.004bb252
test eax, eax
je 0x4baf15
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jg 0x4baf15
xor edi, edi
cmp dword [esi + 0x12428], 2
jne 0x4baf28
cmp byte [esi + 0x12424], 0
je 0x4bae30
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.004e11dd
mov ebx, eax
cmp ebx, edi
jge 0x4bad9d
mov ecx, esi
call fcn.004bb0e6
push 0x231
push str.D:CQ2ClientRelease_11.17.103DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___OnShakeHand_failed_at__s___d
call fcn.004e9e6f
add esp, 0xc
jmp 0x4baf15
je 0x4baf15
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.004e1041
test eax, eax
jg 0x4badeb
push 0x243
push str.D:CQ2ClientRelease_11.17.103DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___GenerateShakeHandBuf_failed_at__s___d
jmp 0x4baf06
push eax
lea eax, [ebp - 0x2050]
push eax
mov ecx, esi
call fcn.004ba9d6
mov ecx, esi
call fcn.004baff4
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.004b9a75
jmp 0x4baf15
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.004e1837
mov ecx, dword [esi + 0x12010]
mov edi, ecx
add ecx, ebx
sub edi, eax
add edi, ebx
cmp ecx, 0x10000
jle 0x4baebf
call fcn.004e1837
mov ecx, dword [esi + 0x12010]
sub ecx, eax
mov eax, 0x10000
add ecx, ebx
cmp ecx, eax
jge 0x4baeb0
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 0x4baed9
call fcn.004e1837
push eax
lea eax, [edi + esi - 0xdff4]
jmp 0x4baecc
call fcn.004e1837
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.004e1837
mov edi, eax
call fcn.004e1831
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4baf28
push 0x273
push str.D:CQ2ClientRelease_11.17.103DRoleNetwork_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___memcmp_PROTOCOL_PACKAGE_FLAG_failed_at__s___d
call fcn.004e9e6f
add esp, 0xc
mov ecx, esi
call fcn.004bb0e6
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 0x4baf6e
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 0x4bafa3
cmp dword [esi + 0x12428], 2
mov edi, ebx
mov byte [ebp - 4], 7
jne 0x4baf84
call fcn.004e1837
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 0x4baf17
and dword [esi + 0x1200c], 0
and dword [esi + 0x12010], 0
mov ecx, esi
call fcn.004bb0e6
push 5
call dword [sym.imp.MSVCRT.dll_exit]
push 5
call dword [sym.imp.MSVCRT.dll_exit]