Function at 0x1400f151c
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov r12, r9
mov r14, r8
mov rbx, rdx
mov rsi, rcx
movzx edi, word [rdx]
test di, di
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov rax, qword [0x14039c0b0]
cmp rax, 3
jne 0x1400f16a3
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 1
mov r8d, 6
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x1400f15b5
mov qword [rsp + 0x50], r12
lea r12, [rsp + 0x58]
mov dword [r12], 1
mov rcx, r15
mov edx, 0x8004667e
mov r8, r12
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400f160e
xor edx, edx
jmp 0x1400f1616
call fcn.1400fdfeb
lea rdx, str.tcp_open_errortcp_set_nonblocking_errortcp_bind_local_error
lea r15, [rsp + 0xa0]
mov r8d, 0xe
mov rcx, r15
mov r9, rax
call fcn.1400f0f83
mov rax, qword [r15]
test rax, rax
je 0x1400f1696
mov rcx, qword [rsp + 0xa8]
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x20], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
mov dword [rsi + 8], 0x3b9aca01
jmp 0x1400f18ca
call fcn.1400fdfeb
mov rdx, rax
lea r8, [0x140291cfe]
lea r13, [rsp + 0xa0]
mov r9d, 0x19
mov rcx, r13
call fcn.1400f19f6
mov rax, qword [r13]
test rax, rax
je 0x1400f1655
mov rcx, qword [rsp + 0xb8]
mov qword [rsi + 0x28], rcx
movups xmm0, xmmword [rsp + 0xa8]
jmp 0x1400f18b3
mov ebp, dword [r14 + 0x48]
cmp ebp, 0x3b9aca00
je 0x1400f1767
mov r13, qword [r14 + 0x40]
mov rcx, r15
mov edx, 8
mov r8d, 1
call fcn.1401dccdb
test rax, rax
je 0x1400f16d9
lea rcx, [rsp + 0xa0]
mov qword [rcx], rax
call fcn.1400e619f
jmp 0x1400f1767
mov r15, qword [rsp + 0xa8]
jmp 0x1400f158a
lea rax, [rsp + 0x4f]
mov byte [rax], 1
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, str._g1_
mov qword [rsp + 0x20], rax
lea rcx, [0x14039c0b0]
lea r9, [0x140316690]
xor edx, edx
call fcn.1401ddb50
jmp 0x1400f155f
mov ecx, 0x3e8
mov rax, r13
mul rcx
mov rcx, rax
mov r8, rdx
xor r9d, r9d
mov r10d, 0xf4240
mov eax, ebp
xor edx, edx
div r10d
add rax, rcx
adc r8, 0
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
neg r8
sbb r9d, r9d
or r9d, eax
lea r8, [rsp + 0xa0]
mov dword [r8], 1
mov dword [r8 + 4], r9d
and dword [r8 + 8], 0
and dword [rsp + 0x58], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
and dword [rsp + 0x28], 0
mov qword [rsp + 0x30], r12
and qword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x98000004
mov r9d, 0xc
call sub.ws2_32.dll_WSAIoctl
cmp eax, 0xffffffff
je 0x1400f19ec
test di, di
je 0x1400f17d9
cmp byte [r14 + 0x56], 0
je 0x1400f1825
movsd xmm0, qword [r14 + 0x5b]
movss xmm1, dword [r14 + 0x63]
shufps xmm1, xmm0, 0xd4
movss xmm2, dword [r14 + 0x57]
unpcklps xmm2, xmm0
shufps xmm2, xmm1, 0x24
xorps xmm0, xmm0
lea rdx, [rsp + 0xa0]
movups xmmword [rdx + 0x2c], xmm0
movups xmmword [rdx + 0x3c], xmm0
movups xmmword [rdx + 0x4c], xmm0
movups xmmword [rdx + 0x5c], xmm0
movups xmmword [rdx + 0x6c], xmm0
movabs rax, 0x1c00000000
mov qword [rdx + 0x7c], rax
movups xmmword [rdx + 0x1c], xmm0
movups xmmword [rdx + 8], xmm2
and dword [rdx + 0x18], 0
mov qword [rdx], 0x17
jmp 0x1400f1877
cmp byte [r14 + 0x51], 0
je 0x1400f1830
mov eax, dword [r14 + 0x52]
xorps xmm0, xmm0
lea rdx, [rsp + 0xa0]
movups xmmword [rdx + 0x68], xmm0
movups xmmword [rdx + 0x58], xmm0
movups xmmword [rdx + 0x48], xmm0
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x18], xmm0
and qword [rdx + 0x78], 0
movups xmmword [rdx + 8], xmm0
mov dword [rdx], 2
mov dword [rdx + 4], eax
mov dword [rdx + 0x80], 0x10
jmp 0x1400f1877
mov eax, 0x1c
mov cx, 0x17
jmp 0x1400f1839
mov eax, 0x10
mov cx, 2
xorps xmm0, xmm0
lea rdx, [rsp + 0xa0]
movups xmmword [rdx + 0x68], xmm0
movups xmmword [rdx + 0x58], xmm0
movups xmmword [rdx + 0x48], xmm0
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x18], xmm0
movups xmmword [rdx + 8], xmm0
and qword [rdx + 0x78], 0
mov word [rdx], cx
and word [rdx + 2], 0
and dword [rdx + 4], 0
mov dword [rdx + 0x80], eax
mov rcx, r15
call fcn.1401dcc93
mov rdx, rax
lea r8, [0x140291d17]
lea r12, [rsp + 0x58]
mov r9d, 0x14
mov rcx, r12
call fcn.1400f19f6
mov rax, qword [r12]
test rax, rax
je 0x1400f18df
mov rcx, qword [rsp + 0x70]
mov qword [rsi + 0x28], rcx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x18], xmm0
mov qword [rsi + 0x10], rax
mov dword [rsi + 8], 0x3b9aca01
mov rcx, r15
call fcn.140241a28
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r14 + 0x68], 0
je 0x1400f190e
mov rcx, r15
mov edx, 4
mov r8d, 1
call fcn.1401dccdb
test rax, rax
je 0x1400f190e
lea rcx, [rsp + 0xa0]
mov qword [rcx], rax
call fcn.1400e619f
cmp qword [r14], 0
mov r12, qword [rsp + 0x50]
je 0x1400f1952
mov rax, qword [r14 + 8]
mov rcx, rax
shr rcx, 0x20
xor r8d, r8d
neg rcx
sbb r8d, r8d
or r8d, eax
mov rcx, r15
mov edx, 0x1001
call fcn.1401dccdb
test rax, rax
je 0x1400f1952
lea rcx, [rsp + 0xa0]
mov qword [rcx], rax
call fcn.1400e619f
mov edi, dword [rsp + 0x190]
cmp qword [r14 + 0x10], 0
je 0x1400f1999
mov rax, qword [r14 + 0x18]
mov rcx, rax
shr rcx, 0x20
xor r8d, r8d
neg rcx
sbb r8d, r8d
or r8d, eax
mov rcx, r15
mov edx, 0x1002
call fcn.1401dccdb
test rax, rax
je 0x1400f1999
lea rcx, [rsp + 0xa0]
mov qword [rcx], rax
call fcn.1400e619f
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x90], xmm1
movups xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x9c]
mov dword [rsi + 0x2c], eax
movups xmm0, xmmword [rsp + 0x8c]
movups xmmword [rsi + 0x1c], xmm0
movups xmm0, xmmword [rsp + 0x7c]
movups xmmword [rsi + 0xc], xmm0
mov qword [rsi], r12
mov dword [rsi + 8], edi
mov qword [rsi + 0x30], r15
xor eax, eax
mov byte [rsi + 0x88], al
mov byte [rsi + 0x90], al
jmp 0x1400f18ca
call fcn.1400fdfeb
jmp 0x1400f1681