Function at 0x140082630
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140113010]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov r14, qword [0x140138b70]
xor r15d, r15d
mov dword [rbp - 0x6c], r9d
mov rdi, rcx
mov qword [rbp - 0x68], rdx
mov r12, r14
mov qword [rsp + 0x40], r14
mov rax, qword [r14 + 0x3ef8]
mov dword [r14 + 0x47d8], r15d
mov byte [rax + 0xb8], 1
mov rbx, qword [r14 + 0x3ef8]
cmp byte [rbx + 0xbb], r15b
jne 0x140082da4
movsxd rax, dword [rbx + 0xf0]
xor edx, edx
mov r8, qword [rbx + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.14004d2e0
mov rcx, qword [rbx]
mov esi, eax
cmp dword [rcx + 0x3f40], eax
jne 0x140082715
mov r8, rdi
lea edx, [r15 + 0xb]
mov ecx, eax
call fcn.140065a70
mov r14, qword [0x140138b70]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x14008273d
nop
movzx edx, byte [rcx]
test dl, dl
je 0x14008273d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140082734
cmp byte [rax], dl
je 0x14008273d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140082720
vmovss xmm6, dword [r14 + 0x3c20]
vxorps xmm7, xmm7, xmm7
cmp rdi, rcx
jne 0x140082756
vxorps xmm8, xmm8, xmm8
jmp 0x1400827a4
vmovss xmm0, dword [0x140102d94]
mov qword [rsp + 0x30], rcx
lea rdx, [rsp + 0x50]
mov rcx, qword [r14 + 0x3c18]
mov qword [rsp + 0x28], rdi
vmovaps xmm2, xmm6
vmovss dword [rsp + 0x20], xmm0
call fcn.140079040
vmovss xmm0, dword [rsp + 0x50]
vaddss xmm1, xmm0, dword [0x140102ba8]
vmovss xmm6, dword [rsp + 0x54]
vcvttss2si eax, xmm1
vxorps xmm8, xmm8, xmm8
vcvtsi2ss xmm8, xmm8, eax
vmovss xmm0, dword [rbx + 0x28]
vsubss xmm1, xmm0, dword [0x140102cbc]
vmovss xmm12, dword [0x140102cec]
vcomiss xmm1, xmm12
jb 0x1400827c8
vminss xmm12, xmm1, dword [0x140102cfc]
vcomiss xmm8, xmm7
jbe 0x1400827d8
vaddss xmm5, xmm6, dword [0x140102cac]
jmp 0x1400827e0
vmovss xmm5, dword [0x140102cac]
vmovss xmm0, dword [rbx + 0x100]
vaddss xmm1, xmm0, dword [0x140102c94]
vmovss xmm2, dword [rbx + 0x104]
vaddss xmm4, xmm0, xmm12
vsubss xmm0, xmm4, xmm1
vaddss xmm3, xmm2, xmm5
vmovss dword [rbp - 0x48], xmm1
vmovss dword [rbp - 0x58], xmm1
vmovss xmm1, dword [r12 + 0x3810]
lea rcx, [rsp + 0x50]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rbp - 0x44], xmm2
vmovss dword [rbp - 0x40], xmm4
vmovss dword [rbp - 0x3c], xmm3
vmovss dword [rbp - 0x54], xmm2
vmovss dword [rbp - 0x50], xmm4
vmovss dword [rbp - 0x4c], xmm3
vmovss dword [rsp + 0x54], xmm5
call fcn.14005d450
lea r8, [rbp - 0x48]
mov edx, esi
lea rcx, [rbp - 0x58]
xor r9d, r9d
call fcn.14005d5a0
test al, al
je 0x140082da4
mov qword [rsp + 0x1d0], r13
lea r9, [rbp - 0x80]
lea r8, [rsp + 0x48]
vmovaps xmmword [rsp + 0x100], xmm13
mov edx, esi
mov dword [rsp + 0x20], r15d
lea rcx, [rbp - 0x48]
call fcn.14007f610
mov r8, qword [0x140138b70]
movzx r13d, al
movsxd rcx, dword [r8 + 0x48b0]
cmp dword [r8 + 0x48a0], ecx
jle 0x1400828bf
imul rdx, rcx, 0x38
mov rcx, qword [r8 + 0x48a8]
cmp dword [rdx + rcx], esi
jne 0x1400828bf
mov r15b, 1
vcomiss xmm8, xmm7
jbe 0x1400828cf
vaddss xmm0, xmm6, dword [0x140102c40]
jmp 0x1400828d7
vmovss xmm0, dword [0x140102c40]
cmp byte [rsp + 0x48], 0
vmovss xmm14, dword [rbp - 0x48]
vaddss xmm13, xmm0, dword [rbp - 0x44]
vmovss xmm15, dword [rbp - 0x40]
vmovss xmm10, dword [rbp - 0x3c]
vmovss dword [rbp - 0x58], xmm14
vmovss dword [rbp - 0x54], xmm13
vmovss dword [rbp - 0x50], xmm15
vmovss dword [rbp - 0x4c], xmm10
jne 0x1400829b6
test r15b, r15b
jne 0x1400829b6
vmovss xmm0, dword [0x140102af4]
vmovss xmm1, dword [r12 + 0x37d0]
vmovss dword [rsp + 0x70], xmm0
vmovss dword [rsp + 0x74], xmm0
vmovss dword [rsp + 0x78], xmm0
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm0
vmovss dword [rsp + 0x58], xmm0
vmovss xmm0, dword [0x140102ae4]
lea rcx, [rsp + 0x70]
vmovss dword [rbp - 0x7c], xmm0
vmovss dword [rbp - 0x78], xmm0
vmovss dword [rbp - 0x74], xmm0
vmovss dword [rsp + 0x60], xmm0
vmovss dword [rsp + 0x64], xmm0
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rsp + 0x7c], xmm1
vmovss dword [rsp + 0x5c], xmm1
vmovss dword [rbp - 0x70], xmm1
vmovss dword [rsp + 0x6c], xmm1
call fcn.14004d860
lea rcx, [rsp + 0x50]
mov r11d, eax
call fcn.14004d860
lea rcx, [rbp - 0x7c]
mov r10d, eax
call fcn.14004d860
lea rcx, [rsp + 0x60]
jmp 0x140082a54
vmovss xmm0, dword [0x140102b0c]
vmovss xmm1, dword [r12 + 0x37d0]
vmovss dword [rsp + 0x60], xmm0
vmovss dword [rsp + 0x64], xmm0
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rbp - 0x7c], xmm0
vmovss dword [rbp - 0x78], xmm0
vmovss dword [rbp - 0x74], xmm0
vmovss xmm0, dword [0x140102af4]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x70], xmm0
vmovss dword [rsp + 0x74], xmm0
vmovss dword [rsp + 0x78], xmm0
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm0
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x6c], xmm1
vmovss dword [rbp - 0x70], xmm1
vmovss dword [rsp + 0x7c], xmm1
vmovss dword [rsp + 0x5c], xmm1
call fcn.14004d860
lea rcx, [rbp - 0x7c]
mov r11d, eax
call fcn.14004d860
lea rcx, [rsp + 0x70]
mov r10d, eax
call fcn.14004d860
lea rcx, [rsp + 0x50]
mov r8d, eax
call fcn.14004d860
mov rcx, qword [rbx + 0x2f0]
lea rdx, [rbp - 0x58]
mov dword [rsp + 0x30], r11d
mov r9d, eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x50]
call fcn.140071b10
vmovss xmm0, dword [0x140102abc]
vmovss xmm11, dword [r12 + 0x37d0]
mov r14, qword [rbx + 0x2f0]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x60], xmm0
vmovss dword [rsp + 0x64], xmm0
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rsp + 0x6c], xmm11
call fcn.14004d860
mov r12d, eax
vmovss xmm9, dword [0x140102b5c]
test eax, 0xff000000
je 0x140082ba4
test byte [r14 + 0x30], 1
mov rcx, r14
vaddss xmm2, xmm14, xmm9
vaddss xmm3, xmm13, xmm9
mov dword [rsp + 0x20], 0
je 0x140082b1d
vsubss xmm0, xmm15, xmm9
vsubss xmm1, xmm10, xmm9
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
vmovss dword [rsp + 0x70], xmm2
vmovss dword [rsp + 0x74], xmm3
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
jmp 0x140082b4f
vsubss xmm0, xmm15, dword [0x140102b58]
vsubss xmm1, xmm10, dword [0x140102b58]
vmovss dword [rsp + 0x70], xmm0
vmovss dword [rsp + 0x74], xmm1
vmovss dword [rsp + 0x50], xmm2
vmovss dword [rsp + 0x54], xmm3
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
vxorps xmm3, xmm3, xmm3
call fcn.140071130
vmovss xmm0, dword [0x140102bb0]
mov r8d, dword [r14 + 0x78]
mov r9d, r12d
mov rdx, qword [r14 + 0x80]
mov rcx, r14
vmovss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.14006f440
mov r12, qword [rsp + 0x40]
mov dword [r14 + 0x78], 0
mov r14, qword [rbx + 0x2f0]
vmovss xmm11, dword [r12 + 0x37d0]
jmp 0x140082ba9
mov r12, qword [rsp + 0x40]
vcomiss xmm8, xmm7
vmovss xmm6, dword [0x140102b94]
jbe 0x140082c05
vmovss xmm0, dword [rbp - 0x44]
vaddss xmm0, xmm0, dword [0x140102c10]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x44], xmm0
vmovss dword [rsp + 0x60], xmm6
vmovss dword [rsp + 0x64], xmm6
vmovss dword [rsp + 0x68], xmm6
vmovss dword [rsp + 0x6c], xmm11
vmovss dword [rsp + 0x40], xmm14
call fcn.14004d860
mov r8d, eax
lea rdx, [rsp + 0x40]
mov r9, rdi
mov rcx, r14
call fcn.140072750
vsubss xmm0, xmm15, dword [0x140102c9c]
mov rcx, qword [rbx + 0x2f0]
lea r8, [rsp + 0x40]
mov r9b, 1
lea rdx, [rbp - 0x58]
vmovss dword [rsp + 0x40], xmm0
vmovss dword [rsp + 0x44], xmm10
call fcn.14006f040
vmovss xmm0, dword [r12 + 0x37d0]
vaddss xmm1, xmm14, dword [0x140102c74]
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm0, xmm13, dword [0x140102c34]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x44], xmm0
vmovss dword [rsp + 0x60], xmm6
vmovss dword [rsp + 0x64], xmm6
vmovss dword [rsp + 0x68], xmm6
vmovss dword [rsp + 0x40], xmm1
call fcn.14004d860
mov r9, qword [rbp - 0x68]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x2f0]
mov r8d, eax
call fcn.140072750
mov rcx, qword [rbx + 0x2f0]
vmovaps xmm13, xmmword [rsp + 0x100]
mov eax, dword [rcx + 0x58]
sub eax, 1
mov dword [rcx + 0x58], eax
jne 0x140082cb6
mov rax, qword [rcx + 0x38]
add rax, 0x1c
jmp 0x140082cc2
dec eax
cdqe
shl rax, 4
add rax, qword [rcx + 0x60]
vmovups xmm0, xmmword [rax]
vmovups xmmword [rcx + 0x88], xmm0
call fcn.14006ee40
mov rcx, qword [rbx + 0x2f0]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
vsubss xmm1, xmm10, dword [0x140102c88]
mov rax, qword [rcx + 0x38]
vmovss xmm8, dword [0x140102c94]
vsubss xmm0, xmm15, xmm8
vmovss xmm6, dword [rax + 0x10]
vmulss xmm2, xmm6, xmm9
vaddss xmm4, xmm0, xmm2
vaddss xmm5, xmm1, xmm2
vmovaps xmm0, xmm5
vfmadd231ss xmm0, xmm6, dword [0x140102b40]
vmovss dword [rsp + 0x44], xmm0
vmovaps xmm0, xmm4
vfmadd231ss xmm0, xmm6, dword [0x140102d74]
vmovaps xmm3, xmm4
vfmadd231ss xmm3, xmm6, dword [0x140102b34]
vmovaps xmm1, xmm5
vfmadd231ss xmm1, xmm6, dword [0x140102d7c]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm5
vmovss dword [rsp + 0x40], xmm3
vmovss dword [rsp + 0x70], xmm3
vmovss dword [rsp + 0x74], xmm1
test r15b, r15b
jne 0x140082d7b
mov dword [rsp + 0x20], 3
jmp 0x140082d83
mov dword [rsp + 0x20], 2
call fcn.140072460
test r13b, r13b
mov r13, qword [rsp + 0x1d0]
jne 0x140082e04
cmp dword [r12 + 0x48e8], esi
je 0x140082e04
test r15b, r15b
jne 0x140082e1f
xor al, al
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.140098e80
lea r11, [rsp + 0x180]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15b, r15b
jne 0x140082e1f
cmp dword [rbx + 0x180], 0
jne 0x140082e18
mov dword [rbx + 0x3f8], esi
mov ecx, esi
call fcn.14005e7e0
mov ecx, dword [rbp - 0x6c]
mov rax, qword [0x140138b70]
test ecx, ecx
jg 0x140082e37
vmovss xmm1, dword [0x140102d50]
jmp 0x140082e64
vmovss xmm2, dword [rax + 0x3820]
vaddss xmm1, xmm2, dword [rax + 0x3c20]
vmovss xmm3, dword [rax + 0x37dc]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vfmsub231ss xmm2, xmm0, xmm1
vaddss xmm0, xmm3, xmm3
vaddss xmm1, xmm2, xmm0
or dword [rax + 0x47d0], 2
lea r8, str.Combo__02d
vsubss xmm0, xmm12, xmm8
vmovss dword [rax + 0x47f4], xmm0
vmovss dword [rax + 0x47f8], xmm1
mov dword [rax + 0x47d8], 1
lea rcx, [rbp - 0x38]
mov r9d, dword [r12 + 0x48b0]
mov edx, 0x10
call fcn.14004d140
movzx r9d, byte [rbp - 0x38]
lea r8, [rbp - 0x37]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140082ef5
lea r11, [0x1400a5d50]
cmp r9b, 0x23
jne 0x140082ed8
cmp byte [r8], r9b
jne 0x140082ed8
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140082ec5
not ecx
call fcn.140054c50
mov rdi, rax
test rax, rax
je 0x14008309b
cmp byte [rax + 0xb7], 0
je 0x14008309b
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14008eb80
mov rbx, qword [0x140138b70]
vmovss xmm1, dword [0x140102fa0]
vmovss xmm3, dword [rbx + 0x3898]
vmovss xmm6, dword [rbx + 0x14]
vmovss xmm2, dword [rbx + 0x3894]
vmovss xmm5, dword [rbx + 0x10]
vaddss xmm0, xmm3, xmm3
vcomiss xmm6, xmm0
jbe 0x140082f5b
vxorps xmm4, xmm3, xmm1
jmp 0x140082f5f
vmovaps xmm4, xmm7
vaddss xmm0, xmm2, xmm2
vcomiss xmm5, xmm0
jbe 0x140082f6f
vxorps xmm0, xmm2, xmm1
jmp 0x140082f73
vmovaps xmm0, xmm7
mov edx, dword [rdi + 0xd4]
vmovss xmm2, dword [rsp + 0x40]
vxorps xmm8, xmm0, xmm1
vaddss xmm11, xmm0, xmm5
vmovdqu xmm0, xmmword [0x140102e40]
lea eax, [rdx + 1]
neg eax
vxorps xmm9, xmm4, xmm1
vaddss xmm6, xmm4, xmm6
vmovss xmm4, dword [rsp + 0x44]
sbb rcx, rcx
vmovdqu xmmword [rsp + 0x60], xmm0
nop dword [rax + rax]
cmp rcx, 0xffffffffffffffff
jne 0x140082fba
mov eax, edx
jmp 0x140082fc2
mov eax, dword [rsp + rcx*4 + 0x60]
cmp eax, edx
je 0x14008302b
vmovaps xmm0, xmm7
vmovaps xmm3, xmm7
cmp eax, 3
jne 0x140082fdb
vmovaps xmm3, xmm14
vmovaps xmm0, xmm10
jmp 0x140083008
cmp eax, 1
jne 0x140082fe7
vmovaps xmm3, xmm14
jmp 0x140082fff
test eax, eax
jne 0x140082ff6
vsubss xmm3, xmm15, xmm2
vmovaps xmm0, xmm10
jmp 0x140083008
cmp eax, 2
jne 0x140083008
vsubss xmm3, xmm15, xmm2
vmovss xmm0, dword [rbp - 0x44]
vsubss xmm0, xmm0, xmm4
vcomiss xmm3, xmm8
vaddss xmm1, xmm2, xmm3
vaddss xmm5, xmm4, xmm0
jb 0x14008302b
vcomiss xmm0, xmm9
jb 0x14008302b
vcomiss xmm1, xmm11
ja 0x14008302b
vcomiss xmm5, xmm6
jbe 0x140083093
inc rcx
cmp rcx, 4
jl 0x140082fb0
vaddss xmm0, xmm2, xmm14
vminss xmm1, xmm0, xmm11
vsubss xmm2, xmm1, xmm2
vaddss xmm0, xmm4, xmm10
vminss xmm1, xmm0, xmm6
vmaxss xmm3, xmm2, xmm8
vsubss xmm2, xmm1, xmm4
vmaxss xmm0, xmm2, xmm9
mov dword [rdi + 0xd4], 0xffffffff
or dword [rbx + 0x47d0], 1
xor eax, eax
mov dword [rbx + 0x47d4], 1
mov qword [rbx + 0x47ec], rax
vmovss dword [rbx + 0x47e4], xmm3
vmovss dword [rbx + 0x47e8], xmm0
jmp 0x1400830a2
mov dword [rdi + 0xd4], eax
jmp 0x140083067
mov rbx, qword [0x140138b70]
vmovss xmm1, dword [rbx + 0x37d8]
vmovss xmm0, dword [rbx + 0x37dc]
vmovss xmm6, dword [r12 + 0x380c]
vmovss xmm7, dword [r12 + 0x37dc]
lea rcx, [rbx + 0x4850]
mov dword [rbp - 0x68], 2
lea rdx, [rbp - 0x68]
vmovss dword [rbp - 0x64], xmm1
vmovss dword [rbp - 0x60], xmm0
call fcn.1400661a0
xor edx, edx
lea rcx, [rbp - 0x38]
mov r8d, 0x4000143
vmovss dword [rbx + 0x37d8], xmm6
vmovss dword [rbx + 0x37dc], xmm7
call fcn.140057a60
mov ecx, 1
movzx ebx, al
call fcn.14004e0b0
test bl, bl
jne 0x140083175
mov rbx, qword [0x140138b70]
mov rcx, qword [rbx + 0x3ef8]
cmp qword [rbx + 0x48d8], rcx
jne 0x140083154
cmp byte [rbx + 0x4951], 0
je 0x140083154
cmp dword [rbx + 0x4910], 0
jne 0x140083154
mov eax, dword [rbx + 0x4954]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4954], eax
test dword [rcx + 0x14], 0x1000000
je 0x140083164
mov byte [rbx + 0x3e5e], 1
call fcn.140059cd0
mov byte [rbx + 0x3e5e], 0
jmp 0x140082da4
mov al, 1
jmp 0x140082da6