Function at 0x180030990
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
call fcn.180016d30
test rax, rax
je 0x18003165b
mov qword [rsp + 0x1d8], rbx
call fcn.180014ba0
mov rbx, rax
test rax, rax
je 0x180031653
mov rcx, qword gs:[0x58]
mov qword [rsp + 0x1c8], rdi
mov edi, dword [0x18020f374]
mov r11d, 4
mov rdx, qword [rcx + rdi*8]
mov ecx, dword [r11 + rdx]
cmp dword [0x180245a58], ecx
jle 0x180030a2d
lea rcx, [0x180245a58]
call fcn.1800fba34
cmp dword [0x180245a58], 0xffffffff
jne 0x180030a27
mov ecx, 0xae00109b
call fcn.18000f9f0
lea rcx, [0x180245a58]
mov qword [0x1802456e8], rax
call fcn.1800fb9d4
mov r11d, 4
mov rax, qword [0x1802456e8]
mov rax, qword [rbx + rax]
mov qword [rbp + 0x108], rax
test rax, rax
je 0x18003164b
mov rax, qword [rax + 0x28]
xor edx, edx
mov dword [rbp + 0xf8], edx
cmp dword [rax + 0x10], edx
jle 0x18003164b
mov r10, qword gs:[0x58]
xor r8d, r8d
mov qword [rsp + 0x1d0], rsi
mov r9, rdi
movaps xmmword [rsp + 0x190], xmm6
xorps xmm6, xmm6
movaps xmmword [rsp + 0x150], xmm10
movss xmm10, dword [0x18019f960]
movaps xmmword [rsp + 0x140], xmm11
movss xmm11, dword [0x18019f4a8]
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1b8], r13
mov qword [rsp + 0x1b0], r14
mov qword [rsp + 0x1a8], r15
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x170], xmm8
mov qword [rbp - 0x40], rdi
movabs rdi, 0x7fffffff0000
movaps xmmword [rsp + 0x160], xmm9
mov qword [rbp + 0x100], r8
mov rax, qword [rax + 0x18]
mov rsi, qword [rax + r8*8 + 0x20]
test rsi, rsi
je 0x1800315b6
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1800315b6
mov r13, qword [rax + 0x30]
test r13, r13
je 0x1800315b6
lea rcx, [r13 + 0x60]
cmp rcx, 0x40000
jbe 0x1800315b6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800315b6
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800315b6
mov r15, qword [r10 + r9*8]
mov r14d, r11d
mov eax, dword [r14 + r15]
cmp dword [0x1802459c8], eax
jle 0x180030b9a
lea rcx, [0x1802459c8]
call fcn.1800fba34
cmp dword [0x1802459c8], 0xffffffff
jne 0x180030b8d
mov ecx, 0x33f7a6a3
call fcn.18000f9f0
lea rcx, [0x1802459c8]
mov qword [0x1802457c8], rax
call fcn.1800fb9d4
mov r8, qword [rbp + 0x100]
mov edx, dword [rbp + 0xf8]
mov rax, qword [0x1802457c8]
cmp byte [rax + rsi], 0
jne 0x1800315b6
mov eax, dword [r14 + r15]
cmp dword [0x180245a34], eax
jle 0x180030bec
lea rcx, [0x180245a34]
call fcn.1800fba34
cmp dword [0x180245a34], 0xffffffff
jne 0x180030bec
mov ecx, 0x8bb6774c
call fcn.18000e230
lea rcx, [0x180245a34]
mov rdx, qword [rax]
mov qword [0x180245a18], rdx
call fcn.1800fb9d4
mov r8, rsi
call fcn.18004df10
test rax, rax
je 0x1800315a9
lea rdx, str.Local
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x1800315a9
call fcn.180016d30
mov rcx, rax
call fcn.180016c40
mov r8, rax
lea rdx, [rax + 0xb0]
cmp rdx, 0x40000
jbe 0x180030c44
lea rcx, [rdx + 8]
cmp rcx, rdi
jae 0x180030c44
mov r12, qword [rdx]
jmp 0x180030c59
xor r12d, r12d
cmp rdx, 0x40000
jbe 0x180030c8c
lea rax, [rdx + 8]
cmp rax, rdi
jae 0x180030c8c
mov rcx, qword [rdx]
cmp rcx, 0x40000
jbe 0x180030c8c
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180030c8c
mov rbx, qword [rcx]
add rbx, 0x10
cmp rbx, 0x40000
jbe 0x180030c8c
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x180030c8c
mov rbx, qword [rbx]
jmp 0x180030c8e
xor ebx, ebx
test r8, r8
je 0x180030cc3
test rbx, rbx
je 0x180030cc3
lea rdx, str.BaseMelee
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x180030cbe
lea rdx, str.Jackhammer
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180030cc3
mov dil, 1
jmp 0x180030cc6
xor dil, dil
mov rcx, rsi
call fcn.180014f00
test al, al
je 0x180031329
cmp byte [0x18020f579], 0
je 0x18003109c
mov ecx, dword [0x18020f588]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003109c
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x180030db0
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x180030db0
mov rbx, qword [rcx]
test rbx, rbx
je 0x180030db2
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180030db2
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030db2
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030db2
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180030db2
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030db2
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030db2
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180030d93
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x180030d93
movsd xmm1, qword [rcx]
movss xmm2, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
jmp 0x180030d9c
movaps xmm2, xmm6
movaps xmm0, xmm6
movaps xmm1, xmm6
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm0
movss dword [rsp + 0x28], xmm2
jmp 0x180030dc3
xor ebx, ebx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
call fcn.180016d30
mov r9, qword [0x18020f450]
lea r8, [rbp - 0x30]
mov ecx, dword [rsp + 0x28]
add r9, 0x5bc8b0
movsd xmm0, qword [rsp + 0x20]
mov rdx, rax
mov dword [rbp - 0x28], ecx
lea rcx, [rbp - 0x80]
movsd qword [rbp - 0x30], xmm0
call r9
cmp byte [0x18020f579], 0
je 0x18003109c
lea rcx, [rsi + 0x8c8]
movabs rdx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x180030e2a
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x180030e2a
mov eax, dword [rcx]
jmp 0x180030e2c
xor eax, eax
shr eax, 6
test al, 1
je 0x18003109c
test rbx, rbx
je 0x180030ea4
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180030ea4
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030ea4
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030ea4
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180030ea4
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030ea4
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030ea4
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180030ea4
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x180030ea4
movss xmm3, dword [rcx + 4]
movss xmm4, dword [rcx + 8]
movaps xmm3, xmm3
movsd xmm0, qword [rcx]
jmp 0x180030ead
movaps xmm4, xmm6
movaps xmm3, xmm6
movaps xmm0, xmm6
movss xmm1, dword [rbp - 0x80]
movss xmm2, dword [rbp - 0x7c]
subss xmm1, xmm0
movss xmm0, dword [rbp - 0x78]
subss xmm2, xmm3
subss xmm0, xmm4
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm10
jae 0x18003109c
call fcn.180016d30
movabs rbx, 0x7fffffff0000
lea rcx, [rax + 0x698]
cmp rcx, 0x40000
jbe 0x1800310a6
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800310a6
mov rcx, qword [rcx]
add rcx, 0x20
cmp rcx, 0x40000
jbe 0x1800310a6
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800310a6
mov rcx, qword [rcx]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x1800310a6
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800310a6
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800310a6
add rcx, 0x14
cmp rcx, 0x40000
jbe 0x180030f7e
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x180030f7e
mov eax, dword [rcx]
jmp 0x180030f80
xor eax, eax
shr eax, 8
test al, 1
je 0x1800310a6
call fcn.180016d30
mov ecx, dword [rax + 0x598]
test ecx, ecx
je 0x180030fa2
cmp dword [rsi + 0x598], ecx
je 0x180030faf
cmp byte [0x18020f57a], 0
jne 0x1800310a6
call fcn.180016d30
mov rbx, rax
test rax, rax
jne 0x180030fc1
movaps xmm1, xmm6
jmp 0x18003100b
mov eax, dword [r14 + r15]
cmp dword [0x180245808], eax
jle 0x180030fff
lea rcx, [0x180245808]
call fcn.1800fba34
cmp dword [0x180245808], 0xffffffff
jne 0x180030fff
mov ecx, 0xc566d10
call fcn.18000f9f0
lea rcx, [0x180245808]
mov qword [0x1802456d0], rax
call fcn.1800fb9d4
mov rax, qword [0x1802456d0]
movss xmm1, dword [rbx + rax]
movss xmm0, dword [0x18020f42c]
addss xmm0, xmm11
comiss xmm1, xmm0
jbe 0x18003109c
mov rbx, qword [0x18020f450]
add rbx, 0x90cd70
call fcn.180016d30
mov rdx, rax
mov rcx, rsi
call rbx
call fcn.180016d30
mov rbx, rax
test rax, rax
jne 0x18003104a
movaps xmm0, xmm6
jmp 0x180031094
mov eax, dword [r14 + r15]
cmp dword [0x180245808], eax
jle 0x180031088
lea rcx, [0x180245808]
call fcn.1800fba34
cmp dword [0x180245808], 0xffffffff
jne 0x180031088
mov ecx, 0xc566d10
call fcn.18000f9f0
lea rcx, [0x180245808]
mov qword [0x1802456d0], rax
call fcn.1800fb9d4
mov rax, qword [0x1802456d0]
movss xmm0, dword [rbx + rax]
movss dword [0x18020f42c], xmm0
movabs rbx, 0x7fffffff0000
cmp byte [0x18020f4b5], 0
je 0x180031329
test dil, dil
je 0x180031329
call fcn.180016d30
lea rcx, [rax + 0xb8]
cmp rcx, 0x40000
jbe 0x180031191
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x180031191
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180031191
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x180031191
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180031191
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x180031191
mov rbx, qword [rcx]
test rbx, rbx
je 0x180031191
mov eax, dword [r14 + r15]
cmp dword [0x180245850], eax
jle 0x180031168
lea rcx, [0x180245850]
call fcn.1800fba34
cmp dword [0x180245850], 0xffffffff
jne 0x180031168
mov ecx, 0x56e64b7d
call fcn.18000e230
mov rcx, qword [rax]
mov qword [0x180245780], rcx
lea rcx, [0x180245850]
call fcn.1800fb9d4
mov rdx, qword [0x180245780]
lea r8, [rbp - 0x70]
mov r9, rbx
mov qword [rbp - 0x70], 0
lea rcx, [rsp + 0x60]
mov dword [rbp - 0x68], 0
call fcn.18004de50
jmp 0x1800311a2
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
movsd xmm0, qword [rsp + 0x60]
lea rcx, [rsi + 0xb8]
mov eax, dword [rsp + 0x68]
movsd qword [rsp + 0x70], xmm0
mov dword [rsp + 0x78], eax
cmp rcx, 0x40000
jbe 0x1800312aa
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x1800312aa
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800312aa
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800312aa
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800312aa
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800312aa
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800312aa
mov eax, dword [r14 + r15]
cmp dword [0x180245850], eax
jle 0x18003126f
lea rcx, [0x180245850]
call fcn.1800fba34
cmp dword [0x180245850], 0xffffffff
jne 0x18003126f
mov ecx, 0x56e64b7d
call fcn.18000e230
mov rcx, qword [rax]
mov qword [0x180245780], rcx
lea rcx, [0x180245850]
call fcn.1800fb9d4
mov rdx, qword [0x180245780]
lea r8, [rbp - 0x60]
mov r9, rbx
mov qword [rbp - 0x60], 0
lea rcx, [rsp + 0x40]
mov dword [rbp - 0x58], 0
call fcn.18004de50
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
movss xmm2, dword [rsp + 0x40]
jmp 0x1800312c5
movss dword [rsp + 0x40], xmm6
movaps xmm2, xmm6
movss dword [rsp + 0x44], xmm6
movaps xmm0, xmm6
movss dword [rsp + 0x48], xmm6
movaps xmm1, xmm6
subss xmm0, dword [rsp + 0x74]
subss xmm2, dword [rsp + 0x70]
subss xmm1, dword [rsp + 0x78]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
comiss xmm0, xmm10
ja 0x180031329
mov r8, r12
lea rcx, [rbp - 0x20]
mov rdx, rsi
call fcn.180017cb0
movups xmm0, xmmword [rbp - 0x20]
mov r8b, 1
mov rdx, r12
movups xmm1, xmmword [rbp - 0x10]
lea rcx, [rbp + 0x10]
movaps xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rbp]
movsd qword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm1
call fcn.1800259c0
cmp byte [0x18020f558], 0
movabs rdi, 0x7fffffff0000
je 0x1800315a9
cmp rsi, 0x40000
jbe 0x180031370
lea rax, [rsi + 8]
cmp rax, rdi
jae 0x180031370
mov rcx, qword [rsi]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x180031370
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180031370
mov rcx, qword [rcx]
jmp 0x180031372
xor ecx, ecx
lea rdx, str.Door
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1800315a9
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x18003152b
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18003152b
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003152b
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180031487
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180031487
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031487
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180031474
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180031474
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031474
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x18003142c
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x18003142c
movsd xmm8, qword [rcx]
movss xmm9, dword [rcx + 8]
movaps xmm7, xmm8
shufps xmm7, xmm7, 0x55
jmp 0x180031437
movaps xmm9, xmm6
movaps xmm7, xmm6
movaps xmm8, xmm6
call fcn.180016d30
movaps xmm0, xmm8
movss dword [rsp + 0x38], xmm9
unpcklps xmm0, xmm7
mov r9, qword [0x18020f450]
lea r8, [rsp + 0x30]
add r9, 0x5bc8b0
movsd qword [rsp + 0x30], xmm0
mov rdx, rax
lea rcx, [rsp + 0x50]
call r9
lea rcx, [rbx + 8]
jmp 0x1800314cd
call fcn.180016d30
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
jmp 0x18003144a
call fcn.180016d30
mov r9, qword [0x18020f450]
lea r8, [rsp + 0x30]
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x50]
add r9, 0x5bc8b0
movsd qword [rsp + 0x30], xmm0
mov rdx, rax
call r9
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180031560
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180031560
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031560
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180031560
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180031560
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031560
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180031560
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180031560
movsd xmm2, qword [rcx]
movss xmm3, dword [rcx + 8]
movaps xmm0, xmm2
shufps xmm0, xmm0, 0x55
jmp 0x180031569
call fcn.180016d30
mov r9, qword [0x18020f450]
lea r8, [rsp + 0x30]
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x50]
add r9, 0x5bc8b0
movsd qword [rsp + 0x30], xmm0
mov rdx, rax
call r9
movaps xmm3, xmm6
movaps xmm0, xmm6
movaps xmm2, xmm6
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm2
movss xmm2, dword [rsp + 0x54]
subss xmm2, xmm0
movss xmm0, dword [rsp + 0x58]
subss xmm0, xmm3
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm10
jae 0x1800315a9
mov rcx, rsi
call fcn.180025f00
mov r8, qword [rbp + 0x100]
mov edx, dword [rbp + 0xf8]
mov rax, qword [rbp + 0x108]
inc edx
mov r9, qword [rbp - 0x40]
inc r8
mov r10, qword gs:[0x58]
mov dword [rbp + 0xf8], edx
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x100], r8
mov r11d, 4
cmp edx, dword [rax + 0x10]
jl 0x180030af2
movaps xmm11, xmmword [rsp + 0x140]
movaps xmm10, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x190]
mov r15, qword [rsp + 0x1a8]
mov r14, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0x1b8]
mov r12, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1c8]
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x1e0
pop rbp
ret