Function at 0x1400055c0
Capabilities:
Execute command
Manipulate console buffer

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 - 0x90]
sub rsp, 0x190
mov rax, qword [0x140017028]
xor rax, rsp
mov qword [rbp + 0x80], rax
lea rcx, [0x140011684]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.1400053c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
mov dword [rbp + 0x40], 0
xor r15d, r15d
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
lea ecx, [r15 + 0x18]
call fcn.14000e200
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x58], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x78], 8
mov dword [rbp + 0x40], 0x3f800000
mov r8, rax
lea edx, [r15 + 0x10]
lea rcx, [rbp + 0x58]
call fcn.140009690
nop
mov dword [rsp + 0x30], 0x2d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x40]
call fcn.14000a6e0
mov rcx, qword [rax]
mov byte [rcx + 0x14], 0x5f
mov dword [rsp + 0x30], 0x2e
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x40]
call fcn.14000a6e0
mov rcx, qword [rax]
mov byte [rcx + 0x14], 0x2e
mov dword [rsp + 0x30], 0x77
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x40]
call fcn.14000a6e0
mov rcx, qword [rax]
mov byte [rcx + 0x14], 0x23
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rax
movdqa xmm1, xmmword [0x140012000]
movdqu xmmword [rsp + 0x58], xmm1
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r15
lea edx, [rax + 4]
lea rcx, [rbp - 0x68]
call fcn.14000bb20
mov rbx, qword [rbp - 0x68]
lea r8d, [r15 + 0x10]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x10]
mov qword [rbp - 0x60], rax
movdqa xmm0, xmmword [0x140012030]
movdqu xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov qword [rbp - 0x40], r15
lea edx, [r15 + 4]
lea rcx, [rbp - 0x50]
call fcn.14000bb20
mov rbx, qword [rbp - 0x50]
lea r8d, [r15 + 0x10]
lea rdx, [rbp - 0x38]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x10]
mov qword [rbp - 0x48], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r15
mov r12d, 2
mov edx, r12d
call fcn.14000bbb0
mov rbx, rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
lea rcx, [rax + 0x30]
mov qword [rbp + 8], rcx
lea rax, [rbp - 8]
mov qword [rsp + 0x30], rax
lea rdi, [rbp - 0x68]
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], rbx
lea rax, [rbp - 8]
mov qword [rbp + 0x38], rax
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.140008d70
add rbx, 0x18
mov qword [rbp + 0x30], rbx
add rdi, 0x18
lea rax, [rbp - 0x38]
cmp rdi, rax
jne 0x1400057c0
mov rdx, rbx
mov rcx, rbx
call fcn.14000b0f0
mov qword [rbp], rbx
lea r9, [fcn.140007620]
mov r8, r12
mov edx, 0x18
lea rcx, [rbp - 0x68]
call fcn.14000e23c
mov qword [rsp + 0x30], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.14000bb20
mov rcx, qword [rsp + 0x68]
mov rax, r15
mov qword [rcx], rax
lea rax, [rcx + 8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x50], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov rdx, r12
lea rcx, [rbp - 0x80]
call fcn.14000bb20
mov rcx, qword [rbp - 0x80]
mov rax, r15
mov qword [rcx], rax
lea rax, [rcx + 8]
mov qword [rbp - 0x78], rax
mov r8, r12
lea rdx, [rsp + 0x68]
lea rcx, [0x140017a90]
call fcn.14000ae10
nop
lea r9, [fcn.140007620]
mov r8, r12
mov edx, 0x18
lea rcx, [rsp + 0x68]
call fcn.14000e23c
movzx edi, r12w
mov r13d, 1
movzx esi, r13w
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov qword [rbp + 0x20], r15
lea rcx, [rbp + 0x28]
call fcn.1400040a0
lea rcx, [rbp + 0x10]
cmp rcx, rax
je 0x1400058e6
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x20], rcx
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
lea rcx, [rbp + 0x28]
call fcn.140008e00
mov dword [rsp + 0x38], 0x10002
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, dword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
mov ecx, eax
movabs r14, 0x400000300004001
test eax, eax
je 0x1400059fe
cmp eax, 0xe0
je 0x1400059fe
add eax, 0xfffffff3
cmp eax, 0x3a
ja 0x140005944
cdqe
bt r14, rax
jb 0x140005955
cmp ecx, 0x77
je 0x140005955
cmp ecx, 0x58
je 0x140005955
call fcn.140006ae0
mov ecx, eax
mov eax, ecx
mov dword [rbp - 0x10], ecx
cmp ecx, 0x1b
je 0x140005e27
mov edx, eax
mov r8d, eax
mov r9d, eax
nop dword [rax + rax]
cmp eax, 0x2d
je 0x140005d4a
cmp edx, 0x2e
je 0x140005d4a
cmp r8d, 0x77
je 0x140005d4a
cmp r9d, 0x58
jne 0x140005ae3
mov rax, qword [0x140017a90]
mov rbx, qword [rax]
mov r14d, dword [rbx]
test r14d, r14d
je 0x140005a90
mov r8, qword [rax + 8]
sub r8, rbx
mov rcx, r8
sar rcx, 2
mov rdx, qword [rax + 0x18]
mov rax, qword [rax + 0x20]
sub rax, rdx
sar rax, 2
cmp rcx, rax
jne 0x140005a56
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005a56
movzx eax, word [rbx + 4]
mov word [rsp + 0x38], r14w
mov word [rsp + 0x3a], ax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x38]
jmp 0x140005a74
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp eax, 0x48
jne 0x140005a17
mov ecx, r13d
mov dword [rbp - 0x10], ecx
mov eax, r13d
jmp 0x140005963
cmp eax, 0x50
jne 0x140005a2a
mov ecx, r12d
mov dword [rbp - 0x10], ecx
mov eax, r12d
jmp 0x140005963
cmp eax, 0x4b
jne 0x140005a3e
mov ecx, 3
mov dword [rbp - 0x10], ecx
mov eax, ecx
jmp 0x140005963
cmp eax, 0x4d
jne 0x14000594e
mov ecx, 4
mov dword [rbp - 0x10], ecx
mov eax, ecx
jmp 0x140005963
movzx eax, word [rbx + 4]
mov word [rsp + 0x3c], r14w
mov word [rsp + 0x3e], ax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x3c]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, [0x140011db4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140009ff0
mov word [rsp + 0x40], di
mov word [rsp + 0x42], si
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, str.X.G_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140009ff0
mov rax, qword [0x140017a90]
mov rcx, qword [rax]
movsx eax, di
mov dword [rcx], eax
mov rax, qword [0x140017a90]
mov rcx, qword [rax]
jmp 0x140005bda
cmp ecx, 0x47
jne 0x140005bef
mov rax, qword [0x140017a90]
mov rbx, qword [rax + 0x18]
mov r14d, dword [rbx]
test r14d, r14d
je 0x140005b8a
mov rcx, qword [rax]
mov r8, qword [rax + 8]
sub r8, rcx
mov rdx, r8
sar rdx, 2
mov rax, qword [rax + 0x20]
sub rax, rbx
sar rax, 2
cmp rdx, rax
jne 0x140005b50
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005b50
movzx eax, word [rbx + 4]
mov word [rsp + 0x44], r14w
mov word [rsp + 0x46], ax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x44]
jmp 0x140005b6e
movzx eax, word [rbx + 4]
mov word [rsp + 0x48], r14w
mov word [rsp + 0x4a], ax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, [0x140011db4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140009ff0
mov word [rsp + 0x4c], di
mov word [rsp + 0x4e], si
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, dword [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, [0x140011c1c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140009ff0
mov rax, qword [0x140017a90]
mov rcx, qword [rax + 0x18]
movsx eax, di
mov dword [rcx], eax
mov rax, qword [0x140017a90]
mov rcx, qword [rax + 0x18]
movsx eax, si
mov dword [rcx + 4], eax
movabs r14, 0x400000300004001
jmp 0x140005db8
cmp ecx, 0xd
jne 0x140005ce7
lea rcx, [rsp + 0x68]
call fcn.140005f50
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140005c3e
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e1d
call fcn.14000e55c
cmp byte [0x140017a70], 1
jne 0x140005c5d
cmp byte [0x140017a71], 1
jne 0x140005c5d
cmp byte [0x140017a72], 1
je 0x140005e24
mov dword [rsp + 0x50], 0x150000
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, str.Error_in_saving._Please_include_one_instance_of_X_and_G_and_at_least_one_.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140009ff0
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
test eax, eax
mov ecx, eax
je 0x140005ddf
cmp eax, 0xe0
je 0x140005ddf
add eax, 0xfffffff3
cmp eax, 0x3a
ja 0x140005cbb
cdqe
bt r14, rax
jb 0x140005ccc
cmp ecx, 0x77
je 0x140005ccc
cmp ecx, 0x58
je 0x140005ccc
call fcn.140006ae0
mov ecx, eax
mov eax, ecx
mov dword [rbp - 0x10], ecx
mov edx, ecx
mov r8d, ecx
mov r9d, ecx
cmp ecx, 0x1b
je 0x140005e27
jmp 0x140005970
lea rax, [rbp - 0x28]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x28]
call fcn.140008e90
mov rbx, rax
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x68]
call fcn.140008e90
nop
mov qword [rsp + 0x20], rbx
mov r9, rax
mov r8d, dword [rbp - 0x10]
movzx edx, si
movzx ecx, di
call fcn.140003fd0
test al, al
jne 0x140005c90
mov rdx, qword [rbp - 8]
mov eax, dword [rbp - 0x10]
dec eax
movsxd rcx, eax
mov rax, qword [rdx + 0x18]
add di, word [rax + rcx*4]
mov rax, qword [rdx]
add si, word [rax + rcx*4]
jmp 0x140005db8
mov rdx, qword [0x140017a90]
mov rax, qword [rdx]
movsx r8d, di
movsx ecx, si
cmp dword [rax], r8d
jne 0x140005d74
cmp dword [rax + 4], ecx
jne 0x140005d74
mov dword [rax], r15d
mov rax, qword [0x140017a90]
mov rcx, qword [rax]
jmp 0x140005d90
mov rax, qword [rdx + 0x18]
cmp dword [rax], r8d
jne 0x140005d94
cmp dword [rax + 4], ecx
jne 0x140005d94
mov dword [rax], r15d
mov rax, qword [0x140017a90]
mov rcx, qword [rax + 0x18]
mov dword [rcx + 4], r15d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x40]
call fcn.14000a6e0
mov rdx, qword [rax]
movzx edx, byte [rdx + 0x14]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a3e0
mov word [rsp + 0x30], di
mov word [rsp + 0x32], si
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x140005c90
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp eax, 0x48
jne 0x140005df2
mov ecx, r13d
jmp 0x140005ccc
cmp eax, 0x50
jne 0x140005dff
mov ecx, r12d
jmp 0x140005ccc
cmp eax, 0x4b
jne 0x140005e0c
lea ecx, [rax - 0x48]
jmp 0x140005ccc
cmp eax, 0x4d
jne 0x140005cc5
lea ecx, [rax - 0x49]
jmp 0x140005ccc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ecx, dword [rbp - 0x10]
cmp ecx, 0xd
jne 0x140005e31
call fcn.140006140
call fcn.1400014a0
nop
lea rcx, [rbp + 0x10]
call fcn.140008e00
nop
lea rcx, [rbp - 8]
call fcn.140008e00
nop
lea rcx, [rbp + 0x40]
call fcn.140005ea0
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14000e1e0
lea r11, [rsp + 0x190]
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