Function at 0x18004d860
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x338
movss xmm0, dword [0x1803aff68]
ucomiss xmm0, dword [0x1802d2514]
jne 0x18004d894
call fcn.180044310
mov rcx, rax
call fcn.1800437b0
movss xmm0, dword [rax]
movss dword [0x1803aff68], xmm0
call fcn.180044310
mov rcx, rax
call fcn.180044140
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x18004dbe9
mov rax, qword [rsp + 0x60]
add rax, 0x18
mov rcx, rax
call fcn.1801200b0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
add rax, 0x18
mov rcx, rax
call fcn.180120030
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0x40547fde
je 0x18004d909
cmp dword [rsp + 0x40], 0x847b9bf0
je 0x18004d909
mov dword [rsp + 0x44], 0
jmp 0x18004d911
mov dword [rsp + 0x44], 1
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18004dbe9
movzx eax, byte [0x1803782b4]
test eax, eax
je 0x18004dbe9
call fcn.180044310
mov rcx, rax
call fcn.18003fc70
movss xmm0, dword [0x1802d2824]
comiss xmm0, dword [rax]
jbe 0x18004dbe9
call fcn.180044310
mov rcx, rax
call fcn.180043fb0
movzx eax, al
test eax, eax
jne 0x18004dbe9
mov rax, qword [rsp + 0x60]
add rax, 0xb0
mov rcx, rax
call fcn.1801200b0
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rax, 0x190
mov rcx, rax
call fcn.180120070
mov byte [rsp + 0x21], al
call fcn.180044310
mov rcx, rax
call fcn.1800437b0
movss xmm0, dword [rax]
movss dword [rsp + 0x48], xmm0
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x18004dbe9
movss xmm0, dword [0x1803aff68]
addss xmm0, dword [0x1802d2600]
movss xmm1, dword [rsp + 0x48]
comiss xmm1, xmm0
jbe 0x18004dbe9
mov rax, qword [0x180378088]
add rax, 0x595ed0
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x22]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x23]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x24]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x23]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x24]
mov byte [rsp + 0x38], al
movabs rax, 0x3a2f48f0079491d0
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
movabs rax, 0xa7c3feb611d27e6f
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rax
movabs rax, 0x3a7c489507e79185
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xd0], rax
movabs rax, 0xa7c3fed011be7e0a
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xd8], rax
xor eax, eax
test eax, eax
je 0x18004dad1
jmp 0x18004db1b
movdqa xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x140], xmm0
movdqa xmm0, xmmword [rsp + 0x140]
xorps xmm0, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x70], xmm0
xor eax, eax
cmp eax, 1
je 0x18004db24
jmp 0x18004db7d
lea rax, [rsp + 0xe0]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x120], xmm0
lea rax, [rsp + 0x80]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x130], xmm0
lea rax, [rsp + 0x80]
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax], xmm0
lea rax, [rsp + 0x70]
mov rdx, rax
lea rcx, [rsp + 0x290]
call fcn.18002af20
lea rcx, [rsp + 0x150]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x98
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1f0]
lea rcx, [rsp + 0x150]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x98
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x1f0]
mov rcx, qword [rsp + 0x90]
call qword [rsp + 0xb8]
movss xmm0, dword [rsp + 0x48]
movss dword [0x1803aff68], xmm0
movzx eax, byte [0x180378245]
test eax, eax
je 0x18004dc18
mov ecx, dword [0x1803782f8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18004dc18
call fcn.180042dd0
movss xmm0, dword [0x1802d2798]
movss dword [rax], xmm0
jmp 0x18004dc35
movss xmm0, dword [0x18033b5a8]
movss dword [rsp + 0x5c], xmm0
call fcn.180042dd0
movss xmm0, dword [rsp + 0x5c]
movss dword [rax], xmm0
mov rax, qword [0x180378088]
add rax, 0x334cc68
mov rcx, rax
call fcn.1801200b0
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
add rax, 0xb8
mov rcx, rax
call fcn.1801200b0
mov qword [rsp + 0x50], rax
movzx eax, byte [0x1803782d9]
test eax, eax
je 0x18004dcac
mov rax, qword [rsp + 0x50]
add rax, 0x48
movss xmm1, dword [0x18033b5ac]
mov rcx, rax
call fcn.1801200f0
mov rax, qword [rsp + 0x50]
add rax, 0x58
movss xmm1, dword [0x18033b598]
mov rcx, rax
call fcn.1801200f0
jmp 0x18004dcde
mov rax, qword [rsp + 0x50]
add rax, 0x48
movss xmm1, dword [0x1802d26d0]
mov rcx, rax
call fcn.1801200f0
mov rax, qword [rsp + 0x50]
add rax, 0x58
movss xmm1, dword [0x1802d2808]
mov rcx, rax
call fcn.1801200f0
call fcn.180044310
movzx eax, byte [0x1803782b5]
test eax, eax
je 0x18004dcfd
call fcn.180044310
mov rcx, rax
call fcn.1800441c0
jmp 0x18004dd0a
call fcn.180044310
mov rcx, rax
call fcn.180044220
movzx eax, byte [0x1803782bf]
test eax, eax
je 0x18004dd4d
call fcn.180044310
mov rcx, rax
call fcn.180043570
mov rcx, qword [rax]
call fcn.1800415c0
xorps xmm0, xmm0
movss dword [rax], xmm0
call fcn.180044310
mov rcx, rax
call fcn.180043570
mov rcx, qword [rax]
call fcn.180041650
xorps xmm0, xmm0
movss dword [rax], xmm0
add rsp, 0x338
pop rdi
pop rsi
ret