Function at 0x1400188a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140108718]
xor rax, rsp
mov qword [rsp + 0x40], rax
call fcn.140018670
cmp byte [0x140109e91], 0
movsd xmm0, qword [0x1400f50c8]
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x38], xmm0
je 0x140018ccb
cmp byte [0x140109ee8], 0
je 0x14001890b
mov ecx, dword [str.W_DSA]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14001890b
cmp byte [0x140109ee8], 0
jne 0x140018ccb
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rax, rcx, 0xc7
cmp eax, 0x2d
ja 0x140018934
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rax, rcx, 0xc7
cmp eax, 0x2e
jb 0x140018920
shr rax, 0x20
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
cmp dword [0x140109ee4], eax
jbe 0x140018ccb
mov ecx, dword [0x140109fc8]
mov eax, dword [0x140109fb8]
mov qword [rsp + 0x60], rbp
mov ebp, 0x80000000
cmp ecx, ebp
lea edx, [rax + rax]
lea eax, [rcx - 0x80000000]
lea esi, [rcx + rbp]
cmovae esi, eax
lea ecx, [rdx + rbp]
cmp edx, ebp
lea eax, [rdx - 0x80000000]
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x1400189a0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
jmp 0x1400189d7
lea ebx, [rcx + 1]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x1400189d3
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400189d3
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1400189c3
shr rcx, 0x20
lea edx, [rcx + rsi]
cmp edx, ebp
lea ecx, [rdx + rbp]
lea eax, [rdx - 0x80000000]
cmovae eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
mov ecx, reloc.WS2_32.dll_WSACleanup
sub ecx, eax
imul eax, ecx, 0x1f4
cmp byte [0x140109fc4], 0
mov ecx, dword [0x140109fc0]
lea esi, [rcx + rbp]
movd xmm0, eax
mov eax, dword [0x140109fbc]
cvtdq2pd xmm0, xmm0
lea edx, [rax + rax]
lea eax, [rcx - 0x80000000]
movsd qword [rsp + 0x38], xmm0
je 0x140018acd
cmp ecx, ebp
lea ecx, [rdx + rbp]
cmovae esi, eax
cmp edx, ebp
lea eax, [rdx - 0x80000000]
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x140018a62
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
jmp 0x140018a99
lea ebx, [rcx + 1]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140018a95
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140018a95
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140018a85
shr rcx, 0x20
lea edx, [rsi + rcx]
cmp edx, ebp
lea ecx, [rdx + rbp]
lea eax, [rdx - 0x80000000]
cmovae eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
imul ecx, eax, 0x46
mov eax, 0xfffffc18
jmp 0x140018cb6
cmp byte [0x140109fc5], 0
je 0x140018c28
cmp ecx, ebp
lea ecx, [rdx + rbp]
cmovae esi, eax
cmp edx, ebp
lea eax, [rdx - 0x80000000]
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x140018afe
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
jmp 0x140018b35
lea ebx, [rcx + 1]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140018b31
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140018b31
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140018b21
shr rcx, 0x20
lea edx, [rcx + rsi]
cmp edx, ebp
lea ecx, [rdx + rbp]
lea eax, [rdx - 0x80000000]
cmovae eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
imul ecx, eax, 0x46
mov eax, dword [0x140109fb8]
add ecx, 0x3e8
lea edx, [rax + rax]
lea ebx, [rdx + rbp]
movd xmm0, ecx
mov ecx, dword [0x140109fc8]
cmp ecx, ebp
cvtdq2pd xmm0, xmm0
lea eax, [rcx - 0x80000000]
lea esi, [rcx + rbp]
cmovae esi, eax
lea eax, [rdx - 0x80000000]
cmp edx, ebp
movsd qword [rsp + 0x30], xmm0
cmovae ebx, eax
sub ebx, esi
cmp ebx, 0xffffffff
jne 0x140018baf
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
jmp 0x140018be5
inc ebx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140018be1
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140018be1
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140018bd1
shr rcx, 0x20
lea edx, [rcx + rsi]
cmp edx, ebp
lea ecx, [rdx + rbp]
lea eax, [rdx - 0x80000000]
cmovae eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
imul ecx, eax, 0x46
add ecx, 0x3e8
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
jmp 0x140018cc6
cmp ecx, ebp
lea ecx, [rdx + rbp]
cmovae esi, eax
cmp edx, ebp
lea eax, [rdx - 0x80000000]
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x140018c4c
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
jmp 0x140018c84
lea ebx, [rcx + 1]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140018c80
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140018c80
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140018c70
shr rcx, 0x20
lea edx, [rcx + rsi]
cmp edx, ebp
lea ecx, [rdx + rbp]
lea eax, [rdx - 0x80000000]
cmovae eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_round
cvttsd2si eax, xmm0
imul ecx, eax, 0x2bc
mov eax, 0x130b0
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x30], xmm0
mov rbp, qword [rsp + 0x60]
mov rax, qword [0x1401087d8]
xor esi, esi
mov rdx, qword [0x1401087d0]
mov edi, esi
sub rax, rdx
sar rax, 3
test rax, rax
je 0x140018da9
mov ebx, reloc.WS2_32.dll_recv
mov rdx, qword [rbx + rdx - 0x10]
lea r8, [rsp + 0x30]
mov rcx, qword [0x140109fa0]
mov r9d, 8
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x1401087d0]
lea r8, [rsp + 0x30]
mov rcx, qword [0x140109fa0]
mov r9d, 8
mov qword [rsp + 0x20], rsi
mov rdx, qword [rbx + rdx - 8]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x1401087d0]
lea r8, [rsp + 0x38]
mov rcx, qword [0x140109fa0]
mov r9d, 8
mov qword [rsp + 0x20], rsi
mov rdx, qword [rbx + rdx]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1401087d8]
lea rbx, [rbx + 0x18]
mov rdx, qword [0x1401087d0]
add edi, 3
movsd xmm0, qword [rsp + 0x30]
sub rcx, rdx
movsd xmm1, qword [rsp + 0x38]
sar rcx, 3
movsxd rax, edi
movsd qword [0x1401087f8], xmm0
movsd qword [0x140108800], xmm1
cmp rax, rcx
jb 0x140018cf2
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400bb950
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret