Function at 0x140001870
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3f8
lea rbp, [rsp + 0x80]
vmovapd xmmword [rbp + 0x360], xmm15
vmovapd xmmword [rbp + 0x350], xmm14
vmovapd xmmword [rbp + 0x340], xmm13
vmovapd xmmword [rbp + 0x330], xmm12
vmovaps xmmword [rbp + 0x320], xmm11
vmovaps xmmword [rbp + 0x310], xmm10
vmovapd xmmword [rbp + 0x300], xmm9
vmovaps xmmword [rbp + 0x2f0], xmm8
vmovapd xmmword [rbp + 0x2e0], xmm7
vmovaps xmmword [rbp + 0x2d0], xmm6
and rsp, 0xffffffffffffffe0
mov r14, rcx
mov rax, qword [0x1400c1548]
xor rax, rbp
mov qword [rsp + 0x348], rax
mov rsi, qword [rcx + 0x50]
mov rdi, qword [rcx + 0x58]
cmp rsi, rdi
je 0x14000192c
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.1400044e0
add rsi, 0x128
cmp rsi, rdi
jne 0x140001910
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x58], rax
movabs r13, 0xffffffffff
mov rcx, qword [0x1400c1598]
mov edx, 0x11f26508
add rdx, qword [rcx + 0x270]
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
call fcn.140060810
mov rbx, qword [rsp + 0x160]
cmp rbx, r13
jl 0x140003318
movabs rdi, 0x2ffffffffff
cmp rbx, rdi
jg 0x140003318
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x1d8]
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
call fcn.140060810
mov rsi, qword [rsp + 0x160]
cmp rsi, r13
jl 0x140003318
cmp rsi, rdi
jg 0x140003318
mov rcx, qword [0x1400c1598]
add rbx, 0x160
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
mov rdx, rbx
call fcn.140060810
mov rbx, qword [rsp + 0x160]
cmp rbx, r13
jl 0x140003318
cmp rbx, rdi
jg 0x140003318
mov rcx, qword [0x1400c1598]
add rsi, 0x38
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x160], xmm0
lea r8, [rsp + 0x160]
mov r9d, 0x10
mov rdx, rsi
call fcn.140060810
mov rcx, qword [0x1400c1598]
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0x320], 0
lea r8, [rsp + 0x320]
mov r9d, 8
call fcn.140060810
mov rsi, qword [rsp + 0x320]
cmp rsi, r13
jl 0x140003318
cmp rsi, rdi
jg 0x140003318
mov rcx, qword [0x1400c1598]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
call fcn.140060810
mov rax, qword [rsp + 0x160]
mov rcx, qword [0x1400c1598]
mov qword [rsp + 0xa0], rax
lea rdx, [rax + 0x338]
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
call fcn.140060810
mov rax, qword [rsp + 0x160]
mov rcx, qword [0x1400c1598]
mov qword [rsp + 0xa8], rax
lea rdx, [rax + 0x318]
mov qword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 8
call fcn.140060810
mov rdi, qword [rsp + 0x160]
mov rcx, qword [0x1400c1598]
add rsi, 0xd0
vxorps xmm6, xmm6, xmm6
vmovaps xmmword [rsp + 0x160], xmm6
lea r8, [rsp + 0x160]
mov r9d, 0x10
mov rdx, rsi
call fcn.140060810
mov rcx, qword [0x1400c1598]
mov rdx, qword [rsp + 0x160]
add rdx, 8
mov qword [rsp + 0x320], 0
lea r8, [rsp + 0x320]
mov r9d, 8
call fcn.140060810
mov rax, qword [rsp + 0x320]
mov rcx, qword [0x1400c15d8]
mov qword [rcx + 0x170], rax
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x2a8]
vmovaps xmmword [rsp + 0x150], xmm6
lea r8, [rsp + 0x150]
mov r9d, 0x10
call fcn.140060810
cmp dword [rsp + 0x158], 0
je 0x140003318
mov rcx, qword [0x1400c1598]
add rbx, 0x2c8
mov dword [rsp + 0x160], 0
lea r8, [rsp + 0x160]
mov r9d, 4
mov rdx, rbx
call fcn.140060810
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rsp + 0x160]
mov rax, qword [0x1400c15d8]
setne byte [rax + 0x188]
cmp dword [rsp + 0x158], 0
mov qword [rsp + 0x78], r14
je 0x140002e4d
mov qword [rsp + 0x98], rdi
lea rax, [r14 + 0x50]
mov qword [rsp + 0x90], rax
vmovss xmm8, dword [0x140069040]
vxorpd xmm9, xmm9, xmm9
vmovapd xmm7, xmmword [0x140069050]
vmovss xmm10, dword [0x140069060]
vmovsd xmm14, qword [0x140069068]
vmovsd xmm15, qword [0x140069078]
vmovss xmm11, dword [0x140069080]
vmovsd xmm13, qword [0x140069070]
xor r14d, r14d
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x48], rax
xor ebx, ebx
lea rdi, [rsp + 0x160]
jmp 0x140001ce7
add rax, 0x28
mov rdx, rax
mov rcx, rsi
vzeroupper
call fcn.140066ff0
inc r12
mov eax, dword [rsp + 0x158]
add r14, 8
cmp r12, rax
jae 0x140002e5b
mov rcx, qword [0x1400c1598]
mov rdx, qword [rsp + 0x150]
add rdx, r14
mov qword [rsp + 0x160], 0
mov r9d, 8
mov r8, rdi
vzeroupper
call fcn.140060810
mov r15, qword [rsp + 0x160]
cmp r15, r13
jl 0x140001cd0
movabs rax, 0x2ffffffffff
cmp r15, rax
jg 0x140001cd0
mov rcx, qword [0x1400c1598]
lea rdx, [r15 + 0x308]
mov qword [rsp + 0x160], 0
mov r9d, 8
mov r8, rdi
call fcn.140060810
mov rcx, qword [rsp + 0x160]
cmp rcx, r13
jl 0x140001cd0
movabs rax, 0x2ffffffffff
cmp rcx, rax
jg 0x140001cd0
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x38], ebx
mov rcx, qword [0x1400c1598]
lea rdx, [r15 + 0x1251]
mov dword [rsp + 0x160], 0
mov r9d, 4
mov r8, rdi
call fcn.140060810
mov rax, qword [0x1400c15d8]
xor esi, esi
cmp byte [rax + 0x188], 0
mov eax, dword [rsp + 0x160]
cmove eax, esi
mov dword [rsp + 0x44], eax
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x98], 0
je 0x140001e27
mov rcx, qword [0x1400c1598]
lea rdx, [r15 + 0x1264]
mov dword [rsp + 0x160], 0
mov r9d, 4
mov r8, rdi
call fcn.140060810
mov rax, qword [0x1400c15d8]
cmp byte [rax + 0x188], 0
mov esi, dword [rsp + 0x160]
mov eax, 0
cmove esi, eax
mov rax, qword [0x1400c15b8]
vmovapd xmmword [rsp + 0x320], xmm9
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x338], 0xf
lea rcx, [rsp + 0x340]
mov dword [rcx + 3], 0
mov dword [rcx], 0
cmp byte [rax + 0x9c], 0
je 0x140002149
mov rcx, qword [0x1400c1598]
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 0xa68]
mov qword [rsp + 0x160], 0
mov r9d, 8
mov r8, rdi
call fcn.140060810
mov rbx, qword [rsp + 0x160]
cmp rbx, r13
jl 0x140002149
movabs rax, 0x2ffffffffff
cmp rbx, rax
jg 0x140002149
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x9f], 0
je 0x140001f05
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x388]
mov byte [rsp + 0x160], 0
mov r9d, 1
mov r8, rdi
call fcn.140060810
movzx eax, byte [rsp + 0x160]
mov byte [rsp + 0x344], al
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x9d], 0
je 0x140001f43
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0xe54]
mov dword [rsp + 0x160], 0
mov r9d, 4
mov r8, rdi
call fcn.140060810
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x340], eax
mov rcx, qword [0x1400c1598]
add rbx, 0x4f0
mov qword [rsp + 0x160], 0
mov r9d, 8
mov rdx, rbx
mov r8, rdi
call fcn.140060810
mov rbx, qword [rsp + 0x160]
cmp rbx, r13
jl 0x140002149
movabs rax, 0x2ffffffffff
cmp rbx, rax
jg 0x140002149
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x40]
mov qword [rsp + 0x160], 0
mov r9d, 8
mov r8, rdi
call fcn.140060810
mov rcx, qword [rsp + 0x160]
mov rdx, rdi
call fcn.140003540
cmp qword [rsp + 0x170], 0
jne 0x14000203e
movabs rax, 0x995941fe6195455d
mov qword [rsp + 0x2c0], rax
movabs rax, 0x21e17ec46e7c3416
mov qword [rsp + 0x2c8], rax
movabs rcx, 0x9959418d05fb2415
mov qword [rsp + 0x300], rcx
mov qword [rsp + 0x308], rax
lea rax, [rsp + 0x300]
vmovaps xmm0, xmmword [rsp + 0x2c0]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x2c0], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x2c0]
call fcn.140003860
mov rax, qword [rsp + 0x338]
cmp rax, 0x10
jb 0x14000208d
mov rcx, qword [rsp + 0x320]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002088
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, rdi
lea rdi, [rsp + 0x160]
call fcn.140066ff0
vmovups ymm0, ymmword [rsp + 0x160]
vmovups ymmword [rsp + 0x320], ymm0
vmovupd xmmword [rsp + 0x170], xmm7
mov byte [rsp + 0x160], 0
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x9e], 0
je 0x140002149
mov rcx, qword [0x1400c1598]
add rbx, 0x13b
mov byte [rsp + 0x300], 0
mov r9d, 1
mov rdx, rbx
lea r8, [rsp + 0x300]
vzeroupper
call fcn.140060810
movzx eax, byte [rsp + 0x300]
mov byte [rsp + 0x346], al
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x140002149
mov rcx, qword [rsp + 0x160]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002144
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.140066ff0
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0xa8]
je 0x1400022ea
mov dword [rsp + 0x74], esi
mov ebx, dword [rsp + 0x38]
cmp dword [rsp + 0x44], ebx
sete byte [rsp + 0x43]
mov rsi, rdi
mov rdi, rax
mov rcx, qword [0x1400c1598]
lea rdx, [rax + 0x758]
mov byte [rsp + 0x160], 0
mov r9d, 1
mov r8, rsi
vzeroupper
call fcn.140060810
movzx r13d, byte [rsp + 0x160]
and r13b, 0x10
mov rcx, qword [0x1400c1598]
lea rdx, [rdi + 0x29a]
mov byte [rsp + 0x160], 0
mov r9d, 1
mov r8, rsi
call fcn.140060810
movzx eax, byte [rsp + 0x160]
mov byte [rsp + 0x42], al
mov rcx, qword [0x1400c1598]
lea rdx, [rdi + 0x982]
mov rdi, rsi
mov byte [rsp + 0x160], 0
mov r9d, 1
mov r8, rsi
call fcn.140060810
mov byte [rsp + 0x3f], r13b
test r13b, r13b
jne 0x14000239b
movzx eax, byte [rsp + 0x160]
mov byte [rsp + 0x41], al
movabs rcx, 0x9959418d05fb2415
mov qword [rsp + 0x2c0], rcx
movabs rax, 0x21e17ec46e7c3416
mov qword [rsp + 0x2c8], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x168], rax
mov rax, rdi
vmovaps xmm0, xmmword [rsp + 0x2c0]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x2c0], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps ymmword [rsp + 0x300], ymm0
lea rcx, [rsp + 0x2c0]
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x140003398
mov rbx, rax
cmp rax, 0xf
movabs r13, 0xffffffffff
ja 0x1400023aa
mov qword [rsp + 0x310], rbx
mov qword [rsp + 0x318], 0xf
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x2c0]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsp
add rbx, 0x300
jmp 0x140002436
mov rsi, qword [0x1400c15d8]
lea rdi, [rsi + 0x148]
lea rax, [rsp + 0x320]
cmp rdi, rax
mov ebx, dword [rsp + 0x44]
je 0x14000236b
mov rax, qword [rsi + 0x160]
cmp rax, 0x10
jb 0x14000234d
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002345
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.140066ff0
vmovups ymm0, ymmword [rsp + 0x320]
vmovups ymmword [rdi], ymm0
vmovapd xmmword [rsp + 0x330], xmm7
mov byte [rsp + 0x320], 0
lea rcx, [rsp + 0x340]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsi + 0x16b], ecx
mov dword [rsi + 0x168], eax
movabs r13, 0xffffffffff
lea rdi, [rsp + 0x160]
jmp 0x140002a30
movabs r13, 0xffffffffff
jmp 0x140002a30
mov qword [rsp + 0x318], 0xf
mov rdi, rbx
or rdi, 0xf
cmp rdi, 0x17
mov eax, 0x16
cmovb rdi, rax
cmp rdi, 0xfff
jb 0x1400023ea
lea rcx, [rdi + 0x28]
call fcn.140066fac
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400023f6
lea rcx, [rdi + 1]
call fcn.140066fac
mov rsi, rax
mov qword [rsp + 0x300], rsi
mov qword [rsp + 0x310], rbx
mov qword [rsp + 0x318], rdi
mov rcx, rsi
lea rdx, [rsp + 0x2c0]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
movabs r13, 0xffffffffff
lea rdi, [rsp + 0x160]
mov byte [rbx], 0
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0xa0], 0
je 0x140002542
mov rsi, qword [0x1400c15a8]
mov rcx, r15
lea rbx, [rsp + 0x2e0]
mov rdx, rbx
call fcn.140003fc0
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140003aa0
cmp qword [rsp + 0x178], 0x10
mov rbx, rdi
jb 0x14000248b
mov rbx, qword [rsp + 0x160]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r13, rax
mov rax, qword [rsp + 0x318]
cmp rax, r13
jae 0x1400024b8
lea rcx, [rsp + 0x300]
mov rdx, r13
mov r9, rbx
call fcn.140004a30
jmp 0x1400024e9
lea rsi, [rsp + 0x300]
cmp rax, 0x10
jb 0x1400024ce
mov rsi, qword [rsp + 0x300]
mov qword [rsp + 0x310], r13
mov rcx, rsi
mov rdx, rbx
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + r13], 0
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
movabs r13, 0xffffffffff
lea rdi, [rsp + 0x160]
jb 0x140002542
mov rcx, qword [rsp + 0x160]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000253d
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.140066ff0
mov ebx, dword [rsp + 0x38]
cmp dword [rsp + 0x44], ebx
jne 0x140002560
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0xb0], 0
je 0x1400029e5
mov rax, qword [0x1400c15d8]
movzx r8d, byte [rax + 0x188]
mov rcx, r15
lea rdx, [rsp + 0x2c0]
call fcn.140004140
cmp qword [rsp + 0x2d0], 0
jne 0x140002652
movabs rax, 0xec362cf46b944a54
mov qword [rsp + 0x2a0], rax
movabs rax, 0x21e17ec46e7c3465
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x168], rax
mov rax, rdi
vmovaps xmm0, xmmword [rsp + 0x2a0]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x2a0], xmm0
lea rsi, [rsp + 0x2a0]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
mov rax, qword [rsp + 0x2d8]
cmp rax, rbx
jae 0x14000261d
lea rcx, [rsp + 0x2c0]
mov rdx, rbx
mov r9, rsi
call fcn.140004a30
jmp 0x140002652
lea rsi, [rsp + 0x2c0]
cmp rax, 0x10
jb 0x140002633
mov rsi, qword [rsp + 0x2c0]
mov qword [rsp + 0x2d0], rbx
mov rcx, rsi
lea rdx, [rsp + 0x2a0]
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
mov rcx, qword [0x1400c1598]
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 0x318]
mov qword [rsp + 0x160], 0
mov r9d, 8
mov r8, rdi
call fcn.140060810
mov rbx, qword [rsp + 0x160]
cmp rbx, r13
jl 0x140002996
movabs rax, 0x2ffffffffff
cmp rbx, rax
jg 0x140002996
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0xa2], 0
je 0x140002701
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x120]
vmovapd xmmword [rsp + 0x160], xmm9
mov qword [rsp + 0x170], 0
mov r9d, 0x18
mov r8, rdi
call fcn.140060810
vmovaps xmm0, xmmword [rsp + 0x160]
vmovaps xmmword [rsp + 0x80], xmm0
vmovsd xmm0, qword [rsp + 0x170]
jmp 0x140002712
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x80], xmm0
vxorps xmm0, xmm0, xmm0
vmovsd qword [rsp + 0x50], xmm0
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x2f0]
mov dword [rsp + 0x160], 0
mov r9d, 4
mov r8, rdi
call fcn.140060810
vaddss xmm6, xmm10, dword [rsp + 0x160]
mov rcx, qword [0x1400c1598]
lea rdx, [rbx + 0x2e8]
mov dword [rsp + 0x160], 0
mov r9d, 4
mov r8, rdi
call fcn.140060810
vucomiss xmm6, dword [rsp + 0x160]
setae byte [rsp + 0x40]
mov rcx, qword [0x1400c15d8]
lea rdx, [rsp + 0x2a0]
mov r8, qword [rsp + 0x98]
xor r9d, r9d
call fcn.140064bd0
mov rcx, qword [0x1400c15d8]
lea rsi, [rsp + 0x138]
mov rdx, rsi
mov r8, rbx
xor r9d, r9d
call fcn.140064bd0
mov rcx, qword [0x1400c15d8]
lea r15, [rsp + 0x120]
mov rdx, r15
mov r8, rbx
mov r9d, 0x6e
call fcn.140064bd0
vaddsd xmm0, xmm14, qword [rsp + 0x130]
vmovsd qword [rsp + 0x130], xmm0
mov rcx, qword [0x1400c15d8]
lea rdx, [rsp + 0x110]
mov r8, r15
call fcn.140064940
mov rcx, qword [0x1400c15d8]
lea rdx, [rsp + 0x100]
mov r8, rsi
call fcn.140064940
mov rcx, qword [0x1400c15d8]
cmp byte [rcx + 0x188], 0
je 0x140002890
vmovsd xmm0, qword [rsp + 0x138]
vsubsd xmm0, xmm0, qword [rsp + 0x2a0]
vcvtsd2ss xmm0, xmm0, xmm0
vmovupd xmm1, xmmword [rsp + 0x140]
vsubpd xmm1, xmm1, xmmword [rsp + 0x2a8]
vcvtpd2ps xmm1, xmm1
vmulps xmm1, xmm1, xmm1
vfmadd213ss xmm0, xmm0, xmm1
vmovshdup xmm1, xmm1
vaddss xmm0, xmm0, xmm1
vsqrtss xmm0, xmm0, xmm0
vcvtss2sd xmm0, xmm0, xmm0
mov rax, qword [0x1400c15b8]
vcvtsi2ss xmm1, xmm2, dword [rax + 0x1a4]
vmulsd xmm12, xmm13, xmm0
vcvtss2sd xmm0, xmm1, xmm1
vucomisd xmm12, xmm0
jb 0x14000289c
jmp 0x140002996
mov rax, qword [0x1400c15b8]
vmovapd xmm12, xmm15
cmp byte [rax + 0x19c], 0
je 0x140002901
vmovaps xmm0, xmmword [rsp + 0x110]
vmovaps xmmword [rsp + 0xf0], xmm0
lea rdx, [rsp + 0xf0]
call fcn.140064710
test al, al
je 0x140002996
mov rcx, qword [0x1400c15d8]
vmovaps xmm0, xmmword [rsp + 0x100]
vmovaps xmmword [rsp + 0xe0], xmm0
lea rdx, [rsp + 0xe0]
call fcn.140064710
test al, al
je 0x140002996
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x10], 0
je 0x140002a75
mov rcx, qword [0x1400c1600]
vcvtdq2pd xmm0, qword [rcx + 0xd0]
vmovapd xmm1, xmmword [rsp + 0x110]
vsubpd xmm0, xmm1, xmm0
vmulpd xmm0, xmm0, xmm0
vpermilpd xmm1, xmm0, 1
vaddsd xmm0, xmm1, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vsqrtss xmm0, xmm0, xmm0
vcvtsi2ss xmm1, xmm2, dword [rax + 0x14]
mov rcx, qword [0x1400c15d8]
vmulss xmm1, xmm11, xmm1
vdivss xmm1, xmm1, dword [rcx + 0x130]
vcmpltps xmm2, xmm0, xmm8
vcmpltps xmm1, xmm0, xmm1
vandps xmm1, xmm1, xmm2
vmovd ecx, xmm1
test cl, 1
jne 0x140002971
vmovaps xmm0, xmm8
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
cmovne rcx, rsi
mov rdx, qword [rsp + 0x58]
cmovne rdx, rbx
mov qword [rsp + 0x58], rdx
vmovaps xmm8, xmm0
jmp 0x140002a7f
mov ebx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
jb 0x1400029e5
mov rcx, qword [rsp + 0x2c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400029e0
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
mov ebx, dword [rsp + 0x38]
call fcn.140066ff0
mov rax, qword [rsp + 0x318]
cmp rax, 0x10
jb 0x140002a30
mov rcx, qword [rsp + 0x300]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002a2b
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000338f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
mov ebx, dword [rsp + 0x38]
call fcn.140066ff0
mov rax, qword [rsp + 0x338]
cmp rax, 0x10
jb 0x140001cd0
mov rcx, qword [rsp + 0x320]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140001cc8
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jb 0x140001cbe
jmp 0x14000338f
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x1b8], ymm0
vmovaps ymmword [rsp + 0x1a0], ymm0
vmovaps ymmword [rsp + 0x180], ymm0
vmovaps ymmword [rsp + 0x160], ymm0
mov qword [rsp + 0x1d8], 0xf
lea rdx, [rsp + 0x1e0]
vmovapd xmmword [rdx], xmm9
mov qword [rdx + 0x10], 0
mov qword [rsp + 0x1f8], 0xf
lea rdx, [rsp + 0x260]
vmovapd xmmword [rdx], xmm9
mov qword [rdx + 0x10], 0
lea rdx, [rsp + 0x1b0]
vmovups ymmword [rdx + 0x8a], ymm0
vmovups ymmword [rdx + 0x70], ymm0
vmovups ymmword [rdx + 0x50], ymm0
mov qword [rsp + 0x278], 0xf
mov dword [rdx + 0xd3], 0
mov dword [rdx + 0xd0], 0
vmovapd xmmword [rsp + 0xd0], xmm9
mov rdx, rcx
mov qword [rsp + 0x48], rcx
cmp rcx, rsi
jne 0x140002b3f
mov byte [rsp + 0x259], 1
movzx esi, byte [rsp + 0x42]
shr sil, 3
movzx r15d, byte [rsp + 0x41]
shr r15b, 4
cmp byte [rax + 0x8d], 0
je 0x140002b8e
mov rcx, qword [0x1400c15d8]
mov rdx, rbx
lea r8, [rsp + 0xd0]
vzeroupper
call fcn.140064ea0
test al, al
je 0x140002b8e
vmovaps xmm0, xmmword [rsp + 0xd0]
lea rax, [rsp + 0x1b0]
vmovups xmmword [rax], xmm0
shr byte [rsp + 0x3f], 4
and sil, 1
and r15b, 1
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x8e], 0
vmovsd xmm13, qword [rsp + 0x110]
je 0x140002cff
mov rcx, qword [0x1400c15d8]
vmovsd xmm11, qword [rsp + 0x118]
vcvtsi2ss xmm0, xmm3, dword [rax + 0x14]
vmulss xmm0, xmm0, dword [0x140069080]
vdivss xmm0, xmm0, dword [rcx + 0x130]
vaddss xmm1, xmm0, dword [0x140069084]
vaddss xmm0, xmm0, dword [0x140069088]
vmovaps xmmword [rsp + 0x60], xmm8
vcvtss2sd xmm8, xmm0, xmm0
vcvtdq2pd xmm10, qword [rcx + 0x140]
vmovapd xmm9, xmm15
vcvtss2sd xmm15, xmm1, xmm1
vsubsd xmm1, xmm13, xmm10
vpermilpd xmm0, xmm10, 1
vsubsd xmm0, xmm11, xmm0
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
vmovapd xmm6, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm14, xmm7
vmovapd xmm7, xmm0
vmovapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vunpcklpd xmm0, xmm0, xmm7
vmovddup xmm1, xmm8
vfmadd213pd xmm1, xmm0, xmm10
vaddsd xmm7, xmm6, qword [0x140069090]
vaddsd xmm8, xmm6, qword [0x140069098]
vmovapd xmmword [rsp + 0x200], xmm1
mov qword [rsp + 0x210], 0
vmovapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm6, xmm0
vmovapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vunpcklpd xmm0, xmm0, xmm6
vmovddup xmm7, xmm15
vmovapd xmm15, xmm9
vfmadd213pd xmm0, xmm7, xmm10
vmovupd xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x228], 0
vmovapd xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm6, xmm0
vmovapd xmm0, xmm8
vmovaps xmm8, xmmword [rsp + 0x60]
vxorpd xmm9, xmm9, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vunpcklpd xmm0, xmm0, xmm6
vfmadd213pd xmm0, xmm7, xmm10
vmovss xmm10, dword [0x140069060]
vmovapd xmm7, xmm14
vmovsd xmm14, qword [0x140069068]
vmovapd xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
jmp 0x140002d08
vmovsd xmm11, qword [rsp + 0x118]
mov ebx, dword [rsp + 0x38]
vmovaps xmm0, xmmword [rsp + 0x100]
vmovaps xmmword [rsp + 0x160], xmm0
vmovsd qword [rsp + 0x170], xmm13
vmovsd qword [rsp + 0x178], xmm11
vmovaps xmm0, xmmword [rsp + 0x120]
vmovaps xmmword [rsp + 0x180], xmm0
vmovsd xmm0, qword [rsp + 0x130]
vmovsd qword [rsp + 0x190], xmm0
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x300]
vzeroupper
call fcn.1400038d0
vcvtsd2ss xmm0, xmm12, xmm12
vmovss dword [rsp + 0x248], xmm0
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x24c], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x250], eax
mov byte [rsp + 0x255], sil
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x258], al
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x256], al
mov byte [rsp + 0x257], r15b
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x254], al
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x2c0]
call fcn.1400038d0
vmovaps xmm0, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x198], xmm0
vmovsd xmm0, qword [rsp + 0x50]
vmovsd qword [rsp + 0x1a8], xmm0
lea rcx, [rsp + 0x260]
lea rdx, [rsp + 0x320]
call fcn.140003950
mov rax, qword [rsp + 0x78]
mov r8, qword [rax + 0x58]
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xc8]
mov r9, rdi
call fcn.140004b40
mov rcx, rdi
call fcn.1400044e0
vmovss xmm11, dword [0x140069080]
vmovsd xmm13, qword [0x140069070]
jmp 0x14000299a
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x78]
vmovups xmm0, xmmword [rax + 0x58]
vbroadcastsd ymm1, qword [rax + 0x78]
vmovups xmm2, xmmword [rax + 0x68]
vmovups xmmword [rax + 0x70], xmm0
vbroadcastsd ymm0, qword [rax + 0x50]
vblendps ymm1, ymm2, ymm1, 0x30
vblendps ymm0, ymm1, ymm0, 0xc0
vmovups ymmword [rax + 0x50], ymm0
mov rdi, qword [rsp + 0x58]
test rdi, rdi
movabs rax, 0x2ffffffffff
mov rbx, qword [rsp + 0x48]
je 0x140003318
test rbx, rbx
je 0x140003318
cmp rbx, r13
jl 0x140003318
cmp rbx, rax
jg 0x140003318
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x22], 0
je 0x140002eeb
mov rcx, rdi
vzeroupper
call fcn.140004440
test al, al
je 0x140003318
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x21], 0
je 0x140002f0b
mov rcx, rbx
vzeroupper
call fcn.140003a40
test al, al
jne 0x140003318
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x23], 0
je 0x140002f2b
mov rcx, rbx
vzeroupper
call fcn.1400039e0
test al, al
jne 0x140003318
mov rax, qword [0x1400c15b8]
mov eax, dword [rax + 0xc]
dec eax
mov r9d, 0x6e
cmp eax, 6
ja 0x140002f48
cdqe
lea rcx, section..rdata
mov r9d, dword [rcx + rax*4]
mov rcx, qword [0x1400c15d8]
lea rsi, [rsp + 0x160]
mov rdx, rsi
mov r8, rdi
vzeroupper
call fcn.140064bd0
mov rcx, qword [0x1400c15d8]
lea rdx, [rsp + 0x2c0]
mov r8, rsi
call fcn.140064940
mov rax, qword [0x1400c15b8]
cmp byte [rax + 0x18a], 0
je 0x140003150
mov edi, dword [rax + 0x190]
vmovss xmm8, dword [rax + 0x194]
cmp byte [rax + 0x18c], 0
je 0x140002fab
mov esi, edi
jmp 0x140002fdc
mov ecx, 0x148
add rcx, qword [0x1400c15d8]
lea rdx, str.Reaper_Sniper_Rifle
xor r8d, r8d
call fcn.140004600
mov esi, 0xfde8
cmp rax, 0xffffffffffffffff
cmove esi, edi
je 0x140002fdc
vmovss xmm8, dword [0x1400690a0]
mov rax, qword [0x1400c15d8]
vmovsd xmm9, qword [rsp + 0x160]
vmovsd xmm10, qword [rax + 0x118]
vmovupd xmm7, xmmword [rsp + 0x168]
vmovupd xmm6, xmmword [rax + 0x120]
mov rcx, qword [0x1400c1598]
add rbx, 0x198
mov qword [rsp + 0x320], 0
lea r8, [rsp + 0x320]
mov r9d, 8
mov rdx, rbx
call fcn.140060810
mov edx, 0x168
add rdx, qword [rsp + 0x320]
mov rcx, qword [0x1400c1598]
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], 0
lea r8, [rsp + 0x320]
mov r9d, 0x18
call fcn.140060810
test esi, esi
je 0x140003150
vxorps xmm0, xmm0, xmm0
vucomiss xmm8, xmm0
je 0x140003150
vsubpd xmm0, xmm7, xmm6
vsubsd xmm1, xmm9, xmm10
vcvtsd2ss xmm1, xmm1, xmm1
vcvtpd2ps xmm0, xmm0
vmulps xmm0, xmm0, xmm0
vfmadd213ss xmm1, xmm1, xmm0
vmovshdup xmm0, xmm0
vaddss xmm0, xmm1, xmm0
vsqrtss xmm0, xmm0, xmm0
vcvtsi2ss xmm1, xmm3, esi
vmulss xmm2, xmm8, dword [0x1400690a4]
vbroadcastss xmm3, dword [0x1400690a8]
vdivss xmm0, xmm0, xmm1
vandps xmm1, xmm2, xmm3
vmulss xmm1, xmm1, dword [0x1400690ac]
vcvtss2sd xmm2, xmm0, xmm0
vmulss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, xmm1
vcvtss2sd xmm0, xmm0, xmm0
vfmadd231sd xmm0, xmm2, qword [rsp + 0x330]
vaddsd xmm0, xmm0, qword [rsp + 0x170]
vmovapd xmm1, xmmword [rsp + 0x320]
vmovddup xmm2, xmm2
vfmadd213pd xmm2, xmm1, xmmword [rsp + 0x160]
vmovapd xmmword [rsp + 0x300], xmm2
vmovsd qword [rsp + 0x310], xmm0
mov rcx, qword [0x1400c15d8]
lea rdx, [rsp + 0x2a0]
lea r8, [rsp + 0x300]
call fcn.140064940
vmovaps xmm0, xmmword [rsp + 0x2a0]
vmovaps xmmword [rsp + 0x2c0], xmm0
mov rcx, qword [0x1400c15d8]
mov rax, qword [0x1400c1600]
vcvtsi2sd xmm0, xmm4, dword [rax + 0xd4]
vcvtsi2sd xmm3, xmm4, dword [rax + 0xd0]
vmovsd xmm1, qword [rsp + 0x2c0]
vmovsd xmm2, qword [rsp + 0x2c8]
vmovsd qword [rsp + 0x20], xmm0
call fcn.140064750
mov rax, qword [0x1400c15b8]
vcvtsi2ss xmm1, xmm4, dword [rax + 0x14]
mov rcx, qword [0x1400c15d8]
vmulss xmm1, xmm1, dword [0x140069080]
vdivss xmm1, xmm1, dword [rcx + 0x130]
vcvtss2sd xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
ja 0x140003318
vcvtsi2sd xmm8, xmm4, dword [rax + 0x18]
mov rcx, qword [0x1400c1598]
mov rsi, qword [rsp + 0xa0]
add rsi, 0x520
vxorpd xmm0, xmm0, xmm0
vmovapd xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], 0
lea r8, [rsp + 0x320]
mov r9d, 0x18
mov rdx, rsi
call fcn.140060810
mov rax, qword [0x1400c1600]
vcvtdq2pd xmm7, qword [rax + 0xd0]
vmovapd xmm6, xmmword [rsp + 0x2c0]
mov ecx, 2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140003318
vxorpd xmm0, xmm0, xmm0
vmovsd xmm1, qword [rsp + 0x2c0]
vmovsd xmm2, qword [rsp + 0x2c8]
vcmpneqpd xmm2, xmm2, xmm0
vcmpneqpd xmm0, xmm1, xmm0
vorpd xmm0, xmm0, xmm2
vmovd eax, xmm0
test al, 1
je 0x140003318
vmulsd xmm0, xmm8, qword [0x1400690b0]
vpermilpd xmm1, xmm7, 1
vsubpd xmm2, xmm6, xmm7
vpermilpd xmm2, xmm2, 1
vmovddup xmm0, xmm0
vmulpd xmm0, xmm0, xmm2
vaddpd xmm1, xmm0, xmm1
vaddpd xmm2, xmm7, xmm7
vpermilpd xmm2, xmm2, 1
vcmplepd xmm1, xmm1, xmm2
vandpd xmm0, xmm1, xmm0
mov rax, qword [0x1400c15d8]
vmovss xmm1, dword [0x1400690b8]
vucomiss xmm1, dword [rax + 0x130]
jb 0x1400032bc
vmovsd xmm1, qword [0x1400690c8]
jmp 0x1400032c4
vmovsd xmm1, qword [0x1400690c0]
mov rcx, qword [0x1400c1598]
vmovapd xmm2, xmmword [rsp + 0x320]
vmovddup xmm1, xmm1
vmulpd xmm0, xmm0, xmm1
vfmaddsub231pd xmm0, xmm2, xmmword [0x1400690d0]
vmulpd xmm0, xmm0, xmmword [0x1400690e0]
vmovapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
lea r8, [rsp + 0xb0]
mov r9d, 0x18
mov rdx, rsi
call fcn.140060750
mov rcx, qword [rsp + 0x348]
xor rcx, rbp
vzeroupper
call fcn.140067310
vmovaps xmm6, xmmword [rbp + 0x2d0]
vmovaps xmm7, xmmword [rbp + 0x2e0]
vmovaps xmm8, xmmword [rbp + 0x2f0]
vmovaps xmm9, xmmword [rbp + 0x300]
vmovaps xmm10, xmmword [rbp + 0x310]
vmovaps xmm11, xmmword [rbp + 0x320]
vmovaps xmm12, xmmword [rbp + 0x330]
vmovaps xmm13, xmmword [rbp + 0x340]
vmovaps xmm14, xmmword [rbp + 0x350]
vmovaps xmm15, xmmword [rbp + 0x360]
lea rsp, [rbp + 0x378]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
vzeroupper
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.1400047b0
int3