Function at 0x180032c60
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x1803d34e0]
mov r13, qword [rax]
mov qword [rbp - 0x70], r13
test r13, r13
je 0x18003389a
mov qword [r11 - 0x28], rdi
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x180033892
mov rax, qword [0x1803d3548]
mov qword [r11 - 0x38], r14
mov r14, qword [rax + rdi]
test r14, r14
je 0x18003388a
cmp byte [0x1803d359f], 0
movss xmm1, dword [0x1800c38e0]
mov qword [r11 - 0x18], rbx
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x40], r15
movaps xmmword [r11 - 0xa8], xmm11
je 0x180032cf0
comiss xmm1, dword [rdi + 0x280]
jbe 0x180032cf0
movss xmm0, dword [rdi + 0x2a0]
movss dword [rdi + 0x280], xmm0
cmp byte [0x1803d35a0], 0
je 0x180032d16
mov rax, qword [0x1803d3530]
comiss xmm1, dword [rax + rdi]
jbe 0x180032d16
movd xmm0, dword [0x18032d4e0]
cvtdq2ps xmm0, xmm0
movss dword [rax + rdi], xmm0
movzx eax, byte [0x1803d35b8]
test al, al
je 0x180032d32
mov edx, eax
movabs rcx, 0xfc18db55ae19e046
call fcn.1800045c0
xor r15d, r15d
movabs rsi, 0xd80958fc74e988a6
cmp byte [0x1803d35a7], r15b
mov ebx, r15d
jne 0x180032d4f
lea ebx, [r15 + 1]
mov rcx, rsi
call fcn.180003e80
mov edx, eax
mov r8d, ebx
movabs rcx, 0xebd76f2359f190ac
call fcn.180004690
cmp byte [0x1803d35a6], 0
mov ebx, r15d
mov rcx, rsi
sete bl
call fcn.180003e80
mov edx, eax
xor r9d, r9d
mov r8d, ebx
movabs rcx, 0xea1c610a04db6bbb
call fcn.180004780
cmp byte [0x1803d359e], 0
setne al
mov byte [rdi + 0x189], al
movzx ecx, byte [0x1803d35b1]
test cl, cl
jne 0x180032dbf
mov rax, qword [0x1803d3580]
cmp byte [rax + rdi], 0x40
jne 0x180032dd0
test cl, cl
mov eax, 0x20
cmovne eax, r15d
mov byte [rdi + 0x10b8], al
cmp byte [0x1803d35a4], 0
movss xmm4, dword [0x1800c37ec]
je 0x180032dee
movd xmm0, dword [0x18032d4d8]
cvtdq2ps xmm0, xmm0
jmp 0x180032df1
movaps xmm0, xmm4
movss dword [r14 + 0xcf0], xmm0
cmp byte [0x1803d35b0], 0
je 0x180032e33
mov rax, qword [0x1803d34f0]
test rax, rax
je 0x180032e14
mov rax, qword [rax]
jmp 0x180032e1b
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0x10]
movss xmm0, dword [0x18032d4ec]
movss dword [rax + 0x30], xmm0
mov byte [0x1803d35b0], 0
cmp byte [0x1803d331c], 0
xorps xmm11, xmm11
mov qword [rsp + 0x158], r12
je 0x1800333ad
mov rcx, qword [0x1803d34e0]
cmp qword [rcx], 0
je 0x180033861
mov rax, qword [0x1803d34e8]
mov r12, qword [rax]
test r12, r12
je 0x180033861
mov r12, qword [r12 + 0x18]
test r12, r12
je 0x180033861
mov r13, qword [rbp + 0x90]
mov r14d, r15d
movaps xmmword [rsp + 0xb0], xmm14
movss xmm14, dword [0x1800c37b4]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm7
movaps xmmword [rsp + 0x110], xmm8
movaps xmmword [rsp + 0x100], xmm9
movaps xmmword [rsp + 0xf0], xmm10
movaps xmmword [rsp + 0xd0], xmm12
movaps xmmword [rsp + 0xc0], xmm13
movaps xmmword [rsp + 0xa0], xmm15
movsxd rax, r14d
cmp rax, qword [r12 + 0x108]
jae 0x18003334f
mov rsi, qword [r12 + 0x100]
test rsi, rsi
je 0x180033343
mov rsi, qword [r15 + rsi]
test rsi, rsi
je 0x180033343
mov rax, qword [rcx]
test rax, rax
je 0x180032f21
cmp rsi, qword [rax + 8]
je 0x180033343
mov rbx, qword [0x1803d33d8]
lea rdx, [rsp + 0x30]
movaps xmm6, xmmword [0x1800c3c80]
mov dword [rsp + 0x30], 3
movups xmm0, xmmword [rbx + 0x38d8]
lea rcx, [rbx + 0x4010]
movups xmmword [rsp + 0x34], xmm0
call fcn.18005da20
movups xmmword [rbx + 0x38d8], xmm6
mov rax, qword [0x1803d33d8]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], 2
or dword [rax + 0x3fa0], 2
mov dword [rax + 0x3fc0], 0x43960000
mov dword [rax + 0x3fc4], 0x43960000
mov dword [rax + 0x3fa8], 1
mov rbx, qword [0x1803d33d8]
movss xmm1, dword [rbx + 0x37e8]
lea rcx, [rbx + 0x4020]
movss xmm0, dword [rbx + 0x37ec]
movss dword [rsp + 0x74], xmm1
movss dword [rsp + 0x78], xmm0
call fcn.18005dc10
xor eax, eax
lea rdx, [0x1803d331c]
mov r8d, 0x12b
mov qword [rbx + 0x37e8], rax
lea rcx, str.Radar
call fcn.18000ee90
mov rcx, qword [0x1803d33d8]
movaps xmm0, xmmword [0x1800c3cc0]
movups xmmword [rsp + 0x30], xmm0
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
mov rbx, qword [rax + 0x280]
mov rax, qword [0x1803d33d8]
mov rcx, qword [rax + 0x3ea0]
movss xmm7, dword [rcx + 0x1c]
movss xmm6, dword [rcx + 0x20]
movss xmm8, dword [rcx + 0x24]
movaps xmm1, xmm6
movss xmm9, dword [rcx + 0x18]
movaps xmm0, xmm8
mulss xmm1, xmm14
addss xmm0, xmm7
lea rcx, [rsp + 0x30]
movss dword [rbp + 0x9c], xmm7
addss xmm1, xmm9
movss dword [rbp + 0x94], xmm0
movss dword [rbp + 0x90], xmm1
movss dword [rbp + 0x98], xmm1
call fcn.180016fd0
movss xmm10, dword [0x1800c3838]
lea r8, [rbp + 0x90]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp + 0x98]
mov rcx, rbx
call fcn.18006d830
movaps xmm0, xmmword [0x1800c3cc0]
addss xmm6, xmm9
mulss xmm8, xmm14
lea rcx, [rsp + 0x30]
movss dword [rbp + 0xa8], xmm9
movups xmmword [rsp + 0x30], xmm0
addss xmm8, xmm7
movss dword [rbp + 0xa0], xmm6
movss dword [rbp + 0xa4], xmm8
movss dword [rbp + 0xac], xmm8
call fcn.180016fd0
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0xa0]
mov rcx, rbx
lea rdx, [rbp + 0xa8]
call fcn.18006d830
mov rbx, qword [0x1803d33d8]
mov rax, qword [rbx + 0x3ea0]
movss xmm10, dword [rax + 0x18]
movss xmm9, dword [rax + 0x1c]
movss xmm13, dword [rax + 0x20]
movss xmm15, dword [rax + 0x24]
mov rax, qword [0x1803d34e0]
movsd xmm0, qword [rsi + 0x90]
movsd qword [rbp - 0x80], xmm0
mov rax, qword [rax]
test rax, rax
je 0x180033173
mov rax, qword [rax + 8]
test rax, rax
je 0x180033173
movsd xmm0, qword [rax + 0x90]
movaps xmm8, xmm0
movsd qword [rsp + 0x50], xmm0
movss xmm12, dword [rsp + 0x50]
shufps xmm8, xmm8, 0x55
jmp 0x18003317b
movaps xmm12, xmm11
movaps xmm8, xmm11
mov rax, qword [0x1803d34f0]
test rax, rax
je 0x18003318a
mov r13, qword [rax]
mov eax, dword [r13 + 0x3d8]
movsd xmm6, qword [r13 + 0x3d0]
movaps xmm0, xmm6
mov dword [rsp + 0x38], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_acosf
movaps xmm7, xmm0
movsd qword [rsp + 0x30], xmm6
mulss xmm7, dword [0x1800c3948]
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
divss xmm7, dword [0x1800c385c]
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
mulss xmm0, dword [0x1800c3948]
divss xmm0, dword [0x1800c385c]
comiss xmm11, xmm0
jbe 0x1800331e9
mulss xmm7, dword [0x1800c39dc]
mulss xmm7, dword [0x1800c376c]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss xmm3, dword [rbp - 0x80]
movaps xmm1, xmm0
movss xmm2, dword [rbp - 0x7c]
subss xmm3, xmm12
movaps xmm5, xmm6
subss xmm2, xmm8
movaps xmm4, xmm0
movaps xmm0, xmm13
mulss xmm0, xmm14
mulss xmm1, xmm3
subss xmm0, dword [0x1800c3850]
mulss xmm5, xmm2
mulss xmm4, xmm2
subss xmm5, xmm1
mulss xmm6, xmm3
movaps xmm1, xmm0
addss xmm4, xmm6
movss xmm6, dword [0x1800c3e90]
divss xmm5, dword [0x1800c37dc]
divss xmm4, dword [0x1800c37dc]
comiss xmm5, xmm0
ja 0x180033271
xorps xmm1, xmm6
maxss xmm1, xmm5
comiss xmm4, xmm0
ja 0x18003327d
xorps xmm0, xmm6
maxss xmm0, xmm4
mov rax, qword [rbx + 0x3ea0]
subss xmm9, xmm0
movaps xmm0, xmmword [0x1800c3e40]
subss xmm10, xmm1
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
mulss xmm15, xmm14
mov byte [rax + 0x98], 1
mov rax, qword [rbx + 0x3ea0]
mulss xmm13, xmm14
addss xmm9, xmm15
mov rbx, qword [rax + 0x280]
addss xmm10, xmm13
movaps xmm1, xmm9
movss dword [rsp + 0x6c], xmm9
addss xmm1, dword [0x1800c3874]
movaps xmm0, xmm10
movss dword [rsp + 0x68], xmm10
addss xmm0, dword [0x1800c3874]
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x60], xmm0
call fcn.180016fd0
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x60]
movss dword [rsp + 0x20], xmm11
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.18006e9b0
call fcn.18002d940
mov ecx, 1
call fcn.180047190
mov ecx, 1
call fcn.1800470c0
mov rcx, qword [0x1803d34e0]
inc r14d
add r15, 0x10
jmp 0x180032ee0
movss xmm4, dword [0x1800c37ec]
xor r15d, r15d
mov r13, qword [rbp - 0x70]
movaps xmm15, xmmword [rsp + 0xa0]
movaps xmm14, xmmword [rsp + 0xb0]
movaps xmm13, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x130]
comiss xmm11, dword [rdi + 0x280]
mov rdx, rdi
jb 0x1800333d6
movsd xmm0, qword [rdi + 0x90]
movsd qword [0x1803d3488], xmm0
mov eax, dword [rdi + 0x98]
mov dword [0x1803d3490], eax
cmp byte [0x1803d331a], 0
je 0x1800334b7
mov r8, qword [rdi + 0x30]
test r8, r8
je 0x180033861
mov rax, qword gs:[0x60]
movss xmm0, dword [0x1800c39a0]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x1803d3510]
movss xmm3, dword [rcx + rax]
ucomiss xmm3, xmm0
mov rax, qword [0x1803d3518]
movss xmm2, dword [rcx + rax]
mov rax, qword [0x1803d3520]
movss xmm1, dword [rcx + rax]
jp 0x180033445
jne 0x180033445
ucomiss xmm2, xmm0
jp 0x180033445
jne 0x180033445
ucomiss xmm1, xmm0
jp 0x180033445
jne 0x180033445
mov byte [0x1803d331a], 0
mov qword [r8 + 0x30], 0
addss xmm1, xmm4
mov dword [r8 + 0x38], r15d
movss dword [rdx + 0x90], xmm3
movss dword [rdx + 0x94], xmm2
movss dword [rdx + 0x98], xmm1
movss dword [r8 + 0x50], xmm3
movss dword [r8 + 0x54], xmm2
movss dword [r8 + 0x58], xmm1
movsd xmm0, qword [rdx + 0x90]
ucomiss xmm0, xmm3
movsd qword [rsp + 0x30], xmm0
jp 0x1800334b7
jne 0x1800334b7
movss xmm0, dword [rsp + 0x34]
ucomiss xmm0, xmm2
jp 0x1800334b7
jne 0x1800334b7
movss xmm0, dword [rdx + 0x98]
ucomiss xmm0, xmm1
jp 0x1800334b7
jne 0x1800334b7
mov byte [0x1803d331a], 0
cmp byte [0x1803d32f2], 0
je 0x18003359b
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x180033861
movsd xmm0, qword [rdx + 0x90]
movsd qword [rsp + 0x50], xmm0
movaps xmm4, xmm0
movss xmm5, dword [rsp + 0x50]
ucomiss xmm5, dword [0x1803d3488]
shufps xmm4, xmm4, 0x55
jp 0x180033509
jne 0x180033509
ucomiss xmm4, dword [0x1803d348c]
jp 0x180033509
jne 0x180033509
mov byte [0x1803d32f2], 0
mov qword [rcx + 0x30], 0
mov dword [rcx + 0x38], r15d
movss xmm0, dword [0x1803d3488]
movss xmm1, dword [0x1803d348c]
movss xmm2, dword [0x1803d3490]
movss dword [rdx + 0x90], xmm0
movss dword [rdx + 0x94], xmm1
movss dword [rdx + 0x98], xmm2
movss xmm0, dword [0x1803d3488]
movss xmm3, dword [0x1803d348c]
movss xmm1, dword [0x1803d3490]
movss dword [rcx + 0x50], xmm0
movss dword [rcx + 0x54], xmm3
movss dword [rcx + 0x58], xmm1
ucomiss xmm5, dword [0x1803d3488]
jp 0x180033593
jne 0x180033593
ucomiss xmm4, dword [0x1803d348c]
jp 0x180033593
movss xmm4, dword [0x1800c37ec]
jne 0x18003359b
mov byte [0x1803d32f2], 0
jmp 0x18003359b
movss xmm4, dword [0x1800c37ec]
cmp byte [0x1803d359d], 0
mov rax, qword [r13 + 8]
je 0x1800335e2
test rax, rax
je 0x18003361a
mov rax, qword [rax + 0x30]
test rax, rax
je 0x18003361a
mov rax, qword [rax + 0x10]
test rax, rax
je 0x18003361a
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18003361a
mov rax, qword [rcx + 0x70]
test rax, rax
je 0x18003361a
mov rax, qword [rax]
test rax, rax
je 0x18003361a
mov dword [rax + 0x2c], 0xbf800000
jmp 0x18003361a
test rax, rax
je 0x18003361a
mov rax, qword [rax + 0x30]
test rax, rax
je 0x18003361a
mov rax, qword [rax + 0x10]
test rax, rax
je 0x18003361a
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18003361a
mov rax, qword [rcx + 0x70]
test rax, rax
je 0x18003361a
mov rax, qword [rax]
test rax, rax
je 0x18003361a
mov dword [rax + 0x2c], 0x3e800000
cmp byte [0x1803d32f1], 0
mov rax, qword [0x1803d34f0]
mov rcx, qword [rax]
je 0x180033657
test rcx, rcx
je 0x180033679
mov rax, qword [rcx + 0x10]
movss xmm1, dword [0x180188938]
movss xmm0, dword [rax + 0x88]
ucomiss xmm0, xmm1
jp 0x18003364d
je 0x180033679
movss dword [rax + 0x88], xmm1
jmp 0x180033679
test rcx, rcx
je 0x180033679
mov rax, qword [rcx + 0x10]
movss xmm0, dword [rax + 0x88]
ucomiss xmm0, xmm4
jp 0x18003366f
je 0x180033679
mov dword [rax + 0x88], 0x3f800000
cmp byte [0x1803d35b9], 0
je 0x1800336b6
movabs rcx, 0xd80958fc74e988a6
call fcn.180003e80
movzx ecx, byte [0x1803d35b9]
mov r9d, 1
mov dword [rsp + 0x20], ecx
xor r8d, r8d
movabs rcx, 0xae4086104e067b1
mov edx, eax
call fcn.180004890
cmp byte [0x1803d35a1], 0
je 0x1800336de
mov eax, dword [str.ddWS]
add eax, 0x64
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x280], xmm0
mov byte [0x1803d35a1], 0
cmp byte [0x1803d35a2], 0
je 0x180033705
movd xmm0, dword [0x18032d4e0]
mov rax, qword [0x1803d3530]
cvtdq2ps xmm0, xmm0
movss dword [rax + rdi], xmm0
mov byte [0x1803d35a2], 0
mov ecx, dword [0x1803d35a8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18003371d
mov byte [0x1803d35a1], 1
mov ecx, dword [0x1803d35ac]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180033735
mov byte [0x1803d35a2], 1
mov ecx, dword [0x1803d39c4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033753
cmp byte [0x1803d35a5], 0
sete byte [0x1803d35a5]
mov ecx, dword [0x1803d39c8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033771
cmp byte [0x1803d39c0], 0
sete byte [0x1803d39c0]
mov ecx, dword [0x1803d3654]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18003378f
cmp byte [0x1803d359e], 0
sete byte [0x1803d359e]
mov ecx, dword [0x1803d3660]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800337ad
cmp byte [0x1803d3617], 0
sete byte [0x1803d3617]
mov ecx, dword [0x1803d3658]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800337cb
cmp byte [0x1803d359f], 0
sete byte [0x1803d359f]
mov ecx, dword [0x1803d365c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800337e9
cmp byte [0x1803d35a7], 0
sete byte [0x1803d35a7]
mov ecx, dword [0x1803d364c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033807
cmp byte [0x1803d35c1], 0
sete byte [0x1803d35c1]
mov ecx, dword [0x1803d3648]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033825
cmp byte [0x1803d35ba], 0
sete byte [0x1803d35ba]
mov ecx, dword [0x1803d3650]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033843
cmp byte [0x1803d35c0], 0
sete byte [0x1803d35c0]
mov ecx, dword [0x1803d3644]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180033861
cmp byte [0x1803d35bb], 0
sete byte [0x1803d35bb]
mov r12, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x168]
mov r15, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x170]
movaps xmm11, xmmword [rsp + 0xe0]
mov r14, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
add rsp, 0x178
pop r13
pop rbp
ret