Function at 0x180029730
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x670
xor esi, esi
mov edi, edx
mov r15, rcx
mov dword [rax + 8], esi
mov dword [rax + 0xc], esi
mov r13d, esi
test rcx, rcx
je 0x180029776
mov r9d, esi
test edx, edx
je 0x180029776
mov rax, rcx
cmp qword [rax], 0xffffffffffffffff
jne 0x18002978d
inc r9d
add rax, 0x10
cmp r9d, edi
jb 0x180029764
mov ecx, r8d
call fcn.1800293a0
add rsp, 0x670
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x6a8], rbx
mov qword [rsp + 0x668], r12
mov qword [rsp + 0x660], r14
test r8d, r8d
jle 0x1800297b7
mov r13d, r8d
call fcn.180033510
mov rbx, rax
jmp 0x1800297bf
mov rbx, qword [rsp + 0x6a0]
xor ebp, ebp
mov rsi, r15
mov r14, rdi
mov r10d, ebp
mov dword [rsp + 0x240], ebp
mov r11d, ebp
mov dword [rsp + 0x30], ebp
mov r8d, ebp
mov dword [rsp + 0x450], ebp
or r12, 0xffffffffffffffff
nop word [rax + rax]
mov rdx, qword [rsi]
mov word [rsi + 0xa], bp
cmp rdx, 0xffffffffffffffff
je 0x1800298fa
movzx r9d, word [rsi + 8]
test r9b, 7
je 0x1800298fa
cmp rdx, r12
cmova r12, rdx
test r9b, 1
je 0x18002986a
mov ecx, ebp
mov rax, rbp
test r10d, r10d
je 0x180029844
nop word [rax + rax]
cmp qword [rsp + rax*8 + 0x248], rdx
je 0x180029844
inc ecx
inc rax
cmp ecx, r10d
jb 0x180029830
cmp ecx, r10d
jne 0x18002986a
cmp r10d, 0x40
jae 0x18002986a
mov qword [rsp + rax*8 + 0x248], rdx
mov r10d, dword [rsp + 0x240]
inc r10d
mov dword [rsp + 0x240], r10d
test r9b, 4
je 0x1800298ae
mov ecx, ebp
mov rax, rbp
test r11d, r11d
je 0x180029891
nop word [rax + rax]
cmp qword [rsp + rax*8 + 0x38], rdx
je 0x180029891
inc ecx
inc rax
cmp ecx, r11d
jb 0x180029880
cmp ecx, r11d
jne 0x1800298ae
cmp r11d, 0x40
jae 0x1800298ae
mov qword [rsp + rax*8 + 0x38], rdx
mov r11d, dword [rsp + 0x30]
inc r11d
mov dword [rsp + 0x30], r11d
test r9b, 2
je 0x1800298fa
mov ecx, ebp
mov rax, rbp
test r8d, r8d
je 0x1800298d4
nop
cmp qword [rsp + rax*8 + 0x458], rdx
je 0x1800298d4
inc ecx
inc rax
cmp ecx, r8d
jb 0x1800298c0
cmp ecx, r8d
jne 0x1800298fa
cmp r8d, 0x40
jae 0x1800298fa
mov qword [rsp + rax*8 + 0x458], rdx
mov r8d, dword [rsp + 0x450]
inc r8d
mov dword [rsp + 0x450], r8d
add rsi, 0x10
sub rdi, 1
jne 0x1800297f0
mov ebp, dword [rsp + 0x6b0]
test r10d, r10d
jne 0x18002994c
test r11d, r11d
jne 0x18002994c
test r8d, r8d
jne 0x18002994c
mov ecx, ebp
call fcn.1800293a0
mov r12, qword [rsp + 0x668]
mov rbx, qword [rsp + 0x6a8]
mov r14, qword [rsp + 0x660]
add rsp, 0x670
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
lea rdi, [rsp + 0x6a0]
test ebp, ebp
mov ecx, 0
cmovs rdi, rcx
nop
test ebp, ebp
jle 0x180029997
mov eax, 0x10624dd3
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
mov dword [rsp + 0x6a0], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x6a4], eax
jmp 0x1800299a9
test ebp, ebp
jne 0x1800299a9
mov dword [rsp + 0x6a0], ecx
mov dword [rsp + 0x6a4], ecx
test r8d, r8d
lea r9, [rsp + 0x450]
lea r8, [rsp + 0x30]
cmove r9, rcx
test r11d, r11d
lea rdx, [rsp + 0x240]
cmove r8, rcx
test r10d, r10d
mov qword [rsp + 0x20], rdi
cmove rdx, rcx
lea ecx, [r12 + 1]
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x180029a59
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x180029a02
cmp dword [0x1800ae518], 0
jne 0x180029a5d
cmp eax, 0x2714
jne 0x180029a5d
test ebp, ebp
jg 0x180029a22
mov r10d, dword [rsp + 0x240]
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x450]
xor ecx, ecx
jmp 0x180029960
call fcn.180033510
mov rdx, rbx
mov rcx, rax
call fcn.180033550
mov r13d, ebp
sub r13d, eax
test r13d, r13d
jle 0x180029a69
mov r10d, dword [rsp + 0x240]
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x450]
xor ecx, ecx
jmp 0x180029960
test eax, eax
jns 0x180029a65
or eax, 0xffffffff
jmp 0x180029925
test eax, eax
jne 0x180029a70
xor eax, eax
jmp 0x180029925
xor esi, esi
lea rbx, [r15 + 0xa]
mov edi, esi
nop dword [rax + rax]
mov rcx, qword [rbx - 0xa]
mov word [rbx], si
cmp rcx, 0xffffffffffffffff
je 0x180029ad8
lea rdx, [rsp + 0x240]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180029aa2
or word [rbx], 1
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x30]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180029ab8
or word [rbx], 4
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x450]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180029ad1
or word [rbx], 2
cmp word [rbx], si
je 0x180029ad8
inc edi
add rbx, 0x10
sub r14, 1
jne 0x180029a80
mov eax, edi
jmp 0x180029925