Function at 0x140012c90
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rbp + 7], rax
mov rdi, r9
movsx esi, r8w
mov rbx, rdx
test edx, edx
jne 0x140012ce0
mov rax, rdx
shr rax, 0x20
test eax, eax
je 0x1400130f0
cmp dword [r9], 0
je 0x140012cf1
mov ecx, reloc.WLDAP32.dll_Ordinal_30
call qword [sym.imp.KERNEL32.dll_Sleep]
imul r15d, esi, 0x1e
add r15d, dword [rbp + 0x73]
lea r14d, [r15 - 5]
lea r13d, [rbx + 0xa]
mov edx, dword [0x140163d08]
mov eax, dword [0x140163d10]
xor r12d, r12d
cmp edx, eax
jl 0x140012d5a
cmp edx, dword [0x140163d18]
jg 0x140012d5a
mov ecx, dword [0x140163d0c]
mov r8d, dword [0x140163d14]
cmp ecx, r8d
jl 0x140012d5a
cmp ecx, dword [0x140163d1c]
jg 0x140012d5a
sub edx, eax
cmp edx, r13d
jl 0x140012d5a
lea eax, [r13 + 0xd]
cmp edx, eax
jg 0x140012d5a
sub ecx, r8d
cmp ecx, r14d
jl 0x140012d5a
lea eax, [r14 + 0x12]
cmp ecx, eax
mov esi, 1
jle 0x140012d5d
mov esi, r12d
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140163ce8]
jne 0x140012db4
cmp dword [0x140163d28], r12d
jne 0x140012db4
cmp dword [rdi], r12d
jne 0x140012daf
test esi, esi
je 0x140012daf
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140012daf
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov eax, 1
jmp 0x140012db2
mov eax, r12d
mov dword [rdi], eax
mov qword [rbp - 0x59], r12
lea edx, [r15 - 7]
lea ecx, [rbx + 8]
mov dword [rbp - 0x2d], r12d
mov dword [rbp - 0x1d], r12d
mov dword [rbp - 0x49], r12d
mov dword [rbp - 0x45], 1
mov rax, r12
shr rax, 0x20
movzx r8d, al
shl r8d, 8
mov dword [rbp - 0x39], ecx
mov dword [rbp - 0x35], edx
lea eax, [rcx + 0x11]
mov dword [rbp - 0x29], eax
lea eax, [rdx + 0x16]
mov dword [rbp - 0x25], eax
movzx eax, r8b
shl ax, 8
mov word [rbp - 0x31], ax
mov word [rbp - 0x2f], r8w
mov word [rbp - 0x21], ax
mov word [rbp - 0x1f], r8w
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x49]
mov r8d, 2
lea rdx, [rbp - 0x39]
mov rcx, qword [0x140163d00]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov dword [rbp - 0x59], reloc.WLDAP32.dll_Ordinal_60
mov dword [rbp - 0x55], reloc.WLDAP32.dll_Ordinal_60
lea edx, [r15 - 6]
lea ecx, [rbx + 9]
mov dword [rbp - 0x2d], 0x3c00
mov dword [rbp - 0x1d], 0x3c00
mov dword [rbp - 0x49], r12d
mov dword [rbp - 0x45], 1
mov rax, qword [rbp - 0x59]
shr rax, 0x20
movzx r8d, al
shl r8d, 8
or r8d, 0x3c003c
mov dword [rbp - 0x39], ecx
mov dword [rbp - 0x35], edx
lea eax, [rcx + 0xf]
mov dword [rbp - 0x29], eax
lea eax, [rdx + 0x14]
mov dword [rbp - 0x25], eax
movzx eax, r8b
shl ax, 8
mov word [rbp - 0x31], ax
mov ecx, 0xff00
and r8w, cx
mov word [rbp - 0x2f], r8w
mov word [rbp - 0x21], ax
mov word [rbp - 0x1f], r8w
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x49]
mov r8d, 2
lea rdx, [rbp - 0x39]
mov rcx, qword [0x140163d00]
call qword [sym.imp.MSIMG32.dll_GradientFill]
test esi, esi
je 0x140012f78
cmp dword [rdi], r12d
jne 0x140012f78
mov dword [rbp - 0x39], reloc.WS2_32.dll_sendto
mov dword [rbp - 0x35], reloc.WS2_32.dll_sendto
mov eax, 0x66666667
imul dword [0x140163cd4]
mov r8d, edx
sar r8d, 1
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov dword [rbp - 0x59], r8d
mov eax, 0x66666667
imul dword [0x140163cd8]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [rbp - 0x55], edx
mov eax, 0x66666667
imul dword [0x140163cdc]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r9d, dl
mov rax, qword [rbp - 0x59]
shr rax, 0x20
movzx edx, al
shl edx, 8
mov eax, r9d
shl eax, 0x10
or edx, eax
movzx eax, r8b
or edx, eax
mov rax, qword [rbp - 0x39]
shl r9w, 8
mov word [rbp - 0xd], r9w
jmp 0x14001300f
mov dword [rbp - 0x59], reloc.WS2_32.dll_sendto
mov dword [rbp - 0x55], reloc.WS2_32.dll_sendto
mov ecx, dword [0x140163cd4]
mov eax, 0x92492493
imul ecx
lea r9d, [rcx + rdx]
sar r9d, 2
mov eax, r9d
shr eax, 0x1f
add r9d, eax
mov dword [rbp - 0x39], r9d
mov eax, 0x92492493
imul dword [0x140163cd8]
add edx, dword [0x140163cd8]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [rbp - 0x35], edx
mov eax, 0x92492493
imul dword [0x140163cdc]
add edx, dword [0x140163cdc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rbp - 0x39]
shr rax, 0x20
movzx edx, al
shl edx, 8
mov eax, r8d
shl eax, 0x10
or edx, eax
movzx eax, r9b
or edx, eax
mov rax, qword [rbp - 0x59]
shl r8w, 8
mov word [rbp - 0xd], r8w
mov dword [rbp - 0x45], 1
mov dword [rbp - 0x49], r12d
mov dword [rbp + 3], 0x1400
mov word [rbp - 0xb], r12w
shr rax, 0x20
movzx ecx, al
lea eax, [r13 + 0xd]
mov dword [rbp - 9], eax
lea eax, [r14 + 0x12]
mov dword [rbp - 5], eax
movzx eax, dl
shl ax, 8
shl ecx, 8
mov word [rbp - 0x11], ax
or ecx, 0x140014
mov r10d, 0xff00
movzx eax, cl
and dx, r10w
and cx, r10w
mov dword [rsp + 0x28], 1
shl ax, 8
mov word [rbp - 0xf], dx
mov word [rbp + 1], cx
mov dword [rsp + 0x20], 1
mov dword [rbp - 0x19], r13d
mov dword [rbp - 0x15], r14d
mov word [rbp - 1], ax
lea r9, [rbp - 0x49]
mov r8d, 2
lea rdx, [rbp - 0x19]
mov rcx, qword [0x140163d00]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmm6, xmmword [0x14014fee0]
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 3
lea rdx, [0x140148c30]
lea rcx, [rbp - 0x19]
call fcn.1400179f0
movdqa xmmword [rbp - 0x39], xmm6
lea r8d, [r15 - 1]
lea edx, [rbx + 0xc]
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x19]
call fcn.14000f330
mov eax, dword [rdi]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140134750
mov rbx, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret