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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x730b1c]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
mov ebx, ecx
mov dword [esp + 0x24], 0x3e8
push edi
xor edi, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], edi
lea esi, [esp + 0x40]
mov dword [esp + 0x20], esi
mov byte [esp + 0x13], 0
test ebx, ebx
je 0x4494b6
cmp dword [ebx], 0xbab1e
jne 0x4494b6
cmp byte [ebx + 0xe6], 0
je 0x449223
lea eax, [edi + 8]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
test eax, eax
je 0x449285
nop
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.00448f30
mov ebx, eax
xor edx, edx
mov eax, 1
or esi, 0xffffffff
test ebx, eax
je 0x449250
mov esi, dword [esp + edx*4 + 0x2c]
inc edi
mov ecx, eax
rol ecx, 0x10
test ebx, ecx
je 0x44925e
mov esi, dword [esp + edx*4 + 0x2c]
inc edi
cmp esi, 0xffffffff
je 0x44926b
inc edx
rol eax, 1
cmp edx, 5
jb 0x449244
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], edi
mov eax, dword [eax]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x449230
mov ebx, dword [esp + 0x1c]
lea esi, [esp + 0x40]
lea edx, [esp + 0x18]
mov ecx, ebx
call fcn.0044b500
mov eax, dword [esp + 0x18]
test eax, eax
js 0x4492a6
mov ecx, 0x3e8
cmp eax, ecx
cmovl ecx, eax
mov dword [esp + 0x28], ecx
cmp dword [ebx + 0xdc], 0xffffffff
lea eax, [edi + 1]
cmove eax, edi
cmp eax, 0xa
jbe 0x4492ec
shl eax, 3
push eax
call dword [0x73166c]
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
jne 0x4492e7
lea eax, [esi + 3]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x13], 1
xor ebx, ebx
mov ecx, 0x300
mov dword [esp + 0x14], ebx
test edi, edi
je 0x449396
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x449396
lea edx, [esp + 0x2c]
mov ecx, eax
call fcn.00448f30
mov edi, eax
xor edx, edx
mov ecx, 1
or esi, 0xffffffff
test edi, ecx
je 0x449347
mov esi, dword [esp + 0x20]
mov eax, dword [esp + edx*4 + 0x2c]
mov dword [esi + ebx*8], eax
mov eax, 0x300
mov word [esi + ebx*8 + 4], ax
inc ebx
mov esi, dword [esp + edx*4 + 0x2c]
mov eax, ecx
rol eax, 0x10
test edi, eax
je 0x44936a
mov esi, dword [esp + 0x20]
mov eax, dword [esp + edx*4 + 0x2c]
mov dword [esi + ebx*8], eax
mov eax, 0x10
mov word [esi + ebx*8 + 4], ax
inc ebx
mov esi, dword [esp + edx*4 + 0x2c]
cmp esi, 0xffffffff
je 0x449377
inc edx
rol ecx, 1
cmp edx, 5
jb 0x449326
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x449312
mov edi, dword [esp + 0x24]
mov ecx, 0x300
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xdc]
cmp eax, 0xffffffff
je 0x4493b2
mov dword [esi + ebx*8], eax
mov word [esi + ebx*8 + 4], cx
inc ebx
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x44940c
mov eax, dword [esp + 0x28]
mov ecx, esi
cdq
push edx
push eax
mov edx, ebx
call fcn.00450cc0
add esp, 8
test eax, eax
jle 0x44940c
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0xdc], 0xffffffff
je 0x44940c
mov eax, 0x300
test word [esi + edi*8 + 6], ax
je 0x44940c
mov esi, dword [sym.imp.WS2_32.dll_recv]
mov ebx, dword [esp + 0x1c]
push 0
push 0x40
lea eax, [esp + 0x98]
push eax
push dword [ebx + 0xdc]
call esi
test eax, eax
jg 0x4493f0
mov ebx, dword [esp + 0x14]
cmp byte [esp + 0x13], 0
je 0x449420
push dword [esp + 0x20]
call dword [0x731670]
add esp, 4
test ebx, ebx
jne 0x44949f
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
cmp dword [eax], 0xbab1e
jne 0x44949f
cmp byte [eax + 0xe6], bl
jne 0x44949f
lea edx, [esp + 0x18]
mov ecx, eax
call fcn.0044b500
test eax, eax
jne 0x44949f
mov eax, dword [esp + 0x18]
test eax, eax
je 0x44949f
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jg 0x449463
test eax, eax
jns 0x449465
mov eax, ecx
cdq
mov ecx, eax
or ecx, edx
je 0x44949f
test edx, edx
jg 0x449498
jl 0x449476
test eax, eax
jae 0x449498
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.00610840
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.00610840
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xd4]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00610840
mov esp, ebp
pop ebp
ret