Function at 0x140048fb0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x450
mov ebp, r9d
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov dword [rsp + 0x40], 1
mov rdi, qword [rcx]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140049011
cmp word [r14], 0
je 0x140049026
movups xmm0, xmmword [r14 + 4]
mov eax, dword [r14 + 0x14]
mov edx, dword [r14 + 0x18]
movzx ecx, word [r14 + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x14004903d
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
jmp 0x140049235
mov eax, dword [r14 + 2]
movzx ecx, word [r14 + 6]
xorps xmm0, xmm0
mov r8d, 0x10
mov r9w, 2
rol cx, 8
mov word [rsp + 0x40], r9w
mov word [rsp + 0x42], cx
mov dword [rsp + 0x44], eax
movups xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x58], edx
lea rdx, [rsp + 0x40]
mov rcx, rdi
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
je 0x140049070
xor r14d, r14d
jmp 0x140049080
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x40], 0
lea r8, [rsp + 0x40]
mov rcx, rdi
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400490c6
test r14, r14
je 0x1400490e3
mov eax, r14d
and eax, 3
lea rcx, [0x140049360]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [r14 + 0x10]
jmp case.0x14004913b.0
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
test r14, r14
jne 0x140049228
jmp 0x140049232
xor r14d, r14d
jmp 0x140049235
movzx eax, byte [r14 + 0xf]
jmp case.0x14004913b.0
por mm1, qword [rsp + r9*2]
mov ecx, esi
mov rcx, r14
shr rcx, 0x20
call fcn.1400549f0
cmp al, 0xd
jne 0x140049235
test rbx, rbx
jne 0x140049141
test ebp, ebp
jne 0x140049141
lea rsi, str.cannot_set_a_0_duration_timeout
jmp 0x140049228
mov rcx, r14
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x14004913b
xor eax, eax
lea rdx, [0x140049370]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, 1
jmp case.0x14004913b.0
mov eax, ebp
imul rax, rax, 0x10624dd3
shr rax, 0x26
mov dword [rsp + 0x38], ebx
cmp ebp, 0x3e8
mov ecx, 1
mov edx, eax
cmovb edx, ecx
test ebx, ebx
cmovne edx, eax
mov dword [rsp + 0x3c], edx
lea rcx, [rsp + 0x50]
mov r8d, 0x1f8
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x248], 1
mov qword [rsp + 0x250], rdi
lea rcx, [rsp + 0x258]
mov r8d, 0x1f8
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x248]
lea r9, [rsp + 0x40]
mov ecx, 1
xor edx, edx
call sub.ws2_32.dll_select
test eax, eax
je 0x1400491f1
cmp eax, 0xffffffff
jne 0x1400491fa
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
jmp 0x140049228
lea r14, str.connection_timed_out
jmp 0x140049207
cmp dword [rsp + 0x248], 1
jne 0x140049213
xor r14d, r14d
lea rcx, [rsp + 0x30]
call fcn.140008d30
jmp 0x140049235
mov rcx, rsi
call fcn.140034470
mov rsi, rdx
test rax, rax
jne 0x140049228
test rsi, rsi
je 0x140049204
lea rcx, [rsp + 0x30]
call fcn.140008d30
mov r14, rsi
mov rax, r14
add rsp, 0x450
add byte [rax], al
add byte [rax], al
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop rsi
pop rsi
ret
mov al, 0x29
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 2
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 3
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 4
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 5
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 6
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 7
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 8
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 9
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xa
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xb
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xc
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xd
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xe
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0xf
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x10
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x12
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x13
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x14
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x15
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x16
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1a
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x1f
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x25
jmp case.0x14004913b.0
invalid
invalid
invalid
mov al, 0x26
jmp case.0x14004913b.0
mov al, 0x27
jmp case.0x14004913b.0
mov al, 0x28
jmp case.0x14004913b.0