Function at 0x140112030
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x80
cmp byte [0x14044e43d], 0
je 0x14011231c
mov rax, qword [0x14044e2a0]
cmp dword [rax + 0x2c8], 0
je 0x1401122dc
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x1401122dc
mov ecx, 0x52
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140112097
xor ecx, ecx
call fcn.140111f50
mov rcx, qword [0x14044e300]
mov dl, 1
add rsp, 0x80
pop rbp
jmp fcn.140125820
mov qword [rsp + 0x90], rbx
mov rbx, qword [0x14044e2a0]
lea rcx, [rbx + 0x10]
call fcn.140110380
test rax, rax
je 0x140112294
mov qword [rsp + 0x78], rsi
mov esi, dword [rbx + 0x2b8]
mov qword [rsp + 0x70], rdi
mov edi, dword [rbx + 0x2bc]
test esi, esi
je 0x140112287
test edi, edi
je 0x140112287
mov edx, dword [rbx + 0x2d4]
mov rcx, qword [0x14044e300]
add edx, 0x275c
call fcn.1400fb380
test eax, eax
je 0x14011226f
mov rcx, qword [0x14044e300]
lea edx, [rax + 0x340]
call fcn.1400fb380
test eax, eax
je 0x14011226f
lea rcx, [rbp - 0x60]
call fcn.1400fcf20
mov rcx, qword [0x14044e300]
lea edx, [rsi + 0x16c]
call fcn.1400fb380
mov rcx, qword [0x14044e300]
lea rdx, [rbp - 0x20]
lea r8d, [rax + 0x150]
call fcn.140110720
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140110e20
lea rcx, [rbp - 0x50]
call fcn.1401113c0
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x50]
call fcn.140110f90
mov rcx, rax
call fcn.140111ce0
movss xmm0, dword [rbp - 0x50]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x14011218b
je 0x14011224b
movss xmm0, dword [rbp - 0x4c]
ucomiss xmm0, xmm1
jp 0x14011219b
je 0x14011224b
movsd xmm0, qword [rbp - 0x50]
lea r8, [rbp - 0x40]
mov eax, dword [rbp - 0x48]
lea rdx, [rbp - 0x30]
movsd qword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x20]
movsd xmm0, qword [rbp - 0x60]
mov r9d, edi
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x58]
movsd qword [rbp - 0x30], xmm0
mov dword [rbp - 0x28], eax
call fcn.140111d40
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140112266
movsd xmm0, qword [rbp - 0x20]
lea r8, [rbp - 0x30]
mov eax, dword [rbp - 0x18]
lea rdx, [rbp - 0x20]
movsd qword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x40]
movsd xmm0, qword [rbp - 0x60]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x58]
movsd qword [rbp - 0x20], xmm0
mov dword [rbp - 0x18], eax
call fcn.140111170
movss xmm1, dword [rbp - 0x3c]
movss xmm0, dword [rbp - 0x40]
call fcn.1401118f0
test al, al
jne 0x14011222d
mov al, 1
xor cl, cl
jmp 0x14011223f
mov byte [0x14044e440], 0
xor al, al
mov byte [0x14044e443], 1
mov cl, 1
mov byte [0x14044e43e], cl
mov byte [0x14044e442], al
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rbp
ret
mov cl, 1
call fcn.140111f50
jmp 0x14011224b
mov ecx, 0x64
mov qword [0x14044e090], 0
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14011224b
mov qword [0x14044e090], 0
jmp 0x14011224b
cmp byte [0x14044e098], 0
je 0x1401122a4
xor ecx, ecx
call fcn.140111f50
lea rdx, [rbp + 0x18]
mov qword [0x14044e090], 0
lea rcx, [rbp + 0x20]
mov dword [rbp + 0x18], 0x3e8
call fcn.1401105a0
mov rcx, rax
call fcn.1400fc330
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rbp
ret
cmp byte [0x14044e098], 0
je 0x1401122ec
xor ecx, ecx
call fcn.140111f50
lea rdx, [rbp + 0x18]
mov qword [0x14044e090], 0
lea rcx, [rbp + 0x20]
mov dword [rbp + 0x18], 0x3e8
call fcn.1401105a0
mov rcx, rax
call fcn.1400fc330
add rsp, 0x80
pop rbp
ret
cmp byte [0x14044e443], 0
je 0x14011225d
xor ecx, ecx
call fcn.140111f50
mov byte [0x14044e443], 0
add rsp, 0x80
pop rbp
ret