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

Disassembly:
mov eax, 0x42665b
call fcn.0041bdc0
push ecx
mov eax, 0x244c
call fcn.0041bd90
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
lea ecx, [esi + 0x28]
xor edi, edi
mov dword [ecx], edi
mov eax, dword [esi]
mov dword [esi + 0x2c], eax
inc dword [ecx]
cmp dword [ebp + 0xc], edi
lea eax, [esi + 0x12c]
je 0x41381c
mov dword [eax], edi
mov ebx, dword [ebp + 8]
jmp 0x413827
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x1e8]
mov dword [eax], edx
push eax
push edi
push edi
push ecx
push edi
call sub.WSOCK32.dll_select
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
jne 0x41387c
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x34], eax
cmp eax, 0x2734
jne 0x413851
cmp dword [ebp + 0xc], edi
jne 0x4139cd
push eax
call fcn.004130d7
push eax
push dword [ebp - 0x34]
push str.connection::get_buffer___unexpected_error_from_select:__d___s_
lea eax, [ebp - 0x234]
push eax
call fcn.0041af29
lea eax, [ebp - 0x234]
push eax
push ebx
call fcn.00412b67
add esp, 0x1c
cmp dword [ebp - 0x24], edi
jne 0x41388a
cmp dword [ebp + 0xc], edi
jne 0x4139cd
push edi
push dword [esi + 0x20]
push dword [esi + 4]
push dword [esi]
call sub.WSOCK32.dll_recv
mov edi, eax
test edi, edi
je 0x4138d2
cmp edi, 0xffffffff
jne 0x4139d4
call sub.WSOCK32.dll_WSAGetLastError
mov edi, eax
cmp edi, 0x2733
je 0x4139cd
cmp edi, 0x2741
jle 0x4138dc
cmp edi, 0x2746
jle 0x4138d2
cmp edi, 0x2749
jne 0x4138dc
mov eax, 0xfb0
jmp 0x413a3a
push edi
call fcn.004130d7
push eax
push edi
push str.connection::get_buffer___unexpected_error:__d___s_
lea eax, [ebp - 0x434]
push eax
call fcn.0041af29
lea eax, [ebp - 0x434]
push eax
push ebx
call fcn.00412b67
add esp, 0x1c
xor edi, edi
mov dword [esi + 0x14], edi
and dword [esi + 0xc], 0
lea ecx, [ebp - 0x30]
call fcn.00402ccc
and dword [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00402ccc
mov byte [ebp - 4], 1
cmp dword [ebx + 0x228], 0
je 0x413a10
mov byte [ebp - 4], 2
mov ecx, dword [ebx + 0x228]
call fcn.00413ab7
test eax, eax
je 0x413a09
lea ecx, [ebp - 0x1c]
call fcn.00402cd9
push dword [esi + 0x14]
push dword [esi + 4]
lea ecx, [ebp - 0x1c]
call fcn.00402e68
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2450]
push eax
mov ecx, dword [ebx + 0x228]
call fcn.004128de
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x30]
call fcn.00402d1f
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2450]
call fcn.00402cbe
lea ecx, [ebp - 0x30]
call fcn.00402eb2
mov edi, eax
mov dword [ebp - 0x440], edi
lea ecx, [ebp - 0x30]
call fcn.00409563
mov dword [ebp - 0x43c], eax
mov ecx, dword [esi + 4]
and byte [ecx + edi], 0
test edi, edi
je 0x4139eb
dec edi
mov dword [ebp - 0x440], edi
mov cl, byte [eax + edi*2]
mov edx, dword [esi + 4]
mov byte [edx + edi], cl
jmp 0x4139b7
mov eax, 0xfad
jmp 0x413a3a
push str.superDebug:_Received__lu_bytes:_n
push edi
push dword [esi + 4]
push ebx
call fcn.00413526
add esp, 0x10
jmp 0x413907
lea ecx, [ebp - 0x30]
call fcn.00402eb2
mov dword [esi + 0x14], eax
cmp word [ebx], 0
je 0x413a09
push str.superDebug:_Decrypted_n
push ebx
call fcn.00403e43
pop ecx
pop ecx
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00402d02
lea ecx, [ebp - 0x30]
call fcn.00402d02
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00402cbe
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402cbe
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 8