Function at 0x140330fc0
Capabilities:
Get socket status

Disassembly:
xor eax, eax
test rcx, rcx
je 0x140330fe2
cmp eax, edx
jae 0x140330fe2
inc rax
mov r9, rax
shl r9, 4
cmp qword [rcx + r9 - 0x10], 0xffffffffffffffff
je 0x140330fc7
jmp 0x140330ff0
mov rcx, r8
jmp fcn.140339320
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x658
xor eax, eax
xor r14d, r14d
xor r9d, r9d
xor r13d, r13d
xor r12d, r12d
xor ebp, ebp
mov dword [rsp + 0x38], eax
mov rbx, rcx
mov r11, rcx
mov dword [rsp + 0x240], eax
mov dword [rsp + 0x448], eax
mov qword [rsp + 0x6a0], rcx
xor ecx, ecx
mov dword [rsp + 0x6a8], edx
xor edx, edx
cmp ebp, dword [rsp + 0x6a8]
je 0x140331143
mov rax, qword [r11]
mov word [r11 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x140331138
mov esi, dword [r11 + 8]
test si, 0x710
je 0x140331138
test si, 0x300
je 0x1403310af
xor r10d, r10d
lea rdi, [rsp + 0x38]
mov r15d, r10d
cmp r10d, r9d
jae 0x140331090
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x14033107d
jmp 0x1403310af
cmp r9d, 0x40
setne dil
cmp r9d, r10d
sete r10b
and dil, r10b
je 0x1403310af
mov qword [rsp + r15*8 + 0x40], rax
inc r9d
mov r14d, edi
test sil, 0x10
je 0x1403310f3
xor r10d, r10d
lea rdi, [rsp + 0x240]
mov r15d, r10d
cmp r10d, ecx
jae 0x1403310d3
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1403310c0
jmp 0x1403310f3
cmp ecx, 0x40
setne dil
cmp ecx, r10d
sete r10b
and dil, r10b
je 0x1403310f3
mov qword [rsp + r15*8 + 0x248], rax
inc ecx
mov r13d, edi
test si, 0x600
je 0x140331138
xor r10d, r10d
lea rdi, [rsp + 0x448]
mov esi, r10d
cmp r10d, edx
jae 0x140331118
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x140331105
jmp 0x140331138
cmp edx, 0x40
setne dil
cmp edx, r10d
sete r10b
and r10b, dil
je 0x140331138
mov qword [rsp + rsi*8 + 0x450], rax
inc edx
mov r12d, r10d
inc ebp
add r11, 0x10
jmp 0x14033103e
test r14b, r14b
je 0x14033114d
mov dword [rsp + 0x38], r9d
test r13b, r13b
je 0x140331159
mov dword [rsp + 0x240], ecx
test r12b, r12b
je 0x140331165
mov dword [rsp + 0x448], edx
mov eax, dword [rsp + 0x38]
or eax, dword [rsp + 0x240]
or eax, dword [rsp + 0x448]
jne 0x140331183
mov rcx, r8
call fcn.140339320
jmp 0x1403311d5
lea rcx, [rsp + 0x30]
mov rdx, r8
call fcn.1403d2c20
xor r9d, r9d
cmp dword [rsp + 0x448], 0
je 0x1403311a5
lea r9, [rsp + 0x448]
xor r8d, r8d
cmp dword [rsp + 0x240], 0
je 0x1403311ba
lea r8, [rsp + 0x240]
xor edx, edx
cmp dword [rsp + 0x38], 0
je 0x1403311c8
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.ws2_32.dll_select]
mov esi, eax
test eax, eax
jle 0x140331207
mov edi, dword [rsp + 0x6a8]
xor esi, esi
lea rbp, [rsp + 0x38]
lea r12, [rsp + 0x240]
lea r13, [rsp + 0x448]
shl rdi, 4
add rdi, qword [rsp + 0x6a0]
jmp 0x14033123b
cmp eax, 0xffffffff
jne 0x1403312be
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
xor esi, esi
cmp eax, 0x2714
setne sil
neg esi
jmp 0x1403312be
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x140331242
add rbx, 0x10
cmp rdi, rbx
jne 0x140331228
jmp 0x1403312be
mov rdx, rbp
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
je 0x140331267
mov eax, dword [rbx + 8]
test ah, 1
je 0x14033125c
or word [rbx + 0xa], 0x100
test ah, 3
je 0x140331267
or word [rbx + 0xa], 0x300
mov rcx, qword [rbx]
mov rdx, r12
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
je 0x140331281
test byte [rbx + 8], 0x10
je 0x140331281
or word [rbx + 0xa], 0x10
mov rcx, qword [rbx]
mov rdx, r13
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
je 0x1403312b0
mov edx, dword [rbx + 8]
test dh, 2
je 0x14033129e
or word [rbx + 0xa], 0x200
mov ax, word [rbx + 0xa]
and dh, 4
je 0x1403312b0
or ah, 4
mov word [rbx + 0xa], ax
jmp 0x1403312b7
cmp word [rbx + 0xa], 0
je 0x140331237
inc esi
jmp 0x140331237
mov eax, esi
add rsp, 0x658
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret