Function at 0x44d890
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62feeb
mov eax, dword fs:[0]
push eax
sub esp, 0x448
mov eax, dword [0x6a73e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x434], esi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x418], eax
lea eax, [esi + 0x18]
push eax
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x448], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x444], 1
cmp byte [esi + 0xd0], 0
mov dword [ebp - 4], 0
jne 0x44e1b5
mov eax, dword [esi + 0xa8]
lea edi, [esi + 0xa8]
lea ecx, [esi + 0xc0]
mov dword [ebp - 0x43c], ecx
mov dword [eax], 0
mov eax, dword [esi + 0xb4]
mov dword [edi + 8], 0xffffffff
mov dword [eax], 0
mov dword [esi + 0xbc], 0xffffffff
mov eax, dword [ecx]
mov dword [eax], 0
mov dword [ecx + 8], 0xffffffff
xor ecx, ecx
mov eax, dword [edi]
mov esi, dword [esi + 0x30]
mov edx, dword [eax]
test edx, edx
je 0x44d96c
add eax, 4
nop dword [eax]
cmp dword [eax], esi
je 0x44d983
inc ecx
add eax, 4
cmp ecx, edx
jb 0x44d960
lea eax, [edx + 1]
mov ecx, edi
push eax
call fcn.0044cbe0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov dword [ecx + eax*4 + 4], esi
mov eax, dword [edi]
inc dword [eax]
mov ebx, dword [ebp - 0x434]
xor edi, edi
mov esi, dword [ebx + 0xcc]
test esi, esi
je 0x44d9a9
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
test al, al
je 0x44d9cc
mov esi, dword [esi + 4]
test esi, esi
jne 0x44d995
xor dl, dl
lea ecx, [ebx + 0xa8]
mov dword [ebp - 0x414], 3
lea eax, [ebx + 0x3c]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], eax
jmp 0x44d9d6
mov dl, 1
jmp 0x44d9ab
mov dl, byte [ebp - 0x429]
mov ebx, edi
mov dword [ebp - 0x424], ebx
test dl, dl
jne 0x44d9ee
cmp dword [eax + 4], 0
mov byte [ebp - 0x429], dl
je 0x44d9f5
mov byte [ebp - 0x429], 1
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x44dad2
mov edx, dword [ecx]
lea edi, [esi]
mov ebx, dword [ecx + 4]
mov esi, dword [esi]
mov eax, dword [edx]
mov dword [ebp - 0x438], eax
inc eax
mov dword [ebp - 0x430], eax
cmp eax, ebx
jbe 0x44daab
mov ecx, dword [ebp - 0x430]
mov eax, ebx
shr eax, 1
add eax, ebx
cmp eax, ecx
cmovae ecx, eax
mov dword [ebp - 0x430], ecx
lea eax, [ecx*4 + 4]
push eax
call fcn.005bb0ab
mov edx, dword [ebp - 0x450]
add esp, 4
mov dword [ebp - 0x438], eax
mov ecx, dword [edx]
mov ecx, dword [ecx]
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [edx]
cmp dword [eax], ecx
jbe 0x44da83
mov eax, dword [ebp - 0x438]
add eax, 4
mov dword [ebp - 0x454], eax
mov ebx, eax
mov eax, dword [edx]
mov eax, dword [eax + ecx*4 + 4]
mov dword [ebx + ecx*4], eax
inc ecx
mov eax, dword [edx]
cmp ecx, dword [eax]
jb 0x44da73
push eax
call fcn.0050d350
mov ecx, dword [ebp - 0x450]
add esp, 4
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x430]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, dword [edx]
mov dword [ebp - 0x438], eax
mov eax, dword [edi + 8]
mov edi, dword [ebp - 0x438]
mov dword [edx + edi*4 + 4], eax
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [ebp - 0x44c]
cmp esi, dword [eax]
jne 0x44da01
mov ebx, dword [ebp - 0x424]
jmp 0x44dad8
mov eax, dword [ebp - 0x44c]
mov edi, dword [ecx + 8]
cmp edi, ebx
cmovbe edi, ebx
add eax, 0x1c
add ecx, 0xc
mov dword [ebp - 0x44c], eax
sub dword [ebp - 0x414], 1
mov dword [ebp - 0x450], ecx
jne 0x44d9d0
cmp byte [ebp - 0x429], 0
mov ebx, dword [ebp - 0x440]
mov esi, dword [ebp - 0x434]
jne 0x44db24
cmp dword [esi + 0x94], 0
mov byte [ebp - 0x429], 0
je 0x44db2b
mov byte [ebp - 0x429], 1
lea eax, [esi + 0x8c]
push ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0044f820
mov esi, dword [esi + 0xbc]
cmp esi, edi
mov eax, dword [ebp - 0x434]
cmovbe esi, edi
add eax, 0x8c
mov edi, dword [ebp - 0x43c]
mov ecx, edi
push ebx
push eax
call fcn.0044f820
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xc8]
cmp eax, esi
cmovbe eax, esi
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x418]
test eax, eax
jne 0x44db90
cmp byte [ebp - 0x429], al
je 0x44e1b5
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
test eax, eax
je 0x44dbf6
mov esi, dword [edx + 0xcc]
mov ecx, 0x11e1a300
cmp eax, ecx
cmovbe ecx, eax
test esi, esi
je 0x44dbd1
nop dword [eax]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
mov esi, dword [esi + 4]
mov ecx, eax
test esi, esi
jne 0x44dbc0
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x420], eax
imul eax, eax, 0xf4240
sub ecx, eax
mov dword [ebp - 0x41c], ecx
push dword [ebp - 0x448]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x6b1290
push 0x413160
push 0x6b128c
mov byte [ebp - 0x444], 0
call fcn.004805c1
add esp, 0xc
test eax, eax
je 0x44e1df
mov ecx, dword [ebp - 0x434]
mov esi, dword [edi]
push 0
mov eax, dword [ecx + 0xa8]
mov edi, dword [ecx + 0xb4]
mov dword [ebp - 0x418], eax
call dword [sym.imp.WS2_32.dll_WSASetLastError]
mov edx, dword [ebp - 0x418]
test edx, edx
jne 0x44dcb0
test edi, edi
jne 0x44dcb0
test esi, esi
jne 0x44dcb0
mov eax, 0x10624dd3
imul dword [ebp - 0x41c]
imul eax, dword [ebp - 0x420], 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
mov eax, 1
cmove ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x6b1290
push 0x413160
push 0x6b128c
call fcn.004805c1
add esp, 0xc
test eax, eax
je 0x44e1e4
jmp 0x44e01d
cmp dword [ebp - 0x420], 0
jne 0x44dcde
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x418], 0x3e8
lea eax, [ecx - 1]
cmp eax, 0x3e6
cmovbe ecx, dword [ebp - 0x418]
mov dword [ebp - 0x41c], ecx
lea eax, [ebp - 0x420]
push eax
mov eax, dword [ebp - 0x440]
push esi
push edi
push edx
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
mov eax, dword [0x6b1214]
mov dword [ebp - 0x430], esi
test al, 1
jne 0x44dd30
or eax, 1
mov dword [0x6b1210], 0x6b120c
push 0x63e650
mov dword [0x6b1214], eax
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
add esp, 4
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
test esi, esi
js 0x44dd5d
push 0x6b1290
push 0x413160
push 0x6b128c
call fcn.004805c1
add esp, 0xc
test eax, eax
je 0x44e1e9
test esi, esi
jle 0x44e01d
mov ecx, dword [ebp - 0x434]
push dword [ecx + 0xa8]
push dword [ecx + 0x30]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e01d
push 0x6b1290
lea eax, [ebp - 0x410]
mov dword [ebp - 0x428], 0x400
push 0x413160
push 0x6b128c
mov dword [ebp - 0x424], eax
call fcn.004805c1
add esp, 0xc
test eax, eax
je 0x44e1ee
jmp 0x44ddc6
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov eax, dword [ebp - 0x434]
push 0
mov esi, dword [eax + 0x30]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push 0
lea eax, [ebp - 0x418]
mov dword [ebp - 0x414], 0
push eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x418], 0
push eax
push 1
lea eax, [ebp - 0x428]
push eax
push esi
call dword [sym.imp.WS2_32.dll_WSARecv]
mov ecx, dword [0x6b1214]
mov dword [ebp - 0x440], eax
test cl, 1
jne 0x44de48
or ecx, 1
mov dword [0x6b1210], 0x6b120c
push 0x63e650
mov dword [0x6b1214], ecx
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
add esp, 4
call edi
mov esi, eax
mov edi, 0x6b120c
cmp esi, 0x40
jne 0x44de95
mov eax, dword [0x6b1214]
test al, 1
jne 0x44de89
or eax, 1
mov dword [0x6b1210], edi
push 0x63e650
mov dword [0x6b1214], eax
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
mov eax, dword [0x6b1214]
add esp, 4
mov esi, 0x2746
mov edi, 0x6b120c
jmp 0x44def5
cmp esi, 0x4d2
jne 0x44dee0
mov eax, dword [0x6b1214]
test al, 1
jne 0x44ded4
or eax, 1
mov dword [0x6b1210], 0x6b120c
push 0x63e650
mov dword [0x6b1214], eax
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
mov eax, dword [0x6b1214]
add esp, 4
mov esi, 0x274d
mov edi, 0x6b120c
jmp 0x44def5
cmp esi, 0x2738
je 0x44defe
cmp esi, 0xea
je 0x44defe
mov eax, dword [0x6b1214]
cmp dword [ebp - 0x440], 0
jne 0x44df48
push 0x6b1290
push 0x413160
push 0x6b128c
xor esi, esi
call fcn.004805c1
add esp, 0xc
test eax, eax
je 0x44e1df
mov eax, dword [ebp - 0x414]
mov edi, 0x6b1290
cmp eax, 0x400
je 0x44ddc0
test eax, eax
jg 0x44e016
je 0x44dfd5
mov eax, dword [0x6b1214]
test al, 1
jne 0x44df7a
or eax, 1
mov dword [0x6b1210], 0x6b120c
push 0x63e650
mov dword [0x6b1214], eax
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
mov eax, dword [0x6b1214]
add esp, 4
mov edx, dword [edi + 4]
mov ecx, dword [0x6b1210]
cmp edx, ecx
jne 0x44df93
cmp esi, 0x2733
je 0x44e016
test al, 1
jne 0x44dfc9
or eax, 1
mov dword [0x6b1210], 0x6b120c
push 0x63e650
mov dword [0x6b1214], eax
mov dword [0x6b120c], 0x6413a8
call fcn.005bb37c
mov edx, dword [edi + 4]
add esp, 4
mov ecx, dword [0x6b1210]
cmp edx, ecx
jne 0x44dfd5
cmp esi, 0x4d5
je 0x44e016
push dword [ebp - 0x448]
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call eax
mov edi, dword [ebp - 0x434]
mov byte [ebp - 0x444], 1
lea ecx, [edi + 0x30]
call fcn.0042fb10
lea ecx, [edi + 0x30]
mov dword [edi + 0x34], 0xffffffff
mov dword [edi + 0x30], 0xffffffff
call fcn.00445b40
mov esi, dword [ebp - 0x430]
dec esi
jmp 0x44e037
mov esi, dword [ebp - 0x430]
dec esi
push dword [ebp - 0x448]
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call eax
mov edi, dword [ebp - 0x434]
mov byte [ebp - 0x444], 1
test esi, esi
jle 0x44e196
mov ecx, dword [ebp - 0x43c]
lea esi, [edi + 0x8c]
push ebx
push esi
call fcn.00446420
push ebx
push esi
lea ecx, [edi + 0xb4]
call fcn.00446420
mov eax, dword [ebp - 0x43c]
mov edx, 2
add edi, 0x88
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x430], edi
nop dword [eax]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0x414], ecx
cmp dword [eax], ecx
jbe 0x44e16f
mov esi, dword [eax + ecx*4 + 4]
mov ecx, dword [edi]
test ecx, ecx
je 0x44e0d1
xor edx, edx
mov eax, esi
div ecx
mov eax, dword [edi - 4]
mov edi, dword [edi - 0x14]
lea ecx, [eax + edx*8]
mov eax, dword [ecx]
cmp eax, edi
je 0x44e0d4
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x44e0cb
nop word [eax + eax]
cmp dword [eax + 8], esi
je 0x44e11c
mov eax, dword [eax]
cmp eax, ecx
jne 0x44e0c0
mov edi, dword [ebp - 0x430]
mov edi, dword [edi - 0x14]
mov eax, edi
cmp edi, eax
je 0x44e146
mov esi, dword [edi + 0xc]
test esi, esi
je 0x44e135
mov eax, dword [esi + 0x2c]
push esi
call eax
add esp, 4
test eax, eax
je 0x44e146
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44e109
mov eax, dword [ecx + 0x14]
mov dword [edi + 0xc], eax
test eax, eax
jne 0x44e102
mov dword [edi + 0x10], eax
mov dword [ecx + 0x14], 0
mov dword [esi + 0x14], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x44e129
mov dword [eax + 0x14], esi
jmp 0x44e12b
mov edi, eax
mov eax, dword [ebp - 0x430]
mov eax, dword [eax - 0x14]
jmp 0x44e0d6
mov dword [ebx], esi
mov dword [ebx + 4], esi
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x44e0e1
push edi
mov edi, dword [ebp - 0x430]
lea ecx, [edi - 0x18]
call fcn.004385d0
jmp 0x44e14c
mov edi, dword [ebp - 0x430]
mov eax, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x414]
inc ecx
mov dword [ebp - 0x414], ecx
mov eax, dword [eax]
cmp ecx, dword [eax]
jb 0x44e092
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x43c]
dec edx
sub eax, 0xc
mov dword [ebp - 0x438], edx
sub edi, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x430], edi
test edx, edx
jns 0x44e080
mov eax, dword [ebp - 0x434]
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x44e1b5
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0x10]
mov esi, dword [esi + 4]
test esi, esi
jne 0x44e1a6
push dword [ebp - 0x448]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bb391
mov esp, ebp
pop ebp
ret 8
call fcn.006027a2
call fcn.006027a2
call fcn.006027a2
call fcn.006027a2
int3