Function at 0x140066160
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 - 0x68]
sub rsp, 0x130
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x140093440]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov r15d, r8d
mov qword [rbp - 0x38], rdx
mov rdi, rcx
mov qword [rbp - 0x60], rcx
mov r14, qword [0x140094258]
mov rax, qword [r14 + 0x3ec8]
mov byte [rax + 0xb8], 1
mov rbx, qword [r14 + 0x3ec8]
mov qword [rsp + 0x48], rbx
mov eax, dword [r14 + 0x47a0]
mov dword [rsp + 0x74], eax
xor r12d, r12d
mov dword [r14 + 0x47a0], r12d
cmp byte [rbx + 0xbb], r12b
jne 0x1400666b8
xor r8d, r8d
mov rdx, rcx
mov rcx, rbx
call fcn.140036d40
mov esi, eax
mov dword [rsp + 0x5c], esi
call fcn.140037990
movaps xmm6, xmm0
subss xmm6, dword [0x14007dfd0]
movss xmm8, dword [0x14007e008]
movss dword [rsp + 0x20], xmm8
mov r9b, 1
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.140032aa0
movss xmm3, dword [rbp - 0x64]
movaps xmm1, xmm3
addss xmm1, dword [0x14007dfd4]
movss xmm2, dword [rbx + 0x104]
movaps xmm5, xmm2
addss xmm5, xmm1
movss xmm0, dword [rbx + 0x100]
movaps xmm4, xmm0
addss xmm4, xmm6
addss xmm3, dword [0x14007dfb8]
addss xmm2, xmm3
xorps xmm9, xmm9
addss xmm0, xmm9
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm2
movss dword [rbp - 0x70], xmm4
movss dword [rbp - 0x6c], xmm5
movss xmm0, dword [rbx + 0x100]
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [rbx + 0x104]
movss dword [rbp - 0x54], xmm1
movss dword [rbp - 0x50], xmm4
movss dword [rbp - 0x4c], xmm5
xor r9d, r9d
lea r8, [rbp - 0x78]
mov edx, esi
lea rcx, [rbp - 0x58]
call fcn.140039c90
movss xmm2, dword [rbp - 0x4c]
subss xmm2, dword [rbp - 0x54]
movss xmm0, dword [rbp - 0x50]
subss xmm0, dword [rbp - 0x58]
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm2
movss xmm1, dword [r14 + 0x3834]
lea rcx, [rbp - 0x48]
call fcn.14003a040
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x40]
mov edx, esi
lea rcx, [rbp - 0x78]
call fcn.1400669d0
movzx ebx, al
mov r8d, esi
xor edx, edx
lea rcx, str.ComboPopup
call fcn.140038010
mov edi, eax
mov dword [rbp - 0x48], eax
xor edx, edx
mov ecx, eax
call fcn.140039b10
movzx r12d, al
test bl, bl
je 0x140066345
test al, al
jne 0x140066345
xor edx, edx
mov ecx, edi
call fcn.14003f260
mov r12b, 1
mov ecx, dword [0x140094468]
mov rax, qword gs:[0x58]
mov edx, 8
mov rax, qword [rax + rcx*8]
mov r13d, 8
movss xmm6, dword [0x14007df48]
mov eax, dword [rdx + rax]
cmp dword [0x140094360], eax
jg 0x140066923
xor ebx, ebx
movzx edi, sil
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs rcx, 0x100000001b3
imul rdi, rcx
movzx eax, byte [rsp + 0x5d]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rsp + 0x5e]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rsp + 0x5f]
xor rdi, rax
imul rdi, rcx
mov rcx, rdi
and rcx, qword [0x140094350]
add rcx, rcx
mov r8, qword [0x140094338]
mov rax, qword [r8 + rcx*8 + 8]
mov rdx, qword [0x140094328]
cmp rax, rdx
je 0x140066400
mov rcx, qword [r8 + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x140066403
nop dword [rax]
cmp rax, rcx
je 0x140066400
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x1400663f0
jmp 0x140066403
mov rax, rbx
mov rbx, rdx
test rax, rax
cmovne rbx, rax
cmp rbx, rdx
jne 0x140066479
mov dword [rsp + 0x5c], esi
mov dword [rsp + 0x60], 0
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x78]
lea rcx, [0x140094320]
call fcn.14002a4e0
and rdi, qword [0x140094350]
add rdi, rdi
mov rcx, qword [0x140094338]
mov rax, qword [rcx + rdi*8 + 8]
mov rbx, qword [0x140094328]
cmp rax, rbx
je 0x140066470
mov rcx, qword [rcx + rdi*8]
cmp esi, dword [rax + 0x10]
je 0x140066472
nop
cmp rax, rcx
je 0x140066470
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x140066460
jmp 0x140066472
xor eax, eax
test rax, rax
cmovne rbx, rax
test r12b, r12b
je 0x140066483
movaps xmm1, xmm6
jmp 0x140066487
movaps xmm1, xmm9
subss xmm1, dword [rbx + 0x14]
mulss xmm1, dword [0x1400843dc]
addss xmm1, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm1
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsi + 0x298]
cmp byte [rsp + 0x40], 0
jne 0x1400664ca
test r12b, r12b
jne 0x1400664ca
movdqa xmm0, xmmword [0x140083c00]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
jmp 0x1400664dc
movdqa xmm0, xmmword [0x140084460]
movups xmmword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x5c]
call fcn.140033b00
mov dword [rsp + 0x28], 0
movss xmm7, dword [0x14007df70]
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.14004c540
mov rdi, qword [rsi + 0x298]
mov dword [rsp + 0x48], 0x3f800000
mov dword [rsp + 0x4c], 0x3f800000
mov dword [rsp + 0x50], 0x3f800000
movss xmm0, dword [r14 + 0x37f4]
mulss xmm0, dword [0x1400843e0]
movss dword [rsp + 0x54], xmm0
lea rcx, [rsp + 0x48]
call fcn.140033b00
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.14004c430
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
call fcn.140041750
mov qword [rsp + 0x5c], 0
movss dword [rsp + 0x20], xmm8
mov r9b, 1
xor r8d, r8d
mov rdi, qword [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140032aa0
movss xmm2, dword [rax + 4]
movss xmm0, dword [rbp - 0x70]
subss xmm0, dword [0x14007dfc8]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [0x140084448]
subss xmm1, xmm2
movss xmm0, dword [rbp - 0x6c]
subss xmm0, xmm1
movss dword [rbp - 0x5c], xmm0
movss xmm1, dword [rbp - 0x78]
addss xmm1, dword [0x14007dfb8]
movss dword [rsp + 0x48], xmm1
movss xmm0, dword [rbp - 0x74]
movss xmm8, dword [0x14007df90]
addss xmm0, xmm8
movss dword [rsp + 0x4c], xmm0
xor ecx, ecx
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rdi
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140041a10
test r12b, r12b
je 0x14006663b
movaps xmm1, xmm6
jmp 0x140066643
movss xmm1, dword [0x14007e204]
xor ecx, ecx
call fcn.140036b30
movss xmm2, dword [rbp - 0x70]
subss xmm2, dword [0x14007dfc0]
movss xmm1, dword [rbp - 0x74]
addss xmm1, dword [0x14007e208]
movss xmm0, dword [0x14007dfbc]
movss dword [rsp + 0x20], xmm0
mov r9d, 3
mov r8d, eax
unpcklps xmm2, xmm1
movq rdx, xmm2
mov rcx, qword [rsi + 0x298]
call fcn.140051b20
test r12b, r12b
je 0x1400666b8
mov eax, dword [rsp + 0x74]
mov dword [r14 + 0x47a0], eax
xor edx, edx
mov ecx, dword [rbp - 0x48]
call fcn.140039b10
test al, al
jne 0x1400666f5
mov dword [r14 + 0x47a0], 0
xor al, al
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1400758e0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movss xmm4, dword [rbp - 0x70]
subss xmm4, dword [rbp - 0x78]
test byte [r14 + 0x47a0], 0x10
je 0x140066721
movss xmm0, dword [r14 + 0x47dc]
maxss xmm0, xmm4
movss dword [r14 + 0x47dc], xmm0
jmp 0x140066791
mov eax, r15d
or r15d, 4
test al, 0x1e
cmovne r15d, eax
mov eax, 0xffffffff
test r15b, 4
jne 0x140066756
test r15b, 2
je 0x140066747
mov r13d, 4
jmp 0x140066756
test r15b, 8
mov ecx, 0x14
cmovne eax, ecx
mov r13d, eax
mov ecx, r13d
call fcn.140067320
mulss xmm0, dword [rbx + 0x14]
mov dword [rsp + 0x48], 0x7f7fffff
movss dword [rsp + 0x4c], xmm0
movss dword [rbp - 0x60], xmm4
mov dword [rbp - 0x5c], 0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.140044290
mov r9d, dword [r14 + 0x4880]
lea r8, str.Combo__02d
mov edx, 0x10
lea rcx, [rbp - 0x28]
call fcn.140037d10
lea rcx, [rbp - 0x28]
call fcn.140036530
mov rdi, rax
test rax, rax
je 0x140066881
cmp byte [rax + 0xb7], 0
je 0x140066881
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.140032f60
test r15b, 1
mov ecx, 3
mov eax, 0
cmovne ecx, eax
mov dword [rdi + 0xd4], ecx
mov rdx, rdi
lea rcx, [rbp - 0x48]
call fcn.140037340
movss xmm0, dword [rbp - 0x78]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [rbp - 0x6c]
movss dword [rsp + 0x4c], xmm1
mov dword [rsp + 0x30], 1
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rdi + 0xd4]
lea r8, [rbp - 0x38]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.140035e10
mov qword [rsp + 0x48], 0
movss xmm0, dword [rbp - 0x60]
addss xmm0, xmm9
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rbp - 0x5c]
addss xmm0, xmm8
movss dword [rsp + 0x70], xmm0
lea r8, [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x6c]
call fcn.140044220
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x48]
mov ecx, 2
call fcn.1400401b0
movaps xmm1, xmm7
mov ecx, 9
call fcn.140040240
movaps xmm1, xmm6
mov ecx, 0xa
call fcn.140040240
movdqa xmm0, xmmword [0x140083ae0]
movups xmmword [rbp - 0x38], xmm0
lea rdx, [rbp - 0x38]
mov ecx, 5
call fcn.140040080
movaps xmm1, xmm6
mov ecx, 2
call fcn.140036b30
mov edx, eax
mov ecx, 4
call fcn.1400400e0
xor edx, edx
mov r8d, 0x400014f
lea rcx, [rbp - 0x28]
call fcn.14002f2d0
movzx ebx, al
mov ecx, 3
call fcn.14003f9d0
mov ecx, 2
call fcn.14003f970
test bl, bl
jne 0x14006691c
call fcn.140035920
jmp 0x1400666b8
mov al, 1
jmp 0x1400666ba
lea rcx, [0x140094360]
call fcn.140075ca0
cmp dword [0x140094360], 0xffffffff
jne 0x14006637a
mov ecx, 0x18
call fcn.1400754dc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140094328], rax
xor ebx, ebx
mov qword [0x140094338], rbx
xorps xmm0, xmm0
movdqa xmmword [0x140094340], xmm0
mov qword [0x140094350], 7
mov qword [0x140094358], r13
mov dword [0x140094320], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x140094338]
call fcn.14002ace0
nop
lea rcx, [0x140078fe0]
call fcn.140075750
nop
lea rcx, [0x140094360]
call fcn.140075c34
jmp 0x14006637c