Function at 0x456d10
Capabilities:
Connect socket
Get socket status
Set socket configuration

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x480
mov r15, r9
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
mov dword [rsp + 0x70], 1
mov rcx, qword [rdx]
lea r8, [rsp + 0x70]
mov edx, 0x8004667e
call sub.WS2_32.dll_ioctlsocket
test eax, eax
je 0x456d54
xor ebx, ebx
call sub.KERNEL32.dll_GetLastError
jmp 0x456d56
mov bl, 3
mov cl, byte [rsp + 0x72]
mov byte [rsp + 0x27a], cl
movzx ecx, word [rsp + 0x70]
mov word [rsp + 0x278], cx
cmp bl, 3
jne 0x456dad
cmp dword [rbp], 1
mov eax, 0x1c
mov r8d, 0x10
cmove r8d, eax
add rbp, 4
mov rbx, qword [rdi]
mov rcx, rbx
mov rdx, rbp
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
je 0x456dcd
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], 0
xor ebp, ebp
jmp 0x456dee
mov byte [rsi], bl
mov cl, byte [rsp + 0x27a]
mov byte [rsi + 3], cl
movzx ecx, word [rsp + 0x278]
mov word [rsi + 1], cx
mov dword [rsi + 4], eax
jmp 0x456ebf
call sub.WS2_32.dll_WSAGetLastError
mov r12d, eax
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x50], 1
mov rbx, qword [rdi]
mov ebp, 1
mov dword [rsp + 0x70], 0
lea r8, [rsp + 0x70]
mov edx, 0x8004667e
mov rcx, rbx
call sub.WS2_32.dll_ioctlsocket
test eax, eax
je 0x456e15
xor ebx, ebx
call sub.KERNEL32.dll_GetLastError
jmp 0x456e17
mov bl, 3
mov cl, byte [rsp + 0x72]
mov byte [rsp + 0x27a], cl
movzx ecx, word [rsp + 0x70]
mov word [rsp + 0x278], cx
cmp bl, 3
jne 0x456e88
test ebp, ebp
je 0x456ea5
lea r14, [rsp + 0x58]
mov ecx, r12d
call fcn.00447a20
cmp al, 0xa
jne 0x456ed4
mov eax, dword [rsp + 0x4e0]
test r15, r15
jne 0x456eef
test eax, eax
jne 0x456eef
lea r8, str.cannot_set_a_0_duration_timeoutconnection_timed_out.pipe__rust_anonymous_pipe1__..
lea rcx, [rsp + 0x70]
mov dl, 0xb
mov r9d, 0x1f
call fcn.00446060
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi], xmm0
jmp 0x456ea8
mov byte [rsi], bl
mov cl, byte [rsp + 0x27a]
mov byte [rsi + 3], cl
movzx ecx, word [rsp + 0x278]
mov word [rsi + 1], cx
mov dword [rsi + 4], eax
jmp 0x456ea8
mov byte [rsi], 3
mov al, 1
cmp dword [rsp + 0x50], 1
jne 0x456ebf
test al, al
je 0x456ebf
lea rcx, [rsp + 0x58]
call fcn.00453b60
mov rax, rsi
add rsp, 0x480
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
xor eax, eax
cmp dword [rsp + 0x50], 1
je 0x456eb1
jmp 0x456ebf
mov ecx, eax
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
mov dword [rsp + 0x68], r15d
cmp eax, 0x3e8
mov eax, 1
mov edx, ecx
cmovb edx, eax
test r15d, r15d
cmovne edx, ecx
mov dword [rsp + 0x6c], edx
mov rbx, qword [rdi]
mov qword [rsp + 0x278], 1
mov qword [rsp + 0x280], rbx
lea rcx, [rsp + 0x288]
xor edx, edx
mov r8d, 0x1f8
call sub.msvcrt.dll_memset
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x80]
xor edx, edx
mov r8d, 0x1f8
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x278]
lea r9, [rsp + 0x70]
mov ecx, 1
xor edx, edx
call sub.WS2_32.dll_select
cmp eax, 0xffffffff
je 0x456fa4
test eax, eax
je 0x456fcf
cmp dword [rsp + 0x278], 1
jne 0x456ff8
mov byte [rsi], 3
jmp 0x456ff0
call sub.WS2_32.dll_WSAGetLastError
movzx ecx, word [rsp + 0x38]
mov word [rsp + 0x2c], cx
mov cl, byte [rsp + 0x3a]
mov byte [rsp + 0x2e], cl
mov byte [rsi], 0
mov cl, byte [rsp + 0x2e]
mov byte [rsi + 3], cl
movzx ecx, word [rsp + 0x2c]
jmp 0x456e9c
lea r8, [0x004cc537]
lea rcx, [rsp + 0x38]
mov dl, 0xd
mov r9d, 0x14
call fcn.00446060
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsi], xmm0
mov rcx, r14
jmp 0x456eba
lea rcx, [rsp + 0x38]
mov r8d, 0xffff
mov r9d, 0x1007
mov rdx, rdi
call fcn.0047dc30
cmp dword [rsp + 0x38], 1
jne 0x457067
mov al, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x41]
mov word [rsp + 0x2c], cx
mov cl, byte [rsp + 0x43]
mov byte [rsp + 0x2e], cl
mov ecx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x48]
mov bl, byte [rsp + 0x2e]
mov byte [rsp + 0x32], bl
movzx ebp, word [rsp + 0x2c]
mov word [rsp + 0x30], bp
mov byte [rsi], al
mov al, byte [rsp + 0x32]
mov byte [rsi + 3], al
movzx eax, word [rsp + 0x30]
mov word [rsi + 1], ax
mov dword [rsi + 4], ecx
mov qword [rsi + 8], rdx
jmp 0x456ea8
mov eax, dword [rsp + 0x3c]
mov cl, byte [rsp + 0x2e]
mov byte [rsp + 0x32], cl
movzx ecx, word [rsp + 0x2c]
mov word [rsp + 0x30], cx
mov cl, byte [rsp + 0x32]
mov byte [rsp + 0x36], cl
movzx ecx, word [rsp + 0x30]
mov word [rsp + 0x34], cx
test eax, eax
je 0x456f9f
mov byte [rsi], 0
mov cl, byte [rsp + 0x36]
mov byte [rsi + 3], cl
movzx ecx, word [rsp + 0x34]
jmp 0x456e9c