Function at 0x1401689d0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x1a8]
sub rsp, 0x2a0
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x1404c39e8]
xor rax, rsp
mov qword [rbp + 0x180], rax
xor esi, esi
mov dword [0x1404dbcd8], esi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x78], rsi
lea rax, [0x140171c80]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x64], esi
mov qword [rbp - 0x78], rsi
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
add rax, 0x1e8
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0x1e8
movaps xmm6, xmmword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe0], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], rsi
mov qword [rbp + 0xf8], rsi
lea ecx, [rsi + 0x10]
call fcn.140382738
mov qword [rax + 8], rsi
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xd8]
mov qword [rax], rcx
mov word [rbp + 0x108], si
mov qword [rbp + 0x116], rsi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x10b], xmm0
mov word [rbp + 0x11b], ax
mov dword [rbp + 0xd4], esi
mov dword [rbp + 0x104], esi
movdqa xmmword [rbp + 0xb0], xmm6
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x64]
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0xc0]
call fcn.1401a1e00
mov rbx, qword [rbp + 0xc8]
lea rcx, [rbp + 0xd8]
call fcn.14016e710
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rsi
lea edx, [rsi + 0x10]
call fcn.140382774
mov qword [rsp + 0x68], rbx
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
add rax, 0x1fe
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0x1fe
movaps xmm6, xmmword [rsp + 0x50]
xor eax, eax
mov word [rbp + 0x130], ax
mov byte [rbp + 0x132], al
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], rsi
lea ecx, [rsi + 0x10]
call fcn.140382738
mov qword [rax + 8], rsi
mov qword [rbp + 0x138], rax
lea rcx, [rbp + 0x138]
mov qword [rax], rcx
mov word [rbp + 0x168], si
mov qword [rbp + 0x176], rsi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x16b], xmm0
mov word [rbp + 0x17b], ax
mov dword [rbp + 0x134], esi
mov dword [rbp + 0x164], esi
movdqa xmmword [rbp - 0x60], xmm6
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x130]
call fcn.1401a1b30
nop
lea rcx, [rbp + 0x138]
call fcn.14016e710
mov rcx, qword [rbp + 0x138]
mov qword [rbp + 0x138], rsi
lea edx, [rsi + 0x10]
call fcn.140382774
mov rbx, qword [0x1404dc350]
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x1401690e8
mov dword [rbx + 0x54], esi
mov rcx, rbx
call fcn.1403818e0
mov rbx, qword [0x1404dc360]
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x1401690f0
mov dword [rbx + 0x54], esi
mov rcx, rbx
call fcn.1403818e0
lea ecx, [rsi + 0x18]
call fcn.140382738
mov qword [rbp + 0x120], rax
test rax, rax
je 0x140168c85
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
mov rcx, rax
call fcn.140159ad0
jmp 0x140168c88
mov rax, rsi
mov qword [rbp + 0x120], rax
mov qword [rsp + 0x50], rsi
lea rcx, [0x1404bb338]
mov qword [rsp + 0x58], rcx
lea r8, [rsp + 0x50]
mov rdx, rax
lea r14, [0x1404dc1a0]
mov rcx, r14
call fcn.14018ca40
cmp dword [rsp + 0x50], 0
jne 0x1401690f8
mov byte [0x1404dc2e8], 0
mov ecx, 8
call fcn.140382738
mov rbx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140168cf3
mov rcx, qword [0x1404dc2e0]
mov rdx, qword [rcx + 0x10]
mov qword [rax], rdx
lock inc dword [rdx + 0x30]
jmp 0x140168cf6
mov rbx, rsi
mov qword [rbp - 0x70], rbx
mov ecx, 0x18
call fcn.140382738
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140168d32
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_class_boost::asio::io_context::work_.0
mov qword [rax], rcx
mov qword [rax + 0x10], rbx
jmp 0x140168d35
mov rax, rsi
mov qword [0x1404dc310], rbx
mov rbx, qword [0x1404dc318]
mov qword [0x1404dc318], rax
test rbx, rbx
je 0x140168d7b
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140168d7b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140168d7b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__class_std::shared_ptr_class_boost::asio::ssl::context_____cdecl___void______class_std::shared_ptr_class_boost::asio::ssl::context___class_std::weak_ptr_void__.0
mov qword [rbp + 0x68], rax
lea rax, [0x1401951e0]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x68]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x68]
lea rcx, [0x1404dc1e0]
call fcn.14015f450
nop
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x140168dd2
mov rax, qword [rcx]
lea rdx, [rbp + 0x68]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rax, [0x1403c85d0]
mov qword [rbp - 0x40], rax
lea rax, [0x1401950d0]
mov qword [rbp - 0x38], rax
movzx eax, byte [rsp + 0x40]
mov byte [rbp - 0x30], al
lea rax, [0x1404dc718]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], r14
lea rax, [rbp - 0x40]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x48], rax
lea r8, str.set_open_handler
mov edx, 0x400
mov rcx, qword [0x1404dc350]
call fcn.1401ab160
lea rbx, [0x1404dc698]
mov qword [rbp + 0x120], rbx
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x140169126
lea rdx, [rbp - 0x40]
lea rcx, [0x1404dc390]
call fcn.14015f450
nop
mov rcx, rbx
call fcn.1403818e0
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140168e79
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rdi, vtable.std::_Func_impl_no_alloc_void____cdecl___class_std::weak_ptr_void____void__class_std::weak_ptr_void__.0
mov qword [rbp + 0xc0], rdi
lea rax, [0x140194e70]
mov qword [rbp + 0xc8], rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x48], rax
lea r8, str.set_fail_handler
mov edx, 0x400
mov rcx, qword [0x1404dc350]
call fcn.1401ab160
mov qword [rbp + 0x120], rbx
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x14016912e
lea rdx, [rbp + 0xc0]
lea rcx, [0x1404dc410]
call fcn.14015f450
nop
mov rcx, rbx
call fcn.1403818e0
nop
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x140168f1a
mov rax, qword [rcx]
lea rdx, [rbp + 0xc0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rax, [0x1403c8598]
mov qword [rbp], rax
lea rax, [0x140194ed0]
mov qword [rbp + 8], rax
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x10], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x11], al
mov qword [rbp + 0x18], r14
lea rax, [rbp]
mov qword [rbp + 0x38], rax
lea rax, [rbp]
mov qword [rsp + 0x48], rax
lea r8, str.set_message_handler
mov edx, 0x400
mov rcx, qword [0x1404dc350]
call fcn.1401ab160
mov qword [rbp + 0x120], rbx
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x140169136
lea rdx, [rbp]
lea rcx, [0x1404dc5d0]
call fcn.14015f450
nop
mov rcx, rbx
call fcn.1403818e0
nop
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x140168fb7
mov rax, qword [rcx]
lea rdx, [rbp]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x130], rdi
lea rax, [0x1401948c0]
mov qword [rbp + 0x138], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x48], rax
lea r8, str.set_close_handler
mov edx, 0x400
mov rcx, qword [0x1404dc350]
call fcn.1401ab160
mov qword [rbp + 0x120], rbx
mov rcx, rbx
call fcn.1403818d8
test eax, eax
jne 0x1401690e0
lea rdx, [rbp + 0x130]
lea rcx, [0x1404dc3d0]
call fcn.14015f450
nop
mov rcx, rbx
call fcn.1403818e0
nop
mov rcx, qword [rbp + 0x168]
test rcx, rcx
je 0x140169051
mov rax, qword [rcx]
lea rdx, [rbp + 0x130]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
movdqa xmm0, xmmword [0x1403ca660]
movdqu xmmword [rbp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403ca620]
movdqu xmmword [rbp + 0x50], xmm1
mov word [rbp + 0x60], 0x100
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x40]
call fcn.1401605e0
mov rdx, rax
mov rcx, r14
call fcn.1401a5580
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, r14
lea r8, [0x1401665f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.140382da0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret
mov ecx, eax
call fcn.1403819bc
nop
mov ecx, eax
call fcn.1403819bc
int3
mov ecx, eax
call fcn.1403819bc
nop
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x60], xmm0
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x130]
call fcn.140159930
lea rdx, [0x1404b8da0]
lea rcx, [rbp + 0x130]
call fcn.140383c00
nop
mov ecx, eax
call fcn.1403819bc
nop
mov ecx, eax
call fcn.1403819bc
nop
mov ecx, eax
call fcn.1403819bc
int3