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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x528
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x510], rax
mov r15, qword [0x140050fc0]
mov esi, ecx
mov dword [rsp + 0x30], ecx
xor r13d, r13d
mov rcx, qword [rsp + 0x590]
mov ebp, 1
mov qword [r8], r13
mov r12d, edx
mov qword [r9], r13
mov r14d, 0x3e7
mov qword [rsp + 0x70], r8
mov qword [rcx], r15
lea r8d, [rbp + 0x7f]
mov dword [rsp + 0x34], edx
xor edx, edx
mov qword [rsp + 0x68], rcx
lea rcx, [rsp + 0x490]
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x3c], r13d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], r14d
call fcn.14001cde0
xor ecx, ecx
mov dword [rsp + 0x280], r13d
call fcn.1400249bc
mov qword [rsp + 0x50], rax
jmp 0x140002aa0
mov esi, dword [rsp + 0x30]
nop dword [rax + rax]
mov r12d, dword [rsp + 0x34]
nop word [rax + rax]
mov rax, qword [0x14003e4f0]
test ebp, ebp
mov edx, dword [rsp + 0x280]
mov edi, r13d
cmovne rax, qword [0x14004d328]
mov r8, qword [0x140050b98]
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
mov qword [rsp + 0x60], rax
mov ecx, r13d
setne dil
add edi, eax
test edx, edx
je 0x140002af2
nop dword [rax]
mov eax, ecx
cmp qword [rsp + rax*8 + 0x288], r8
je 0x140002af2
inc ecx
cmp ecx, edx
jb 0x140002ae0
cmp ecx, edx
jne 0x140002b0c
cmp edx, 0x40
jae 0x140002b0c
mov eax, ecx
mov qword [rsp + rax*8 + 0x288], r8
inc dword [rsp + 0x280]
lea ecx, [r8 + 1]
xor r9d, r9d
lea rax, [rsp + 0x60]
xor r8d, r8d
lea rdx, [rsp + 0x280]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
movsxd rbx, eax
cmp rbx, 0xffffffffffffffff
je 0x140003026
xor ecx, ecx
call fcn.1400249bc
sub eax, dword [rsp + 0x50]
btr eax, 0x1f
test rbx, rbx
jle 0x140002b5a
cmp eax, edi
ja 0x140002f2c
test rbx, rbx
je 0x140002f4a
mov rcx, qword [0x140050b98]
lea rdx, [rsp + 0x80]
xor r9d, r9d
mov r8d, 0x1fc
call qword [sym.imp.WS2_32.dll_recv]
movsxd r9, eax
cmp r9, 0xffffffffffffffff
je 0x140002fb3
cmp r9, 8
jge 0x140002bb2
cmp dword [0x140051ca4], 0
je 0x140002aa0
mov rdx, r9
lea rcx, str.Short___zd_byte__packet_received_n
call fcn.140001090
jmp 0x140002aa0
movzx edx, byte [rsp + 0x80]
movzx eax, dl
shr al, 3
and al, 7
dec al
cmp al, 3
ja 0x140002f05
movzx eax, dl
and al, 7
cmp al, 7
je 0x140002bf9
cmp dword [0x140051ca4], 0
je 0x140002aa0
movzx edx, dl
lea rcx, str.Packet_received_with_mode__d_n
and edx, 7
call fcn.140001090
jmp 0x140002aa0
movzx r11d, byte [rsp + 0x81]
test r11b, r11b
jns 0x140002c25
cmp dword [0x140051ca4], 0
je 0x140002aa0
lea rcx, str.Encrypted_packet_received_n
call fcn.140001090
jmp 0x140002aa0
test dl, dl
js 0x140002c47
cmp dword [0x140051ca4], 0
je 0x140002aa0
lea rcx, str.Received_request_packet__wanted_response_n
call fcn.140001090
jmp 0x140002aa0
movzx r8d, word [rsp + 0x86]
mov ebx, 0xf000
movzx eax, r8w
rol ax, 8
test bx, ax
je 0x140002c80
cmp dword [0x140051ca4], 0
je 0x140002aa0
lea rcx, str.Received_packet_with_nonzero_MBZ_field__n
call fcn.140001090
jmp 0x140002aa0
movzx r10d, byte [rsp + 0x82]
movzx ecx, byte [rsp + 0x83]
cmp r10d, esi
jne 0x140002ed8
movzx eax, cl
cmp eax, r12d
jne 0x140002ed8
movzx ecx, word [rsp + 0x84]
movzx eax, cx
rol ax, 8
test bx, ax
jne 0x140002f78
mov r10, qword [rsp + 0x598]
movzx eax, cx
and ax, 0xf
shl ax, 8
movzx r12d, ax
movzx eax, cx
shr rax, 8
or r12, rax
movzx eax, r8w
and ax, 0xf
shl ax, 8
movzx ebx, ax
movzx eax, r8w
shr rax, 8
or rbx, rax
cmp r10, rbx
jbe 0x140002d05
mov esi, r10d
sub esi, ebx
jmp 0x140002d08
mov esi, r13d
mov rdi, rbx
lea rax, [r9 - 8]
imul rdi, r12
cmp rdi, rax
jbe 0x140002d48
cmp dword [0x140051ca4], 0
mov esi, dword [rsp + 0x30]
je 0x140002a90
mov r9, rdi
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rcx, str.Received_items__zu__size__zu__total__zu___data_in_packet_is__zu_n
mov rdx, r12
call fcn.140001090
jmp 0x140002a90
test ebp, ebp
jne 0x140002d82
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
cmp rbx, r8
je 0x140002d82
cmp dword [0x140051ca4], ebp
mov esi, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x34]
je 0x140002aa0
mov rdx, rbx
lea rcx, str.Received_itemsize__zu__previous__zu_n
call fcn.140001090
jmp 0x140002aa0
movzx eax, r11b
and eax, 0x7f
mov ecx, eax
cmp byte [rsp + rax + 0x490], 0
je 0x140002dbe
cmp dword [0x140051ca4], 0
mov esi, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x34]
je 0x140002aa0
mov edx, ecx
lea rcx, str.Received_duplicate_sequence_number__d_n
call fcn.140001090
jmp 0x140002aa0
mov byte [rsp + rax + 0x490], 1
test dl, 0x40
jne 0x140002de9
cmp r14d, 0x3e7
je 0x140002de5
lea rcx, str.Received_second_end_sequence_packet_n
call fcn.140001090
jmp 0x140002a84
mov dword [rsp + 0x40], ecx
xor ecx, ecx
call fcn.1400249bc
mov rdx, qword [0x140050fc0]
mov dword [rsp + 0x50], eax
movsxd rax, dword [0x140050b90]
movsxd r14, esi
add rax, rdx
mov rcx, r14
imul rcx, r12
add rcx, rdi
add rcx, r15
cmp rcx, rax
jbe 0x140002e39
sub r15, rdx
call fcn.140002940
mov rax, qword [0x140050fc0]
mov rcx, qword [rsp + 0x68]
add r15, rax
mov qword [rsp + 0x48], r15
mov qword [rcx], rax
lea rdi, [rsp + 0x88]
test r12, r12
je 0x140002e99
mov r13, qword [rsp + 0x48]
lea r15, [r14 + rbx]
mov ebp, ebx
mov rsi, r12
nop dword [rax]
nop dword [rax + rax]
mov r8, rbp
mov rdx, rdi
mov rcx, r13
call fcn.14001c410
lea rcx, [rbx + r13]
mov r8, r14
xor edx, edx
add rdi, rbx
call fcn.14001cde0
add r13, r15
sub rsi, 1
jne 0x140002e60
mov ebp, dword [rsp + 0x38]
mov qword [rsp + 0x48], r13
xor r13d, r13d
mov r15, qword [rsp + 0x48]
test ebp, ebp
je 0x140002eb1
mov rcx, qword [rsp + 0x58]
lea rax, [r14 + rbx]
mov ebp, r13d
mov dword [rsp + 0x38], r13d
mov qword [rcx], rax
mov ebx, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x70]
inc ebx
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x3c], ebx
add qword [rsi], r12
cmp ebx, r14d
jle 0x140002a84
xor eax, eax
jmp 0x140003035
cmp dword [0x140051ca4], 0
je 0x140002aa0
movzx r8d, cl
mov r9d, esi
lea rcx, str.Received_implementation_request_of__d__d__wanted__d__d
mov dword [rsp + 0x20], r12d
mov edx, r10d
call fcn.140001090
jmp 0x140002aa0
cmp dword [0x140051ca4], 0
je 0x140002aa0
movzx edx, dl
lea rcx, str.Packet_received_with_version__d_n
shr edx, 3
and edx, 7
call fcn.140001090
jmp 0x140002aa0
mov rcx, qword [0x140050b98]
lea rdx, [rsp + 0x80]
xor r9d, r9d
mov r8d, 0x1fc
call qword [sym.imp.WS2_32.dll_recv]
mov ecx, 2
call fcn.14001df44
lea r8, [0x140050a90]
mov rcx, rax
test ebp, ebp
je 0x140002fbc
lea rdx, str._s:_timed_out__nothing_received_n
call fcn.140001040
mov eax, setsockopt
jmp 0x140003035
cmp dword [0x140051ca4], 0
je 0x140002fa4
test dl, 0x40
je 0x140002fa4
rol cx, 8
movzx edx, cx
lea rcx, str.Error_code__d_received_on_not_final_packet_n
shr edx, 0xc
call fcn.140001090
movzx ecx, word [rsp + 0x84]
rol cx, 8
movzx eax, cx
shr eax, 0xc
jmp 0x140003035
lea rcx, str.read
jmp 0x14000302d
lea rdx, str._s:_timed_out_with_incomplete_data_n
call fcn.140001040
cmp dword [0x140051ca4], 0
je 0x14000301f
lea rcx, str.Received_sequence_numbers
call fcn.140001090
nop dword [rax]
cmp byte [rsp + r13 + 0x490], 0
je 0x140002ffa
mov rdx, r13
lea rcx, str.__zd_
call fcn.140001090
inc r13
cmp r13, 0x7f
jle 0x140002fe0
lea rcx, str._last_frame_received_n
cmp r14d, 0x3e7
jne 0x14000301a
lea rcx, str._last_frame_not_received_n
call fcn.140001090
mov eax, reloc.WS2_32.dll_recv
jmp 0x140003035
lea rcx, str.select_fails
call fcn.140004ba0
or eax, 0xffffffff
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.14001b620
add rsp, 0x528
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret