Function at 0x4bc99c
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 0x4f0eac
cmp dword [0x4d4900], 0xffffffff
jne 0x4bc9b7
xor eax, eax
jmp 0x4bcc93
push 2
call fcn.004b0920
cmp dword [0x4d4908], 0
je 0x4bc9ce
call fcn.004bc7e4
jmp 0x4bc9de
cmp dword [0x4d490c], 0
jne 0x4bc9de
xor eax, eax
jmp 0x4bcc93
mov eax, dword [ebp + 8]
shr eax, 0x10
and ax, 0xffff
test ax, ax
je 0x4bc9f5
movzx ebx, ax
jmp 0x4bcad1
cmp dword [0x4d4914], 0
jne 0x4bca07
cmp dword [0x4d4918], 0
je 0x4bca18
mov dword [0x4d491c], 1
xor eax, eax
jmp 0x4bcc93
cmp dword [0x4d4910], 0x14
jl 0x4bca77
mov dword [0x4d4910], 0xa
jmp 0x4bca4a
push ebx
mov edx, dword [0x4d42a0]
push edx
call sub.USER32.dll_TranslateMDISysAccel
test eax, eax
jne 0x4bca77
push ebx
call sub.USER32.dll_TranslateMessage
push ebx
call sub.USER32.dll_DispatchMessageA
push 3
push 0x40d
push 0
push 0
push ebx
call sub.USER32.dll_PeekMessageA
test eax, eax
jne 0x4bca2d
push 3
push 0xffff
push 0x40f
push 0
push ebx
call sub.USER32.dll_PeekMessageA
test eax, eax
jne 0x4bca2d
push 0
push 0x3b5
push 0x4f16c8
mov ecx, dword [0x4d4900]
push ecx
call sub.WSOCK32.dll_recv
mov edi, eax
cmp edi, 0xffffffff
jne 0x4bcb2d
call sub.WSOCK32.dll_WSAGetLastError
mov ebx, eax
cmp ebx, 0x2733
je 0x4bcab1
cmp ebx, 0x2734
jne 0x4bcad1
push 0x23
push 0x40e
mov eax, dword [0x4d429c]
push eax
mov edx, dword [0x4d4900]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
xor eax, eax
jmp 0x4bcc93
test ebx, ebx
je 0x4bcc30
cmp dword [0x4d490c], 0
je 0x4bcc30
push ebx
call fcn.004bb208
push eax
push 0x4d49e5
push 0x4f16c8
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor edx, edx
mov dword [0x4d22f4], edx
mov dword [0x4d2304], 1
mov ecx, dword [0x4cb06c]
push ecx
push 0x4f16c8
mov eax, dword [0x4d42ac]
push eax
call fcn.0048e560
jmp 0x4bcc30
test edi, edi
jle 0x4bcc30
mov byte [edi + 0x4f16c8], 0
mov dword [0x4d4914], 1
xor esi, esi
mov ebx, 0x4f16c8
cmp edi, esi
jle 0x4bcbd5
mov al, byte [ebx]
cmp al, 0xd
je 0x4bcbcf
cmp al, 0xa
jne 0x4bcb89
mov edx, dword [0x4d4948]
mov byte [edx + 0x4f1ab4], 0
xor ecx, ecx
mov dword [0x4d4948], ecx
cmp byte [0x4f1ab4], 0
je 0x4bcbcf
push 0x4f1ab4
call fcn.0046d580
jmp 0x4bcbcf
mov eax, dword [0x4d4948]
mov dl, byte [ebx]
mov byte [eax + 0x4f1ab4], dl
inc dword [0x4d4948]
cmp dword [0x4d4948], 0x383
jl 0x4bcbcf
mov ecx, dword [0x4d4948]
mov byte [ecx + 0x4f1ab4], 0
xor eax, eax
mov dword [0x4d4948], eax
cmp byte [0x4f1ab4], 0
je 0x4bcbcf
push 0x4f1ab4
call fcn.0046d580
inc esi
inc ebx
cmp edi, esi
jg 0x4bcb55
cmp dword [0x4d491c], 0
je 0x4bcbfa
push 0x23
push 0x40e
mov edx, dword [0x4d429c]
push edx
mov ecx, dword [0x4d4900]
push ecx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4bcc1a
cmp word [ebp + 8], 0x20
jne 0x4bcc1a
push 0x23
push 0x40e
mov eax, dword [0x4d429c]
push eax
mov edx, dword [0x4d4900]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
xor ecx, ecx
mov dword [0x4d491c], ecx
xor eax, eax
mov dword [0x4d4914], eax
mov eax, 1
jmp 0x4bcc93
cmp dword [0x4d490c], 0
je 0x4bcc75
mov edx, dword [0x4cb064]
push edx
mov ecx, dword [0x4d42ac]
push ecx
call fcn.0048d678
mov dword [0x4d2304], 1
mov eax, dword [0x4cb064]
push eax
push 0
push 0x5e3
call fcn.0040a8fc
push eax
mov edx, dword [0x4d42ac]
push edx
call fcn.0048d7dc
push 0
call fcn.004bb608
push 0x4d49ed
call fcn.004bb2b8
xor ecx, ecx
mov dword [0x4d4944], ecx
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 4