Function at 0x4bc170
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
cmp dword [0x4d4900], 0xffffffff
jne 0x4bc19c
push 0
push 0x1776
call fcn.0040a8fc
push eax
call fcn.004bb2b8
xor eax, eax
jmp 0x4bc4a3
push 1
call fcn.004b0920
mov ebx, dword [0x4d4930]
test ebx, ebx
je 0x4bc1d2
cmp dword [ebx + 0x18], 0xffffffff
jne 0x4bc1cb
mov edi, dword [ebx + 0x2c]
push ebx
mov eax, dword [0x4d4930]
push eax
call fcn.0046f72c
mov dword [0x4d4930], eax
mov ebx, edi
jmp 0x4bc1a9
mov ebx, dword [ebx + 0x2c]
test ebx, ebx
jne 0x4bc1ad
cmp dword [0x4d4930], 0
je 0x4bc217
test esi, esi
je 0x4bc203
cmp byte [esi], 0
je 0x4bc203
mov eax, dword [ebp + 0xc]
push eax
push 0
push esi
mov edx, dword [0x4d4930]
push edx
call fcn.0046f388
mov edi, eax
test edi, edi
je 0x4bc203
mov dword [0x4d4930], edi
mov eax, dword [0x4d4930]
mov edx, dword [eax + 0x18]
mov dword [ebp + 0xc], edx
mov dword [eax + 0x18], 0xffffffff
mov esi, dword [eax]
test esi, esi
je 0x4bc220
cmp byte [esi], 0
jne 0x4bc22a
mov eax, 1
jmp 0x4bc4a3
push esi
call fcn.004bceac
pop ecx
mov ebx, eax
cmp dword [0x4ce110], 0
je 0x4bc2d3
cmp dword [ebp + 0xc], 0
je 0x4bc2d3
cmp dword [0x4ce12c], 0
je 0x4bc264
mov eax, dword [ebp + 0xc]
push eax
push esi
call fcn.00449494
xor eax, eax
jmp 0x4bc4a3
mov eax, dword [0x4ce124]
test eax, eax
je 0x4bc288
add eax, ebx
cmp eax, dword [0x4ce114]
jl 0x4bc288
mov edx, dword [ebp + 0xc]
push edx
push esi
call fcn.00449854
xor eax, eax
jmp 0x4bc4a3
mov eax, dword [0x4ce128]
test eax, eax
je 0x4bc2d3
add eax, ebx
sar eax, 1
jns 0x4bc29a
adc eax, 0
mov edx, dword [0x4ce114]
cmp eax, edx
jl 0x4bc2d3
sar edx, 1
jns 0x4bc2ab
adc edx, 0
sub dword [0x4ce128], edx
cmp dword [0x4ce128], 0
jge 0x4bc2c2
xor ecx, ecx
mov dword [0x4ce128], ecx
mov eax, dword [ebp + 0xc]
push eax
push esi
call fcn.00449854
xor eax, eax
jmp 0x4bc4a3
push 0
push ebx
push esi
mov edx, dword [0x4d4900]
push edx
call sub.WSOCK32.dll_send
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x4bc3ca
call sub.WSOCK32.dll_WSAGetLastError
mov ebx, eax
cmp ebx, 0x2733
je 0x4bc307
cmp ebx, 0x2734
jne 0x4bc35c
mov eax, dword [0x4d4930]
test eax, eax
je 0x4bc31c
cmp esi, dword [eax]
jne 0x4bc31c
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
xor esi, esi
test esi, esi
je 0x4bc33c
push 0
push 0
push esi
mov eax, dword [0x4d4930]
push eax
call fcn.0046f598
mov edi, eax
test edi, edi
je 0x4bc33c
mov dword [0x4d4930], edi
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 0x4bc4a3
test ebx, ebx
je 0x4bc3aa
push ebx
call fcn.004bb208
push eax
push 0
push 0x1777
call fcn.0040a8fc
push eax
push 0x4e3d41
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 0x4e3d41
mov eax, dword [0x4d42ac]
push eax
call fcn.0048e560
push 0
call fcn.004bb608
push 0
push 0x5e3
call fcn.0040a8fc
push eax
call fcn.004bb2b8
xor eax, eax
jmp 0x4bc4a3
cmp ebx, dword [ebp - 4]
jle 0x4bc3fb
push 0
push 0
mov edx, dword [ebp - 4]
add edx, esi
push edx
mov ecx, dword [0x4d4930]
push ecx
call fcn.0046f598
mov edi, eax
test edi, edi
je 0x4bc3f1
mov dword [0x4d4930], edi
mov eax, dword [ebp - 4]
mov byte [esi + eax], 0
mov ebx, dword [ebp - 4]
mov eax, dword [0x4ce128]
test eax, eax
jle 0x4bc414
add eax, ebx
sar eax, 1
jns 0x4bc40d
adc eax, 0
mov dword [0x4ce128], eax
jmp 0x4bc41a
mov dword [0x4ce128], ebx
add dword [0x4ce124], ebx
mov eax, dword [0x4ce114]
cmp eax, dword [0x4ce124]
jge 0x4bc432
mov dword [0x4ce124], eax
cmp dword [0x4ca87c], 0
je 0x4bc47b
push 0x4e23ec
push str._sdebug.log
push 0x4e3d41
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
push 0x4e3d41
call fcn.0040a898
push 0xa
push esi
call fcn.004bce0c
add esp, 8
test eax, eax
jne 0x4bc47b
push 0x4d4985
push 0x4e3d41
call fcn.0040a898
cmp dword [0x4d4930], 0
je 0x4bc49e
push 0x23
push 0x40e
mov edx, dword [0x4d429c]
push edx
mov ecx, dword [0x4d4900]
push ecx
call sub.WSOCK32.dll_WSAAsyncSelect
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8