Function at 0x14014e960
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x970
lea rdi, [rsp + 0x30]
mov ecx, 0x250
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x980]
mov rax, qword [0x140575740]
xor rax, rsp
mov qword [rsp + 0x968], rax
mov dword [rsp + 0x30], 0xffffffff
mov rax, qword [rsp + 0x980]
cmp dword [rax], 0
je 0x14014e9c7
mov dword [rsp + 0x9b0], 0
cmp dword [rsp + 0x9a8], 0
jne 0x14014e9f0
mov edx, 1
mov ecx, dword [rsp + 0x9b0]
call qword [sym.imp.KERNEL32.dll_SleepEx]
mov dword [rsp + 0x30], 0xffffffff
jmp 0x14014f732
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + 0x9b0]
xor r8d, r8d
mov rdx, qword [rsp + 0x9a0]
mov ecx, dword [rsp + 0x9a8]
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xc0
jne 0x14014ea39
mov rax, qword [rsp + 0x980]
cmp dword [rax + 0x510], 0
jne 0x14014ea39
jmp 0x14014e9f0
lea rcx, [rsp + 0x48]
call fcn.140137350
cmp dword [rsp + 0x30], 0xc0
je 0x14014ebe8
cmp dword [rsp + 0x30], 0
jl 0x14014ebe8
mov eax, dword [rsp + 0x9a8]
cmp dword [rsp + 0x30], eax
jge 0x14014ebe8
mov eax, dword [rsp + 0x30]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
cmp qword [rcx + rax*8], 0
je 0x14014ebe8
mov eax, dword [rsp + 0x30]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x78], rax
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x980]
mov rdx, qword [rsp + 0x9a0]
mov rax, qword [rdx + rax*8]
mov qword [rcx + 0x920], rax
mov rax, qword [rsp + 0x980]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x928], rcx
mov eax, dword [rsp + 0x30]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
mov rax, qword [rsp + 0x78]
cmp qword [rax + 8], 0
je 0x14014ebc2
mov rax, qword [rsp + 0x78]
mov r9, qword [rax + 0x10]
xor r8d, r8d
mov rax, qword [rsp + 0x980]
mov rdx, qword [rax + 0x920]
mov rcx, qword [rsp + 0x980]
mov rax, qword [rsp + 0x78]
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jne 0x14014ebc2
mov rax, qword [rsp + 0x980]
cmp qword [rax + 0x920], 0
je 0x14014eba1
mov rcx, qword [rsp + 0x78]
call fcn.140137540
test eax, eax
je 0x14014eba1
mov rax, qword [rsp + 0x980]
mov r8, qword [rax + 0x920]
lea rdx, str.__ILibChain_WindowsSelect__p___REMOVED_
mov ecx, 1
call fcn.14014d930
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
call fcn.140142f50
nop
jmp 0x14014ebc2
mov rax, qword [rsp + 0x980]
mov r8, qword [rax + 0x920]
lea rdx, str.__ILibChain_WindowsSelect__p___________p_
mov ecx, 1
call fcn.14014d930
nop
mov rax, qword [rsp + 0x980]
mov qword [rax + 0x920], 0
mov rax, qword [rsp + 0x980]
mov qword [rax + 0x928], 0
cmp dword [rsp + 0x30], 0x102
jne 0x14014ee09
mov dword [rsp + 0x34], 0
jmp 0x14014ec0a
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x9a8]
cmp dword [rsp + 0x34], eax
jge 0x14014ee09
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
cmp qword [rcx + rax*8], 0
je 0x14014ee04
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x18], 0
jne 0x14014ec71
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x1c], 0
je 0x14014ee04
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x48], eax
jl 0x14014ed13
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x48], eax
jne 0x14014eccf
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x1c]
cmp dword [rsp + 0x4c], eax
jl 0x14014ed13
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov ecx, dword [rsp + 0x48]
cmp dword [rax + 0x18], ecx
jne 0x14014ee04
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov ecx, dword [rsp + 0x4c]
cmp dword [rax + 0x1c], ecx
jg 0x14014ee04
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 8], 0
je 0x14014edb8
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x34]
add edx, 0x40
movsxd rdx, edx
mov r8, qword [rsp + 0x9a0]
mov rdx, qword [r8 + rdx*8]
mov qword [rsp + 0x958], rdx
mov r9, qword [rax + 0x10]
mov r8d, 2
mov rax, qword [rsp + 0x9a0]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x980]
mov rax, qword [rsp + 0x958]
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jne 0x14014edb6
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax]
call fcn.140142f50
nop
jmp 0x14014edd6
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax]
call fcn.140142f50
nop
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
jmp 0x14014ec00
cmp dword [rsp + 0x30], 0xffffffff
jne 0x14014ef45
mov dword [rsp + 0x34], 0
jmp 0x14014ee28
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x9a8]
cmp dword [rsp + 0x34], eax
jge 0x14014ef45
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
cmp qword [rcx + rax*8], 0
je 0x14014ef40
movsxd rax, dword [rsp + 0x34]
xor edx, edx
mov rcx, qword [rsp + 0x9a0]
mov rcx, qword [rcx + rax*8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x14014ef40
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 8], 0
je 0x14014eef5
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x34]
add edx, 0x40
movsxd rdx, edx
mov r8, qword [rsp + 0x9a0]
mov rdx, qword [r8 + rdx*8]
mov qword [rsp + 0x960], rdx
mov r9, qword [rax + 0x10]
mov r8d, 1
mov rax, qword [rsp + 0x9a0]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x980]
mov rax, qword [rsp + 0x960]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax]
call fcn.140142f50
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
mov eax, dword [rsp + 0x34]
add eax, 0x40
cdqe
mov rcx, qword [rsp + 0x9a0]
mov qword [rcx + rax*8], 0
jmp 0x14014ee1e
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x998]
mov r8, qword [rsp + 0x990]
mov rdx, qword [rsp + 0x988]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xffffffff
jne 0x14014f720
mov dword [rsp + 0x80], 0
lea rax, [rsp + 0xa0]
mov rdi, rax
xor eax, eax
mov ecx, 0x200
rep stosb byte [rdi], al
mov dword [rsp + 0x4f0], 0
mov dword [rsp + 0x720], 0
mov dword [rsp + 0x34], 0
jmp 0x14014efda
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x988]
mov eax, dword [rax]
cmp dword [rsp + 0x34], eax
jge 0x14014f10b
mov dword [rsp + 0x2c0], 0
mov dword [rsp + 0x934], 0
jmp 0x14014f016
mov eax, dword [rsp + 0x934]
inc eax
mov dword [rsp + 0x934], eax
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0x934], eax
jae 0x14014f04d
mov eax, dword [rsp + 0x934]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x988]
mov rcx, qword [rdx + rcx*8 + 8]
cmp qword [rsp + rax*8 + 0x2c8], rcx
jne 0x14014f04b
jmp 0x14014f04d
jmp 0x14014f006
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0x934], eax
jne 0x14014f098
cmp dword [rsp + 0x2c0], 0x40
jae 0x14014f098
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x934]
mov rdx, qword [rsp + 0x988]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0x2c8], rax
mov eax, dword [rsp + 0x2c0]
inc eax
mov dword [rsp + 0x2c0], eax
xor eax, eax
test eax, eax
jne 0x14014eff9
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x720]
lea r8, [rsp + 0x4f0]
lea rdx, [rsp + 0x2c0]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x14014f106
movsxd rax, dword [rsp + 0x34]
movsxd rcx, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x988]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0xa0], rax
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x14014efd0
mov dword [rsp + 0x34], 0
jmp 0x14014f11f
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x34], eax
jge 0x14014f206
mov dword [rsp + 0x938], 0
jmp 0x14014f14d
mov eax, dword [rsp + 0x938]
inc eax
mov dword [rsp + 0x938], eax
mov rax, qword [rsp + 0x988]
mov eax, dword [rax]
cmp dword [rsp + 0x938], eax
jae 0x14014f1f7
mov eax, dword [rsp + 0x938]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x988]
mov rcx, qword [rsp + rcx*8 + 0xa0]
cmp qword [rdx + rax*8 + 8], rcx
jne 0x14014f1f2
mov rax, qword [rsp + 0x988]
mov eax, dword [rax]
dec eax
cmp dword [rsp + 0x938], eax
jae 0x14014f1da
mov eax, dword [rsp + 0x938]
inc eax
mov eax, eax
mov ecx, dword [rsp + 0x938]
mov rdx, qword [rsp + 0x988]
mov rdi, qword [rsp + 0x988]
mov rax, qword [rdi + rax*8 + 8]
mov qword [rdx + rcx*8 + 8], rax
mov eax, dword [rsp + 0x938]
inc eax
mov dword [rsp + 0x938], eax
jmp 0x14014f187
mov rax, qword [rsp + 0x988]
mov eax, dword [rax]
dec eax
mov rcx, qword [rsp + 0x988]
mov dword [rcx], eax
jmp 0x14014f1f7
jmp 0x14014f13d
xor eax, eax
test eax, eax
jne 0x14014f130
jmp 0x14014f115
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x2c0], 0
mov dword [rsp + 0x34], 0
jmp 0x14014f230
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x990]
mov eax, dword [rax]
cmp dword [rsp + 0x34], eax
jge 0x14014f361
mov dword [rsp + 0x4f0], 0
mov dword [rsp + 0x93c], 0
jmp 0x14014f26c
mov eax, dword [rsp + 0x93c]
inc eax
mov dword [rsp + 0x93c], eax
mov eax, dword [rsp + 0x4f0]
cmp dword [rsp + 0x93c], eax
jae 0x14014f2a3
mov eax, dword [rsp + 0x93c]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x990]
mov rcx, qword [rdx + rcx*8 + 8]
cmp qword [rsp + rax*8 + 0x4f8], rcx
jne 0x14014f2a1
jmp 0x14014f2a3
jmp 0x14014f25c
mov eax, dword [rsp + 0x4f0]
cmp dword [rsp + 0x93c], eax
jne 0x14014f2ee
cmp dword [rsp + 0x4f0], 0x40
jae 0x14014f2ee
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x93c]
mov rdx, qword [rsp + 0x990]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0x4f8], rax
mov eax, dword [rsp + 0x4f0]
inc eax
mov dword [rsp + 0x4f0], eax
xor eax, eax
test eax, eax
jne 0x14014f24f
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x720]
lea r8, [rsp + 0x4f0]
lea rdx, [rsp + 0x2c0]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x14014f35c
movsxd rax, dword [rsp + 0x34]
movsxd rcx, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x990]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0xa0], rax
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x14014f226
mov dword [rsp + 0x34], 0
jmp 0x14014f375
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x34], eax
jge 0x14014f45c
mov dword [rsp + 0x940], 0
jmp 0x14014f3a3
mov eax, dword [rsp + 0x940]
inc eax
mov dword [rsp + 0x940], eax
mov rax, qword [rsp + 0x990]
mov eax, dword [rax]
cmp dword [rsp + 0x940], eax
jae 0x14014f44d
mov eax, dword [rsp + 0x940]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x990]
mov rcx, qword [rsp + rcx*8 + 0xa0]
cmp qword [rdx + rax*8 + 8], rcx
jne 0x14014f448
mov rax, qword [rsp + 0x990]
mov eax, dword [rax]
dec eax
cmp dword [rsp + 0x940], eax
jae 0x14014f430
mov eax, dword [rsp + 0x940]
inc eax
mov eax, eax
mov ecx, dword [rsp + 0x940]
mov rdx, qword [rsp + 0x990]
mov rdi, qword [rsp + 0x990]
mov rax, qword [rdi + rax*8 + 8]
mov qword [rdx + rcx*8 + 8], rax
mov eax, dword [rsp + 0x940]
inc eax
mov dword [rsp + 0x940], eax
jmp 0x14014f3dd
mov rax, qword [rsp + 0x990]
mov eax, dword [rax]
dec eax
mov rcx, qword [rsp + 0x990]
mov dword [rcx], eax
jmp 0x14014f44d
jmp 0x14014f393
xor eax, eax
test eax, eax
jne 0x14014f386
jmp 0x14014f36b
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x2c0], 0
mov dword [rsp + 0x2c0], 0
mov dword [rsp + 0x4f0], 0
mov dword [rsp + 0x34], 0
jmp 0x14014f49c
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x998]
mov eax, dword [rax]
cmp dword [rsp + 0x34], eax
jge 0x14014f5cd
mov dword [rsp + 0x720], 0
mov dword [rsp + 0x944], 0
jmp 0x14014f4d8
mov eax, dword [rsp + 0x944]
inc eax
mov dword [rsp + 0x944], eax
mov eax, dword [rsp + 0x720]
cmp dword [rsp + 0x944], eax
jae 0x14014f50f
mov eax, dword [rsp + 0x944]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x998]
mov rcx, qword [rdx + rcx*8 + 8]
cmp qword [rsp + rax*8 + 0x728], rcx
jne 0x14014f50d
jmp 0x14014f50f
jmp 0x14014f4c8
mov eax, dword [rsp + 0x720]
cmp dword [rsp + 0x944], eax
jne 0x14014f55a
cmp dword [rsp + 0x720], 0x40
jae 0x14014f55a
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x944]
mov rdx, qword [rsp + 0x998]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0x728], rax
mov eax, dword [rsp + 0x720]
inc eax
mov dword [rsp + 0x720], eax
xor eax, eax
test eax, eax
jne 0x14014f4bb
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x720]
lea r8, [rsp + 0x4f0]
lea rdx, [rsp + 0x2c0]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x14014f5c8
movsxd rax, dword [rsp + 0x34]
movsxd rcx, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x998]
mov rax, qword [rdx + rax*8 + 8]
mov qword [rsp + rcx*8 + 0xa0], rax
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x14014f492
mov dword [rsp + 0x34], 0
jmp 0x14014f5e1
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x34], eax
jge 0x14014f6c8
mov dword [rsp + 0x948], 0
jmp 0x14014f60f
mov eax, dword [rsp + 0x948]
inc eax
mov dword [rsp + 0x948], eax
mov rax, qword [rsp + 0x998]
mov eax, dword [rax]
cmp dword [rsp + 0x948], eax
jae 0x14014f6b9
mov eax, dword [rsp + 0x948]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x998]
mov rcx, qword [rsp + rcx*8 + 0xa0]
cmp qword [rdx + rax*8 + 8], rcx
jne 0x14014f6b4
mov rax, qword [rsp + 0x998]
mov eax, dword [rax]
dec eax
cmp dword [rsp + 0x948], eax
jae 0x14014f69c
mov eax, dword [rsp + 0x948]
inc eax
mov eax, eax
mov ecx, dword [rsp + 0x948]
mov rdx, qword [rsp + 0x998]
mov rdi, qword [rsp + 0x998]
mov rax, qword [rdi + rax*8 + 8]
mov qword [rdx + rcx*8 + 8], rax
mov eax, dword [rsp + 0x948]
inc eax
mov dword [rsp + 0x948], eax
jmp 0x14014f649
mov rax, qword [rsp + 0x998]
mov eax, dword [rax]
dec eax
mov rcx, qword [rsp + 0x998]
mov dword [rcx], eax
jmp 0x14014f6b9
jmp 0x14014f5ff
xor eax, eax
test eax, eax
jne 0x14014f5f2
jmp 0x14014f5d7
mov rax, qword [rsp + 0x988]
cmp dword [rax], 0
ja 0x14014f6ef
mov rax, qword [rsp + 0x990]
cmp dword [rax], 0
ja 0x14014f6ef
mov rax, qword [rsp + 0x998]
cmp dword [rax], 0
jbe 0x14014f720
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x998]
mov r8, qword [rsp + 0x990]
mov rdx, qword [rsp + 0x988]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x980]
mov dword [rax + 0x510], 0
mov eax, dword [rsp + 0x30]
mov edi, eax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_getsockname
call fcn.14037c300
mov eax, edi
mov rcx, qword [rsp + 0x968]
xor rcx, rsp
call fcn.14037c650
add rsp, 0x970
pop rdi
ret