Function at 0x14006fa00
Capabilities:
Create thread

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rcx
mov rax, qword [0x14013aa80]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov byte [rcx + 0xfa], 0
lea rax, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_ftxui::ScreenInteractive::Install_void____ptr64::_1::_lambda_3___void___.0
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x58]
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fa6b
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rax, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_ftxui::ScreenInteractive::Install_void____ptr64::_1::_lambda_4___void___.0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006faac
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, reloc.WS2_32.dll_ntohs
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
lea rbx, vtable.._AV___Func_impl_no_alloc_V_lambda_0___0__InstallSignalHandler__A0xC421C798_ftxui__YAXH_Z_X__V_std__.0
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fb07
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, reloc.WS2_32.dll_inet_addr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], reloc.WS2_32.dll_inet_addr
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fb5b
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], 2
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fbaf
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, 4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fc03
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, socket
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], socket
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fc57
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rdx, [0x140073210]
mov ecx, 8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], 8
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fcab
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r14, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff5
call r14
mov rbx, rax
mov ecx, 0xfffffff6
call r14
mov r14, rax
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x50], 0
mov r15, qword [sym.imp.KERNEL32.dll_GetConsoleMode]
lea rdx, [rsp + 0x54]
mov rcx, rbx
call r15
lea rdx, [rsp + 0x50]
mov rcx, r14
call r15
mov eax, dword [rsp + 0x54]
lea rcx, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_ftxui::ScreenInteractive::Install_void____ptr64::_1::_lambda_5___void___.0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fd3e
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov eax, dword [rsp + 0x50]
lea rcx, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_ftxui::ScreenInteractive::Install_void____ptr64::_1::_lambda_6___void___.0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fd87
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
or byte [rsp + 0x54], 0xc
mov edx, 0xfffffdf1
and edx, dword [rsp + 0x50]
or edx, 0x208
mov dword [rsp + 0x50], edx
mov r15, qword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov rcx, r14
call r15
mov edx, dword [rsp + 0x54]
mov rcx, rbx
call r15
cmp byte [rsi + 0x64], 0
je 0x14006fdf9
mov ecx, 4
call fcn.1400d1e28
mov rbx, rax
mov qword [rsp + 0x58], rax
add rax, 4
mov qword [rsp + 0x68], rax
mov dword [rbx], 0x419
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140070600
mov edx, 4
mov rcx, rbx
call fcn.1400d1e6c
lea rax, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_ftxui::ScreenInteractive::Install_void____ptr64::_1::_lambda_9___void___.0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x90], rdi
lea rcx, [0x14013b9d8]
mov rdx, rdi
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006fe35
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov ecx, 4
call fcn.1400d1e28
mov rbx, rax
mov qword [rsp + 0x38], rax
add rax, 4
mov qword [rsp + 0x48], rax
mov dword [rbx], 7
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.140073940
mov r8, qword [rsp + 0x68]
cmp qword [rsp + 0x70], 0x10
jb 0x14006fe7a
mov rdi, qword [rsp + 0x58]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rdx, rdi
call fcn.140074980
mov rax, qword [rsp + 0x70]
cmp rax, 0x10
jb 0x14006feca
mov rcx, qword [rsp + 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14006fec5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140070290
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov ecx, 4
call fcn.1400d1e28
mov rdi, rax
mov eax, dword [rbx]
mov dword [rdi], eax
mov ecx, 0x20
call fcn.1400d1e28
mov r14, rax
lea rax, vtable.._AV___Func_impl_no_alloc_V_lambda_1___0___R_lambda_8___0__Install_ScreenInteractive_ftxui__AEAAXXZ_QEBA_A__auto___AEBV__vector_W4DECMode__A0xC421C798_ftxui__V__allocator_W4DECMode__A0xC421C798_ftxui___std___std___Z_X__V_std__.0
mov qword [r14], rax
mov ecx, 4
call fcn.1400d1e28
mov qword [r14 + 8], rax
lea rcx, [rax + 4]
mov qword [r14 + 0x18], rcx
mov edx, dword [rdi]
mov dword [rax], edx
mov qword [r14 + 0x10], rcx
mov qword [rsp + 0x90], r14
lea rcx, [0x14013b9d8]
lea r14, [rsp + 0x58]
mov rdx, r14
call fcn.1400746e0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14006ff51
cmp rcx, r14
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [rsp + 0x90], 0
mov edx, 4
mov rcx, rdi
call fcn.1400d1e6c
mov edx, 4
mov rcx, rbx
call fcn.1400d1e6c
cmp byte [rsi + 0x65], 0
je 0x140070069
mov ecx, 4
call fcn.1400d1e28
mov rdi, rax
mov qword [rsp + 0x58], rax
add rax, 4
mov qword [rsp + 0x68], rax
mov dword [rdi], 0x3e8
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140070600
mov edx, 4
mov rcx, rdi
call fcn.1400d1e6c
mov ecx, 4
call fcn.1400d1e28
mov rdi, rax
mov qword [rsp + 0x58], rax
add rax, 4
mov qword [rsp + 0x68], rax
mov dword [rdi], 0x3eb
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140070600
mov edx, 4
mov rcx, rdi
call fcn.1400d1e6c
mov ecx, 4
call fcn.1400d1e28
mov rdi, rax
mov qword [rsp + 0x58], rax
add rax, 4
mov qword [rsp + 0x68], rax
mov dword [rdi], 0x3f7
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140070600
mov edx, 4
mov rcx, rdi
call fcn.1400d1e6c
mov ecx, 4
call fcn.1400d1e28
mov rdi, rax
mov qword [rsp + 0x58], rax
add rax, 4
mov qword [rsp + 0x68], rax
mov dword [rdi], 0x3ee
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140070600
mov edx, 4
mov rcx, rdi
call fcn.1400d1e6c
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
xor edi, edi
xor edx, edx
call fcn.140070440
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
xchg byte [rsi + 0xb8], dil
mov rdi, qword [rsi + 0x70]
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14007025d
cmp dword [rdi + 0x4c], 0x7fffffff
je 0x140070267
lock inc dword [rdi + 0xc0]
mov ecx, 8
call fcn.1400d1e28
mov rbx, rax
mov qword [rax], rdi
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_unlock
mov rdi, qword [rsi + 0x68]
mov qword [rsi + 0x68], rbx
test rdi, rdi
je 0x1400700f1
mov rcx, qword [rdi]
lock dec dword [rcx + 0xc0]
add rcx, 0x78
call sub.MSVCP140.dll__Cnd_signal
mov rcx, rdi
call fcn.1400d1e64
mov rdi, qword [rsi + 0x70]
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14007025d
cmp dword [rdi + 0x4c], 0x7fffffff
je 0x140070267
lea r14, [rsi + 0xb8]
lock inc dword [rdi + 0xc0]
mov ecx, 8
call fcn.1400d1e28
mov rbx, rax
mov qword [rax], rdi
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_unlock
mov ecx, 0x18
call fcn.1400d1e28
mov qword [rax], rbx
mov qword [rax + 8], r14
lea rcx, [0x140070820]
mov qword [rax + 0x10], rcx
lea r15, [rsp + 0x60]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0
lea r8, [0x140074ed0]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140070278
cmp dword [rsi + 0xc8], 0
jne 0x14007028a
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0xc0], xmm0
mov rdi, qword [rsi + 0x70]
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14007025d
cmp dword [rdi + 0x4c], 0x7fffffff
je 0x140070267
lock inc dword [rdi + 0xc0]
mov ecx, 8
call fcn.1400d1e28
mov rbx, rax
mov qword [rax], rdi
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_unlock
mov ecx, 0x18
call fcn.1400d1e28
mov qword [rax], rbx
mov qword [rax + 8], r14
lea rcx, [0x140070e40]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0
lea r8, [0x140074ed0]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140070278
cmp dword [rsi + 0xd8], 0
jne 0x14007028a
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0xd0], xmm0
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1400d2000
nop
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov dword [rdi + 0x4c], 0x7ffffffe
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
mov dword [rsp + 0x60], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3