Function at 0x18004c624
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6d0
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x1800f4320]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
xor esi, esi
mov dword [rsp + 0x30], r8d
mov ebx, edx
mov r15, rcx
mov qword [rsp + 0x40], rsi
mov r12d, esi
mov dword [rsp + 0x48], esi
test rcx, rcx
je 0x18004c68e
mov eax, esi
test edx, edx
je 0x18004c68e
lea edx, [rsi + 0x10]
cmp qword [rcx], 0xffffffffffffffff
jne 0x18004c6c5
inc eax
add rcx, rdx
cmp eax, ebx
jb 0x18004c67f
mov ecx, r8d
call fcn.18004cd58
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.180081d90
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r8d, r8d
jle 0x18004c6dc
lea rcx, [rsp + 0x50]
mov r12d, r8d
call fcn.180050f70
movups xmm6, xmmword [rax]
jmp 0x18004c6e1
movaps xmm6, xmmword [rsp + 0x40]
xor edi, edi
lea r9, [r15 + 8]
mov r10d, edi
mov dword [rbp - 0x80], edi
mov r11d, edi
mov dword [rbp + 0x190], edi
mov r8d, edi
mov dword [rbp + 0x3a0], edi
lea esi, [rdi + 0x10]
or r14, 0xffffffffffffffff
mov r13, rbx
mov ecx, 0x300
mov rdx, qword [r9 - 8]
mov word [r9 + 2], di
cmp rdx, 0xffffffffffffffff
je 0x18004c806
mov eax, 0x710
test word [r9], ax
je 0x18004c806
cmp rdx, r14
cmova r14, rdx
test word [r9], cx
je 0x18004c771
mov ecx, edi
test r10d, r10d
je 0x18004c754
mov eax, ecx
cmp qword [rbp + rax*8 - 0x78], rdx
je 0x18004c754
inc ecx
cmp ecx, r10d
jb 0x18004c744
cmp ecx, r10d
jne 0x18004c771
cmp r10d, 0x40
jae 0x18004c771
mov eax, ecx
mov qword [rbp + rax*8 - 0x78], rdx
mov r10d, dword [rbp - 0x80]
inc r10d
mov dword [rbp - 0x80], r10d
test byte [r9], sil
je 0x18004c7b6
mov ecx, edi
test r11d, r11d
je 0x18004c790
mov eax, ecx
cmp qword [rbp + rax*8 + 0x198], rdx
je 0x18004c790
inc ecx
cmp ecx, r11d
jb 0x18004c77d
cmp ecx, r11d
jne 0x18004c7b6
cmp r11d, 0x40
jae 0x18004c7b6
mov eax, ecx
mov qword [rbp + rax*8 + 0x198], rdx
mov r11d, dword [rbp + 0x190]
inc r11d
mov dword [rbp + 0x190], r11d
mov eax, 0x600
test word [r9], ax
je 0x18004c801
mov ecx, edi
test r8d, r8d
je 0x18004c7db
mov eax, ecx
cmp qword [rbp + rax*8 + 0x3a8], rdx
je 0x18004c7db
inc ecx
cmp ecx, r8d
jb 0x18004c7c8
cmp ecx, r8d
jne 0x18004c801
cmp r8d, 0x40
jae 0x18004c801
mov eax, ecx
mov qword [rbp + rax*8 + 0x3a8], rdx
mov r8d, dword [rbp + 0x3a0]
inc r8d
mov dword [rbp + 0x3a0], r8d
mov ecx, 0x300
add r9, rsi
sub rbx, 1
jne 0x18004c70e
mov edi, dword [rsp + 0x30]
test r10d, r10d
jne 0x18004c82f
xor ecx, ecx
test r11d, r11d
jne 0x18004c831
test r8d, r8d
jne 0x18004c831
mov ecx, edi
jmp 0x18004c691
xor ecx, ecx
test edi, edi
lea rsi, [rsp + 0x40]
cmovs rsi, rcx
test edi, edi
jle 0x18004c86d
mov eax, 0x10624dd3
mov ecx, r12d
imul r12d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x40], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x44], eax
jmp 0x18004c875
jne 0x18004c875
and qword [rsp + 0x40], 0
neg r8d
mov qword [rsp + 0x20], rsi
lea rax, [rbp + 0x3a0]
sbb r9, r9
lea ecx, [r14 + 1]
and r9, rax
lea rax, [rbp + 0x190]
neg r11d
sbb r8, r8
and r8, rax
lea rax, [rbp - 0x80]
neg r10d
sbb rdx, rdx
and rdx, rax
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x18004c925
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor ecx, ecx
test eax, eax
je 0x18004c8d1
cmp dword [0x1800f841c], ecx
jne 0x18004c92b
cmp eax, 0x2714
jne 0x18004c92b
test edi, edi
jle 0x18004c90a
lea rcx, [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm6
call fcn.180050f70
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x50], xmm0
call fcn.180050fe8
mov r12d, edi
xor ecx, ecx
sub r12d, eax
test r12d, r12d
jle 0x18004c921
mov r10d, dword [rbp - 0x80]
mov r11d, dword [rbp + 0x190]
mov r8d, dword [rbp + 0x3a0]
jmp 0x18004c83c
mov eax, ecx
jmp 0x18004c927
xor ecx, ecx
test eax, eax
jns 0x18004c933
or eax, 0xffffffff
jmp 0x18004c696
jne 0x18004c93c
xor eax, eax
jmp 0x18004c696
mov edi, ecx
lea rbx, [r15 + 0xa]
mov eax, reloc.WS2_32.dll_recv
mov r14d, 0x300
mov word [rbx], cx
mov rcx, qword [rbx - 0xa]
cmp rcx, 0xffffffffffffffff
je 0x18004c9b3
lea rdx, [rbp - 0x80]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004c96b
or word [rbx], r14w
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x190]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18004c987
mov esi, reloc.WS2_32.dll_recv
or word [rbx], si
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x3a0]
call sub.WS2_32.dll___WSAFDIsSet
xor ecx, ecx
test eax, eax
je 0x18004c9a5
mov eax, 0x400
or word [rbx], ax
mov eax, reloc.WS2_32.dll_recv
cmp word [rbx], cx
je 0x18004c9b5
inc edi
jmp 0x18004c9b5
xor ecx, ecx
add rbx, rax
sub r13, 1
jne 0x18004c94d
mov eax, edi
jmp 0x18004c696