Function at 0x180023f00
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x208]
sub rsp, 0x2d0
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x180096040]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rdi, r8
mov qword [rsp + 0x50], rdx
mov r14, rcx
mov qword [rsp + 0x68], rcx
xor r13d, r13d
mov dword [rsp + 0x58], r13d
mov rbx, qword [0x1800992e8]
mov r15, rbx
mov qword [rsp + 0x60], rbx
mov rax, qword [rbx + 0x3fe0]
mov byte [rax + 0xcd], 1
mov rsi, qword [rbx + 0x3fe0]
cmp byte [rsi + 0xd0], r13b
jne 0x180024b16
movsxd r8, dword [rsi + 0x108]
mov rax, qword [rsi + 0x110]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.18002ce60
mov r12d, eax
cmp dword [rbx + 0x401c], eax
jne 0x180023fe7
mov r8, r14
lea edx, [r13 + 0xb]
mov ecx, eax
call fcn.18004e740
mov rbx, qword [0x1800992e8]
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x18002400d
movzx edx, byte [rcx]
test dl, dl
je 0x18002400d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180024004
cmp byte [rax], dl
je 0x18002400d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180023ff0
movss xmm1, dword [rbx + 0x3d50]
xorps xmm9, xmm9
cmp r14, rcx
jne 0x180024024
xorps xmm12, xmm12
jmp 0x18002407e
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x180084c14]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180084c04]
movaps xmm2, xmm1
lea rdx, [rsp + 0x48]
mov rcx, qword [rbx + 0x3d48]
call fcn.18005e500
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x180084b20]
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
movss xmm1, dword [rsp + 0x4c]
movss xmm3, dword [r15 + 0x3948]
addss xmm3, xmm3
addss xmm3, xmm1
mov rax, qword [rbx + 0x3fe0]
test byte [rbx + 0x409c], 1
je 0x1800240a9
movss xmm0, dword [rbx + 0x40a0]
jmp 0x1800240b1
movss xmm0, dword [rax + 0x1dc]
comiss xmm9, xmm0
jbe 0x1800240f1
movss xmm1, dword [rax + 0x270]
cmp qword [rax + 0x1c8], r13
jne 0x1800240d1
cmp qword [rbx + 0x44b8], r13
je 0x1800240d9
movss xmm1, dword [rax + 0x240]
subss xmm1, dword [rax + 0x118]
addss xmm1, xmm0
movss xmm0, dword [0x180084b28]
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov rdx, qword [rdi]
lea rcx, [rsp + 0x48]
call fcn.18003c710
movss xmm7, dword [rsi + 0x11c]
movaps xmm10, xmm7
movss xmm13, dword [rsp + 0x4c]
addss xmm10, xmm13
movss xmm11, dword [rsi + 0x118]
movaps xmm8, xmm11
movss xmm14, dword [rsp + 0x48]
addss xmm8, xmm14
movss dword [rbp - 8], xmm11
movss dword [rbp - 4], xmm7
movss dword [rbp], xmm8
movss dword [rbp + 4], xmm10
comiss xmm12, xmm9
jbe 0x180024166
movaps xmm1, xmm12
addss xmm1, dword [r15 + 0x395c]
jmp 0x180024169
xorps xmm1, xmm1
movaps xmm2, xmm10
addss xmm2, xmm9
movaps xmm0, xmm8
addss xmm0, xmm1
movss dword [rbp + 0x18], xmm11
movss dword [rbp + 0x1c], xmm7
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm2
subss xmm2, xmm7
subss xmm0, xmm11
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [r15 + 0x3948]
lea rcx, [rsp + 0x48]
call fcn.18003c350
xor r9d, r9d
xor r8d, r8d
mov edx, r12d
lea rcx, [rbp + 0x18]
call fcn.18003c4c0
test al, al
je 0x180024b16
mov rax, qword [0x1800992e8]
test dword [rax + 0x40b8], 0x100
jne 0x1800241f2
cmp dword [r15 + 0x4284], r12d
je 0x1800241f2
xor dil, dil
jmp 0x1800241f5
mov dil, 1
mov edx, r12d
lea rcx, [rbp - 8]
call fcn.180030190
movzx r13d, al
mov byte [rsp + 0x40], al
test al, al
je 0x180024246
mov rcx, qword [0x1800992e8]
mov dword [rcx + 0x4020], r12d
mov word [rcx + 0x4028], 0
test r12d, r12d
je 0x18002423b
cmp dword [rcx + 0x4024], r12d
je 0x18002423b
xor edx, edx
mov qword [rcx + 0x402c], rdx
mov dword [r15 + 0x43f8], 1
mov ecx, dword [0x180099140]
mov rax, qword gs:[0x58]
mov rbx, qword [rax + rcx*8]
mov eax, 4
mov eax, dword [rbx + rax]
cmp dword [0x18009a868], eax
jle 0x1800242eb
lea rcx, [0x18009a868]
call fcn.1800777d8
cmp dword [0x18009a868], 0xffffffff
jne 0x1800242eb
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x18009a7e0], xmm0
movups xmmword [0x18009a7f0], xmm0
movups xmmword [0x18009a800], xmm0
movups xmmword [0x18009a810], xmm0
movups xmmword [0x18009a820], xmm0
movups xmmword [0x18009a830], xmm0
movups xmmword [0x18009a840], xmm0
movups xmmword [0x18009a850], xmm0
mov qword [0x18009a860], rax
lea rcx, [0x18009a7e0]
call fcn.18001cbe0
lea rcx, [0x18007ad60]
call fcn.180077ba8
nop
lea rcx, [0x18009a868]
call fcn.18007776c
mov eax, 4
mov eax, dword [rbx + rax]
cmp dword [0x18009a8fc], eax
jle 0x18002437d
lea rcx, [0x18009a8fc]
call fcn.1800777d8
cmp dword [0x18009a8fc], 0xffffffff
jne 0x18002437d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x18009a750], xmm0
movups xmmword [0x18009a760], xmm0
movups xmmword [0x18009a770], xmm0
movups xmmword [0x18009a780], xmm0
movups xmmword [0x18009a790], xmm0
movups xmmword [0x18009a7a0], xmm0
movups xmmword [0x18009a7b0], xmm0
movups xmmword [0x18009a7c0], xmm0
mov qword [0x18009a7d0], rax
lea rcx, [0x18009a750]
call fcn.18001cbe0
lea rcx, [0x18007ad50]
call fcn.180077ba8
nop
lea rcx, [0x18009a8fc]
call fcn.18007776c
mov eax, 4
mov eax, dword [rbx + rax]
cmp dword [0x18009a8f8], eax
jle 0x18002440f
lea rcx, [0x18009a8f8]
call fcn.1800777d8
cmp dword [0x18009a8f8], 0xffffffff
jne 0x18002440f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x18009a870], xmm0
movups xmmword [0x18009a880], xmm0
movups xmmword [0x18009a890], xmm0
movups xmmword [0x18009a8a0], xmm0
movups xmmword [0x18009a8b0], xmm0
movups xmmword [0x18009a8c0], xmm0
movups xmmword [0x18009a8d0], xmm0
movups xmmword [0x18009a8e0], xmm0
mov qword [0x18009a8f0], rax
lea rcx, [0x18009a870]
call fcn.18001cbe0
lea rcx, [0x18007ad40]
call fcn.180077ba8
nop
lea rcx, [0x18009a8f8]
call fcn.18007776c
test r13b, r13b
je 0x180024422
cmp byte [r15 + 0x36c0], 0
je 0x180024422
mov al, 1
jmp 0x180024424
xor al, al
lea rbx, [0x18009a818]
test dil, dil
jne 0x180024458
test al, al
jne 0x180024458
cmp byte [r15 + 0x36c0], al
je 0x180024528
cmp dword [r15 + 0x4034], r12d
jne 0x180024528
call fcn.180030120
jmp 0x180024528
cmp dword [r15 + 0x4034], r12d
je 0x180024515
xor eax, eax
mov dword [r15 + 0xda4], eax
mov byte [r15 + 0xda8], al
lea rcx, [r15 + 0xb14]
xor edx, edx
mov r8d, 0x285
call sub.VCRUNTIME140.dll_memset
nop
mov r8, qword [rsp + 0x50]
add r8, 0x38
cmp rbx, r8
je 0x1800244cf
mov eax, dword [r8]
mov dword [0x18009a818], eax
mov r8, qword [r8 + 8]
mov rdx, qword [r8]
lea rcx, [0x18009a820]
call fcn.18001f010
mov rdx, qword [0x18009a828]
mov rcx, rbx
call fcn.18001e8c0
mov rdx, rax
mov rcx, rbx
call fcn.18001e720
nop
lea rcx, [rsp + 0x70]
call fcn.18001cbe0
mov rdx, rax
lea rcx, [0x18009a750]
call fcn.18001cf30
lea rcx, [rsp + 0x70]
call fcn.18001ce40
lea rcx, [rsp + 0x70]
call fcn.18001cbe0
mov rdx, rax
lea rcx, [0x18009a870]
call fcn.18001cf30
lea rcx, [rsp + 0x70]
call fcn.18001ce40
mov rdx, rsi
mov ecx, r12d
call fcn.180030050
mov rcx, rsi
call fcn.18003b260
xor r13b, r13b
cmp dword [r15 + 0x4034], r12d
jne 0x1800248ce
mov ecx, 0x20e
call fcn.18003baa0
test al, al
je 0x1800245b2
call fcn.180030120
lea rdx, [0x18009a7e0]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18001cfe0
test al, al
jne 0x1800248d3
add rbx, 0x38
lea rax, [0x18009a818]
cmp rbx, rax
je 0x1800245aa
mov eax, dword [0x18009a818]
mov dword [rbx], eax
lea rcx, [rbx + 8]
mov r8, qword [0x18009a820]
mov rdx, qword [r8]
call fcn.18001f010
mov rdx, qword [rbx + 0x10]
mov rcx, rbx
call fcn.18001e8c0
mov rdx, rax
mov rcx, rbx
call fcn.18001e720
nop
mov r13b, 1
jmp 0x1800248ce
mov rcx, qword [0x1800992e8]
mov word [rcx + 0x42c4], 0
cmp byte [rcx + 0x42ad], r13b
setne al
mov byte [rcx + 0x42ac], al
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0x30]
call fcn.18001cbe0
mov dword [rsp + 0x58], 1
mov rax, qword [0x1800992e8]
lea r14, [rax + 8]
mov edi, 0x200
mov esi, 0x8f8
lea rbx, [r14 + 0xd0c]
cmp byte [rbx], 0
je 0x18002465c
movzx eax, word [rsi + rax + 8]
mov word [rsp + 0x42], ax
lea r8, [rsp + 0x42]
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x68]
call fcn.18001edd0
mov rax, qword [0x1800992e8]
inc edi
add rsi, 4
inc rbx
cmp edi, 0x281
jl 0x180024634
xor ebx, ebx
mov edi, 0xf8
add r14, 0xd9c
lea esi, [rbx + 6]
lea edx, [rbx + 5]
lea r8d, [rbx + 4]
lea r9d, [rbx + 2]
lea r15d, [rbx + 1]
nop dword [rax]
cmp byte [r14], 0
je 0x180024724
cmp ebx, 4
jbe 0x1800246a6
movzx eax, word [rdi + rax + 8]
jmp 0x1800246f9
mov ecx, ebx
test ebx, ebx
je 0x1800246f5
sub ecx, r15d
je 0x1800246ef
sub ecx, r15d
je 0x1800246e9
sub ecx, r15d
je 0x1800246e4
cmp ecx, r15d
je 0x1800246df
lea r8, str.Failed_to_find_legacy_input
mov edx, 0x105
lea rcx, str.D:Apps_bryuhSLA_Cheeto_srcgameHotkey.cpp
call fcn.1800268e0
mov eax, 0xffffffff
jmp 0x1800246f9
movzx eax, si
jmp 0x1800246f9
movzx eax, dx
jmp 0x1800246f9
movzx eax, r8w
jmp 0x1800246f9
movzx eax, r9w
jmp 0x1800246f9
movzx eax, r15w
mov word [rsp + 0x42], ax
lea r8, [rsp + 0x42]
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x68]
call fcn.18001edd0
mov rax, qword [0x1800992e8]
mov edx, 5
lea r8d, [rdx - 1]
lea r9d, [rdx - 3]
inc ebx
add rdi, 4
inc r14
cmp ebx, 5
jl 0x180024690
cmp qword [rbp + 0x78], 0
mov r15, qword [rsp + 0x60]
jne 0x180024759
cmp qword [0x18009a798], 0
je 0x180024759
call fcn.180030120
xor r13b, r13b
jmp 0x18002487e
mov r9, qword [rbp + 0x70]
mov rax, qword [r9]
cmp rax, r9
je 0x180024882
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov r11, qword [0x18009a8d8]
mov r10, qword [0x18009a8c0]
mov rbx, qword [0x18009a8b0]
nop dword [rax]
nop word [rax + rax]
movzx edx, word [rax + 0x10]
movzx r8d, dl
xor r8, rsi
imul r8, rdi
mov ecx, edx
shr rcx, 8
xor r8, rcx
imul r8, rdi
and r8, r11
add r8, r8
mov rcx, qword [r10 + r8*8 + 8]
cmp rcx, rbx
je 0x1800247e7
mov r8, qword [r10 + r8*8]
cmp dx, word [rcx + 0x10]
je 0x1800247e9
cmp rcx, r8
je 0x1800247e7
mov rcx, qword [rcx + 8]
cmp dx, word [rcx + 0x10]
jne 0x1800247d6
jmp 0x1800247e9
xor ecx, ecx
test rcx, rcx
je 0x1800247fe
mov rcx, qword [rax]
mov rax, rcx
cmp rcx, r9
jne 0x1800247a0
jmp 0x180024882
mov eax, dword [rbp + 0x68]
mov dword [0x18009a788], eax
mov rdx, qword [r9]
mov r8, r9
lea rcx, [0x18009a790]
call fcn.18001f010
mov rdx, qword [0x18009a798]
lea rcx, [0x18009a788]
call fcn.18001e8c0
mov rdx, rax
lea rcx, [0x18009a788]
call fcn.18001e720
nop
mov rbx, qword [rsp + 0x50]
add rbx, 0x38
lea rax, [rbp + 0x68]
cmp rbx, rax
je 0x18002487b
mov eax, dword [rbp + 0x68]
mov dword [rbx], eax
lea rcx, [rbx + 8]
mov r8, qword [rbp + 0x70]
mov rdx, qword [r8]
call fcn.18001f010
mov rdx, qword [rbx + 0x10]
mov rcx, rbx
call fcn.18001e8c0
mov rdx, rax
mov rcx, rbx
call fcn.18001e720
nop
mov r13b, 1
mov r9, qword [rbp + 0x70]
mov eax, dword [rbp + 0x68]
mov dword [0x18009a8a8], eax
mov rdx, qword [r9]
mov r8, r9
lea rcx, [0x18009a8b0]
call fcn.18001f010
mov rdx, qword [0x18009a8b8]
lea rcx, [0x18009a8a8]
call fcn.18001e8c0
mov rdx, rax
lea rcx, [0x18009a8a8]
call fcn.18001e720
nop
lea rcx, [rbp + 0x30]
call fcn.18001ce40
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov eax, dword [str.Empty]
mov dword [rbp + 0xc0], eax
movzx eax, word [0x18007ed18]
mov word [rbp + 0xc4], ax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc6], xmm0
movups xmmword [rbp + 0xd6], xmm0
movups xmmword [rbp + 0xe6], xmm0
movups xmmword [rbp + 0xf6], xmm0
movups xmmword [rbp + 0x106], xmm0
movups xmmword [rbp + 0x116], xmm0
movups xmmword [rbp + 0x126], xmm0
mov qword [rbp + 0x136], rax
mov word [rbp + 0x13e], ax
cmp dword [r15 + 0x4034], r12d
jne 0x180024941
mov ecx, 0x158
jmp 0x180024951
movzx ecx, byte [rsp + 0x40]
shl rcx, 4
add rcx, 0x138
mov rax, qword [0x1800992e8]
movups xmm0, xmmword [rcx + rax + 0x3908]
movups xmmword [rbp - 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rbp + 4], xmm0
lea rcx, [rbp - 8]
call fcn.18002d3f0
mov r8d, eax
movss xmm0, dword [r15 + 0x394c]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
movaps xmm1, xmm8
unpcklps xmm1, xmm10
movq rdx, xmm1
movaps xmm2, xmm11
unpcklps xmm2, xmm7
movq rcx, xmm2
call fcn.18002ed40
cmp dword [r15 + 0x4034], r12d
jne 0x1800249df
cmp qword [0x18009a798], 0
jne 0x1800249df
lea r8, str._Press_a_key_
mov edx, 0x80
lea rcx, [rbp + 0xc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
jmp 0x180024a48
lea rdx, [rbp - 8]
mov rcx, rbx
call fcn.18001d260
cmp qword [rax + 0x18], 0xf
jbe 0x1800249f5
mov rax, qword [rax]
mov r8, rax
mov edx, 0x80
lea rcx, [rbp + 0xc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x180024a48
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180024a43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180024a43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800776b0
movss dword [rbp - 8], xmm11
movss dword [rbp - 4], xmm7
addss xmm14, xmm11
movss dword [rbp], xmm14
addss xmm13, xmm7
movss dword [rbp + 4], xmm13
movss xmm2, dword [r15 + 0x3944]
movaps xmm0, xmm8
subss xmm0, xmm2
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [r15 + 0x3948]
subss xmm10, xmm1
movss dword [rsp + 0x4c], xmm10
addss xmm2, xmm11
movss dword [rsp + 0x50], xmm2
addss xmm1, xmm7
movss dword [rsp + 0x54], xmm1
lea rax, [r15 + 0x39a0]
lea rcx, [rbp - 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0xc0]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.18002e450
comiss xmm12, xmm9
jbe 0x180024b10
addss xmm8, dword [r15 + 0x395c]
addss xmm7, dword [r15 + 0x3948]
mov r9b, 1
xor r8d, r8d
mov rdx, r14
unpcklps xmm8, xmm7
movq rcx, xmm8
call fcn.18002dac0
movzx eax, r13b
jmp 0x180024b18
xor al, al
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.180077690
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x50]
movaps xmm7, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret