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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x24]
xor ebx, ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x14], ecx
mov edx, dword [edi + 0x2c]
and edx, 0xfffeffff
mov dword [edi + 0x2c], edx
cmp dword [ebp + 0x20], ebx
jge 0x444ce0
mov eax, edx
mov ecx, 0x40000
and eax, 0x41000
cmp eax, ecx
je 0x444caf
and edx, 0xffffefff
sub dword [edi + 0x40], 1
mov dword [edi + 0x2c], edx
mov esi, edx
jne 0x444c61
mov eax, edx
and al, 5
cmp al, 4
jne 0x444c61
and edx, 0xfffffffb
mov dword [edi + 0x2c], edx
mov esi, edx
test dl, 8
je 0x444c61
mov eax, dword [edi + 4]
dec dword [eax + 4]
mov esi, dword [edi + 0x2c]
test ecx, esi
je 0x444c69
mov eax, ebx
jmp 0x444c75
mov ebx, dword [edi + 0x98]
mov eax, dword [edi + 0x9c]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
call fcn.0044aa17
cmp eax, 0x2745
mov ecx, 0x2746
cmove eax, ecx
lea ecx, [esp + 0x20]
push ecx
and esi, 0xffff3fff
mov ecx, eax
mov dword [edi + 0x2c], esi
call fcn.00449d08
push eax
push edi
call dword [edi + 0x38]
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x2c]
dec ecx
mov dword [edi + 0x3c], ecx
test al, 1
je 0x444cd8
test ecx, ecx
jne 0x444cd8
test al, 0x20
jne 0x444cd8
or eax, 0x20
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x28], eax
mov dword [ebx + 0x2c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
test edx, 0x40000
jne 0x444d09
cmp dword [ebp + 0x24], ebx
jbe 0x444d11
lea esi, [edi + 0x98]
push esi
push dword [ebp + 0x24]
push edi
call dword [edi + 0x38]
mov eax, dword [ebp + 0x24]
add esp, 0xc
cmp eax, dword [esi]
jb 0x444eac
push 0x20
pop esi
jmp 0x444de2
test edx, 0x1000
je 0x444d41
and edx, 0xffffefff
sub dword [edi + 0x40], 1
mov dword [edi + 0x2c], edx
jne 0x444d41
mov eax, edx
and al, 5
cmp al, 4
jne 0x444d41
and edx, 0xfffffffb
mov dword [edi + 0x2c], edx
test dl, 8
je 0x444d41
mov eax, dword [edi + 4]
dec dword [eax + 4]
mov dword [esp + 0x24], ebx
lea eax, [edi + 0x98]
mov dword [esp + 0x20], ebx
push eax
push 0xfffff001
push edi
call dword [edi + 0x38]
jmp 0x444ea9
mov eax, esi
dec esi
test eax, eax
jle 0x444eac
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ebx
push eax
push 0x10000
push edi
mov dword [esp + 0x30], ebx
call dword [edi + 0x34]
add esp, 0xc
cmp dword [esp + 0x24], ebx
je 0x444e9b
cmp dword [esp + 0x20], ebx
je 0x444e9b
push ebx
push ebx
lea eax, [esp + 0x24]
mov dword [esp + 0x24], ebx
push eax
lea eax, [esp + 0x38]
push eax
push 1
lea eax, [esp + 0x34]
push eax
push dword [edi + 0x90]
call dword [sym.imp.WS2_32.dll_WSARecv]
cmp eax, 0xffffffff
je 0x444e28
cmp dword [esp + 0x2c], ebx
jbe 0x444df4
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push edi
call dword [edi + 0x38]
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, dword [esp + 0x20]
jb 0x444eac
test dword [edi + 0x2c], 0x1000
jne 0x444d5e
jmp 0x444eac
mov ecx, dword [edi + 0x2c]
and ecx, 0xffffefff
sub dword [edi + 0x40], 1
mov dword [edi + 0x2c], ecx
jne 0x444e1f
mov eax, ecx
and al, 5
cmp al, 4
jne 0x444e1f
and ecx, 0xfffffffb
mov dword [edi + 0x2c], ecx
test cl, 8
je 0x444e1f
mov eax, dword [edi + 4]
dec dword [eax + 4]
lea eax, [esp + 0x20]
jmp 0x444d4f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
cmp esi, 0x2733
jne 0x444e43
lea eax, [esp + 0x20]
push eax
push ebx
jmp 0x444d55
mov ecx, dword [edi + 0x2c]
and ecx, 0xffffefff
sub dword [edi + 0x40], 1
mov edx, ecx
jne 0x444e72
mov eax, ecx
and al, 5
cmp al, 4
jne 0x444e72
and ecx, 0xfffffffb
mov dword [edi + 0x2c], ecx
mov edx, ecx
test cl, 8
je 0x444e72
mov eax, dword [edi + 4]
dec dword [eax + 4]
mov edx, dword [edi + 0x2c]
cmp esi, 0x2745
mov eax, 0x2746
cmove esi, eax
lea eax, [esp + 0x20]
and edx, 0xffff3fff
mov ecx, esi
push eax
mov dword [edi + 0x2c], edx
call fcn.00449d08
push eax
jmp 0x444d55
lea eax, [esp + 0x20]
push eax
push 0xfffff024
push edi
call dword [edi + 0x38]
add esp, 0xc
mov eax, dword [edi + 0x2c]
and eax, 0x11000
cmp eax, 0x1000
jne 0x444caf
mov ebx, dword [esp + 0x14]
mov edx, edi
mov ecx, ebx
call fcn.00444291
jmp 0x444cb3