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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [ebp + 0x18]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
push edi
jne 0x41fabe
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_recv]
jmp 0x41fcda
mov esi, dword [ebp + 8]
push 1
mov dword [ebp - 8], eax
pop edi
lea eax, [ebp - 8]
mov dword [ebp - 0x108], esi
push eax
push ebx
lea eax, [ebp - 0x10c]
push ebx
push eax
push edi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 4], ebx
call dword [sym.imp.WS2_32.dll_select]
cmp eax, edi
jne 0x41fba6
lea eax, [ebp - 0x10c]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x41fb97
cmp dword [0x441ff4], ebx
je 0x41fcd7
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, edi
je 0x41fb34
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41fcd7
cmp eax, edi
jle 0x41fcd7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebx
mov dword [ebp + 8], eax
jge 0x41fb57
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41fb88
push edi
push dword [0x43cd48]
push 0xb34
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.RecvTimeout:_select_return_success__but_socket_is_not_set__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp + 8]
jmp 0x41fcd1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
jmp 0x41fab3
cmp eax, ebx
jne 0x41fc44
cmp dword [0x441ff4], ebx
mov esi, dword [sym.imp.WS2_32.dll_WSASetLastError]
je 0x41fc38
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, edi
je 0x41fbd5
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41fc38
cmp eax, edi
jle 0x41fc38
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebx
mov dword [ebp + 0x14], eax
jge 0x41fbf9
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41fc2a
push edi
push dword [0x43cd48]
push 0xb3e
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.RecvTimeout:_select_timeout__set_last_error_to_WSAETIMEDOUT__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push dword [ebp + 8]
call esi
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x274c
call esi
jmp 0x41fcd7
cmp dword [0x441ff4], ebx
je 0x41fcd7
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, edi
je 0x41fc69
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41fcd7
cmp eax, edi
jle 0x41fcd7
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebx
mov dword [ebp + 0x14], eax
jge 0x41fc8f
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41fcc5
push edi
push dword [0x43cd48]
push 0xb44
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.RecvTimeout:_select_error:__u__n
call fcn.0041c506
pop ecx
pop ecx
call fcn.0041c4cc
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret