Function at 0x14010f770
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1402fa010]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0xc0], 0
mov rbx, r9
mov r15, qword [rsp + 0xb0]
mov rsi, rcx
mov r14, qword [rsp + 0xb8]
jne 0x14010fa4e
cmp r8d, 0x110
jne 0x14010f7ce
call fcn.140110940
mov qword [r14], rax
mov eax, 1
jmp 0x14010fa50
xor edi, edi
lea ebp, [rdi + 1]
cmp r8d, 0x111
jne 0x14010f975
mov rax, rbx
lea r15d, [rdi + 2]
shr rax, 0x10
cmp bp, bx
jne 0x14010f829
cmp di, ax
je 0x14010fc08
movzx eax, bx
shr rbx, 0x10
mov ecx, 0x548
cmp cx, ax
jne 0x14010f8eb
cmp di, bx
jne 0x14010f8eb
mov rcx, rsi
call fcn.140112eb0
mov qword [r14], rax
mov eax, ebp
jmp 0x14010fa50
cmp r15w, bx
je 0x14010f840
mov eax, 0x541
cmp ax, bx
jne 0x14010f880
mov rax, rbx
shr rax, 0x10
cmp di, ax
jne 0x14010f8bb
cmp dword [rcx + 0x2d0], edi
je 0x14010f869
lea rcx, [0x14029f200]
call fcn.140021520
mov dword [rsi + 0x2d4], ebp
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov rcx, qword [rcx + 8]
mov rdx, r15
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov eax, 0x52b
cmp ax, bx
jne 0x14010f8bb
mov rax, rbx
mov ecx, 0x300
shr rax, 0x10
cmp cx, ax
jne 0x14010f8bb
mov rcx, qword [rsi + 8]
xor r9d, r9d
mov r8d, 0x1f4
mov rdx, r15
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov ecx, 0x544
movzx eax, bx
cmp cx, bx
jne 0x14010f7fc
shr rbx, 0x10
cmp di, bx
jne 0x14010f800
mov rcx, rsi
call fcn.140112790
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov ecx, 0x80df
cmp cx, ax
jne 0x14010fa4e
cmp di, bx
jne 0x14010fa4e
mov rcx, qword [rsi + 0x160]
mov r9, r15
mov edx, 0x100c
mov r8, 0xffffffffffffffff
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
mov rbx, rax
lea rcx, [r8 + 1]
test rcx, rcx
je 0x14010fc08
mov rcx, qword [rsi + 0x160]
mov r9, r15
mov edx, 0x100c
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0x160]
mov edx, ebx
call fcn.1400f3a30
mov rcx, qword [rsi + 0x2c8]
mov rbx, rax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov edx, ebx
call qword [case.0x140038716.0]
mov r9d, r15d
jmp 0x14010fbd5
cmp r8d, 5
jne 0x14010fa71
test rbx, rbx
jne 0x14010fa40
mov rcx, qword [rcx + 8]
lea rdx, [rsp + 0x40]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [rsi + 8]
call fcn.1400386f0
mov ecx, dword [rsp + 0x48]
sub ecx, dword [rsp + 0x40]
movsxd rcx, ecx
lea rbx, [rcx + rcx*2]
shl rbx, 5
test eax, eax
jne 0x14010fa02
call fcn.140038150
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
mov rbx, rax
call fcn.140163500
mov dword [rax + 0x10c], ebx
mov eax, dword [rsp + 0x4c]
sub eax, dword [rsp + 0x44]
cdqe
lea rbx, [rax + rax*2]
shl rbx, 5
call fcn.140038150
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
jmp 0x14010fa32
movsxd rdi, eax
mov rax, rbx
cqo
idiv rdi
mov rbx, rax
call fcn.140163500
mov dword [rax + 0x10c], ebx
mov eax, dword [rsp + 0x4c]
sub eax, dword [rsp + 0x44]
cdqe
lea rax, [rax + rax*2]
shl rax, 5
cqo
idiv rdi
mov rbx, rax
call fcn.140163500
mov dword [rax + 0x110], ebx
lea rcx, [rsi + 0x40]
call fcn.14002f4e0
xor edi, edi
mov qword [r14], rdi
xor eax, eax
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401f3bf0
mov rbx, qword [rsp + 0x98]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp r8d, 0x4e
jne 0x14010fc3e
cmp qword [r15 + 8], 0x486
jne 0x14010fa4e
cmp dword [r15 + 0x10], 0xfffffffd
jne 0x14010faa3
cmp dword [rcx + 0x2d0], edi
je 0x14010fb08
lea rcx, [0x14029f2b0]
call fcn.140021520
mov qword [r14], rdi
cmp qword [r15 + 8], 0x486
jne 0x14010fa4e
cmp dword [r15 + 0x10], 0xffffff94
jne 0x14010facf
cmp dword [rsi + 0x2d0], edi
je 0x14010fbf9
lea rcx, [0x14029f2c8]
call fcn.140021520
mov qword [r14], rdi
cmp qword [r15 + 8], 0x486
jne 0x14010fa4e
cmp dword [r15 + 0x10], 0xffffff9b
jne 0x14010fc12
mov rcx, qword [rsi + 8]
xor r9d, r9d
lea edx, [r9 + 3]
lea r8d, [r9 + 0x64]
call qword [sym.imp.USER32.dll_SetTimer]
mov rax, rbp
mov qword [r14], rdi
jmp 0x14010fa50
mov rcx, qword [rcx + 0x160]
mov r15d, 2
mov r9d, r15d
mov edx, 0x100c
lea r8, [r15 - 3]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
mov rbx, rax
lea rcx, [r8 + 1]
test rcx, rcx
je 0x14010fc08
mov rcx, qword [rsi + 0x160]
mov r9d, r15d
mov edx, 0x100c
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0x160]
mov edx, ebx
call fcn.1400f3a30
mov ecx, 0xa4
mov rbx, rax
call qword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
bt ecx, 0x10
jb 0x14010fbbc
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
bt ecx, 0x10
jb 0x14010fbbc
mov rcx, qword [rsi + 0x2c8]
mov edx, ebx
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
call qword [case.0x140038716.0]
mov rcx, qword [rsi + 8]
mov rdx, rbp
mov qword [rsi + 0x158], rax
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov rcx, qword [rsi + 0x2c8]
mov edx, ebx
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
call qword [case.0x140038716.0]
xor r9d, r9d
mov rcx, qword [rsi + 8]
mov r8, rax
mov qword [rsp + 0x20], rcx
mov edx, ebx
mov rcx, qword [rsi + 0x150]
call fcn.1401499f0
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
mov edx, dword [r15 + 0x1c]
mov r8d, ebp
mov rcx, rsi
call fcn.140112040
mov qword [r14], rdi
mov eax, ebp
jmp 0x14010fa50
cmp qword [r15 + 8], 0x486
jne 0x14010fa4e
cmp dword [r15 + 0x10], 0xffffff93
jne 0x14010fa4e
mov rcx, rsi
call fcn.1401130a0
mov qword [r14], rax
mov rax, rbp
jmp 0x14010fa50
cmp r8d, 0x113
jne 0x14010fcc5
mov rcx, qword [rcx + 8]
mov rdx, rbx
call qword [sym.imp.USER32.dll_KillTimer]
cmp rbx, rbp
jne 0x14010fc91
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x14010fc97
lea rcx, str.TIMER_SEARCH_FIRST___retry
call fcn.140021520
mov rcx, qword [rsi + 8]
xor r9d, r9d
mov rdx, rbp
lea r8d, [r9 + 0xa]
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
cmp rbx, 2
jne 0x14010fca9
mov rcx, rsi
call fcn.140112390
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
cmp rbx, 3
jne 0x14010fc08
mov rcx, rsi
call fcn.140112580
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50
cmp r8d, 2
jne 0x14010fd66
mov rcx, qword [rcx + 8]
call fcn.1400386f0
mov rcx, qword [rsi + 0x160]
xor r9d, r9d
xor r8d, r8d
movsxd rdi, eax
mov edx, 0x101d
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0x14
jge 0x14010fcff
mov edx, ILIsEqual
jmp 0x14010fd1a
mov rcx, qword [rsi + 0x160]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x101d
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
movsxd rax, edx
lea rbx, [rax + rax*2]
shl rbx, 5
test edi, edi
jne 0x14010fd3b
call fcn.140038150
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
jmp 0x14010fd43
mov rax, rbx
cqo
idiv rdi
mov rbx, rax
call fcn.140163500
xor edi, edi
mov dword [rax + 0x610], ebx
mov rax, qword [rsi + 0x150]
mov qword [rax + 0x308], rdi
jmp 0x14010fa4b
cmp r8d, 0x2e0
jne 0x14010fa4e
call fcn.140044940
mov rdx, qword [rsi + 8]
mov rcx, rax
call fcn.140047d90
shr rbx, 0x10
lea rcx, [rsi + 0x40]
movzx ebx, bx
mov edx, ebx
call fcn.14002fc20
test r15, r15
je 0x14010fdcc
mov ecx, dword [r15 + 0xc]
xor edx, edx
mov r9d, dword [r15 + 4]
sub ecx, r9d
mov eax, dword [r15 + 8]
mov r8d, dword [r15]
sub eax, r8d
mov dword [rsp + 0x30], ILIsEqual
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsi + 8]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
lea rcx, [rsi + 0x168]
mov r9d, ebx
movzx r8d, byte [rcx + 9]
movzx edx, byte [rcx + 8]
call fcn.140076070
cmp byte [rsi + 0x2a0], dil
je 0x14010fdf6
mov r9, qword [rsi + 0x178]
jmp 0x14010fdfd
mov r9, qword [rsi + 0x188]
mov rcx, qword [rsi + 0x160]
mov r8, rbp
mov edx, 0x1003
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, ebx
mov rcx, rsi
call fcn.140113ac0
mov rcx, rsi
call fcn.140111260
mov eax, ebp
mov qword [r14], rdi
jmp 0x14010fa50