Function at 0x1400cf9a0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x838
mov r14, rdx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
mov r13, qword [rdx + 0x68]
mov esi, dword [r13 + 0x18]
cmp esi, 0x3b9aca00
jne 0x1400cf9f1
mov rax, qword [r14 + 0x58]
mov qword [rsp + 0x98], rax
mov eax, dword [r14 + 0x60]
mov dword [rsp + 0x5c], eax
jmp 0x1400cfa47
mov rdi, qword [r13 + 0x10]
call fcn.14008f000
mov dword [rsp + 0x5c], 0x3b9aca00
add rax, rdi
mov qword [rsp + 0x98], rax
jae 0x1400cfa11
jmp 0x1400cfa47
add edx, esi
cmp edx, 0x3b9aca00
jb 0x1400cfa2b
inc qword [rsp + 0x98]
je 0x1400cfa47
add edx, 0xc4653600
mov eax, edx
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub edx, eax
mov dword [rsp + 0x5c], edx
cmp byte [r13 + 0x9c], 4
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x78], r13
jne 0x1400cfb25
mov byte [rsp + 0x11c], 4
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x498], rax
lea rax, [0x1400e96f0]
mov qword [rsp + 0x4a0], rax
lea rax, [rsp + 0x8a0]
mov qword [rsp + 0x4a8], rax
lea rax, [0x140007e50]
mov qword [rsp + 0x4b0], rax
lea rax, [0x1401a60a0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x498]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 2
lea rcx, [rsp + 0x390]
lea rdx, [rsp + 0x150]
call fcn.1400030f0
movups xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0xc0], rax
jmp 0x1400cfdbf
mov rbx, qword [r13 + 0x50]
mov rsi, qword [r13 + 0x60]
test rsi, rsi
je 0x1400cfb80
js 0x1400d138d
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400cfb5f
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400cfb71
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapAlloc
mov rdi, rax
test rax, rax
jne 0x1400cfb85
mov ecx, 1
mov rdx, rsi
call fcn.140002ac0
ud2
mov edi, 1
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov ebp, dword [r13 + 0x98]
mov r15, qword [r13 + 0x68]
test r15, r15
je 0x1400cfbfa
mov rbx, qword [r13 + 0x78]
test rbx, rbx
je 0x1400cfc11
js 0x1400d138d
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400cfbd9
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400cfbeb
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x1400cfc17
mov ecx, 1
mov rdx, rbx
call fcn.140002ac0
ud2
xor r14d, r14d
mov r12, qword [r13 + 0x80]
test r12, r12
jne 0x1400cfc31
xor r13d, r13d
jmp 0x1400cfc9f
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r12, qword [r13 + 0x80]
test r12, r12
je 0x1400cfc09
mov r15, qword [r13 + 0x90]
test r15, r15
je 0x1400cfc8b
js 0x1400d138d
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400cfc6a
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400cfc7c
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapAlloc
mov r13, rax
test rax, rax
jne 0x1400cfc91
mov ecx, 1
mov rdx, r15
call fcn.140002ac0
ud2
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x9c]
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x110], r15
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0x100], r13
lea rcx, [rsp + 0x118]
mov dword [rsp + 0x118], ebp
mov byte [rsp + 0x11c], al
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x498], rax
lea rax, [0x140003a30]
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0x4a8], rcx
lea rax, [0x140007f50]
mov qword [rsp + 0x4b0], rax
lea rax, [0x1401a60a0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x498]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 2
lea rcx, [rsp + 0x390]
lea rdx, [rsp + 0x150]
call fcn.1400030f0
movups xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0xc0], rax
mov r14, qword [rsp + 0x120]
mov rax, qword [r14 + 0x70]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
lock inc qword [rdi]
jle 0x1400d13fa
mov rax, qword [rsi + 0x10]
dec rax
and rax, 0xfffffffffffffff0
lea rdx, [rax + rdi]
add rdx, 0x10
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc0]
lea rcx, [rsp + 0x6a0]
call qword [rsi + 0x18]
cmp qword [rsp + 0x6a0], 0
je 0x1400cfe33
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x4b0], rax
movups xmm0, xmmword [rsp + 0x6a0]
movups xmmword [rsp + 0x4a0], xmm0
jmp 0x1400cff04
mov rbx, qword [rsp + 0x6a8]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x788], rax
lea rax, [0x140003a30]
mov qword [rsp + 0x790], rax
lea rax, str.resolve_dns_name_
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], 2
mov qword [rsp + 0x3b0], 0
lea rax, [rsp + 0x788]
mov qword [rsp + 0x3a0], rax
mov qword [rsp + 0x3a8], 1
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x390]
call fcn.1400030f0
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 2
mov dword [rsp + 0x150], 2
lea rcx, [rsp + 0x498]
lea rdx, [rsp + 0x150]
mov r8, rbx
call fcn.1400ddfc0
mov ebx, dword [rsp + 0x498]
cmp ebx, 3
jne 0x1400d0a95
mov r12, qword [rsp + 0x4a0]
mov rbx, qword [rsp + 0x4a8]
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x128], rax
lock dec qword [rdi]
jne 0x1400cff35
mov rcx, rdi
mov rdx, rsi
call fcn.14006a990
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400d08fa
mov qword [rsp + 0x90], rbx
lea rax, [r14 + 0x68]
mov qword [rsp + 0x358], rax
movzx eax, byte [rsp + 0x11c]
mov dword [rsp + 0x6c], eax
shl rcx, 5
add rcx, r12
mov qword [rsp + 0x368], rcx
lea rdi, [rsp + 0x150]
mov qword [rsp + 0x88], r12
xor ebp, ebp
jmp 0x1400cffcf
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x498], rax
lea rax, [0x1400e96f0]
mov qword [rsp + 0x4a0], rax
lea rax, [0x140191e08]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x498]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 0x60]
lea rdx, [rsp + 0x150]
call fcn.1400030f0
mov dword [rsi + 8], 2
mov qword [rsi + 0x78], 0
mov byte [rsi + 0x88], 2
mov dword [rsi], 2
test rbx, rbx
je 0x1400d1076
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, r12
jmp 0x1400d1071
mov ebp, dword [rsp + 0x49c]
mov r14, qword [rsp + 0x4a0]
lea rdx, [rsp + 0x4b8]
mov r15, qword [rsp + 0x40]
lea rcx, [r15 + 0x20]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x4a8]
mov dword [r15 + 4], ebp
mov qword [r15 + 8], r14
movups xmmword [r15 + 0x10], xmm0
mov dword [r15], ebx
lock dec qword [rdi]
jne 0x1400d1076
mov rcx, rdi
mov rdx, rsi
call fcn.14006a990
jmp 0x1400d1076
ud2