Function at 0x180005d90
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rdi, qword [0x1800ad600]
mov rsi, rcx
mov eax, 0x1000001
mov r10d, r9d
or r10d, 2
mov ebp, 0x1000041
test dword [rsp + 0xd0], 0x40000000
mov r14, r8
mov r13, qword [rdi + 0x4008]
mov r15d, edx
cmove r10d, r9d
vmovaps xmmword [rsp + 0x70], xmm6
mov ecx, r10d
and ecx, 0xfffffffb
test r10b, 0x10
vmovaps xmmword [rsp + 0x60], xmm7
cmove ecx, r10d
mov ebx, ecx
and ebx, 0xfffffff7
test cl, 0x20
vmovaps xmmword [rsp + 0x50], xmm9
cmove ebx, ecx
test bl, 0x70
cmove ebp, eax
mov eax, dword [r13 + 0x14]
and eax, 4
or ebp, eax
or ebp, dword [rsp + 0xd0]
test bl, 0xc
jne 0x180005e32
or ebp, 0x102
test bl, bl
jns 0x180005ea8
vmovups xmm0, xmmword [rdi + 0x3a04]
lea rcx, [rdi + 0x4a30]
mov dword [rsp + 0x30], 3
lea rdx, [rsp + 0x30]
vmovups xmmword [rsp + 0x34], xmm0
call fcn.18001d9c0
vmovups xmm0, xmmword [rdi + 0x3a44]
vmovups xmmword [rdi + 0x3a04], xmm0
vmovss xmm1, dword [rdi + 0x3934]
mov ecx, 7
call fcn.180014ac0
vmovss xmm1, dword [rdi + 0x3938]
mov ecx, 8
call fcn.180014ac0
lea rdx, [rdi + 0x392c]
mov ecx, 2
call fcn.180014a30
or ebx, 3
or ebp, 4
or dword [rdi + 0x49b8], 0x100
mov dword [rdi + 0x49f0], ebx
mov rcx, qword [0x1800ad600]
mov r10, qword [rcx + 0x4008]
mov r8, r10
mov r9, qword [r10 + 0x1b8]
test r9, r9
jne 0x180005ee5
lea rax, [r10 + 0x260]
cmp qword [rcx + 0x4da8], r9
je 0x180005eec
lea rax, [r10 + 0x230]
vmovss xmm0, dword [rax + 4]
vmovss xmm4, dword [rax]
vsubss xmm3, xmm0, dword [r10 + 0x114]
xor r12d, r12d
mov eax, ebx
and eax, 0x20
vmovd xmm0, eax
vxorps xmm5, xmm5, xmm5
vmovd xmm1, r12d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm9, xmm5, xmm3, xmm2
vsubss xmm3, xmm4, dword [r10 + 0x110]
vmovd xmm1, r12d
mov eax, ebx
and eax, 0x10
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovsd xmm0, qword [r14]
vblendvps xmm7, xmm5, xmm3, xmm2
vmovsd qword [rsp + 0xb0], xmm0
vmovss xmm3, dword [rsp + 0xb0]
vcomiss xmm5, xmm3
vxorps xmm1, xmm1, xmm1
vxorps xmm6, xmm6, xmm6
vshufps xmm2, xmm0, xmm0, 0x55
ja 0x180005f6e
vcomiss xmm5, xmm2
jbe 0x180005f97
test r9, r9
jne 0x180005f85
cmp qword [rcx + 0x4da8], r12
jne 0x180005f85
add r8, 0x260
jmp 0x180005f8c
add r8, 0x230
vmovss xmm1, dword [r8]
vmovss xmm6, dword [r8 + 4]
vucomiss xmm3, xmm5
vmovss xmm4, dword [0x180078444]
jp 0x180005fad
jne 0x180005fad
vmovaps xmm3, xmm7
jmp 0x180005fc4
vcomiss xmm5, xmm3
jbe 0x180005fc4
vsubss xmm0, xmm1, dword [r10 + 0x110]
vaddss xmm1, xmm0, xmm3
vmaxss xmm3, xmm4, xmm1
vucomiss xmm2, xmm5
jp 0x180005fd3
jne 0x180005fd3
vmovaps xmm2, xmm9
jmp 0x180005fea
vcomiss xmm5, xmm2
jbe 0x180005fea
vsubss xmm0, xmm6, dword [r10 + 0x114]
vaddss xmm1, xmm0, xmm2
vmaxss xmm2, xmm4, xmm1
or dword [rcx + 0x49b8], 2
xor edx, edx
mov dword [rcx + 0x49c0], 1
vmovss dword [rcx + 0x49d8], xmm3
vmovss dword [rcx + 0x49dc], xmm2
mov r9, qword [r13 + 8]
lea rcx, [rsp + 0xb0]
test rsi, rsi
je 0x180006036
mov dword [rsp + 0x28], r15d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rsi
call fcn.18000c3c0
jmp 0x180006047
lea r8, str._s__08X
mov dword [rsp + 0x20], r15d
call fcn.18000c3c0
vmovss xmm6, dword [rdi + 0x3920]
test bl, 1
jne 0x18000605b
mov dword [rdi + 0x3920], r12d
mov rcx, qword [rsp + 0xb0]
mov r8d, ebp
xor edx, edx
call fcn.1800039b0
movzx r14d, al
vmovss dword [rdi + 0x3920], xmm6
test bl, bl
jns 0x180006091
mov ecx, 3
call fcn.180014360
mov ecx, 1
call fcn.180014300
mov rsi, qword [rdi + 0x4008]
cmp word [rsi + 0xcc], 1
mov dword [rsi + 0x88], r15d
jne 0x1800060b7
vmovsd xmm0, qword [rsi + 0x28]
vmovsd qword [r13 + 0x110], xmm0
mov r9d, r15d
lea rdx, [0x180077631]
not r9d
lea r10, [0x180076720]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x1800060e4
cmp byte [rdx], r8b
jne 0x1800060e4
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x1800060d1
not ebx
cmp dword [rdi + 0x406c], ebx
jne 0x180006114
xor edx, edx
xor ecx, ecx
call fcn.180017f50
cmp dword [rdi + 0x4ae8], r15d
jne 0x180006160
bt ebp, 0x17
jb 0x180006160
cmp word [rsi + 0x16c], r12w
jne 0x180006136
cmp byte [rsi + 0x172], r12b
je 0x180006160
xor edx, edx
mov rcx, rsi
call fcn.18000aca0
xor edx, edx
mov rcx, rsi
call fcn.18000f310
mov rdx, rsi
mov ecx, ebx
call fcn.180017f50
mov eax, dword [rdi + 0x4b0c]
mov dword [rdi + 0x4090], eax
vmovaps xmm6, xmmword [rsp + 0x70]
vmovaps xmm7, xmmword [rsp + 0x60]
lea r11, [rsp + 0x80]
movzx eax, r14b
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
vmovaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret