Function at 0x1400bac9e
Capabilities:
Connect socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
mov r8, rdx
mov dl, 1
jmp 0x1400bac9e
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm7
movaps xmmword [rsp + 0x280], xmm6
mov rax, qword [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0x278], rax
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x250], xmm6
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
mov dword [rsp + 0x34], 0xaaaaaaaa
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x160], xmm6
cmp qword [rcx + 0x10], 0x7f
ja 0x1400bb33a
mov rdi, r8
cmp qword [r8 + 0x10], 0xc7
ja 0x1400bb33a
mov ebx, edx
mov rsi, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x1400bad8d
mov rcx, qword [rsi]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
lea rdx, str.ws:____:__:_d__s
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x34]
call fcn.140027423
cmp eax, 3
je 0x1400bae59
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x1400badc9
mov rcx, qword [rsi]
lea rdx, str.ws:____:____s
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x160]
call fcn.140027423
cmp eax, 2
jne 0x1400badf4
mov dword [rsp + 0x34], 0x50
jmp 0x1400bae59
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x1400bae01
mov rcx, qword [rsi]
lea rdx, str.ws:____:__:_d
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x34]
call fcn.140027423
cmp eax, 2
je 0x1400bae51
cmp qword [rsi + 0x18], 0x10
jb 0x1400bae29
mov rsi, qword [rsi]
lea rdx, str.ws:____:__
lea r8, [rsp + 0x1e0]
mov rcx, rsi
call fcn.140027423
cmp eax, 1
jne 0x1400bb33a
mov dword [rsp + 0x34], 0x50
mov byte [rsp + 0x160], 0
mov ebp, dword [rsp + 0x34]
xorps xmm7, xmm7
lea rsi, [rsp + 0x140]
movaps xmmword [rsi + 0x10], xmm7
movaps xmmword [rsi], xmm7
lea r14, [rsp + 0x1e0]
mov rcx, r14
call fcn.1401812d0
mov rcx, rsi
mov rdx, r14
mov r8, rax
call fcn.140002d20
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
lea r14, [rsp + 0x260]
movaps xmmword [r14], xmm6
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm7
movabs rax, 0x100000002
mov qword [rsp + 0x44], rax
lea r8, [0x14019d1ee]
mov edx, reloc.WS2_32.dll_recv
mov rcx, r14
mov r9d, ebp
call fcn.1400bb3f5
cmp qword [rsi + 0x18], 0x10
jb 0x1400baeec
mov rsi, qword [rsp + 0x140]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x38]
mov rcx, rsi
mov rdx, r14
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov esi, 1
test eax, eax
jne 0x1400baf81
mov r14, qword [rsp + 0x38]
test r14, r14
je 0x1400baf72
mov r15, qword [sym.imp.WS2_32.dll_socket]
mov r12, qword [sym.imp.WS2_32.dll_connect]
mov r13, qword [sym.imp.WS2_32.dll_closesocket]
mov r8d, dword [r14 + 0xc]
mov ecx, dword [r14 + 4]
mov edx, dword [r14 + 8]
call r15
cmp rax, 0xffffffffffffffff
je 0x1400baf5b
mov rsi, rax
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x20]
mov rcx, rax
call r12
cmp eax, 0xffffffff
jne 0x1400baf6b
mov rcx, rsi
call r13
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x1400baf2a
mov rsi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
jmp 0x1400baf7b
mov rsi, 0xffffffffffffffff
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rdx, qword [rsp + 0x158]
cmp rdx, 0x10
jb 0x1400baf9f
mov rcx, qword [rsp + 0x140]
inc rdx
call fcn.140002b34
cmp rsi, 0xffffffffffffffff
je 0x1400bb33a
lea r14, [rsp + 0x40]
mov r8d, 0x100
mov rcx, r14
mov dl, 0xaa
call fcn.1401615d0
mov dword [rsp + 0x140], 0xaaaaaaaa
lea r8, str.GET___s_HTTP_1.1_r_n
lea r9, [rsp + 0x160]
mov edx, 0x100
mov rcx, r14
call fcn.1400bb373
mov rcx, r14
call fcn.1401812d0
mov rcx, rsi
mov rdx, r14
mov r8d, eax
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov eax, dword [rsp + 0x34]
cmp eax, 0x50
jne 0x1400bb011
lea r8, str.Host:__s_r_n
jmp 0x1400bb01c
mov dword [rsp + 0x20], eax
lea r8, str.Host:__s:_d_r_n
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x1e0]
mov edx, 0x100
call fcn.1400bb373
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.1401812d0
mov r15, qword [sym.imp.WS2_32.dll_send]
mov rcx, rsi
mov rdx, r14
mov r8d, eax
xor r9d, r9d
call r15
lea r8, str.Upgrade:_websocket_r_n
mov edx, 0x100
mov rcx, r14
call fcn.1400bb373
mov rcx, r14
call fcn.1401812d0
mov rcx, rsi
mov rdx, r14
mov r8d, eax
xor r9d, r9d
call r15
lea r8, str.Connection:_Upgrade_r_n
mov edx, 0x100
mov rcx, r14
call fcn.1400bb373
mov rcx, r14
call fcn.1401812d0
mov rcx, rsi
mov rdx, r14
mov r8d, eax
xor r9d, r9d
call r15
cmp qword [rdi + 0x10], 0
je 0x1400bb0f3
cmp qword [rdi + 0x18], 0x10
jb 0x1400bb0bd
mov rdi, qword [rdi]
lea r8, str.Origin:__s_r_n
lea r14, [rsp + 0x40]
mov edx, 0x100
mov rcx, r14
mov r9, rdi
call fcn.1400bb373
mov rcx, r14
call fcn.1401812d0
mov rcx, rsi
mov rdx, r14
mov r8d, eax
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov r14d, 0xfffffffe
lea r8, str.Sec_WebSocket_Key:_x3JJHMbDL1EzLkh9GBhXDw_r_n
lea rdi, [rsp + 0x40]
mov edx, 0x100
mov rcx, rdi
call fcn.1400bb373
mov rcx, rdi
call fcn.1401812d0
xor r12d, r12d
mov rcx, rsi
mov rdx, rdi
mov r8d, eax
xor r9d, r9d
call r15
lea r8, str.Sec_WebSocket_Version:_13_r_n
mov edx, 0x100
mov rcx, rdi
call fcn.1400bb373
mov rcx, rdi
call fcn.1401812d0
mov rcx, rsi
mov rdx, rdi
mov r8d, eax
xor r9d, r9d
call r15
lea r8, str.Sec_WebSocket_Protocol:_event_protocol_r_n
mov edx, 0x100
mov rcx, rdi
call fcn.1400bb373
mov rcx, rdi
call fcn.1401812d0
mov rcx, rsi
mov rdx, rdi
mov r8d, eax
xor r9d, r9d
call r15
lea r8, [0x14019f2de]
mov edx, 0x100
mov rcx, rdi
call fcn.1400bb373
mov rcx, rdi
call fcn.1401812d0
mov rcx, rsi
mov rdx, rdi
mov r8d, eax
xor r9d, r9d
call r15
mov rdi, qword [sym.imp.WS2_32.dll_recv]
cmp r12, 2
jb 0x1400bb1df
cmp r12, 0xfe
ja 0x1400bb326
lea eax, [r12 + r14]
cmp byte [rsp + rax + 0x40], 0xd
je 0x1400bb202
lea eax, [r14 + r12]
inc eax
cmp byte [rsp + rax + 0x40], 0xa
je 0x1400bb202
lea rdx, [rsp + r12]
add rdx, 0x40
mov rcx, rsi
mov r8d, 1
xor r9d, r9d
call rdi
test eax, eax
je 0x1400bb33a
inc r12
jmp 0x1400bb1b4
mov byte [rsp + r12 + 0x40], 0
lea rdx, str.HTTP_1.1__d
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x140]
call fcn.140027423
cmp eax, 1
jne 0x1400bb33a
cmp dword [rsp + 0x140], 0x65
jne 0x1400bb33a
xor r15d, r15d
cmp r15, 2
jae 0x1400bb263
lea rdx, [rsp + r15]
add rdx, 0x40
mov rcx, rsi
mov r8d, 1
xor r9d, r9d
call rdi
inc r15
test eax, eax
jne 0x1400bb23b
jmp 0x1400bb33a
cmp r15, 0xfe
ja 0x1400bb284
lea eax, [r15 + r14]
cmp byte [rsp + rax + 0x40], 0xd
je 0x1400bb284
lea eax, [r14 + r15]
inc eax
cmp byte [rsp + rax + 0x40], 0xa
jne 0x1400bb241
cmp byte [rsp + 0x40], 0xd
mov r15d, 0
jne 0x1400bb23b
cmp byte [rsp + 0x41], 0xa
mov r15d, 0
jne 0x1400bb23b
mov edi, 1
lea r9, [rsp + 0x40]
mov dword [r9], edi
mov dword [rsp + 0x20], 4
mov rcx, rsi
mov edx, 6
mov r8d, 1
call qword [sym.imp.WS2_32.dll_setsockopt]
lea r8, [rsp + 0x140]
mov dword [r8], edi
mov rcx, rsi
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov ecx, 0x60
call fcn.14015c21c
mov rdi, rax
lea rax, [0x1401ae830]
mov qword [rdi], rax
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
movups xmmword [rdi + 0x18], xmm0
movups xmmword [rdi + 0x28], xmm0
movups xmmword [rdi + 0x38], xmm0
mov qword [rdi + 0x48], 0
mov qword [rdi + 0x50], rsi
mov dword [rdi + 0x58], 3
mov byte [rdi + 0x5c], bl
mov byte [rdi + 0x5d], 0
jmp 0x1400bb33c
mov eax, r12d
mov byte [rsp + rax + 0x40], 0
cmp rax, 0xff
jne 0x1400bb208
xor edi, edi
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.14015c2e0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret