Function at 0x140007b00
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1050]
mov eax, 0x1150
call fcn.14006ff40
sub rsp, rax
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x1188], rbx
mov qword [rsp + 0x1190], rsi
mov qword [rsp + 0x1198], rdi
mov rax, qword [0x14009a110]
xor rax, rsp
mov qword [rbp + 0x1040], rax
mov rbx, rcx
mov qword [rsp + 0x70], rcx
xor eax, eax
mov dword [rsp + 0x54], eax
movzx eax, byte [0x1400a10cd]
test al, al
je 0x140008b00
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x440]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x840]
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140007060
test al, al
je 0x140008b13
lea rcx, str.Waiting_for_mouse_ID..._n
call fcn.140021ee0
lea rcx, [0x1400838f4]
call fcn.140021ee0
lea rcx, [rbp + 0x440]
call fcn.140007a20
test al, al
je 0x140008b13
movzx edi, byte [rbp + 0x455]
shl edi, 8
movzx eax, byte [rbp + 0x454]
or edi, eax
mov dword [rbp - 0x78], edi
movzx r14d, byte [rbp + 0x457]
shl r14d, 8
movzx eax, byte [rbp + 0x456]
or r14d, eax
mov dword [rbp - 0x74], r14d
movzx r15d, byte [rbp + 0x459]
shl r15d, 8
movzx eax, byte [rbp + 0x458]
or r15d, eax
mov dword [rbp - 0x70], r15d
movzx r12d, byte [rbp + 0x45b]
shl r12d, 8
movzx eax, byte [rbp + 0x45a]
or r12d, eax
mov dword [rbp - 0x6c], r12d
movzx r13d, byte [rbp + 0x45d]
shl r13d, 8
movzx eax, byte [rbp + 0x45c]
or r13d, eax
mov dword [rbp - 0x68], r13d
movzx ebx, byte [rbp + 0x45e]
mov dword [rbp - 0x64], ebx
cmp byte [rbp + 0x45f], 0
sete sil
mov byte [rbp - 0x60], sil
cmp byte [0x1400a14d3], 0
je 0x140007c84
mov edi, 0x10de
mov qword [rbp - 0x78], rdi
xor eax, eax
mov r14d, eax
mov ebx, eax
mov dword [rbp - 0x64], eax
lea rcx, [rbp - 0x78]
call fcn.1400059c0
movzx eax, byte [rbp + 0x442]
test sil, sil
je 0x140008b04
cmp al, 1
ja 0x140008b04
cmp ebx, 0xff
je 0x140007cc2
test al, al
jne 0x140007cc2
cmp ebx, 0xf
jne 0x140007d02
lea rcx, str.Mouse_ext_id0x0f_detected__recovering_n
call fcn.140021ee0
movzx eax, byte [0x1400a10cd]
test al, al
je 0x140008afb
mov edx, 0x3e8
mov rcx, qword [0x1400a1580]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140007cee
mov byte [0x1400a10cc], 1
movzx eax, byte [0x1400a10cc]
test al, al
jne 0x140008afb
jmp 0x140007bb1
mov dword [rsp + 0x64], 0xffffffff
mov dword [rbp - 0x80], 0xffffffff
mov byte [rsp + 0x50], 0
xor eax, eax
mov dword [rsp + 0x6c], eax
or r11d, 0xffffffff
mov dword [rsp + 0x5c], r11d
or r10d, r11d
mov dword [rsp + 0x58], r11d
mov r9d, eax
mov rax, qword [rsp + 0x70]
mov rsi, qword [rax]
mov qword [rsp + 0x70], rsi
mov rax, qword [rax + 8]
mov qword [rbp + 0x150], rax
mov rcx, rax
sub rcx, rsi
movabs rax, 0x4ec4ec4ec4ec4ec5
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140007e33
lea r8, [rsi + 0x4c]
cmp dword [r8 - 0xc], edi
je 0x140007d7e
or edx, 0xffffffff
jmp 0x140007dc0
movzx eax, byte [r8]
test al, al
je 0x140007d8c
test ebx, ebx
je 0x140007d90
jmp 0x140007d95
test ebx, ebx
je 0x140007d95
or edx, 0xffffffff
jmp 0x140007dc0
test al, al
je 0x140007dac
cmp ebx, dword [r8 + 4]
je 0x140007da4
or edx, 0xffffffff
jmp 0x140007dc0
cmp r12d, dword [r8 - 8]
jne 0x140007d90
jmp 0x140007db7
cmp r14d, dword [r8 - 8]
je 0x140007db7
or edx, 0xffffffff
jmp 0x140007dc0
mov edx, r15d
test al, al
cmovne edx, r13d
mov eax, dword [r8 - 4]
cmp edx, eax
je 0x140007e1e
test edx, edx
js 0x140007ddf
cmp r11d, eax
jge 0x140007ddf
mov r11d, eax
mov dword [rsp + 0x5c], eax
mov r10d, r9d
mov dword [rsp + 0x58], edx
inc r9d
add r8, 0x68
mov rcx, qword [rbp + 0x150]
sub rcx, rsi
movabs rax, 0x4ec4ec4ec4ec4ec5
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r9d
cmp rax, rdx
jb 0x140007d73
mov r12d, dword [rsp + 0x5c]
jmp 0x140007e36
movsxd rax, r9d
imul rcx, rax, 0x68
mov r12d, dword [rcx + rsi + 0x48]
mov r10d, r9d
mov dword [rsp + 0x58], edx
jmp 0x140007e36
mov r12d, r11d
xor r13d, r13d
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x150], r13
test r10d, r10d
js 0x140008234
movsxd rax, r10d
imul rsi, rax, 0x68
add rsi, qword [rsp + 0x70]
movzx eax, byte [rsi + 0x61]
mov byte [rsp + 0x50], al
xor ecx, ecx
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rcx
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rcx
movzx eax, byte [rsp + 0x50]
mov byte [rbp + 0x128], al
mov dword [rbp - 0x4c], ecx
mov dword [rbp - 0x58], ecx
mov eax, ecx
mov dword [rbp + 0x160], ecx
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x170], r13
xor r8d, r8d
xor edx, edx
call fcn.1400192f0
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x178], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x180], xmm0
movss xmm0, dword [0x1400875c0]
movss dword [rbp + 0x160], xmm0
lea edx, [r13 + 8]
lea rcx, [rbp + 0x160]
call fcn.14000d8b0
nop
mov dword [rbp - 0x54], 0x1532
movzx r9d, byte [rbp + 0x128]
lea r8, [rbp - 0x54]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x160]
call fcn.140016670
mov dword [rbp - 0x50], 0x1e7d
movzx r9d, byte [rbp + 0x128]
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0x160]
call fcn.140016670
cmp byte [rsi + 0x60], r13b
mov r15d, r13d
jne 0x140007f51
mov r15d, dword [rsi + 0x58]
mov dword [rsp + 0x64], r15d
mov dword [rbp - 0x48], edi
movzx ecx, byte [rbp - 0x78]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp - 0x77]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x76]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x75]
xor rcx, rax
imul rcx, rdx
and rcx, qword [rbp + 0x190]
mov rax, rcx
add rax, rax
mov r9, qword [rbp + 0x178]
mov rax, qword [r9 + rax*8]
lea r10, [rcx + rcx]
mov r8, qword [r9 + r10*8]
mov rdx, qword [rbp + 0x168]
mov qword [rbp + 0x118], rax
cmp r8, rdx
jne 0x140007fd5
mov qword [rbp - 0x40], rdx
mov rcx, rdx
jmp 0x140007fe8
mov rcx, qword [r9 + r10*8 + 8]
mov rcx, qword [rcx]
mov qword [rbp + 0x1a0], rcx
mov qword [rbp - 0x40], rcx
cmp rax, rcx
je 0x140007ffd
cmp edi, dword [rax + 0x10]
je 0x140007ff7
mov rax, qword [rax]
jmp 0x140007fc0
mov qword [rbp + 0x30], rax
jmp 0x140008004
mov qword [rbp + 0x20], rdx
mov rax, rdx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 8], rdx
cmp rdx, rax
je 0x1400080aa
test r15d, r15d
jne 0x1400080aa
lea ecx, [r15 + 0x50]
call fcn.14006f304
mov rbx, rax
mov qword [rsp + 0x70], rax
xor edx, edx
lea r8d, [r15 + 0x50]
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp - 0x38]
mov qword [rsp + 0x78], rax
mov ecx, dword [rbp + 0x160]
mov dword [rbp - 0x38], ecx
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
xor r8d, r8d
xor edx, edx
call fcn.1400192f0
mov qword [rbp - 0x30], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r13
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 0x38]
call fcn.140015720
nop
lea r9, [rbp - 0x38]
mov r8d, r14d
mov edx, edi
mov rcx, rbx
call fcn.1400049e0
nop
mov qword [rbp + 0x150], rax
cmp byte [rax + 8], r15b
jne 0x1400080aa
mov r15d, dword [rsi + 0x58]
mov dword [rsp + 0x64], r15d
mov eax, dword [rsi + 0x58]
mov dword [rbp - 0x80], eax
mov eax, dword [rsi + 0x5c]
mov dword [rsp + 0x6c], eax
test byte [0x1400a1680], 1
je 0x140008163
mov edx, r12d
lea rcx, [rbp + 0x88]
call fcn.140005cf0
mov rdi, rax
mov dword [rsp + 0x54], 1
mov r14d, dword [rsp + 0x58]
mov edx, r14d
lea rcx, [rbp + 0x68]
call fcn.140005cf0
mov r8, rax
mov ebx, 3
mov dword [rsp + 0x54], ebx
cmp qword [rdi + 0x18], 0x10
jb 0x140008105
mov rdi, qword [rdi]
cmp qword [rax + 0x18], 0x10
jb 0x14000810f
mov r8, qword [rax]
lea r9, [rsi + 0x20]
cmp qword [r9 + 0x18], 0x10
jb 0x14000811d
mov r9, qword [r9]
cmp qword [rsi + 0x18], 0x10
jb 0x140008129
mov r10, qword [rsi]
jmp 0x14000812c
mov r10, rsi
movzx ecx, byte [rsp + 0x50]
mov edx, r13d
test r15d, r15d
setne dl
mov eax, r13d
cmp r14d, r12d
setne al
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r8
mov r8, r10
call fcn.140005060
jmp 0x14000816c
mov ebx, dword [rsp + 0x54]
mov r14d, dword [rsp + 0x58]
test bl, 2
je 0x140008182
and ebx, 0xfffffffd
mov dword [rsp + 0x54], ebx
lea rcx, [rbp + 0x68]
call fcn.14000a040
nop
test bl, 1
je 0x14000819a
and ebx, 0xfffffffe
mov dword [rsp + 0x54], ebx
lea rcx, [rbp + 0x88]
call fcn.14000a040
lea r8, [rsi + 0x20]
cmp qword [r8 + 0x18], 0x10
jb 0x1400081a8
mov r8, qword [r8]
cmp qword [rsi + 0x18], 0x10
jb 0x1400081b4
mov rdx, qword [rsi]
jmp 0x1400081b7
mov rdx, rsi
mov dword [rsp + 0x20], r14d
mov r9d, r12d
lea rcx, str.Mouse_match:__s__s__matched_revision___04x__actual_revision___04x_n
call fcn.140021ee0
cmp byte [0x1400a14d1], 0
je 0x140008223
cmp byte [0x1400a10cf], 0
je 0x140008223
cmp qword [0x1400a14d8], 0
jne 0x140008223
mov dword [rsp + 0x20], r14d
mov r9d, dword [rsi + 0x44]
mov r8d, dword [rsi + 0x40]
lea rdx, str._04x__04x__04x.txt
lea rcx, [rbp + 0x418]
call fcn.140011f80
lea r8, [0x1400842ac]
lea rdx, [rbp + 0x418]
lea rcx, [0x1400a14d8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
nop
lea rcx, [rbp + 0x160]
call fcn.140009a30
jmp 0x140008334
test byte [0x1400a1680], 1
je 0x1400082da
mov edx, r15d
lea rcx, [rbp + 0xe8]
call fcn.140005cf0
mov r15, rax
mov dword [rsp + 0x54], 4
mov edx, r14d
lea rcx, [rbp + 0xc8]
call fcn.140005cf0
mov rsi, rax
mov dword [rsp + 0x54], ntohs
mov edx, edi
lea rcx, [rbp + 0xa8]
call fcn.140005cf0
mov ebx, Ordinal_30
mov dword [rsp + 0x54], ebx
cmp qword [r15 + 0x18], 0x10
jb 0x140008296
mov r15, qword [r15]
cmp qword [rsi + 0x18], 0x10
jb 0x1400082a0
mov rsi, qword [rsi]
cmp qword [rax + 0x18], 0x10
jb 0x1400082aa
mov rax, qword [rax]
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], 1
lea rcx, [0x1400838f6]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
mov r9, rsi
mov r8, rax
call fcn.140005060
jmp 0x1400082de
mov ebx, dword [rsp + 0x54]
test bl, 0x10
je 0x1400082f7
and ebx, 0xffffffef
mov dword [rsp + 0x54], ebx
lea rcx, [rbp + 0xa8]
call fcn.14000a040
nop
test bl, 8
je 0x140008310
and ebx, 0xfffffff7
mov dword [rsp + 0x54], ebx
lea rcx, [rbp + 0xc8]
call fcn.14000a040
nop
test bl, 4
je 0x140008328
and ebx, 0xfffffffb
mov dword [rsp + 0x54], ebx
lea rcx, [rbp + 0xe8]
call fcn.14000a040
lea rcx, str.WARNING:_Mouse_not_supported__n
call fcn.140021ee0
mov byte [rbp + 0x1b0], 0
xor edx, edx
mov r8d, 0x11c
lea rcx, [rbp + 0x1b4]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0x2d0], 0
xor edx, edx
mov r8d, 0x11c
lea rcx, [rbp + 0x2d4]
call sub.VCRUNTIME140.dll_memset
mov ebx, r13d
mov dword [rsp + 0x68], ebx
cmp byte [rbp + 0x448], 0xff
setne cl
mov byte [rbp + 0x138], cl
movzx edi, byte [rbp + 0x44a]
shl edi, 8
movzx eax, byte [rbp + 0x449]
or edi, eax
mov dword [rbp + 0x13c], edi
movzx esi, byte [rbp + 0x44c]
shl esi, 8
movzx eax, byte [rbp + 0x44b]
or esi, eax
mov dword [rbp + 0x140], esi
movzx r14d, byte [rbp + 0x44e]
shl r14d, 8
movzx eax, byte [rbp + 0x44d]
or r14d, eax
mov dword [rbp + 0x144], r14d
movzx r15d, byte [rbp + 0x450]
shl r15d, 8
movzx eax, byte [rbp + 0x44f]
or r15d, eax
mov dword [rbp + 0x148], r15d
test cl, cl
jne 0x1400083ff
lea rcx, str.ERROR:_Invalid_latency_rect._n
call fcn.140021ee0
jmp 0x140008436
test byte [0x1400a1680], 1
je 0x14000841d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r14d
mov r9d, esi
mov r8d, edi
call fcn.140004fc0
mov dword [rsp + 0x20], r15d
mov r9d, r14d
mov r8d, esi
mov edx, edi
lea rcx, str.LAT_RECT:_width_d_height_d_tlx_d_tly_d_n
call fcn.140021ee0
lea rdi, [rbp + 0x1c4]
lea rsi, [rbp + 0x1b0]
lea r14, [rbp + 0x474]
mov r15d, 8
mov r8d, dword [rsp + 0x64]
mov r9d, dword [rbp - 0x80]
mov r12d, dword [rsp + 0x6c]
movzx r13d, byte [rsp + 0x50]
nop word [rax + rax]
mov dword [rsp + 0x28], r12d
mov byte [rsp + 0x20], r13b
mov rdx, r14
mov rcx, rsi
call fcn.140005400
cmp byte [rdi - 0x14], 0
je 0x140008494
cmp ebx, dword [rdi]
cmovb ebx, dword [rdi]
mov dword [rsp + 0x68], ebx
add r14, 0xc
add rsi, 0x24
add rdi, 0x24
sub r15, 1
jne 0x140008470
xor r13d, r13d
mov qword [0x1400a15a0], r13
mov qword [0x1400a14e0], r13
mov qword [0x1400a1070], r13
mov edx, 0x1f4
lea rcx, str.Polling_at__dms..._n
call fcn.140021ee0
mov r15d, r13d
movzx eax, byte [0x1400a10cd]
test al, al
je 0x140008a6c
mov edx, 0x1f4
mov rcx, qword [0x1400a1580]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400084fe
mov byte [0x1400a10cc], 1
movzx eax, byte [0x1400a10cc]
test al, al
jne 0x140008a6c
lea rcx, [0x1400842e4]
call fcn.140021ee0
lea rcx, [rbp + 0x840]
call fcn.140007a20
test al, al
jne 0x140008538
cmp r15d, 0xa
jae 0x140008a6c
inc r15d
jmp 0x1400084d2
mov r15d, r13d
mov dword [rsp + 0x60], r13d
mov eax, dword [rbp + 0x440]
cmp eax, dword [rbp + 0x840]
jne 0x140008a60
movzx eax, byte [rbp + 0x844]
dec al
cmp al, 1
jbe 0x14000856c
cmp byte [0x1400a14d3], 0
je 0x1400089c5
mov rax, qword [rbp + 0x454]
cmp rax, qword [rbp + 0x854]
jne 0x140008a30
mov eax, dword [rbp + 0x45c]
cmp eax, dword [rbp + 0x85c]
jne 0x140008a30
mov rcx, qword [rbp + 0x848]
cmp qword [rbp + 0x448], rcx
jne 0x1400085dd
mov eax, dword [rbp + 0x450]
cmp eax, dword [rbp + 0x850]
jne 0x1400085dd
mov eax, dword [rbp + 0x148]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x144]
mov dword [rsp + 0x5c], eax
mov eax, dword [rbp + 0x140]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x13c]
mov dword [rsp + 0x70], eax
jmp 0x1400086aa
cmp cl, 0xff
setne cl
mov byte [rbp + 0x138], cl
movzx ebx, byte [rbp + 0x84a]
shl ebx, 8
movzx eax, byte [rbp + 0x849]
or ebx, eax
mov dword [rsp + 0x70], ebx
mov dword [rbp + 0x13c], ebx
movzx edi, byte [rbp + 0x84c]
shl edi, 8
movzx eax, byte [rbp + 0x84b]
or edi, eax
mov dword [rsp + 0x78], edi
mov dword [rbp + 0x140], edi
movzx esi, byte [rbp + 0x84e]
shl esi, 8
movzx eax, byte [rbp + 0x84d]
or esi, eax
mov dword [rsp + 0x5c], esi
mov dword [rbp + 0x144], esi
movzx r14d, byte [rbp + 0x850]
shl r14d, 8
movzx eax, byte [rbp + 0x84f]
or r14d, eax
mov dword [rsp + 0x58], r14d
mov dword [rbp + 0x148], r14d
test cl, cl
jne 0x140008674
lea rcx, str.ERROR:_Invalid_latency_rect._n
call fcn.140021ee0
jmp 0x1400086aa
test byte [0x1400a1680], 1
je 0x140008691
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8d, ebx
call fcn.140004fc0
mov dword [rsp + 0x20], r14d
mov r9d, esi
mov r8d, edi
mov edx, ebx
lea rcx, str.LAT_RECT:_width_d_height_d_tlx_d_tly_d_n
call fcn.140021ee0
cmp byte [rbp + 0x867], 2
je 0x1400086bf
lea rcx, str.WARNING:_flash_detection_timeout_not_set_to_200ms
call fcn.140021ee0
mov r8d, 0x60
lea rdx, [rbp + 0x874]
lea rcx, [rbp + 0x474]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400087e0
or r12d, 0xffffffff
or r15d, 0xffffffff
mov ebx, r13d
lea rdi, [rbp + 0x2e4]
lea rsi, [rbp + 0x2d0]
lea r14, [rbp + 0x874]
mov r13d, dword [rsp + 0x64]
nop word [rax + rax]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x20], al
mov r9d, dword [rbp - 0x80]
mov r8d, r13d
mov rdx, r14
mov rcx, rsi
call fcn.140005400
cmp byte [rdi - 0x14], 0
je 0x14000874a
mov eax, dword [rdi]
sub eax, dword [rsp + 0x68]
cmp r12d, eax
jbe 0x14000874a
mov r12d, eax
mov r15d, ebx
inc ebx
add r14, 0xc
add rsi, 0x24
add rdi, 0x24
cmp ebx, 8
jl 0x140008710
xor r13d, r13d
cmp r15d, 0xffffffff
je 0x1400087db
cmp r15d, 8
jge 0x1400087a8
movsxd rax, r15d
lea rbx, [rax + rax*8]
shl rbx, 2
mov edi, 8
sub edi, r15d
nop
lea rdx, [rbp + 0x1b0]
add rdx, rbx
lea rcx, [rbp + 0x2d0]
add rcx, rbx
lea r8, [rsp + 0x68]
call fcn.1400056d0
add rbx, 0x24
sub rdi, 1
jne 0x140008780
test r15d, r15d
jle 0x1400087db
mov rbx, r13
mov edi, r15d
lea rdx, [rbp + 0x1b0]
add rdx, rbx
lea rcx, [rbp + 0x2d0]
add rcx, rbx
lea r8, [rsp + 0x68]
call fcn.1400056d0
add rbx, 0x24
sub rdi, 1
jne 0x1400087b3
mov r15d, dword [rsp + 0x60]
lea rax, [rbp + 0x440]
lea rcx, [rbp + 0x840]
mov edx, 8
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x140008800
mov rcx, qword [0x1400a1570]
test rcx, rcx
je 0x1400084d2
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400084d2
mov rcx, qword [0x1400a1570]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rbx, qword [0x1400a1598]
mov esi, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x5c]
mov r15d, dword [rsp + 0x58]
cmp dword [rbx], esi
jne 0x1400088ab
mov eax, dword [rsp + 0x78]
cmp dword [rbx + 4], eax
jne 0x1400088ab
cmp dword [rbx + 8], r14d
jne 0x1400088ab
cmp dword [rbx + 0xc], r15d
je 0x1400088bb
call fcn.1400068a0
mov rbx, qword [0x1400a1598]
mov eax, dword [rsp + 0x78]
mov edi, dword [rbx]
cmp edi, esi
jne 0x1400088d6
cmp dword [rbx + 4], eax
jne 0x1400088d6
cmp dword [rbx + 8], r14d
jne 0x1400088d6
cmp dword [rbx + 0xc], r15d
je 0x1400089bb
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400089bb
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rbp + 0xc41]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0xc40], 1
mov byte [rbp + 0xc41], dil
sar edi, 8
mov byte [rbp + 0xc42], dil
mov eax, dword [rbx + 4]
mov byte [rbp + 0xc43], al
sar eax, 8
mov byte [rbp + 0xc44], al
mov eax, dword [rbx + 8]
mov byte [rbp + 0xc45], al
sar eax, 8
mov byte [rbp + 0xc46], al
mov ebx, dword [rbx + 0xc]
mov byte [rbp + 0xc47], bl
sar ebx, 8
mov byte [rbp + 0xc48], bl
xor dil, dil
cmp byte [0x1400a14d5], dil
je 0x140008983
lea rcx, str.INFO:_turning_latency_measurement_mode_off_n
call fcn.140021ee0
mov edx, 0xe3
call fcn.140022560
mov edi, eax
mov word [rbp + 0x134], 0
mov byte [rsp + 0x20], 1
lea r9, [rbp + 0x134]
call fcn.140022390
mov dword [rbp + 0x3f0], 0xe507e1e7
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x3f4], rax
mov byte [rbp + 0x3fc], bl
lea r8, [rbp + 0x3f0]
mov dl, reloc.WS2_32.dll_listen
call fcn.140001b60
test eax, eax
jne 0x140008a09
cmp byte [0x1400a14d5], al
jne 0x1400089d1
mov r15d, dword [rsp + 0x60]
jmp 0x1400084d2
lea rcx, str.WARNING:_Latency_mode_is_disabled._Stop_polling._n
jmp 0x140008a67
lea rcx, str.INFO:_turning_latency_measurement_mode_on_n
call fcn.140021ee0
mov byte [rbp + 0x130], 0
mov byte [rbp + 0x131], dil
mov byte [rsp + 0x20], 1
lea r9, [rbp + 0x130]
call fcn.140022390
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140008a6c
lea rdx, str.I2C_Write_C
lea rcx, [rbp + 0x40]
call fcn.140002a30
lea rdx, [0x1400964b0]
lea rcx, [rbp + 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
movzx r8d, byte [rbp + r13 + 0x454]
movzx edx, byte [rbp + r13 + 0x854]
lea rcx, str._02hhx__02hhx_n
call fcn.140021ee0
inc r13
cmp r13, 0xc
jb 0x140008a30
lea rcx, str.WARNING:_Mouse_ID_changed._Stop_polling._n
jmp 0x140008a67
lea rcx, str.WARNING:_Latency_cap_changed._Stop_polling._n
call fcn.140021ee0
cmp byte [0x1400a14d3], 0
je 0x140008a9c
cmp byte [0x1400a14d4], 0
je 0x140008ad6
test byte [0x1400a1680], 1
je 0x140008a93
lea rdx, [0x140085a60]
call fcn.140004f80
mov byte [0x1400a14d4], 0
jmp 0x140008ad6
cmp byte [0x1400a14d4], 0
je 0x140008ac1
test byte [0x1400a1680], 1
je 0x140008aba
lea rdx, [0x140085a60]
call fcn.140004f80
mov byte [0x1400a14d4], 0
cmp byte [0x1400a14d2], 0
je 0x140008ad6
call fcn.1400297f0
mov byte [0x1400a14d2], 0
mov rbx, qword [rbp + 0x150]
test rbx, rbx
je 0x140008b00
mov rcx, rbx
call fcn.140004bb0
mov edx, 0x50
mov rcx, rbx
call fcn.14006fc30
xor eax, eax
jmp 0x140008b1d
call fcn.140006820
xor eax, eax
jmp 0x140008b1d
movzx edx, al
lea rcx, str.ERROR:_No_mouse_detected_LALL_ERR_X___d___n
call fcn.140021ee0
call fcn.140006820
mov eax, 1
mov rcx, qword [rbp + 0x1040]
xor rcx, rsp
call fcn.14006f2e0
lea r11, [rsp + 0x1150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret