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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x318
mov rbp, rsp
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x2b0], 0
mov qword [rbp + 0x348], rdx
mov qword [rbp + 0x350], r8
mov rax, qword [rbp + 0x350]
mov qword [rax], 0
nop
mov byte [rbp + 0x30f], 0
mov rcx, qword [rbp + 0x350]
call fcn.004100d0
xor rbx, rbx
mov sil, 1
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0xc8], 0
je 0x4cecaf
mov rax, qword [rbp + 0x58]
cmp dword [rax + 0xc0], 0
je 0x4cecaf
xor rsi, rsi
mov rax, qword [rbp + 0x58]
mov ebx, dword [rax + 0xc0]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax + 0xb8]
mov rax, qword [rbp + 0x58]
mov r8d, dword [rax + 0xc0]
call fcn.00408cc0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xc8]
call sub.kernel32.dll_LocalFree
mov rax, qword [rbp + 0x58]
mov qword [rax + 0xc8], 0
mov dword [rax + 0xc0], 0
jmp 0x4ced68
test sil, sil
je 0x4ced68
xor rsi, rsi
mov dword [rbp + 0xa8], 1
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x80]
mov qword [rbp + 0xb0], rax
mov eax, dword [0x00b2db88]
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0xa4], 0
xor rcx, rcx
lea rdx, [rbp + 0xa8]
xor r8, r8
xor r9, r9
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call sub.wsock32.dll_select
test eax, eax
jle 0x4cefe5
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x80]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0xb8]
mov edx, ebx
lea rdx, [rax + rdx]
mov rax, qword [rbp + 0x58]
mov r8d, dword [rax + 0xb0]
sub r8d, ebx
xor r9, r9
call sub.wsock32.dll_recv
test eax, eax
jg 0x4ced66
test eax, eax
jne 0x4ced54
test ebx, ebx
je 0x4ced59
xor rax, rax
jmp 0x4ced5b
mov al, 1
mov byte [rbp + 0x30f], al
jmp 0x4cefe5
add ebx, eax
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x10], 0
je 0x4cef97
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0xb8]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
mov dword [rbp + 0x70], ebx
mov dword [rbp + 0x74], 0
mov dword [rbp + 0x78], 0
mov dword [rbp + 0x7c], 0
mov dword [rbp + 0x60], 1
mov dword [rbp + 0x64], 0
mov dword [rbp + 0x68], 0
mov dword [rbp + 0x6c], 0
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp + 0x2b8]
lea r8, [rbp + 0x2c8]
mov r9d, 3
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 3
lea rax, [rbp + 0x70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 3
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 3
call fcn.004ce270
mov rax, qword [rbp + 0x58]
lea rcx, [rax + 0x88]
lea rdx, [rbp + 0x2b8]
xor r8, r8
xor r9, r9
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x10]
call qword [rax + 0xd0]
add eax, 0x7ff6fce8
test eax, eax
je 0x4cef71
sub eax, 0x7ff6fce8
test eax, eax
je 0x4cee8e
sub eax, 0x90317
test eax, eax
je 0x4cef8e
sub eax, 0xa
test eax, eax
jne 0x4cefe5
jmp 0x4cef79
xor rdi, rdi
movsxd rax, edi
add rax, rax
cmp dword [rbp + rax*8 + 0x2cc], 1
jne 0x4ceeef
movsxd rax, edi
add rax, rax
cmp dword [rbp + rax*8 + 0x2c8], 0
jbe 0x4ceeef
lea rcx, [rbp + 0x2b0]
movsxd rax, edi
add rax, rax
mov rdx, qword [rbp + rax*8 + 0x2d0]
movsxd rax, edi
add rax, rax
mov r8d, dword [rbp + rax*8 + 0x2c8]
xor r9, r9
call fcn.004103f0
mov rcx, qword [rbp + 0x350]
mov rdx, qword [rbp + 0x2b0]
call fcn.00410e60
add edi, 1
cmp edi, 4
jne 0x4cee91
nop
mov rcx, rbp
lea rdx, [rbp + 0x30f]
call fcn.004cea60
test al, al
jne 0x4cefe5
xor rbx, rbx
mov sil, 1
xor rdi, rdi
movsxd rax, edi
add rax, rax
cmp dword [rbp + rax*8 + 0x2cc], 5
jne 0x4cef63
movsxd rax, edi
add rax, rax
mov rcx, qword [rbp + rax*8 + 0x2d0]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax + 0xb8]
movsxd rax, edi
add rax, rax
mov r8d, dword [rbp + rax*8 + 0x2c8]
call fcn.00408cc0
movsxd rdi, edi
add rdi, rdi
mov ebx, dword [rbp + rdi*8 + 0x2c8]
jmp 0x4cef6b
add edi, 1
cmp edi, 4
jne 0x4cef18
nop
jmp 0x4cec33
mov sil, 1
jmp 0x4cec33
mov rcx, qword [rbp + 0x58]
xor rdx, rdx
call fcn.004ce4a0
test al, al
je 0x4cefe5
jmp 0x4cec33
mov byte [rbp + 0x30f], 1
jmp 0x4cefe5
lea rcx, [rbp + 0x2b0]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax + 0xb8]
mov r8d, ebx
xor r9, r9
call fcn.004103f0
mov rcx, qword [rbp + 0x350]
mov rdx, qword [rbp + 0x2b0]
call fcn.00410e60
xor rbx, rbx
mov sil, 1
mov rcx, rbp
lea rdx, [rbp + 0x30f]
call fcn.004cea60
test al, al
jne 0x4cefe5
jmp 0x4cec33
nop
nop
lea rcx, [rbp + 0x2b0]
call fcn.004100d0
movzx rax, byte [rbp + 0x30f]
lea rsp, [rbp + 0x318]
pop rbx
pop rsi
pop rdi
pop rbp
ret