Function at 0x140029f73
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push r15
mov rax, SafeArrayGetLBound
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x140029f90
sub rsp, 0x28
call fcn.1400bc5a0
mov rcx, qword [rsp + 0xc0]
call fcn.14004b97c
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.1400bc610
add rsp, 0x10
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x30]
sub rsp, 0x10
call fcn.1400bc610
add rsp, 0x10
mov qword [rsp + 0x38], 0x17a
mov qword [rsp + 0x40], 0x64
sub rsp, 8
push 4
movabs rax, 0x140271064
push rax
push qword [rsp + 0x58]
push qword [rsp + 0x58]
push qword [rsp + 0xd0]
push qword [rsp + 0xd0]
push 0x27
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400a6904
add rsp, 0x40
sub rsp, 8
push qword [rsp + 0x48]
push qword [rsp + 0x48]
push 0
push 0
push 0xffffffffffffffff
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.14009c0fc
add rsp, 0x30
mov qword [rsp + 0x48], rax
push qword [rsp + 0x28]
push socket
push 0x140
push 5
push reloc.OLEAUT32.dll_SafeArrayPutElement
push 0xffffffffffffffff
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.14009b12c
add rsp, 0x30
mov qword [rsp + 0x50], rax
push 0x10000000
push 0x1e
push 0x145
push reloc.OLEAUT32.dll_SafeArrayPutElement
push reloc.OLEAUT32.dll_SafeArrayPutElement
push 0xffffffffffffffff
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.14009f818
add rsp, 0x30
mov qword [rsp + 0x58], rax
push qword [0x1404bc2a0]
push reloc.OLEAUT32.dll_SafeArrayPutElement
push 0x3c
mov r15, qword [rsp + 0x58]
add r15, 0xffffffffffffffdd
mov rax, r15
push rax
push 0xd2
push 0xffffffffffffffff
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400a1d5c
add rsp, 0x30
mov qword [rsp + 0x60], rax
push qword [0x1404bbd08]
push reloc.OLEAUT32.dll_SafeArrayPutElement
push 0x3c
mov r15, qword [rsp + 0x58]
add r15, 0xffffffffffffffdd
mov rax, r15
push rax
push 0x122
push 0xffffffffffffffff
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400a1d5c
add rsp, 0x30
mov qword [rsp + 0x68], rax
call fcn.14009c348
push 0x27
pop rcx
call fcn.140033188
push qword [rsp + 0x30]
push qword [rsp + 0x60]
pop rcx
pop rdx
call fcn.14009cc78
push qword [rsp + 0x58]
pop rcx
call fcn.14009ce1c
push 0xffffffffffffffff
push 0
push 0xb1
sub rsp, 8
push qword [rsp + 0x78]
pop rcx
sub rsp, 0x20
call fcn.14009ce68
add rsp, 0x28
mov rax, rax
push rax
pop rcx
pop rdx
pop r8
pop r9
call sub.USER32.dll_SendMessageW
push 0
pop rcx
call fcn.140094a98
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
mov rcx, qword [0x1404bbe00]
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
movabs rcx, str._tCtrlV
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
call fcn.1400bc470
push 1
push rax
call fcn.1400bc440
mov rdx, rax
pop rax
add qword [rsp + 8], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140094b00
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14004b97c
add rsp, 0x28
pop rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
mov rcx, qword [0x1404bbf90]
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
movabs rcx, str._tCtrlC
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
call fcn.1400bc470
push 2
push rax
call fcn.1400bc440
mov rdx, rax
pop rax
add qword [rsp + 8], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140094b00
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14004b97c
add rsp, 0x28
pop rax
push qword [0x1404bc288]
push 3
pop rcx
pop rdx
call fcn.140094b00
movabs rdx, 0x140271064
lea rcx, [rsp + 0x70]
call fcn.1400bc120
call fcn.1400a67b4
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
je 0x14002a987
call fcn.1400a8318
mov rax, rax
push rax
mov r15, MsiGetActiveDatabase
cmp r15, qword [rsp]
jne 0x14002a53e
push qword [rsp + 0x80]
mov r15, 0x332c
cmp r15, qword [rsp]
jne 0x14002a53a
sub rsp, 0x20
call fcn.1400a82fc
add rsp, 0x20
mov rax, rax
push rax
mov r15, qword [rsp + 0x70]
cmp r15, qword [rsp]
jne 0x14002a4a1
sub rsp, 8
sub rsp, 0x20
call fcn.1400a82e0
add rsp, 0x28
mov r15, rax
and r15, r15
jne 0x14002a49c
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
pop rcx
sub rsp, 0x20
call fcn.1400ac6a4
add rsp, 0x20
push rax
call fcn.1400bc440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b9960
add rsp, 0x20
lea rcx, [rsp + 0xa0]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14027dad4
push rax
push qword [rsp + 0xb0]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.1400b9c30
add rsp, 0x20
lea rcx, [rsp + 0xa0]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
sub rsp, 8
movabs rax, 0x140271064
push rax
push qword [rsp + 0x80]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cc78
add rsp, 0x28
sub rsp, 8
push qword [rsp + 0xa0]
push qword [rsp + 0x80]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cc78
add rsp, 0x28
jmp 0x14002a539
mov r15, qword [rsp + 0x78]
cmp r15, qword [rsp]
jne 0x14002a503
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x80]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cd54
add rsp, 0x20
lea rcx, [rsp + 0x90]
pop rdx
sub rsp, 0x28
call fcn.1400bc2d0
add rsp, 0x28
add rsp, 0x18
jmp 0x14002a997
mov r15, qword [rsp + 0x80]
cmp r15, qword [rsp]
jne 0x14002a539
movabs rdx, str.noneresult
lea rcx, [rsp + 0x88]
sub rsp, 0x28
call fcn.1400bc120
add rsp, 0x28
add rsp, 0x18
jmp 0x14002a997
pop rax
add rsp, 8
pop rax
push qword [rsp + 0x78]
mov r15, 0x204
cmp r15, qword [rsp]
jne 0x14002a752
sub rsp, 8
push qword [rsp + 0x68]
pop rcx
sub rsp, 0x20
call fcn.140018085
add rsp, 0x28
and rax, rax
je 0x14002a74d
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
pop rcx
sub rsp, 0x20
call fcn.1400ac6a4
add rsp, 0x20
call fcn.1400bc470
movabs rcx, 0x140271064
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.1400bc4a0
add rsp, 0x20
pop rcx
mov rdx, rax
sub rsp, 0x28
call fcn.1400bc3b0
add rsp, 0x28
or rax, rax
jne 0x14002a5fe
sub rsp, 8
push 0
push 1
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
jmp 0x14002a622
sub rsp, 8
push 1
push 1
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x70]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cd54
add rsp, 0x20
call fcn.1400bc470
movabs rcx, 0x140271064
pop rdx
push rcx
mov rcx, rdx
sub rsp, 0x20
call fcn.1400bc4a0
add rsp, 0x20
pop rcx
mov rdx, rax
sub rsp, 0x28
call fcn.1400bc3b0
add rsp, 0x28
or rax, rax
jne 0x14002a6d6
sub rsp, 8
push 0
push 2
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
sub rsp, 8
push 0
push 3
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
jmp 0x14002a71e
sub rsp, 8
push 1
push 2
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
sub rsp, 8
push 1
push 3
push 0
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140094c98
add rsp, 0x28
sub rsp, 8
push 0x27
pop rcx
sub rsp, 0x20
call fcn.1400a62d8
add rsp, 0x20
mov rax, rax
push rax
push 0
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140094c54
add rsp, 0x28
jmp 0x14002a840
mov r15, 0x332d
cmp r15, qword [rsp]
jne 0x14002a840
sub rsp, 8
sub rsp, 0x20
call fcn.1400a8334
add rsp, 0x28
mov rax, rax
push rax
mov r15, 1
cmp r15, qword [rsp]
jne 0x14002a7c6
push 0
push 0
push 0x302
sub rsp, 8
push qword [rsp + 0x88]
pop rcx
sub rsp, 0x20
call fcn.14009ce68
add rsp, 0x28
mov rax, rax
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.USER32.dll_SendMessageW
add rsp, 0x20
jmp 0x14002a83f
mov r15, 2
cmp r15, qword [rsp]
jne 0x14002a814
push 0
push 0
push 0x301
sub rsp, 8
push qword [rsp + 0x88]
pop rcx
sub rsp, 0x20
call fcn.14009ce68
add rsp, 0x28
mov rax, rax
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.USER32.dll_SendMessageW
add rsp, 0x20
jmp 0x14002a83f
mov r15, 3
cmp r15, qword [rsp]
jne 0x14002a83f
movabs rax, 0x140271064
push rax
push qword [rsp + 0x70]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cc78
add rsp, 0x20
pop rax
add rsp, 8
push 0x1b
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002a884
call fcn.1400a6d8c
mov r15, rax
cmp r15, 0x27
jne 0x14002a884
movabs rdx, str.noneresult
lea rcx, [rsp + 0x70]
call fcn.1400bc120
call fcn.14002bcda
jmp 0x14002a997
push recvfrom
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002a985
call fcn.1400a6d8c
mov r15, rax
cmp r15, 0x27
jne 0x14002a985
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call main
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
movabs rax, 0x14027dad4
push rax
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0xa0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14009cd54
add rsp, 0x28
push rax
call fcn.1400bc440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.1400b9c30
add rsp, 0x20
push rax
call fcn.1400bc440
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b9960
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.1400bc2d0
call fcn.14002bcda
jmp 0x14002a997
jmp 0x14002a992
push 0x27
pop rcx
call fcn.1400a6de0
jmp 0x14002a2f7
push 0x27
pop rcx
call fcn.1400a6144
mov rcx, qword [rsp + 0x70]
push rcx
sub rsp, 0x28
call main
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.1400bc260
add rsp, 0x28
pop rax
push rax
call fcn.1400bc410
pop rdx
add rax, rdx
jmp 0x14002a9db
push rax
mov rcx, qword [rsp + 0x88]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
mov rcx, qword [rsp + 0x38]
sub rsp, 0x28
call fcn.1400bc6b0
add rsp, 0x28
pop rax
add rsp, 0x90
pop r15
ret