Function at 0x140001690
Capabilities:
Log keystrokes via polling

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 - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x140007008]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
xor r14d, r14d
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x78], xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x78]
call fcn.140001320
nop
lea rcx, [rbp + 0x120]
call fcn.140002080
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x40], r14
lea r8d, [r14 + 0x1f]
lea rdx, str.Loading._it_may_take_some_time.
lea rcx, [rbp + 0x28]
call fcn.140001220
nop
movsxd rcx, dword [rbp + 0x78]
test ecx, ecx
jle 0x140001740
cmp dword [rbp + 0x7c], r14d
jle 0x140001740
mov al, 1
jmp 0x140001742
xor al, al
test al, al
je 0x1400017fe
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], r14
mov r8, rcx
cmp qword [rbp + 0x38], rcx
cmovb r8, qword [rbp + 0x38]
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rdx, qword [rbp + 0x28]
lea rcx, [rbp + 8]
call fcn.140001220
mov edx, r14d
mov r8, qword [rbp + 0x20]
mov rdi, qword [rbp + 8]
mov r9, qword [rbp + 0x38]
test r9, r9
je 0x1400017c3
mov rcx, r14
mov r10, qword [rbp + 0x80]
nop word [rax + rax]
lea rax, [rbp + 8]
cmp r8, 0x10
cmovae rax, rdi
movsx eax, byte [rcx + rax]
mov word [r10 + rcx*2], ax
inc edx
lea rcx, [rcx + 1]
movsxd rax, edx
cmp rax, r9
jb 0x1400017a0
cmp r8, 0x10
jb 0x1400017fe
lea rdx, [r8 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400017f5
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400017f5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140003c6c
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x14000183c
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001837
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001837
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003c6c
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.140001570
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov edi, eax
mov eax, 0x80010003
imul edi
add edx, edi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x7fff
sub edi, ecx
mov eax, 0x801
mov r15d, dword [rbp + 0x78]
sub eax, r15d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x40], eax
mov eax, 0x801
mov r13d, dword [rbp + 0x7c]
sub eax, r13d
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rax
movsx edi, di
mov dword [rsp + 0x58], edi
mov r9d, edi
mov r8d, 0x1388
lea rcx, [rbp + 0x108]
call fcn.1400025b0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rax
lea r9d, [rdi + 3]
mov r8d, 0x5dd
lea rcx, [rbp + 0xf0]
call fcn.1400025b0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rax
lea r9d, [rdi + 1]
mov r8d, 0x341
lea rcx, [rbp + 0xd8]
call fcn.1400025b0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
lea r9d, [rdi + 2]
mov r8d, 0x1b58
lea rcx, [rbp + 0xc0]
call fcn.1400025b0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
lea esi, [rax + 0xf]
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r14
mov ecx, 0x1029
call fcn.140003c30
test rax, rax
je 0x140002072
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rbp + 8], rdi
lea rbx, [rdi + 0x1002]
mov qword [rbp + 0x18], rbx
movzx eax, si
mov ecx, 0x801
rep stosw word [rdi], ax
mov qword [rbp + 0x10], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
xor edi, edi
mov qword [rbp + 0x70], rdi
mov ecx, 0xc03f
call fcn.140003c30
test rax, rax
je 0x14000206b
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rsi
lea rax, [rsi + 0xc018]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x50], rax
mov r14d, 0x801
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rsi
lea rax, [rbp + 0x60]
mov qword [rbp + 0x38], rax
nop dword [rax]
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov rdx, qword [rbp + 0x10]
sub rdx, qword [rbp + 8]
sar rdx, 1
je 0x140001a46
mov rcx, rsi
call fcn.140003b40
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
sub rdi, rdx
mov r8, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
sar rdi, 1
lea rax, [rbx + rdi*2]
mov qword [rsi + 8], rax
xor edi, edi
add rsi, 0x18
mov qword [rbp + 0x30], rsi
sub r14, 1
jne 0x140001a00
mov rdx, rsi
mov rcx, rsi
call fcn.140003aa0
mov qword [rbp + 0x68], rsi
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140001ab3
mov rax, qword [rbp + 0x18]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001aa2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001aa2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003c6c
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rdi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rax
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rdi
mov ecx, 0x1029
call fcn.140003c30
test rax, rax
je 0x140002064
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rbp + 0x28], rdi
lea rbx, [rdi + 0x1002]
mov qword [rbp + 0x38], rbx
xor edx, edx
mov r8d, 0x1002
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x30], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
xor edi, edi
mov qword [rbp + 0x58], rdi
mov ecx, 0xc03f
call fcn.140003c30
test rax, rax
je 0x14000205d
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x50], rsi
lea rax, [rsi + 0xc018]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x50], rax
mov r14d, 0x801
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rsi
lea rax, [rbp + 0x48]
mov qword [rbp + 0x18], rax
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov rdx, qword [rbp + 0x30]
sub rdx, qword [rbp + 0x28]
sar rdx, 1
je 0x140001bb7
mov rcx, rsi
call fcn.140003b40
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
sub rdi, rdx
mov r8, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
sar rdi, 1
lea rax, [rbx + rdi*2]
mov qword [rsi + 8], rax
xor edi, edi
add rsi, 0x18
mov qword [rbp + 0x10], rsi
sub r14, 1
jne 0x140001b71
mov rdx, rsi
mov rcx, rsi
call fcn.140003aa0
mov qword [rbp + 0x50], rsi
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140001c29
mov rax, qword [rbp + 0x38]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001c13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003c6c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
xor r14d, r14d
mov qword [rbp + 0x38], r14
jmp 0x140001c2c
xor r14d, r14d
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x70]
call fcn.140002410
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd8]
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0xf0]
call fcn.140002b20
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140001fca
mov ebx, 0x20
lea ecx, [rbx + 5]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edi, dword [rsp + 0x40]
test ax, ax
je 0x140001ca8
sub edi, 6
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001cbc
sub r12d, 3
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001ccf
add edi, 6
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001ce3
add r12d, 3
mov eax, 0x801
sub eax, r15d
movd xmm1, edi
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmin]
movaps xmm1, xmm0
xorps xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmax]
cvttsd2si esi, xmm0
mov dword [rsp + 0x40], esi
mov eax, 0x801
sub eax, r13d
movd xmm1, r12d
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmin]
movaps xmm1, xmm0
xorps xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmax]
cvttsd2si r11d, xmm0
mov dword [rsp + 0x48], r11d
mov r8d, 0x801
sub r8d, r11d
cmp r13d, r8d
cmovl r8d, r13d
mov r10d, 0x801
cmp r15d, r10d
cmovl r10d, r15d
mov eax, r15d
sub eax, r10d
cdq
sub eax, edx
sar eax, 1
mov edi, eax
mov dword [rsp + 0x44], eax
mov ecx, r13d
imul ecx, r15d
mov r12, qword [rbp + 0x80]
test ecx, ecx
jle 0x140001d9a
movsxd rcx, ecx
movzx eax, bx
mov rdi, r12
rep stosw word [rdi], ax
mov edi, dword [rsp + 0x44]
mov r9d, r14d
movsxd rdx, r10d
mov qword [rsp + 0x68], rdx
movsxd rcx, r8d
mov qword [rsp + 0x60], rcx
mov rbx, qword [rbp + 0x88]
test r8d, r8d
jle 0x140001e58
movsxd r8, esi
mov qword [rsp + 0x50], r8
movsxd rax, r11d
lea r11, [rax + rax*2]
shl r11, 3
test rdx, rdx
jle 0x140001e38
add r8, r8
mov r10, rdx
nop dword [rax + rax]
mov rax, qword [rbp + 0x60]
mov rdx, qword [r11 + rax]
mov rax, qword [rbp + 0x48]
mov rcx, qword [r11 + rax]
movzx edx, word [r8 + rdx]
movzx esi, word [r8 + rcx]
test edi, edi
js 0x140001e1d
cmp edi, r15d
jge 0x140001e1d
test r9d, r9d
js 0x140001e1d
cmp r9d, r13d
jge 0x140001e1d
lea eax, [rdi + r14]
movsxd rcx, eax
mov word [r12 + rcx*2], si
mov word [rbx + rcx*2], dx
inc edi
add r8, 2
sub r10, 1
jne 0x140001de0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
inc r9d
add r14d, r15d
add r11, 0x18
sub rcx, 1
mov qword [rsp + 0x60], rcx
mov edi, dword [rsp + 0x44]
jne 0x140001dd0
xor r14d, r14d
mov edx, dword [rsp + 0x58]
lea rcx, [rbp + 8]
call fcn.1400038c0
nop
test r15d, r15d
jle 0x140001e74
test r13d, r13d
jle 0x140001e74
mov al, 1
jmp 0x140001e76
xor al, al
test al, al
je 0x140001f55
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xb8], r14
movsxd r8, r15d
cmp qword [rbp + 0x18], r8
cmovb r8, qword [rbp + 0x18]
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
lea rcx, [rbp + 0xa0]
call fcn.140001220
mov ecx, r14d
mov rdx, r14
mov r8, qword [rbp + 0xb8]
mov rdi, qword [rbp + 0xa0]
mov r9, qword [rbp + 0x18]
test r9, r9
je 0x140001f21
sub r12, rbx
mov r14d, 0xf
nop dword [rax]
nop word [rax + rax]
lea rax, [rbp + 0xa0]
cmp r8, 0x10
cmovae rax, rdi
movsx eax, byte [rdx + rax]
mov word [r12 + rbx], ax
mov word [rbx], r14w
inc ecx
lea rdx, [rdx + 1]
lea rbx, [rbx + 2]
movsxd rax, ecx
cmp rax, r9
jb 0x140001ef0
xor r14d, r14d
cmp r8, 0x10
jb 0x140001f55
lea rdx, [r8 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140001f4c
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001fbc
mov rcx, rdi
call fcn.140003c6c
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140001f8c
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001f87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001fc3
call fcn.140003c6c
mov edx, 0xa
lea rcx, [rbp + 0x78]
call fcn.140001570
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140001fca
mov r13d, dword [rbp + 0x7c]
mov r15d, dword [rbp + 0x78]
mov r12d, dword [rsp + 0x48]
jmp 0x140001c8e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp + 0x48]
call fcn.140003830
nop
lea rcx, [rbp + 0x60]
call fcn.140003830
nop
lea rcx, [rbp + 0xc0]
call fcn.140003830
nop
lea rcx, [rbp + 0xd8]
call fcn.140003830
nop
lea rcx, [rbp + 0xf0]
call fcn.140003830
nop
lea rcx, [rbp + 0x108]
call fcn.140003830
nop
lea rcx, [rbp + 0x120]
call fcn.1400022c0
nop
mov rcx, qword [rbp + 0x80]
call fcn.140003c6c
xor eax, eax
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140003c10
lea r11, [rsp + 0x2d0]
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 qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3