Function at 0x140001e10
Capabilities:
Execute command
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor eax, eax
lea rbp, [0x140006780]
nop dword [rax]
mov dword [rax + rbp], 0x31313131
mov dword [rax + rbp + 4], 0x31313131
mov dword [rax + rbp + 8], 0x31313131
mov dword [rax + rbp + 0xc], 0x31313131
mov dword [rax + rbp + 0x10], 0x31313131
mov dword [rax + rbp + 0x14], 0x31313131
mov dword [rax + rbp + 0x18], 0x31313131
mov word [rax + rbp + 0x1c], 0x3131
add rax, 0x1e
cmp rax, 0x10e
jle 0x140001e30
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str._t_t_Welcome__n_press_caps_lock_to_normal_func__n_PRESS_ESC_TO_EXIT__n_PRESS_SPACE_TO_SIMULATION_n_PRESS_ENTER_TO_GAME
call fcn.140002270
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp al, 0x1b
jne 0x140001eb3
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str._n
call fcn.140002270
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
cmp al, 0x20
jne 0x140001fbe
lea rsi, [0x1400068ac]
lea rcx, [0x1400043f8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.140001210
mov rdi, rbp
nop word [rax + rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rdi + rbx]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002060
inc rbx
cmp rbx, 0x1e
jl 0x140001ef0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002230]
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__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
add rdi, 0x1e
cmp rdi, rsi
jl 0x140001ee0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub ebx, ecx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x88888889
imul r8d
movsxd rax, ebx
add edx, r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1e
sub r8d, ecx
imul rcx, rax, 0x1e
movsxd rax, r8d
add rcx, rax
cmp dword [0x140006774], 0
mov byte [rcx + rbp + 1], 0x23
je 0x140001ec2
cmp dword [0x140006770], ebx
jne 0x140001ec2
lea eax, [r8 + 1]
test eax, eax
je 0x140001ec2
lea rcx, [0x1400043f8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
jmp 0x140001ec2
cmp al, 0xd
jne 0x14000203d
lea rsi, [0x1400068ac]
nop dword [rax]
lea rcx, [0x1400043f8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.140001210
mov rdi, rbp
nop word [rax + rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rdi + rbx]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002060
inc rbx
cmp rbx, 0x1e
jl 0x140002000
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002230]
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__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
add rdi, 0x1e
cmp rdi, rsi
jl 0x140001ff0
call fcn.140001990
jmp 0x140001fd0
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret