Function at 0x1400413c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x4c0
mov rax, qword [0x140072010]
xor rax, rsp
mov qword [rsp + 0x4b0], rax
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x3a0]
mov rdi, rax
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov r8d, 0x104
lea rdx, [rsp + 0x3a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rax, [rsp + 0x380]
movzx edx, byte [rsp + 0x99]
mov rcx, rax
call fcn.140059fc0
nop
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xb8], 0xffffffffffffffff
inc qword [rsp + 0xb8]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xb8]
cmp byte [rax + rcx], 0
jne 0x140041446
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x120], rax
mov r8, qword [rsp + 0x120]
lea rdx, [rsp + 0x3a0]
lea rcx, [rsp + 0x380]
call fcn.14005a2d0
nop
mov r8, 0xffffffffffffffff
lea rdx, [0x14006d650]
lea rcx, [rsp + 0x380]
call fcn.140057000
inc rax
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9, 0xffffffffffffffff
mov r8, qword [rsp + 0x128]
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x280]
call fcn.140058480
mov eax, dword [rsp + 0x30]
or eax, 4
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x380]
call fcn.140057620
lea rcx, [rsp + 0x280]
call fcn.140057fd0
lea rax, [rsp + 0x88]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x2e0]
mov qword [rsp + 0x138], rax
lea rdx, [rsp + 0x380]
mov rcx, qword [rsp + 0x138]
call fcn.140057900
mov qword [rsp + 0x140], rax
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x2c0]
call fcn.140001690
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x150], rax
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x88]
call fcn.140042440
mov rcx, rax
call fcn.14004b790
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x150]
call fcn.140057240
cmp rax, 0xffffffffffffffff
jne 0x14004168f
lea rax, [rsp + 0x34]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x300]
mov qword [rsp + 0x158], rax
lea rdx, [rsp + 0x380]
mov rcx, qword [rsp + 0x158]
call fcn.140057900
mov qword [rsp + 0x160], rax
mov rdx, qword [rsp + 0x160]
lea rcx, [rsp + 0x2a0]
call fcn.140001690
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x170], rax
mov eax, dword [rsp + 0x30]
or eax, 2
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x34]
call fcn.140042550
mov rcx, rax
call fcn.14004b700
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x170]
call fcn.140057240
cmp rax, 0xffffffffffffffff
jne 0x14004168f
mov dword [rsp + 0x9c], 0
jmp 0x14004169a
mov dword [rsp + 0x9c], 1
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
and eax, 2
test eax, eax
je 0x1400416c4
and dword [rsp + 0x30], 0xfffffffd
lea rcx, [rsp + 0x2a0]
call fcn.140057fd0
nop
mov eax, dword [rsp + 0x30]
and eax, 1
test eax, eax
je 0x1400416e1
and dword [rsp + 0x30], 0xfffffffe
lea rcx, [rsp + 0x2c0]
call fcn.140057fd0
movzx eax, byte [rsp + 0x35]
test eax, eax
je 0x14004181a
lea rax, [rsp + 0x36]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x36]
call fcn.140042660
mov rcx, rax
call fcn.14004b670
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x37]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x37]
call fcn.140042820
mov rcx, rax
call fcn.14004b5e0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x38]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x38]
call fcn.1400429e0
mov rcx, rax
call fcn.14004b550
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x39]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x39]
call fcn.140042ba0
mov rcx, rax
call fcn.14004b4c0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x3a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x3a]
call fcn.140042d60
mov rcx, rax
call fcn.14004b430
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x3b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x3b]
call fcn.140042f20
mov rcx, rax
call fcn.14004b3a0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x48]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x320]
mov qword [rsp + 0x178], rax
lea rdx, [rsp + 0x380]
mov rcx, qword [rsp + 0x178]
call fcn.140057900
mov qword [rsp + 0xc8], rax
lea rdx, [0x14006d601]
lea rcx, [rsp + 0x220]
call fcn.1400577c0
mov qword [rsp + 0x208], rax
mov eax, dword [rsp + 0x30]
or eax, 0x20
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x8c], 0
jmp 0x14004189c
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x180], rax
movsxd rax, dword [rsp + 0x8c]
cmp rax, qword [rsp + 0x180]
jae 0x1400419a1
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xc0]
cmp qword [rax + 0x18], 0x10
jb 0x140041902
mov dword [rsp + 0xa0], 1
jmp 0x14004190d
mov dword [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x3c], al
movzx eax, byte [rsp + 0x3c]
test eax, eax
je 0x140041945
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x190], rax
movsxd rax, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x190]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
movsx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rsp + 0x40], al
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x220]
call fcn.1400580f0
jmp 0x14004188c
mov rcx, qword [rsp + 0xc8]
call fcn.140057fd0
lea rax, [rsp + 0x220]
mov qword [rsp + 0x1a0], rax
lea rcx, [rsp + 0x48]
call fcn.1400430e0
mov rcx, rax
call fcn.14004b310
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.140057240
cmp rax, 0xffffffffffffffff
je 0x1400419f6
mov dword [rsp + 0xa4], 1
jmp 0x140041a01
mov dword [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0x49], al
and dword [rsp + 0x30], 0xffffffdf
lea rcx, [rsp + 0x220]
call fcn.140057fd0
movzx eax, byte [rsp + 0x49]
test eax, eax
je 0x140041bbc
lea rax, [rsp + 0x4a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4a]
call fcn.1400431f0
mov rcx, rax
call fcn.14004b280
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x4b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4b]
call fcn.140043400
mov rcx, rax
call fcn.14004b1f0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x4c]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4c]
call fcn.140043610
mov rcx, rax
call fcn.14004b160
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x4d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4d]
call fcn.140043820
mov rcx, rax
call fcn.14004b0d0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x4e]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4e]
call fcn.140043a30
mov rcx, rax
call fcn.14004b040
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x4f]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x4f]
call fcn.140043c40
mov rcx, rax
call fcn.14004afb0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x50]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x50]
call fcn.140043e50
mov rcx, rax
call fcn.14004af20
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x51]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x51]
call fcn.140044060
mov rcx, rax
call fcn.14004ae90
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x340]
mov qword [rsp + 0x1a8], rax
lea rdx, [rsp + 0x380]
mov rcx, qword [rsp + 0x1a8]
call fcn.140057900
mov qword [rsp + 0xd8], rax
lea rdx, [0x14006d601]
lea rcx, [rsp + 0x240]
call fcn.1400577c0
mov qword [rsp + 0x210], rax
mov eax, dword [rsp + 0x30]
or eax, 0x40
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x90], 0
jmp 0x140041c3e
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1b0], rax
movsxd rax, dword [rsp + 0x90]
cmp rax, qword [rsp + 0x1b0]
jae 0x140041d43
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xd0]
cmp qword [rax + 0x18], 0x10
jb 0x140041ca4
mov dword [rsp + 0xa8], 1
jmp 0x140041caf
mov dword [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x52], al
movzx eax, byte [rsp + 0x52]
test eax, eax
je 0x140041ce7
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x1c0], rax
movsxd rax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x1c8]
movsx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rsp + 0x58], al
movzx edx, byte [rsp + 0x58]
lea rcx, [rsp + 0x240]
call fcn.1400580f0
jmp 0x140041c2e
mov rcx, qword [rsp + 0xd8]
call fcn.140057fd0
lea rax, [rsp + 0x240]
mov qword [rsp + 0x1d0], rax
lea rcx, [rsp + 0x60]
call fcn.140044280
mov rcx, rax
call fcn.14004ae00
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x1d0]
call fcn.140057240
cmp rax, 0xffffffffffffffff
je 0x140041d98
mov dword [rsp + 0xac], 1
jmp 0x140041da3
mov dword [rsp + 0xac], 0
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0x61], al
and dword [rsp + 0x30], 0xffffffbf
lea rcx, [rsp + 0x240]
call fcn.140057fd0
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140041f36
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x100], rax
mov dx, 1
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rax, [rsp + 0x62]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x62]
call fcn.140044380
mov rcx, rax
call fcn.14004ad70
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x63]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x63]
call fcn.1400445e0
mov rcx, rax
call fcn.14004ace0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x64]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x64]
call fcn.140044840
mov rcx, rax
call fcn.14004ac50
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x65]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x65]
call fcn.140044aa0
mov rcx, rax
call fcn.14004abc0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x66]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x66]
call fcn.140044d00
mov rcx, rax
call fcn.14004ab30
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x67]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x67]
call fcn.140044f60
mov rcx, rax
call fcn.14004aaa0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
mov dx, 7
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x1400422e8
lea rax, [rsp + 0x78]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x360]
mov qword [rsp + 0x1d8], rax
lea rdx, [rsp + 0x380]
mov rcx, qword [rsp + 0x1d8]
call fcn.140057900
mov qword [rsp + 0xe8], rax
lea rdx, [0x14006d601]
lea rcx, [rsp + 0x260]
call fcn.1400577c0
mov qword [rsp + 0x218], rax
mov eax, dword [rsp + 0x30]
bts eax, 7
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x94], 0
jmp 0x140041fb9
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1e0], rax
movsxd rax, dword [rsp + 0x94]
cmp rax, qword [rsp + 0x1e0]
jae 0x1400420be
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0xe0]
cmp qword [rax + 0x18], 0x10
jb 0x14004201f
mov dword [rsp + 0xb0], 1
jmp 0x14004202a
mov dword [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x68], al
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140042062
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x1f0], rax
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x1f0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
movsx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rsp + 0x70], al
movzx edx, byte [rsp + 0x70]
lea rcx, [rsp + 0x260]
call fcn.1400580f0
jmp 0x140041fa9
mov rcx, qword [rsp + 0xe8]
call fcn.140057fd0
lea rax, [rsp + 0x260]
mov qword [rsp + 0x200], rax
lea rcx, [rsp + 0x78]
call fcn.1400451d0
mov rcx, rax
call fcn.14004aa10
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x200]
call fcn.140057240
cmp rax, 0xffffffffffffffff
je 0x140042113
mov dword [rsp + 0xb4], 1
jmp 0x14004211e
mov dword [rsp + 0xb4], 0
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0x79], al
and dword [rsp + 0x30], 0xffffff7f
lea rcx, [rsp + 0x260]
call fcn.140057fd0
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x1400422e8
lea rax, [rsp + 0x7a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7a]
call fcn.1400452e0
mov rcx, rax
call fcn.14004a980
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x7b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7b]
call fcn.140045540
mov rcx, rax
call fcn.14004a8f0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x7c]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7c]
call fcn.1400457a0
mov rcx, rax
call fcn.14004a860
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x7d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7d]
call fcn.140045a00
mov rcx, rax
call fcn.14004a7d0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x7e]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7e]
call fcn.140045c60
mov rcx, rax
call fcn.14004a740
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x7f]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x7f]
call fcn.140045ec0
mov rcx, rax
call fcn.14004a6b0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x80]
call fcn.140046120
mov rcx, rax
call fcn.14004a620
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x81]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x81]
call fcn.140046380
mov rcx, rax
call fcn.14004a590
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x82]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x82]
call fcn.1400465f0
mov rcx, rax
call fcn.14004a500
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
lea rax, [rsp + 0x83]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x83]
call fcn.140046850
mov rcx, rax
call fcn.14004a470
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
xor eax, eax
cmp eax, 1
je 0x140042407
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x140042398
mov byte [rsp + 0x84], 1
lea rcx, [rsp + 0x380]
call fcn.140057fd0
movzx eax, byte [rsp + 0x84]
jmp 0x140042424
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x140042402
lea rax, [rsp + 0x85]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x85]
call fcn.1400469c0
mov rcx, rax
call fcn.14004a3e0
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400594f0
mov byte [rsp + 0x86], 0
lea rcx, [rsp + 0x380]
call fcn.140057fd0
movzx eax, byte [rsp + 0x86]
jmp 0x140042424
jmp 0x140042358
mov byte [rsp + 0x87], 0
lea rcx, [rsp + 0x380]
call fcn.140057fd0
movzx eax, byte [rsp + 0x87]
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.14005f1e0
add rsp, 0x4c0
pop rdi
ret