Function at 0x140112190
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 [0x140300040]
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 0x14011246f
cmp r8d, 0x110
jne 0x1401121ee
call fcn.1401132c0
mov qword [r14], rax
mov eax, 1
jmp 0x140112471
xor ebp, ebp
lea edi, [rbp + 1]
cmp r8d, 0x111
jne 0x140112398
lea r15d, [rbp + 2]
cmp di, bx
jne 0x140112249
mov rax, rbx
shr rax, 0x10
cmp bp, ax
je 0x140112628
movzx ecx, bx
mov eax, 0x548
cmp ax, cx
jne 0x14011230a
shr rbx, 0x10
cmp bp, bx
jne 0x14011246f
mov rcx, rsi
call fcn.140115810
mov qword [r14], rax
mov eax, edi
jmp 0x140112471
cmp r15w, bx
je 0x140112259
mov eax, 0x541
cmp ax, bx
jne 0x1401122a0
mov rax, rbx
shr rax, 0x10
cmp bp, ax
jne 0x1401122db
cmp dword [rcx + 0x2d0], ebp
je 0x140112289
lea rcx, [0x1402a4dc0]
call fcn.140021650
mov dword [rsi + 0x2d4], edi
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov rcx, qword [rcx + 8]
mov rdx, r15
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov eax, 0x52b
cmp ax, bx
jne 0x1401122db
mov rax, rbx
mov ecx, 0x300
shr rax, 0x10
cmp cx, ax
jne 0x1401122db
mov rcx, qword [rsi + 8]
xor r9d, r9d
mov r8d, 0x1f4
mov rdx, r15
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov eax, 0x544
movzx ecx, bx
cmp ax, bx
jne 0x14011221c
mov rax, rbx
shr rax, 0x10
cmp bp, ax
jne 0x14011230a
mov rcx, rsi
call fcn.1401150f0
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov eax, 0x80df
cmp ax, cx
jne 0x14011246f
shr rbx, 0x10
cmp bp, bx
jne 0x14011246f
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 0x140112628
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.1400f6140
mov rcx, qword [rsi + 0x2c8]
mov rbx, rax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov edx, ebx
call qword [case.0x140038ca6.0]
mov r9d, r15d
jmp 0x1401125f5
cmp r8d, 5
jne 0x140112492
test rbx, rbx
jne 0x140112463
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.140038c80
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 0x140112425
call fcn.1400386e0
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
mov rbx, rax
call fcn.140166630
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.1400386e0
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
jmp 0x140112455
movsxd rdi, eax
mov rax, rbx
cqo
idiv rdi
mov rbx, rax
call fcn.140166630
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.140166630
mov dword [rax + 0x110], ebx
lea rcx, [rsi + 0x40]
call fcn.14002f510
mov qword [r14], rbp
xor eax, eax
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401f74b0
mov rbx, qword [rsp + 0x98]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp r8d, 0x4e
jne 0x14011265d
cmp qword [r15 + 8], 0x486
jne 0x14011246f
cmp dword [r15 + 0x10], 0xfffffffd
jne 0x1401124c4
cmp dword [rcx + 0x2d0], ebp
je 0x140112528
lea rcx, [0x1402a4e70]
call fcn.140021650
mov qword [r14], rbp
cmp qword [r15 + 8], 0x486
jne 0x14011246f
cmp dword [r15 + 0x10], 0xffffff94
jne 0x1401124f0
cmp dword [rsi + 0x2d0], ebp
je 0x140112619
lea rcx, [0x1402a4e88]
call fcn.140021650
mov qword [r14], rbp
cmp qword [r15 + 8], 0x486
jne 0x14011246f
cmp dword [r15 + 0x10], 0xffffff9b
jne 0x140112632
mov rcx, qword [rsi + 8]
xor r9d, r9d
lea edx, [r9 + 3]
lea r8d, [r9 + 0x64]
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
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 0x140112628
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.1400f6140
mov ecx, 0xa4
mov rbx, rax
call qword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
bt ecx, 0x10
jb 0x1401125dc
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
bt ecx, 0x10
jb 0x1401125dc
mov rcx, qword [rsi + 0x2c8]
mov edx, ebx
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
call qword [case.0x140038ca6.0]
mov rcx, qword [rsi + 8]
mov rdx, rdi
mov qword [rsi + 0x158], rax
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov rcx, qword [rsi + 0x2c8]
mov edx, ebx
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
call qword [case.0x140038ca6.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.14014c4d0
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
mov edx, dword [r15 + 0x1c]
mov r8d, edi
mov rcx, rsi
call fcn.1401149c0
mov qword [r14], rbp
mov eax, edi
jmp 0x140112471
cmp qword [r15 + 8], 0x486
jne 0x14011246f
cmp dword [r15 + 0x10], 0xffffff93
jne 0x14011246f
mov rcx, rsi
call fcn.140115a00
mov qword [r14], rax
mov eax, edi
jmp 0x140112471
cmp r8d, 0x113
jne 0x1401126e4
mov rcx, qword [rcx + 8]
mov rdx, rbx
call qword [sym.imp.USER32.dll_KillTimer]
cmp rbx, rdi
jne 0x1401126b0
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1401126b6
lea rcx, str.TIMER_SEARCH_FIRST___retry
call fcn.140021650
mov rcx, qword [rsi + 8]
xor r9d, r9d
mov rdx, rdi
lea r8d, [r9 + 0xa]
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
cmp rbx, 2
jne 0x1401126c8
mov rcx, rsi
call fcn.140114d00
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
cmp rbx, 3
jne 0x140112628
mov rcx, rsi
call fcn.140114ef0
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471
cmp r8d, 2
jne 0x140112783
mov rcx, qword [rcx + 8]
call fcn.140038c80
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 0x14011271e
mov edx, ILIsEqual
jmp 0x140112739
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 0x14011275a
call fcn.1400386e0
movsxd rcx, dword [rax]
mov rax, rbx
cqo
idiv rcx
jmp 0x140112762
mov rax, rbx
cqo
idiv rdi
mov rbx, rax
call fcn.140166630
mov dword [rax + 0x610], ebx
mov rax, qword [rsi + 0x150]
mov qword [rax + 0x308], rbp
jmp 0x14011246c
cmp r8d, 0x2e0
jne 0x14011246f
call fcn.140044d30
mov rdx, qword [rsi + 8]
mov rcx, rax
call fcn.140048190
shr rbx, 0x10
lea rcx, [rsi + 0x40]
movzx ebx, bx
mov edx, ebx
call fcn.14002fc50
test r15, r15
je 0x1401127e9
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.1400782d0
cmp byte [rsi + 0x2a0], bpl
je 0x140112813
mov r9, qword [rsi + 0x178]
jmp 0x14011281a
mov r9, qword [rsi + 0x188]
mov rcx, qword [rsi + 0x160]
mov r8, rdi
mov edx, 0x1003
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, ebx
mov rcx, rsi
call fcn.140116430
mov rcx, rsi
call fcn.140113be0
mov eax, edi
mov qword [r14], rbp
jmp 0x140112471