Function at 0x1400015c0
Capabilities:
Check if file exists
Check mutex on windows
Execute command
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x670]
sub rsp, 0x770
mov rax, qword [0x140009040]
xor rax, rsp
mov qword [rbp + 0x660], rax
call fcn.140001080
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 0xf
mov qword [rbp + 0x138], 0xf
movsd xmm0, qword [str.defrag_C:__O__H]
movsd qword [rbp + 0x120], xmm0
mov eax, dword [0x1400064b0]
mov dword [rbp + 0x128], eax
movzx eax, word [0x1400064b4]
mov word [rbp + 0x12c], ax
movzx eax, byte [0x1400064b6]
mov byte [rbp + 0x12e], al
mov byte [rbp + 0x12f], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], 0xc
mov qword [rbp + 0x158], 0xf
movsd xmm0, qword [str.sfc__scannow]
movsd qword [rbp + 0x140], xmm0
mov eax, dword [0x1400064c0]
mov dword [rbp + 0x148], eax
mov byte [rbp + 0x14c], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xor r14d, r14d
mov qword [rbp + 0x170], r14
mov qword [rbp + 0x178], 0xf
lea ecx, [r14 + 0x50]
call fcn.140004af0
mov rcx, rax
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x170], 0x42
mov qword [rbp + 0x178], 0x4f
movaps xmm0, xmmword [str.___ProgramFiles_Windows_Defendermpcmdrun.exe___Scan__ScanType_1_]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400064e0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400064f0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x140006500]
movups xmmword [rax + 0x30], xmm1
movzx eax, word [0x140006510]
mov word [rcx + 0x40], ax
mov byte [rcx + 0x42], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], 0xc
mov qword [rbp + 0x198], 0xf
movsd xmm0, qword [str.sfc__scannow]
movsd qword [rbp + 0x180], xmm0
mov eax, dword [0x1400064c0]
mov dword [rbp + 0x188], eax
mov byte [rbp + 0x18c], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x1b8], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1b0], 0x28
mov qword [rbp + 0x1b8], 0x2f
movups xmm0, xmmword [str.dism__online__cleanup_image__CheckHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006528]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140006538]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov rdx, rax
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1d0], 0x27
mov qword [rbp + 0x1d8], 0x2f
movups xmm0, xmmword [str.Dism__Online__Cleanup_Image__ScanHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006558]
movups xmmword [rax + 0x10], xmm1
mov ecx, dword [0x140006568]
mov dword [rax + 0x20], ecx
movzx eax, word [0x14000656c]
mov word [rdx + 0x24], ax
movzx eax, byte [0x14000656e]
mov byte [rdx + 0x26], al
mov byte [rdx + 0x27], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x1f8], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov rcx, rax
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1f0], 0x2a
mov qword [rbp + 0x1f8], 0x2f
movups xmm0, xmmword [str.Dism__Online__Cleanup_Image__RestoreHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006580]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140006590]
movsd qword [rax + 0x20], xmm0
movzx eax, word [0x140006598]
mov word [rcx + 0x28], ax
mov byte [rcx + 0x2a], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], 0xf
lea ecx, [r14 + 0x20]
call fcn.140004af0
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x210], 0x18
mov qword [rbp + 0x218], 0x1f
movups xmm0, xmmword [str.chkdsk_C:__scan__perf__i]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400065b0]
movsd qword [rax + 0x10], xmm0
mov byte [rax + 0x18], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], 0xc
mov qword [rbp + 0x238], 0xf
movsd xmm2, qword [str.sfc__scannow]
movsd qword [rbp + 0x220], xmm2
mov r8d, dword [0x1400064c0]
mov dword [rbp + 0x228], r8d
mov byte [rbp + 0x22c], r14b
movups xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x250], 0xf
mov qword [rbp + 0x258], 0xf
movsd xmm1, qword [str.defrag_C:__O__H]
movsd qword [rbp + 0x240], xmm1
mov edx, dword [0x1400064b0]
mov dword [rbp + 0x248], edx
movzx ecx, word [0x1400064b4]
mov word [rbp + 0x24c], cx
movzx eax, byte [0x1400064b6]
mov byte [rbp + 0x24e], al
mov byte [rbp + 0x24f], r14b
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0xf
mov qword [rbp - 8], 0xf
movsd qword [rbp - 0x20], xmm1
mov dword [rbp - 0x18], edx
mov word [rbp - 0x14], cx
mov byte [rbp - 0x12], al
mov byte [rbp - 0x11], r14b
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 0xc
mov qword [rbp + 0x18], 0xf
movsd qword [rbp], xmm2
mov dword [rbp + 8], r8d
mov byte [rbp + 0xc], r14b
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 0xf
lea ecx, [r14 + 0x50]
call fcn.140004af0
mov rcx, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x30], 0x42
mov qword [rbp + 0x38], 0x4f
movaps xmm0, xmmword [str.___ProgramFiles_Windows_Defendermpcmdrun.exe___Scan__ScanType_2_]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400065d0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400065e0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400065f0]
movups xmmword [rax + 0x30], xmm1
movzx eax, word [0x140006600]
mov word [rcx + 0x40], ax
mov byte [rcx + 0x42], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], 0xc
mov qword [rbp + 0x58], 0xf
movsd xmm0, qword [str.sfc__scannow]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [0x1400064c0]
mov dword [rbp + 0x48], eax
mov byte [rbp + 0x4c], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], 0x28
mov qword [rbp + 0x78], 0x2f
movups xmm0, xmmword [str.dism__online__cleanup_image__CheckHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006528]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140006538]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov r8, rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x90], 0x27
mov qword [rbp + 0x98], 0x2f
movups xmm0, xmmword [str.Dism__Online__Cleanup_Image__ScanHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006558]
movups xmmword [rax + 0x10], xmm1
mov edx, dword [0x140006568]
mov dword [rax + 0x20], edx
movzx edx, word [0x14000656c]
mov word [rax + 0x24], dx
movzx eax, byte [0x14000656e]
mov byte [r8 + 0x26], al
mov byte [r8 + 0x27], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xb8], 0xf
lea ecx, [r14 + 0x30]
call fcn.140004af0
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xb0], 0x2a
mov qword [rbp + 0xb8], 0x2f
movups xmm0, xmmword [str.Dism__Online__Cleanup_Image__RestoreHealth]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006580]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140006590]
movsd qword [rax + 0x20], xmm0
movzx ecx, word [0x140006598]
mov word [rax + 0x28], cx
mov byte [rax + 0x2a], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], 0xc
mov qword [rbp + 0xd8], 0xf
movsd xmm0, qword [str.sfc__scannow]
movsd qword [rbp + 0xc0], xmm0
mov eax, dword [0x1400064c0]
mov dword [rbp + 0xc8], eax
mov byte [rbp + 0xcc], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], 0xf
mov qword [rbp + 0xf8], 0xf
movsd xmm0, qword [str.defrag_C:__O__H]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [0x1400064b0]
mov dword [rbp + 0xe8], eax
movzx eax, word [0x1400064b4]
mov word [rbp + 0xec], ax
movzx eax, byte [0x1400064b6]
mov byte [rbp + 0xee], al
mov byte [rbp + 0xef], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], 0xf
lea ecx, [r14 + 0x40]
call fcn.140004af0
mov rcx, rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], 0x34
mov qword [rbp + 0x118], 0x3f
movups xmm0, xmmword [str.chkdsk_C:__scan__perf__f__r__x__b___bestaetigung.txt]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006618]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006628]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x140006638]
mov dword [rcx + 0x30], eax
mov byte [rcx + 0x34], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 0xf
lea ecx, [r14 + 0x20]
call fcn.140004af0
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], 0x12
mov qword [rbp - 0x68], 0x1f
movups xmm0, xmmword [str.defrag__c__o__h__m]
movups xmmword [rax], xmm0
movzx ecx, word [0x140006650]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], 0xc
mov qword [rbp - 0x48], 0xf
movsd xmm0, qword [str.sfc__scannow]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x1400064c0]
mov dword [rbp - 0x58], eax
mov byte [rbp - 0x54], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
lea ecx, [r14 + 0x40]
call fcn.140004af0
mov rdx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x36
mov qword [rbp - 0x28], 0x3f
movups xmm0, xmmword [str.chkdsk_C:__f__x__spotfix__sdcleanup___bestaetigung.txt]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140006668]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140006678]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x140006688]
mov dword [rax + 0x30], ecx
movzx eax, word [0x14000668c]
mov word [rdx + 0x34], ax
mov byte [rdx + 0x36], r14b
lea r8, str.LocalWRT
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [r14 + 0xa]
lea r12d, [r14 + 3]
cmp eax, 0xb7
jne 0x140001e3a
lea rdx, [0x140009f70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcerr]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
lea rbx, [rsi - 0xb]
jmp 0x140002614
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, str.C:WindowsWinSxSpending.xml
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea rcx, str.C:WindowsWinSxSpending.xml
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140001fa5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x140001fa5
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000bb70]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000a370]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000b370]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000a770]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov r8, r12
lea rdx, [rsp + 0x58]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_char____ptr64__long_long___int64_____ptr64]
cmp byte [rsp + 0x59], 0
jne 0x140001f90
mov r8d, esi
mov edx, 0x7fff
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
movsx ecx, byte [rsp + 0x58]
sub ecx, 0x30
sub ecx, 1
je 0x140001f98
sub ecx, 1
je 0x140001f90
cmp ecx, 1
je 0x140001fa5
mov ebx, r14d
jmp 0x140002614
lea rcx, str.shutdown__r__t_0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
lea rcx, [0x14000c770]
mov rdi, 0xffffffffffffffff
inc rdi
cmp word [rcx + rdi*2], 0
jne 0x140001fc5
movabs r15, 0x7ffffffffffffffe
cmp rdi, r15
ja 0x14000269f
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x78], 7
cmp rdi, 7
ja 0x140002030
mov qword [rsp + 0x70], rdi
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, rcx
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov word [rsp + rbx + 0x60], r14w
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
xor edx, edx
jmp 0x1400020ca
mov r13, rdi
or r13, 7
cmp r13, r15
jbe 0x140002045
mov r13, r15
lea rcx, [rax + rax]
jmp 0x140002065
cmp r13, rsi
cmovb r13, rsi
lea rcx, [r13 + 1]
cmp rcx, rax
ja 0x140002699
add rcx, rcx
cmp rcx, 0x1000
jb 0x140002091
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002699
mov rcx, rax
call fcn.140004af0
test rax, rax
je 0x140002604
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14000209e
test rcx, rcx
je 0x14000209e
call fcn.140004af0
mov r14, rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r13
lea rbx, [rdi + rdi]
mov r8, rbx
lea rdx, [0x14000c770]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
xor edx, edx
mov word [rbx + r14], dx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
lea rbx, [rsp + 0x60]
cmp r13, 7
cmova rbx, r14
cmp rdi, r15
ja 0x1400026a5
mov qword [rsp + 0x48], 7
cmp rdi, 7
ja 0x140002113
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x30], xmm0
jmp 0x1400021c0
mov rax, rdi
or rax, 7
cmp rax, r15
jbe 0x14000212f
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x14000215d
mov r15, rax
cmp rax, 0xa
cmovb r15, rsi
lea rcx, [r15 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140002693
add rcx, rcx
cmp rcx, 0x1000
jb 0x14000218f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002693
mov rcx, rax
call fcn.140004af0
mov rcx, rax
test rax, rax
je 0x140002188
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000219e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14000219b
call fcn.140004af0
jmp 0x14000219e
mov rax, rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r15
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x30]
call fcn.140002ad0
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov r15, 0xffffffffffffffff
nop word [rax + rax]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000c370]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000d770]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000ab70]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x1400066e4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000d370]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1400066e4]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000af70]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
call fcn.140003b30
mov r8, r12
lea rdx, [rsp + 0x58]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_char____ptr64__long_long___int64_____ptr64]
cmp byte [rsp + 0x59], 0
jne 0x1400025d3
mov r8d, esi
mov edx, 0x7fff
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
movsx eax, byte [rsp + 0x58]
sub eax, 0x30
mov edi, eax
cmp eax, 1
je 0x140002384
cmp eax, 2
je 0x140002384
cmp eax, 3
jne 0x1400025d3
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1400066e4]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140009b70]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea eax, [rdi - 1]
mov ecx, esi
cmp eax, 1
cmova ecx, r12d
mov dword [0x14000df70], ecx
mov dword [0x14000df74], 1
mov dword [rsp + 0x20], ecx
mov r9d, 1
lea r8, [0x14000cf70]
mov edx, 0x200
lea rcx, [rbp + 0x260]
call fcn.140001020
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1400066e4]
call fcn.140003910
mov rcx, rax
lea rdx, [rbp + 0x260]
call fcn.140003910
xor ebx, ebx
cmp dword [0x14000df70], ebx
jle 0x140002481
movsxd rax, ebx
shl rax, 5
cmp edi, 1
jne 0x140002455
lea rdx, [rbp + 0x120]
jmp 0x140002462
cmp edi, 2
lea rdx, [rbp - 0x20]
je 0x140002462
lea rdx, [rbp - 0x80]
add rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140003610
mov rcx, rax
call fcn.1400026b0
inc ebx
cmp ebx, dword [0x14000df70]
jl 0x140002440
lea eax, [rdi - 2]
cmp eax, 1
ja 0x14000258d
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1400066e4]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000b770]
call fcn.140003910
mov r8, r12
lea rdx, [rsp + 0x58]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_char____ptr64__long_long___int64_____ptr64]
mov r8d, esi
mov edx, 0x7fff
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
cmp byte [rsp + 0x59], 0
jne 0x14000254b
mov rcx, r15
lea rax, [0x140009770]
nop word [rax + rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140002510
xor r8d, r8d
test rcx, rcx
je 0x14000254b
movsx r9d, byte [rsp + 0x58]
mov rdx, rax
nop dword [rax + rax]
movzx eax, word [rdx]
cmp r9d, eax
je 0x1400025c6
inc r8d
add rdx, 2
movsxd rax, r8d
cmp rax, rcx
jb 0x140002530
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1400066e4]
call fcn.140003910
mov rcx, rax
lea rdx, [0x14000bf70]
call fcn.140003910
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [0x140003af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140003af0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
jmp 0x140002210
lea rcx, str.shutdown__r__t_0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xor ebx, ebx
cmp r13, 7
jbe 0x140002614
lea rdx, [r13*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x14000260b
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000260b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140004bfc
nop
lea r9, [0x1400035b0]
mov r8, r12
mov edx, 0x20
lea rcx, [rbp - 0x80]
call fcn.140004b2c
nop
lea r9, [0x1400035b0]
mov r8, rsi
mov edx, 0x20
lea rcx, [rbp - 0x20]
call fcn.140004b2c
nop
lea r9, [0x1400035b0]
mov r8, rsi
mov edx, 0x20
lea rcx, [rbp + 0x120]
call fcn.140004b2c
mov eax, ebx
mov rcx, qword [rbp + 0x660]
xor rcx, rsp
call fcn.140004ad0
lea r11, [rsp + 0x770]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001440
nop
call fcn.140001440
int3
call fcn.1400014e0
nop
call fcn.1400014e0
int3