Function at 0x140045450
Capabilities:
Get socket status

Disassembly:
push rbp
push rbx
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x598]
sub rsp, 0x698
mov rax, qword [0x1401ab100]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov r14, r8
mov rdi, rdx
mov r8d, 0x7fffffff
mov r15, rcx
cmp r9, r8
cmovge r9, r8
cmp rcx, 0xffffffffffffffff
jne 0x1400454ce
cmp rdx, rcx
jne 0x1400454ce
cmp r14, rcx
jne 0x1400454ce
test r9d, r9d
je 0x1400454c5
jns 0x1400454bc
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rbx, r15
mov eax, ebx
jmp 0x140045782
mov ecx, r9d
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
mov eax, ebx
jmp 0x140045782
xor ebx, ebx
mov qword [rsp + 0x690], rsi
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov dword [rbp + 0x150], ebx
mov r10d, ebx
cmp r15, 0xffffffffffffffff
je 0x14004550d
mov r10d, 1
mov qword [rbp + 0x158], r15
mov ecx, r10d
mov dword [rbp + 0x150], r10d
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x48], r15
mov r13, 0xffffffffffffffff
mov r11, r15
cmove r11, r13
cmp rdi, r13
je 0x1400455a0
mov edx, ebx
test r10d, r10d
je 0x140045543
nop dword [rax + rax]
mov eax, edx
cmp qword [rbp + rax*8 + 0x158], rdi
je 0x140045543
inc edx
cmp edx, r10d
jb 0x140045530
cmp edx, r10d
jne 0x140045569
cmp r10d, 0x40
jae 0x140045569
mov eax, edx
mov qword [rbp + rax*8 + 0x158], rdi
mov r10d, dword [rbp + 0x150]
inc r10d
mov dword [rbp + 0x150], r10d
mov edx, ebx
test ecx, ecx
je 0x14004557f
nop
mov eax, edx
cmp qword [rsp + rax*8 + 0x48], rdi
je 0x14004557f
inc edx
cmp edx, ecx
jb 0x140045570
cmp edx, ecx
jne 0x140045599
cmp ecx, 0x40
jae 0x140045599
mov eax, edx
mov qword [rsp + rax*8 + 0x48], rdi
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
cmp rdi, r11
cmova r11, rdi
mov dword [rbp + 0x360], ebx
mov esi, ebx
cmp r14, r13
je 0x1400455f5
mov qword [rbp + 0x368], r14
mov esi, 1
mov dword [rbp + 0x360], esi
mov edx, ebx
test ecx, ecx
je 0x1400455d4
mov eax, edx
cmp qword [rsp + rax*8 + 0x48], r14
je 0x1400455d4
inc edx
cmp edx, ecx
jb 0x1400455c5
cmp edx, ecx
jne 0x1400455ee
cmp ecx, 0x40
jae 0x1400455ee
mov eax, edx
mov qword [rsp + rax*8 + 0x48], r14
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
cmp r14, r11
cmova r11, r14
cmp r9, r8
cmovge r9, r8
test r10d, r10d
jne 0x14004563a
test esi, esi
jne 0x14004563a
test ecx, ecx
jne 0x14004563a
test r9d, r9d
jne 0x140045615
mov eax, ebx
jmp 0x1400456c6
jns 0x14004562a
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov eax, r13d
jmp 0x1400456c6
mov ecx, r9d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, ebx
jmp 0x1400456c6
mov qword [rsp + 0x688], r12
lea r12, [rsp + 0x30]
test r9, r9
jns 0x140045651
mov r12, rbx
jmp 0x140045689
jle 0x14004567f
mov eax, 0x10624dd3
imul r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x30], edx
sub r9d, eax
imul eax, r9d, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x140045689
test r9, r9
jne 0x140045689
mov qword [rsp + 0x30], rbx
test ecx, ecx
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
cmove r9, rbx
lea r8, [rbp + 0x360]
test esi, esi
lea rdx, [rbp + 0x150]
lea ecx, [r11 + 1]
cmove r8, rbx
test r10d, r10d
cmove rdx, rbx
call qword [sym.imp.WS2_32.dll_select]
mov r12, qword [rsp + 0x688]
test eax, eax
jns 0x1400456d2
mov eax, r13d
jmp 0x14004577a
jne 0x1400456db
xor eax, eax
jmp 0x14004577a
cmp r15, r13
je 0x14004570c
lea rdx, [rbp + 0x150]
mov rcx, r15
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
lea rdx, [rsp + 0x40]
mov rcx, r15
setne bl
mov esi, ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14004570c
or esi, 4
mov ebx, esi
cmp rdi, r13
je 0x140045742
lea rdx, [rbp + 0x150]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
mov esi, ebx
lea rdx, [rsp + 0x40]
or esi, 8
mov rcx, rdi
test eax, eax
cmove esi, ebx
mov ebx, esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140045742
or esi, 4
mov ebx, esi
cmp r14, r13
je 0x140045778
lea rdx, [rbp + 0x360]
mov rcx, r14
call sub.WS2_32.dll___WSAFDIsSet
mov edi, ebx
lea rdx, [rsp + 0x40]
or edi, 2
mov rcx, r14
test eax, eax
cmove edi, ebx
mov ebx, edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140045778
or edi, 4
mov ebx, edi
mov eax, ebx
mov rsi, qword [rsp + 0x690]
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.140074b80
add rsp, 0x698
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret