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

Disassembly:
push rbp
push rbx
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f8]
mov eax, 0x2f8
call fcn.1401f4630
sub rsp, rax
mov rax, qword [0x1402defb8]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x260]
mov r14d, r9d
mov r13, qword [rbp + 0x278]
mov rbx, r8
mov qword [rsp + 0x68], rax
mov r15, rdx
mov rax, qword [rbp + 0x268]
mov qword [rsp + 0x60], rax
xor eax, eax
mov dword [rsp + 0x5c], r9d
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
lea r12d, [rax + 1]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], eax
call fcn.14014a830
cmp eax, r12d
je 0x14009f8f8
xor eax, eax
jmp 0x14009fd75
lea rax, [rsp + 0x40]
mov qword [rsp + 0x2f0], rsi
mov esi, dword [rbp + 0x258]
mov r9d, r14d
mov qword [rsp + 0x30], rax
mov r8d, r12d
mov qword [rsp + 0x2e8], rdi
mov rdx, rbx
mov edi, dword [rbp + 0x250]
mov rcx, r15
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edi
call fcn.14014a020
test eax, eax
jne 0x14009f94e
mov rcx, qword [0x1402dfba8]
call fcn.1400f57f0
xor eax, eax
jmp 0x14009fd65
test r14d, r14d
je 0x14009f962
mov rcx, qword [rsp + 0x40]
call fcn.140149bb0
cmp r14d, eax
jne 0x14009f986
test edi, edi
je 0x14009f974
mov rcx, qword [rsp + 0x40]
call fcn.140149c20
cmp edi, eax
jne 0x14009f986
test esi, esi
je 0x14009f99f
mov rcx, qword [rsp + 0x40]
call fcn.140149bf0
cmp esi, eax
je 0x14009f99f
mov r8d, 0xe9
lea rdx, str.apps_s_socket.c
lea rcx, str.assertion_failed:__family__AF_UNSPEC__family__BIO_ADDRINFO_family_res_____type__0__type__BIO_ADDRINFO_socktype_res_____protocol__0__protocol__BIO_ADDRINFO_protocol_res__
call fcn.140137580
mov rcx, qword [rsp + 0x40]
call fcn.140149bb0
mov rcx, qword [rsp + 0x40]
mov edi, eax
call fcn.140149c20
mov rcx, qword [rsp + 0x40]
mov r15d, eax
call fcn.140149bf0
mov rcx, qword [rsp + 0x40]
mov r12d, eax
call fcn.140149ba0
mov rcx, qword [rsp + 0x40]
mov r14, rax
call fcn.140149be0
mov rbx, rax
cmp edi, 0x17
mov eax, 3
mov esi, 1
cmove esi, eax
test rbx, rbx
je 0x14009fa44
mov rcx, rbx
call fcn.140149c20
cmp eax, r15d
jne 0x14009fa44
mov rcx, rbx
call fcn.140149bf0
cmp eax, r12d
jne 0x14009fa44
cmp edi, 2
jne 0x14009fa2f
mov rcx, rbx
call fcn.140149bb0
cmp eax, 0x17
jne 0x14009fa44
mov rcx, rbx
mov edi, eax
call fcn.140149ba0
mov r14, rax
jmp 0x14009fa44
cmp edi, 0x17
jne 0x14009fa44
mov rcx, rbx
call fcn.140149bb0
cmp eax, 2
jne 0x14009fa44
and esi, 0xfffffffd
xor r9d, r9d
mov r8d, r12d
mov edx, r15d
mov ecx, edi
call fcn.14014b080
mov dword [rsp + 0x58], eax
mov edi, eax
cmp eax, 0xffffffff
je 0x14009fd15
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.14014ad80
test eax, eax
je 0x14009fd15
mov rcx, r14
call fcn.140149de0
mov rcx, qword [rsp + 0x40]
movzx ebx, ax
call fcn.140149bc0
mov qword [rsp + 0x40], 0
test ebx, ebx
jne 0x14009fb8e
xor ebx, ebx
xor esi, esi
xor r14d, r14d
call fcn.140149d00
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14009fb2b
lea r8, [rsp + 0x50]
xor edx, edx
mov ecx, edi
call fcn.14014a740
test eax, eax
je 0x14009fb2b
mov rcx, qword [rsp + 0x50]
mov r15d, 1
mov edx, r15d
call fcn.140149c80
mov rbx, rax
test rax, rax
je 0x14009fb2b
mov rcx, qword [rsp + 0x50]
mov edx, r15d
call fcn.140149e00
mov rsi, rax
test rax, rax
je 0x14009fb2b
lea edx, [r14 + 0x3a]
mov rcx, rbx
call fcn.1401f53ec
test rax, rax
lea rcx, str.ACCEPT___s_:_s_n
lea rdx, str.ACCEPT__s:_s_n
mov r9, rsi
cmovne rdx, rcx
mov r8, rbx
mov rcx, r13
call fcn.1400e9c80
test eax, eax
cmovg r14d, r15d
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0xb]
call fcn.1400e86e0
mov r8d, 0x134
lea rdx, str.apps_s_socket.c
mov rcx, rbx
call fcn.1400e8180
mov r8d, 0x135
lea rdx, str.apps_s_socket.c
mov rcx, rsi
call fcn.1400e8180
mov rcx, qword [rsp + 0x50]
call fcn.140149c50
test r14d, r14d
jne 0x14009fbaf
mov ecx, edi
call fcn.14014ab50
mov rcx, qword [0x1402dfba8]
call fcn.1400f57f0
jmp 0x14009fd37
lea rdx, str.ACCEPT_n
mov rcx, r13
call fcn.1400e9c80
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0xb]
call fcn.1400e86e0
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14009fbbb
mov dword [rax], edi
mov r13d, dword [rbp + 0x270]
mov ebx, dword [rbp + 0x258]
mov rsi, qword [rsp + 0x60]
nop dword [rax]
mov eax, dword [rbp + 0x250]
cmp eax, 1
jne 0x14009fcce
mov rcx, qword [0x1402e1020]
call fcn.140149c50
call fcn.140149d00
mov qword [0x1402e1020], rax
test rax, rax
je 0x14009fb76
xor r8d, r8d
mov rdx, rax
mov ecx, edi
call fcn.14014a970
mov ebx, eax
mov ecx, ebx
test eax, eax
jns 0x14009fc2b
call fcn.14014b520
test eax, eax
je 0x14009fd07
mov rax, qword [0x1402e1020]
jmp 0x14009fc00
mov r14d, 1
mov edx, r14d
call fcn.1400a5420
mov r9, qword [rsp + 0x60]
mov edx, r14d
mov r8d, dword [rbp + 0x258]
mov ecx, ebx
call qword [rsp + 0x68]
movsxd rsi, ebx
mov edx, r14d
mov rcx, rsi
mov r12d, eax
call qword [sym.imp.WS2_32.dll_shutdown]
mov dword [rsp + 0x50], 0
mov edi, r14d
mov dword [rsp + 0x54], 0x7a120
lea rax, [rsp + 0x50]
mov qword [rbp - 0x78], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rbp - 0x80], edi
lea rdx, [rbp - 0x80]
lea ecx, [rbx + 1]
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x14009fcb6
xor r9d, r9d
lea rdx, [rbp + 0x190]
mov rcx, rsi
lea r8d, [r9 + 0x40]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x14009fc73
mov ecx, ebx
call fcn.14014ab50
mov edi, dword [rsp + 0x58]
mov ebx, dword [rbp + 0x258]
mov rsi, qword [rsp + 0x60]
jmp 0x14009fcdf
mov r9, rsi
mov r8d, ebx
mov edx, eax
mov ecx, edi
call qword [rsp + 0x68]
mov r12d, eax
cmp r13d, 0xffffffff
lea eax, [r13 - 1]
cmove eax, r13d
mov r13d, eax
test r12d, r12d
js 0x14009fcfb
test eax, eax
jne 0x14009fbd0
mov ecx, edi
call fcn.14014ab50
mov ebx, r12d
jmp 0x14009fd3b
mov rcx, qword [0x1402dfba8]
call fcn.1400f57f0
jmp 0x14009fd30
mov rcx, qword [rsp + 0x40]
call fcn.140149bc0
mov rcx, qword [0x1402dfba8]
call fcn.1400f57f0
cmp edi, 0xffffffff
je 0x14009fd37
mov ecx, edi
call fcn.14014ab50
mov ebx, dword [rsp + 0x48]
cmp dword [rsp + 0x5c], 1
jne 0x14009fd4c
mov rcx, qword [rsp + 0x78]
call fcn.14020198c
mov rcx, qword [0x1402e1020]
call fcn.140149c50
mov eax, ebx
mov qword [0x1402e1020], 0
mov rsi, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x2e8]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1401f4710
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret