Function at 0x140080830
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov qword [rbp + 0xf0], r8
mov qword [rbp + 0xe8], rdx
mov qword [rcx + 0xe0], r9
mov qword [rbp + 0xf8], rcx
mov rcx, qword [rcx + 8]
lea rax, vtable.type_info.0
mov qword [rbp], rax
mov qword [rbp + 8], 0
lea r8, [0x1400816c0]
mov rdx, rbp
call fcn.140079f80
mov qword [rbp + 0xd0], rax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xd8], xmm0
mov ecx, 0x18
call fcn.1401c3b4c
lea rbx, [rbp + 0xd8]
movabs rcx, 0x100000001
mov qword [rax + 8], rcx
lea rcx, fcn.140006120
mov qword [rax], rcx
mov qword [rax + 0x10], 0
mov qword [rbx], 0
mov qword [rbp + 0xe0], rax
mov rcx, rbp
mov rdx, qword [rbp + 0xf8]
call fcn.14007b640
mov rax, qword [rbp]
mov qword [rbp], 0
mov rcx, qword [rbp + 0xf8]
lea rdi, [rcx + 0x18]
mov rdx, qword [rcx + 0x18]
mov qword [rcx + 0x18], rax
test rdx, rdx
je 0x140080934
mov rcx, rdi
call fcn.14007abd0
mov rdx, qword [rbp]
test rdx, rdx
je 0x140080934
mov rcx, rbp
call fcn.14007abd0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x30], ymm0
vmovups ymmword [rbp + 0x20], ymm0
vmovups ymmword [rbp], ymm0
mov rax, qword [rbp + 0xe8]
mov r15, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
mov rsi, rax
jb 0x14008095f
mov rsi, qword [rax]
test r15, r15
js 0x140080eca
lea r12, [rbp + 0x30]
cmp r15, 0xf
ja 0x14008098a
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], reloc.WS2_32.dll_ntohs
vmovups xmm0, xmmword [rsi]
vmovups xmmword [r12], xmm0
jmp 0x1400809fb
mov qword [rbp + 0x48], reloc.WS2_32.dll_ntohs
mov r14, r15
or r15, 0xf
cmp r15, 0x16
mov ecx, 0x16
cmovae rcx, r15
cmp rcx, 0xfff
jb 0x1400809cc
add rcx, 0x28
vzeroupper
call fcn.1401c3b4c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1400809e1
lea rax, [rcx + 1]
mov r15, rcx
mov rcx, rax
vzeroupper
call fcn.1401c3b4c
mov rcx, rax
mov qword [r12], rcx
mov r8, r14
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r15
inc r8
mov rdx, rsi
call fcn.1401bb6d0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x50], ymm0
mov rcx, qword [rbp + 0xf0]
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
mov rsi, rcx
jb 0x140080a1c
mov rsi, qword [rcx]
test rax, rax
js 0x140080ed2
lea r14, [rbp + 0x50]
cmp rax, 0xf
ja 0x140080a49
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
vmovups xmm0, xmmword [rsi]
vmovups xmmword [r14], xmm0
jmp 0x140080ac9
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
mov rbx, rax
or rax, 0xf
cmp rax, 0x16
mov ecx, 0x16
cmovae rcx, rax
cmp rcx, 0xfff
jb 0x140080a91
mov r15, rax
add rcx, 0x28
vzeroupper
call fcn.1401c3b4c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
mov rdx, r15
jmp 0x140080aa9
lea rax, [rcx + 1]
mov r15, rcx
mov rcx, rax
vzeroupper
call fcn.1401c3b4c
mov rdx, r15
mov rcx, rax
mov qword [r14], rcx
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], rdx
inc rbx
mov rdx, rsi
mov r8, rbx
call fcn.1401bb6d0
lea rbx, [rbp + 0xd8]
vmovups xmm0, xmmword [0x140223d40]
vmovups xmmword [rbp], xmm0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x10], ymm0
mov dword [rbp + 0x90], 0
lea rsi, [0x140223e70]
mov qword [rbp + 0x98], rsi
mov rcx, qword [rbp + 0xd0]
add rcx, 0x28
lea rax, [rbp + 0x90]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x78]
mov r9, rbp
mov r8, rbx
vzeroupper
call fcn.140082f20
cmp dword [rbp + 0x90], 0
je 0x140080b3c
lea rdx, str.resolve
lea rcx, [rbp + 0x90]
call fcn.140077900
mov rdx, qword [rdi]
mov dword [rbp - 0x10], 0
mov qword [rbp - 8], rsi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xb0], xmm0
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x140080b6f
lock inc dword [rax + 8]
mov r8, qword [rbp + 0x80]
jmp 0x140080b72
xor r8d, r8d
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], r8
mov qword [rbp + 0xc0], rcx
vmovups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], 0
vmovups xmmword [rbp - 0x30], xmm0
test r8, r8
je 0x140080bcb
lock inc dword [r8 + 8]
mov rax, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xc0]
jmp 0x140080bcd
xor esi, esi
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rcx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x48]
lea r8, [rbp - 0x30]
lea r9, [rbp + 0x90]
call fcn.140082940
test rsi, rsi
je 0x140080c18
lock dec dword [rsi + 8]
jne 0x140080c18
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x140080c18
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
cmp dword [rbp - 0x10], 0
je 0x140080c2e
lea rdx, str.connect
lea rcx, [rbp - 0x10]
call fcn.140077900
mov rsi, qword [rbp + 0x80]
test rsi, rsi
je 0x140080c57
lock dec dword [rsi + 8]
jne 0x140080c57
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x140080c57
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rbp - 0x40]
test rsi, rsi
je 0x140080c7d
lock dec dword [rsi + 8]
jne 0x140080c7d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x140080c7d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x140080cbb
mov rcx, qword [r14]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140080cb6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140080eda
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401c3b44
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x50], 0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x140080d0e
mov rcx, qword [r12]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140080d09
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdx
cmp rcx, 0x20
jae 0x140080eda
add rax, 0x28
mov rcx, rdx
mov rdx, rax
call fcn.1401c3b44
mov qword [rbx], 0
mov rsi, qword [rbp + 0xe0]
mov qword [rbp + 0xe0], 0
test rsi, rsi
je 0x140080d72
lock dec dword [rsi + 8]
jne 0x140080d49
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x140080d49
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rbp + 0xe0]
test rsi, rsi
je 0x140080d72
lock dec dword [rsi + 8]
jne 0x140080d72
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x140080d72
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov ecx, select
call fcn.1401c3b4c
mov qword [rbp + 0xc8], rax
mov ecx, 8
call fcn.1401c3b4c
mov r14, rax
mov rdi, qword [rbp + 0xf8]
mov qword [rax], rdi
mov rbx, qword [rbp + 0xc8]
mov rsi, rbx
add rsi, 8
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x140084990]
xor ecx, ecx
xor edx, edx
mov r9, rax
call fcn.1401fc0b8
mov qword [rbx], rax
test rax, rax
je 0x140080edf
mov rcx, qword [rdi + 0xb8]
mov qword [rdi + 0xb8], rbx
mov eax, 1
test rcx, rcx
je 0x140080e00
cmp dword [rcx + 8], 0
jne 0x140080ef6
call fcn.1401c3b88
mov eax, 1
mov dword [rbp + 0xf8], eax
mov rdi, qword [rbp + 0xe8]
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
mov rsi, qword [rbp + 0xf0]
jb 0x140080e52
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140080e4d
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdx
cmp rcx, 0x20
jae 0x140080eda
add rax, 0x28
mov rcx, rdx
mov rdx, rax
call fcn.1401c3b44
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x140080e9f
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140080e9a
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdx
cmp rcx, 0x20
jae 0x140080eda
add rax, 0x28
mov rcx, rdx
mov rdx, rax
call fcn.1401c3b44
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], 0
mov eax, dword [rbp + 0xf8]
add rsp, 0x190
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
vzeroupper
call fcn.140005120
vzeroupper
call fcn.140005120
call fcn.1401f09f0
mov qword [rbp + 0xf8], r14
mov dword [rsi], 0
mov ecx, 6
call fcn.1401c6d4c
call fcn.1401fbf54
int3