Function at 0x180030ba0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
call fcn.180016ff0
test rax, rax
je 0x180031819
mov qword [rsp + 0x198], rbx
call fcn.180014b70
mov rbx, rax
test rax, rax
je 0x180031811
mov rcx, qword gs:[0x58]
mov qword [rsp + 0x188], rdi
mov edi, dword [0x18020f374]
mov r11d, 4
mov rdx, qword [rcx + rdi*8]
mov ecx, dword [r11 + rdx]
cmp dword [0x180245a58], ecx
jle 0x180030c3d
lea rcx, [0x180245a58]
call fcn.1800fb824
cmp dword [0x180245a58], 0xffffffff
jne 0x180030c37
mov ecx, 0xae00109b
call fcn.18000f9c0
lea rcx, [0x180245a58]
mov qword [0x1802456d8], rax
call fcn.1800fb7c4
mov r11d, 4
mov rax, qword [0x1802456d8]
mov rax, qword [rbx + rax]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x180031809
mov rax, qword [rax + 0x28]
xor edx, edx
mov dword [rbp + 0xb8], edx
cmp dword [rax + 0x10], edx
jle 0x180031809
mov r10, qword gs:[0x58]
xor r8d, r8d
mov qword [rsp + 0x190], rsi
mov r9, rdi
mov qword [rsp + 0x168], r15
movabs rsi, 0x7fffffff0000
movaps xmmword [rsp + 0x150], xmm6
movss xmm6, dword [0x18019f8e0]
movaps xmmword [rsp + 0x140], xmm7
movss xmm7, dword [0x18019f428]
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x178], r13
mov qword [rsp + 0x170], r14
mov qword [rbp - 0x48], rdi
mov qword [rbp + 0xc8], r8
nop word [rax + rax]
mov rax, qword [rax + 0x18]
mov r15, qword [rax + r8*8 + 0x20]
test r15, r15
je 0x18003179b
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x18003179b
mov rdi, qword [rax + 0x30]
mov qword [rbp + 0xc0], rdi
test rdi, rdi
je 0x18003179b
lea rcx, [rdi + 0x60]
cmp rcx, 0x40000
jbe 0x18003179b
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18003179b
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003179b
mov r13, qword [r10 + r9*8]
mov r12d, r11d
mov eax, dword [r12 + r13]
cmp dword [0x1802459c8], eax
jle 0x180030d8f
lea rcx, [0x1802459c8]
call fcn.1800fb824
cmp dword [0x1802459c8], 0xffffffff
jne 0x180030d82
mov ecx, 0x33f7a6a3
call fcn.18000f9c0
lea rcx, [0x1802459c8]
mov qword [0x1802457c0], rax
call fcn.1800fb7c4
mov r8, qword [rbp + 0xc8]
mov edx, dword [rbp + 0xb8]
mov rax, qword [0x1802457c0]
cmp byte [rax + r15], 0
jne 0x18003179b
mov eax, dword [r12 + r13]
cmp dword [0x180245a38], eax
jle 0x180030de2
lea rcx, [0x180245a38]
call fcn.1800fb824
cmp dword [0x180245a38], 0xffffffff
jne 0x180030de2
mov ecx, 0x8bb6774c
call fcn.18000e200
lea rcx, [0x180245a38]
mov rdx, qword [rax]
mov qword [0x180245a20], rdx
call fcn.1800fb7c4
mov r8, r15
call fcn.18004dd80
test rax, rax
je 0x18003178e
lea rdx, str.Local
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18003178e
call fcn.180016ff0
mov rcx, rax
call fcn.180016f00
mov r8, rax
lea rdx, [rax + 0xb0]
cmp rdx, 0x40000
jbe 0x180030e3a
lea rcx, [rdx + 8]
cmp rcx, rsi
jae 0x180030e3a
mov r14, qword [rdx]
jmp 0x180030e4f
xor r14d, r14d
cmp rdx, 0x40000
jbe 0x180030e82
lea rax, [rdx + 8]
cmp rax, rsi
jae 0x180030e82
mov rcx, qword [rdx]
cmp rcx, 0x40000
jbe 0x180030e82
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180030e82
mov rbx, qword [rcx]
add rbx, 0x10
cmp rbx, 0x40000
jbe 0x180030e82
lea rax, [rbx + 8]
cmp rax, rsi
jae 0x180030e82
mov rbx, qword [rbx]
jmp 0x180030e84
xor ebx, ebx
test r8, r8
je 0x180030eb9
test rbx, rbx
je 0x180030eb9
lea rdx, str.BaseMelee
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x180030eb4
lea rdx, str.Jackhammer
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180030eb9
mov sil, 1
jmp 0x180030ebc
xor sil, sil
mov rcx, r15
call fcn.180014ed0
test al, al
je 0x180031550
cmp byte [0x18020f579], 0
je 0x1800312cb
mov ecx, dword [0x18020f588]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800312cb
lea rcx, [rdi + 0x30]
cmp rcx, 0x40000
jbe 0x180030fa6
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x180030fa6
mov rdi, qword [rcx]
test rdi, rdi
je 0x180030fa8
lea rcx, [rdi + 8]
cmp rcx, 0x40000
jbe 0x180030fa8
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030fa8
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030fa8
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180030fa8
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180030fa8
mov rcx, qword [rcx]
test rcx, rcx
je 0x180030fa8
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180030f89
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x180030f89
movsd xmm1, qword [rcx]
movss xmm2, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
jmp 0x180030f92
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm0
movss dword [rsp + 0x28], xmm2
jmp 0x180030fb9
xor edi, edi
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
call fcn.180016ff0
mov ecx, dword [r12 + r13]
mov rbx, rax
cmp dword [0x180245678], ecx
jle 0x180031002
lea rcx, [0x180245678]
call fcn.1800fb824
cmp dword [0x180245678], 0xffffffff
jne 0x180031002
mov ecx, 0x6d98b7c8
call fcn.18000e200
mov rcx, qword [rax]
mov qword [0x180245930], rcx
lea rcx, [0x180245678]
call fcn.1800fb7c4
movsd xmm0, qword [rsp + 0x20]
lea r8, [rbp - 0x40]
mov eax, dword [rsp + 0x28]
lea rcx, [rsp + 0x60]
mov rdx, rbx
movsd qword [rbp - 0x40], xmm0
mov dword [rbp - 0x38], eax
call qword [0x180245930]
cmp byte [0x18020f579], 0
je 0x1800312c4
lea rcx, [r15 + 0x8c8]
movabs rbx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x18003105a
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x18003105a
mov eax, dword [rcx]
jmp 0x18003105c
xor eax, eax
shr eax, 6
test al, 1
je 0x1800312c4
test rdi, rdi
je 0x1800310d4
lea rcx, [rdi + 8]
cmp rcx, 0x40000
jbe 0x1800310d4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800310d4
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800310d4
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800310d4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800310d4
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800310d4
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x1800310d4
lea rax, [rcx + 0xc]
cmp rax, rbx
jae 0x1800310d4
movss xmm3, dword [rcx + 4]
movss xmm4, dword [rcx + 8]
movaps xmm3, xmm3
movsd xmm0, qword [rcx]
jmp 0x1800310dd
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm0, xmm0
movss xmm1, dword [rsp + 0x60]
movss xmm2, dword [rsp + 0x64]
subss xmm1, xmm0
movss xmm0, dword [rsp + 0x68]
subss xmm2, xmm3
subss xmm0, xmm4
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm6
jae 0x1800312c4
call fcn.180016ff0
lea rcx, [rax + 0x698]
cmp rcx, 0x40000
jbe 0x1800312c4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800312c4
mov rcx, qword [rcx]
add rcx, 0x20
cmp rcx, 0x40000
jbe 0x1800312c4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800312c4
mov rcx, qword [rcx]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x1800312c4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800312c4
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800312c4
add rcx, 0x14
cmp rcx, 0x40000
jbe 0x1800311a6
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x1800311a6
mov eax, dword [rcx]
jmp 0x1800311a8
xor eax, eax
shr eax, 8
test al, 1
je 0x1800312c4
call fcn.180016ff0
mov ecx, dword [rax + 0x598]
test ecx, ecx
je 0x1800311cb
cmp dword [r15 + 0x598], ecx
je 0x1800311d8
cmp byte [0x18020f57a], 0
jne 0x1800312c4
call fcn.180016ff0
mov rbx, rax
test rax, rax
jne 0x1800311ea
xorps xmm1, xmm1
jmp 0x180031234
mov eax, dword [r12 + r13]
cmp dword [0x180245800], eax
jle 0x180031228
lea rcx, [0x180245800]
call fcn.1800fb824
cmp dword [0x180245800], 0xffffffff
jne 0x180031228
mov ecx, 0xc566d10
call fcn.18000f9c0
lea rcx, [0x180245800]
mov qword [0x1802456c0], rax
call fcn.1800fb7c4
mov rax, qword [0x1802456c0]
movss xmm1, dword [rbx + rax]
movss xmm0, dword [0x18020f42c]
addss xmm0, xmm7
comiss xmm1, xmm0
jbe 0x1800312c4
mov rbx, qword [0x18020f450]
add rbx, 0x90cee0
call fcn.180016ff0
mov rdx, rax
mov rcx, r15
call rbx
call fcn.180016ff0
mov rbx, rax
test rax, rax
jne 0x180031272
xorps xmm0, xmm0
jmp 0x1800312bc
mov eax, dword [r12 + r13]
cmp dword [0x180245800], eax
jle 0x1800312b0
lea rcx, [0x180245800]
call fcn.1800fb824
cmp dword [0x180245800], 0xffffffff
jne 0x1800312b0
mov ecx, 0xc566d10
call fcn.18000f9c0
lea rcx, [0x180245800]
mov qword [0x1802456c0], rax
call fcn.1800fb7c4
mov rax, qword [0x1802456c0]
movss xmm0, dword [rbx + rax]
movss dword [0x18020f42c], xmm0
mov rdi, qword [rbp + 0xc0]
cmp byte [0x18020f4b5], 0
je 0x180031550
test sil, sil
je 0x180031550
call fcn.180016ff0
movabs rsi, 0x7fffffff0000
lea rcx, [rax + 0xb8]
cmp rcx, 0x40000
jbe 0x1800313c3
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800313c3
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800313c3
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800313c3
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800313c3
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800313c3
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800313c3
mov eax, dword [r12 + r13]
cmp dword [0x180245848], eax
jle 0x180031397
lea rcx, [0x180245848]
call fcn.1800fb824
cmp dword [0x180245848], 0xffffffff
jne 0x180031397
mov ecx, 0x56e64b7d
call fcn.18000e200
mov rcx, qword [rax]
mov qword [0x180245778], rcx
lea rcx, [0x180245848]
call fcn.1800fb7c4
mov rdx, qword [0x180245778]
lea r8, [rsp + 0x70]
mov r9, rbx
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x44]
mov dword [rsp + 0x78], 0
call fcn.18004dcc0
jmp 0x1800313d4
mov qword [rsp + 0x44], 0
mov dword [rsp + 0x4c], 0
movsd xmm0, qword [rsp + 0x44]
lea rcx, [r15 + 0xb8]
mov eax, dword [rsp + 0x4c]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
cmp rcx, 0x40000
jbe 0x1800314d2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800314d2
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800314d2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800314d2
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800314d2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800314d2
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800314d2
mov eax, dword [r12 + r13]
cmp dword [0x180245848], eax
jle 0x180031497
lea rcx, [0x180245848]
call fcn.1800fb824
cmp dword [0x180245848], 0xffffffff
jne 0x180031497
mov ecx, 0x56e64b7d
call fcn.18000e200
mov rcx, qword [rax]
mov qword [0x180245778], rcx
lea rcx, [0x180245848]
call fcn.1800fb7c4
mov rdx, qword [0x180245778]
lea r8, [rbp - 0x80]
mov r9, rbx
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x38]
mov dword [rbp - 0x78], 0
call fcn.18004dcc0
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x3c]
movss xmm2, dword [rsp + 0x38]
jmp 0x1800314ed
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [rsp + 0x38], xmm2
movss dword [rsp + 0x3c], xmm0
movss dword [rsp + 0x40], xmm1
subss xmm0, dword [rsp + 0x54]
subss xmm2, dword [rsp + 0x50]
subss xmm1, dword [rsp + 0x58]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
comiss xmm0, xmm6
ja 0x180031550
mov r8, r14
lea rcx, [rbp - 0x20]
mov rdx, r15
call fcn.180017f70
movups xmm0, xmmword [rbp - 0x20]
mov r8b, 1
mov rdx, r14
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.180025a50
cmp byte [0x18020f558], 0
movabs rsi, 0x7fffffff0000
je 0x18003178e
cmp r15, 0x40000
jbe 0x180031597
lea rax, [r15 + 8]
cmp rax, rsi
jae 0x180031597
mov rcx, qword [r15]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x180031597
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180031597
mov rcx, qword [rcx]
jmp 0x180031599
xor ecx, ecx
lea rdx, str.Door
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x18003178e
lea rcx, [rdi + 0x30]
cmp rcx, 0x40000
jbe 0x18003165d
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18003165d
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003165f
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x18003165f
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18003165f
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003165f
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18003165f
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18003165f
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003165f
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180031640
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x180031640
movsd xmm1, qword [rcx]
movss xmm2, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
jmp 0x180031649
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [rsp + 0x2c], xmm1
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm2
jmp 0x180031670
xor ebx, ebx
mov qword [rsp + 0x2c], 0
mov dword [rsp + 0x34], 0
call fcn.180016ff0
mov ecx, dword [r12 + r13]
mov rdi, rax
cmp dword [0x180245678], ecx
jle 0x1800316b9
lea rcx, [0x180245678]
call fcn.1800fb824
cmp dword [0x180245678], 0xffffffff
jne 0x1800316b9
mov ecx, 0x6d98b7c8
call fcn.18000e200
mov rcx, qword [rax]
mov qword [0x180245930], rcx
lea rcx, [0x180245678]
call fcn.1800fb7c4
movsd xmm0, qword [rsp + 0x2c]
lea r8, [rbp - 0x30]
mov eax, dword [rsp + 0x34]
lea rcx, [rbp - 0x70]
mov rdx, rdi
movsd qword [rbp - 0x30], xmm0
mov dword [rbp - 0x28], eax
call qword [0x180245930]
test rbx, rbx
je 0x180031749
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180031749
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180031749
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031749
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180031749
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180031749
mov rcx, qword [rcx]
test rcx, rcx
je 0x180031749
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180031749
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x180031749
movss xmm3, dword [rcx + 4]
movss xmm4, dword [rcx + 8]
movaps xmm3, xmm3
movsd xmm0, qword [rcx]
jmp 0x180031752
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm0, xmm0
movss xmm1, dword [rbp - 0x70]
movss xmm2, dword [rbp - 0x6c]
subss xmm1, xmm0
movss xmm0, dword [rbp - 0x68]
subss xmm2, xmm3
subss xmm0, xmm4
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm6
jae 0x18003178e
mov rcx, r15
call fcn.180025f90
mov r8, qword [rbp + 0xc8]
mov edx, dword [rbp + 0xb8]
mov rax, qword [rbp - 0x50]
inc edx
mov r9, qword [rbp - 0x48]
inc r8
mov r10, qword gs:[0x58]
mov dword [rbp + 0xb8], edx
mov rax, qword [rax + 0x28]
mov qword [rbp + 0xc8], r8
mov r11d, 4
cmp edx, dword [rax + 0x10]
jl 0x180030ce0
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x150]
mov r15, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
mov r13, qword [rsp + 0x178]
mov r12, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x198]
add rsp, 0x1a0
pop rbp
ret