Function at 0x61b750
Capabilities:
Check for time delay via gettickcount
Receive data
Receive data on socket
Set socket configuration

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esi + 0x252f]
xor ebx, ebx
cmp eax, 0xffffffff
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
jne 0x61b785
push ebx
call fcn.0069c8fa
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edi, dword [esi + 0x2533]
push 0x2710
push ecx
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x20]
push eax
call fcn.00543070
mov edx, dword [esi + 0x252f]
lea ecx, [esp + 0x14]
push ecx
push 0x4004667f
push edx
mov dword [esp + 0x20], ebx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov edi, dword [esp + 0x14]
cmp edi, ebx
je 0x61b772
mov eax, dword [esi + 0x2563]
sub eax, dword [esi + 0x2567]
lea ebx, [esi + 0x255b]
sub eax, 1
jns 0x61b7db
add eax, dword [ebx]
cmp eax, edi
jae 0x61b7e1
mov edi, eax
lea ebp, [edi + 1]
test ebp, ebp
je 0x61b7f9
jbe 0x61b7f5
push ebp
lea eax, [esp + 0x24]
push eax
call fcn.0068e2b0
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
mov ecx, dword [esi + 0x252f]
push 0
push edi
push ebp
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, edi
je 0x61b825
push ebp
call fcn.0069c8fa
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push edi
push ebp
mov edi, ebx
call fcn.00555000
mov byte [esp + 0x13], 1
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cmp ebx, eax
jne 0x61b878
lea edi, [eax + eax]
cmp edi, eax
je 0x61b871
mov eax, dword [esp + 0x28]
cmp edi, eax
jbe 0x61b86d
add eax, eax
cmp edi, eax
jbe 0x61b862
mov eax, edi
push eax
lea edx, [esp + 0x24]
push edx
call fcn.0068e2b0
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x20]
lea ebp, [eax + ebx]
mov eax, dword [esi + 0x2567]
sub eax, dword [esi + 0x2563]
lea edi, [esi + 0x255b]
jns 0x61b88e
add eax, dword [edi]
test eax, eax
jbe 0x61b911
push 1
push ebp
call fcn.00555050
cmp byte [esp + 0x13], 0
je 0x61b8a7
cmp byte [ebp], 0xa
je 0x61b8d3
mov al, byte [ebp]
cmp al, 0xd
je 0x61b8d3
add ebx, 1
cmp ebx, 1
mov byte [esp + 0x13], 0
je 0x61b8d0
cmp al, 0xa
jne 0x61b8d0
test ebx, ebx
je 0x61b977
cmp byte [ebp - 1], al
je 0x61b98e
add ebp, 1
mov edx, dword [esi + 0x6e]
mov eax, dword [edx]
lea ecx, [esi + 0x6e]
call eax
test al, al
je 0x61b843
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x18]
cmp eax, 0x15f90
ja 0x61b843
mov eax, dword [esp + 0x20]
push eax
call fcn.0069c8fa
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esi + 0x252f]
push 0
push 1
push ebp
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
je 0x61b89a
mov eax, dword [esi + 0x252f]
mov edi, dword [esi + 0x2533]
push 0x2710
push ecx
mov ecx, esp
lea edx, [esp + 0x24]
push edx
mov dword [ecx], eax
call fcn.00543070
mov ecx, dword [esi + 0x252f]
lea eax, [esp + 0x14]
push eax
push 0x4004667f
push ecx
mov dword [esp + 0x20], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp dword [esp + 0x14], 0
je 0x61b8fa
jmp 0x61b8d3
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0069c8fa
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
lea edx, [ebx + 1]
push edx
call fcn.0069c0de
mov edi, dword [esp + 0x24]
add esp, 4
push ebx
mov esi, eax
push edi
push esi
call fcn.006a4bd0
add esp, 0xc
push edi
mov byte [esi + ebx], 0
call fcn.0069c8fa
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret