Function at 0x1400497d0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x6280]
mov eax, 0x6380
call fcn.14005d110
sub rsp, rax
movaps xmmword [rsp + 0x6370], xmm6
movaps xmmword [rsp + 0x6360], xmm7
movaps xmmword [rsp + 0x6350], xmm8
movaps xmmword [rsp + 0x6340], xmm9
movaps xmmword [rsp + 0x6330], xmm10
movaps xmmword [rsp + 0x6320], xmm11
movaps xmmword [rsp + 0x6310], xmm12
movaps xmmword [rsp + 0x6300], xmm13
movaps xmmword [rsp + 0x62f0], xmm14
movaps xmmword [rsp + 0x62e0], xmm15
mov rax, qword [0x140073040]
xor rax, rsp
mov qword [rbp + 0x61d0], rax
mov r15, rdx
mov rdi, rcx
mov rsi, qword [0x1400a1e68]
mov rax, qword [rsi + 0x3eb0]
mov byte [rax + 0xb0], 1
mov r14, qword [rsi + 0x3eb0]
movsxd r8, dword [r14 + 0xe8]
mov rax, qword [r14 + 0xf0]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.14001cd30
mov ebx, eax
cmp dword [rsi + 0x3ef8], eax
jne 0x1400498b6
mov r8, rdi
mov edx, 0xb
mov ecx, eax
call fcn.1400335f0
mov rsi, qword [0x1400a1e68]
lea rax, [rsi + 0x37e0]
lea rcx, [rbp - 0x60]
mov r8d, 8
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub r8, 1
jne 0x1400498d0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov rdx, rsi
lea rcx, [rbp + 0x3e0]
call fcn.140015720
nop
movss xmm7, dword [r14 + 0xf8]
movss xmm8, dword [r14 + 0xfc]
mov rsi, qword [0x1400a1e68]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x14004998d
nop word [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x14004998d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140049984
cmp byte [rax], dl
je 0x14004998d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140049970
movss xmm2, dword [rsi + 0x3c10]
movss xmm9, dword [0x140069184]
cmp rdi, rcx
je 0x1400499d3
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm9
movss xmm3, dword [0x140069178]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0x3c08]
call fcn.140042170
movss xmm2, dword [rsp + 0x54]
movss xmm5, dword [rsi + 0x3820]
addss xmm5, xmm5
addss xmm5, dword [rsi + 0x3c10]
addss xmm2, dword [rbp - 8]
addss xmm2, xmm5
call fcn.14002c600
movaps xmm3, xmm0
movaps xmm6, xmm8
addss xmm6, xmm2
movaps xmm4, xmm7
addss xmm4, xmm3
movss dword [rbp + 0x3d0], xmm7
movss dword [rbp + 0x3d4], xmm8
movss dword [rbp + 0x3d8], xmm4
movss dword [rbp + 0x3dc], xmm6
movaps xmm2, xmm6
subss xmm2, xmm5
movaps xmm0, xmm4
subss xmm0, xmm3
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm2
movss dword [rsp + 0x70], xmm4
movss dword [rsp + 0x74], xmm6
subss xmm6, xmm8
subss xmm4, xmm7
movss dword [rbp - 0x70], xmm4
movss dword [rbp - 0x6c], xmm6
movaps xmm1, xmm9
lea rcx, [rbp - 0x70]
call fcn.14002c240
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [rbp + 0x3d0]
call fcn.14002c3b0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x61]
lea r8, [rsp + 0x60]
mov edx, ebx
lea rcx, [rsp + 0x68]
call fcn.1400477c0
movzx r10d, al
not ebx
mov edx, ebx
lea r8, [0x140062cd9]
mov r9b, 0x23
lea r11, [0x140063c90]
nop dword [rax]
cmp r9b, 0x23
jne 0x140049ad2
cmp byte [r8], r9b
jne 0x140049ad2
cmp byte [r8 + 1], r9b
cmove edx, ebx
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r11 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x140049ac0
not edx
mov r8, qword [0x1400a1e68]
movsxd rax, dword [r8 + 0x4868]
cmp dword [r8 + 0x4858], eax
jle 0x140049b1d
imul rcx, rax, 0x38
mov rax, qword [r8 + 0x4860]
cmp dword [rcx + rax], edx
jne 0x140049b1d
mov sil, 1
jmp 0x140049b20
xor sil, sil
test r10b, r10b
je 0x140049b34
test sil, sil
jne 0x140049b34
mov ecx, edx
call fcn.14002d470
mov sil, 1
movss xmm0, dword [0x140068fe4]
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [0x1400690b8]
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [0x140069054]
movzx r8d, sil
xor edx, edx
mov rcx, rdi
call fcn.140050760
movss dword [rbp - 0x68], xmm0
movss xmm1, dword [0x140068fe4]
movss dword [rsp + 0x28], xmm1
movss xmm14, dword [0x140069038]
movss dword [rsp + 0x20], xmm14
xorps xmm13, xmm13
xorps xmm3, xmm3
movzx ebx, byte [rsp + 0x60]
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140050760
movss xmm0, dword [0x140068fec]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm14
xorps xmm3, xmm3
movzx r8d, sil
mov edx, 2
mov rcx, rdi
call fcn.140050760
movss dword [rbp - 0x70], xmm0
test bl, bl
jne 0x140049be2
test sil, sil
jne 0x140049be2
xor r8d, r8d
jmp 0x140049be5
mov r8b, 1
movss xmm0, dword [0x140068fe4]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm14
xorps xmm3, xmm3
mov edx, 3
mov rcx, rdi
call fcn.140050760
movaps xmm10, xmm0
mov r9, qword [0x1400a1e68]
movups xmm1, xmmword [r9 + 0x38b8]
movups xmmword [rsp + 0x50], xmm1
movss xmm12, dword [r9 + 0x37e0]
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm12
movss dword [rsp + 0x5c], xmm1
lea rcx, [rsp + 0x50]
call fcn.14001d2c0
mov r8d, eax
movzx ecx, al
xorps xmm9, xmm9
cvtsi2ss xmm9, rcx
movss xmm11, dword [0x140068fc4]
mulss xmm9, xmm11
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm8, xmm8
cvtsi2ss xmm8, rcx
mulss xmm8, xmm11
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
mulss xmm7, xmm11
shr r8d, 0x18
mov eax, r8d
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
mulss xmm6, xmm11
movups xmm0, xmmword [r9 + 0x38c8]
movups xmmword [rsp + 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm12
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.14001d2c0
mov r8d, eax
movzx ecx, al
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
mulss xmm3, xmm11
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
mulss xmm2, xmm11
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm11
shr r8d, 0x18
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm11
subss xmm6, xmm0
mulss xmm6, xmm10
addss xmm6, xmm0
subss xmm7, xmm1
mulss xmm7, xmm10
addss xmm7, xmm1
subss xmm8, xmm2
mulss xmm8, xmm10
addss xmm8, xmm2
subss xmm9, xmm3
mulss xmm9, xmm10
addss xmm9, xmm3
movss dword [rsp + 0x50], xmm9
movss dword [rsp + 0x54], xmm8
movss dword [rsp + 0x58], xmm7
movss dword [rsp + 0x5c], xmm6
lea rcx, [rsp + 0x50]
call fcn.14001d2c0
movzx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x50], xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x54], xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm11
movss dword [rsp + 0x58], xmm0
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm11
movss dword [rsp + 0x5c], xmm0
movups xmm0, xmmword [r9 + 0x3928]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm12
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.14001d2c0
movzx ecx, sil
neg cl
sbb edx, edx
and edx, 0x30
mov dword [rsp + 0x28], edx
movss xmm0, dword [rbp - 0x1c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x68]
mov rcx, qword [r14 + 0x290]
call fcn.14003e2e0
movss xmm15, dword [rsp + 0x68]
test sil, sil
je 0x140049ea8
mov rax, qword [0x1400a1e68]
movups xmm0, xmmword [rax + 0x3a68]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.14001d2c0
movss xmm6, dword [rsp + 0x74]
movaps xmm0, xmm6
subss xmm0, xmm14
movss dword [rsp + 0x78], xmm15
movss dword [rsp + 0x7c], xmm0
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x78]
mov rcx, qword [r14 + 0x290]
call fcn.14003e2e0
jmp 0x140049eae
movss xmm6, dword [rsp + 0x74]
mov rcx, qword [0x1400a1e68]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, qword [rax + 0x290]
mov eax, dword [rcx + 0x20]
mov dword [0x1400a1e64], eax
lea rcx, [rsp + 0x50]
call fcn.14001d2c0
mov r8d, eax
movss xmm12, dword [rsp + 0x6c]
movaps xmm3, xmm12
addss xmm3, xmm6
mulss xmm3, dword [0x140069004]
subss xmm3, dword [0x140069094]
movss xmm14, dword [rsp + 0x70]
movaps xmm2, xmm14
movss xmm11, dword [rbp - 0x24]
subss xmm2, xmm11
subss xmm2, dword [0x1400690ec]
mov rcx, qword [r14 + 0x290]
mov rax, qword [rcx + 0x38]
movss xmm6, dword [rax + 0x10]
movaps xmm7, xmm6
mulss xmm7, dword [0x140068ff4]
mulss xmm7, dword [0x140068ff8]
mulss xmm6, dword [0x140069004]
movaps xmm4, xmm6
mulss xmm4, dword [0x140068ff8]
addss xmm4, xmm3
addss xmm6, xmm2
movaps xmm5, xmm7
mulss xmm5, dword [0x14006901c]
movaps xmm3, xmm7
mulss xmm3, dword [0x14006917c]
addss xmm3, xmm4
movaps xmm0, xmm7
mulss xmm0, dword [0x140069028]
addss xmm0, xmm6
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm3
movaps xmm1, xmm7
mulss xmm1, dword [0x140069028]
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm3
addss xmm5, xmm4
mulss xmm7, xmm13
addss xmm7, xmm6
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm5
mov dword [rsp + 0x20], r8d
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x50]
call fcn.14003e490
lea rcx, [rsp + 0x50]
call fcn.140019ee0
movss xmm7, dword [rax]
movss xmm6, dword [rax + 4]
movss xmm9, dword [rbp - 0x68]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm5, xmm0
movaps xmm9, xmm7
mulss xmm9, xmm5
movaps xmm1, xmm6
mulss xmm1, xmm8
addss xmm9, xmm1
subss xmm9, xmm6
movaps xmm10, xmm7
mulss xmm10, xmm8
mulss xmm6, xmm5
subss xmm10, xmm6
subss xmm10, xmm7
mov rcx, qword [0x1400a1e68]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov r8, qword [rax + 0x290]
movsxd rdx, dword [0x1400a1e64]
cmp edx, dword [r8 + 0x20]
jge 0x14004a0d1
lea rcx, [rdx + rdx*4]
shl rcx, 2
mov rax, qword [r8 + 0x28]
movaps xmm4, xmm5
mulss xmm4, dword [rcx + rax]
movaps xmm0, xmm8
mulss xmm0, dword [rcx + rax + 4]
addss xmm4, xmm0
subss xmm4, xmm9
movaps xmm1, xmm8
mulss xmm1, dword [rcx + rax]
movaps xmm0, xmm5
mulss xmm0, dword [rcx + rax + 4]
subss xmm1, xmm0
subss xmm1, xmm10
movss dword [rcx + rax], xmm1
movss dword [rcx + rax + 4], xmm4
inc edx
add rcx, 0x14
cmp edx, dword [r8 + 0x20]
jl 0x14004a080
mov r9b, 1
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rbp + 0x3d0]
call fcn.14001dab0
movss xmm6, dword [rsp + 0x74]
movaps xmm2, xmm6
subss xmm2, xmm13
movaps xmm1, xmm11
subss xmm1, dword [0x14006911c]
movaps xmm0, xmm14
subss xmm0, xmm1
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm2
mov r9b, 1
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x68]
mov rcx, qword [r14 + 0x290]
call fcn.14003b8b0
test r15, r15
je 0x14004a22a
mov r10, qword [r14 + 0x290]
mov r8, qword [0x1400a1e68]
movups xmm0, xmmword [r8 + 0x38b8]
movups xmmword [rbp + 0x3d0], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37e0]
movss dword [rbp + 0x3dc], xmm0
lea rcx, [rbp + 0x3d0]
call fcn.14001d2c0
mov r9d, eax
addss xmm12, dword [rbp - 0x20]
addss xmm11, xmm15
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x54], xmm12
mov rcx, qword [r8 + 0x58]
mov rdx, qword [rcx + 0x60]
mov r8, qword [rdx + 0x20]
movss xmm2, dword [r8 + 0x14]
test eax, 0xff000000
je 0x14004a22a
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r15 + rcx], 0
jne 0x14004a1b4
add rcx, r15
cmp r15, rcx
je 0x14004a22a
test r8, r8
jne 0x14004a1d3
mov rax, qword [r10 + 0x38]
mov r8, qword [rax + 8]
ucomiss xmm2, xmm13
jp 0x14004a1e4
jne 0x14004a1e4
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp + 0x3d0], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm13
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r15
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x50]
mov rdx, r10
mov rcx, r8
call fcn.140042390
mov rcx, qword [r14 + 0x290]
mov eax, dword [rcx + 0x58]
sub eax, 1
mov dword [rcx + 0x58], eax
jne 0x14004a246
mov rax, qword [rcx + 0x38]
add rax, 0x1c
jmp 0x14004a252
dec eax
cdqe
shl rax, 4
add rax, qword [rcx + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x88], xmm0
call fcn.14003b6d0
test sil, sil
je 0x14004a3a2
mov qword [rsp + 0x50], 0
lea rdx, [rsp + 0x50]
mov ecx, 2
call fcn.14001d740
xor edx, edx
mov r8d, 0x40000ab
mov rcx, rdi
call fcn.140026c40
mov ecx, 1
call fcn.14001d840
movss dword [rsp + 0x50], xmm15
movss dword [rsp + 0x54], xmm6
mov r10, qword [0x1400a1e68]
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, qword [r10 + 0x3eb0]
call fcn.140029840
mov rax, qword [r10 + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [r10 + 0x3eb0]
mov r11, qword [rax + 0x290]
movups xmm0, xmmword [r10 + 0x38f8]
movups xmmword [rbp + 0x3d0], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r10 + 0x37e0]
movss dword [rbp + 0x3dc], xmm0
lea rcx, [rbp + 0x3d0]
call fcn.14001d2c0
mov rdx, qword [r10 + 0x3eb0]
movss xmm0, dword [rdx + 0x18]
movss xmm1, dword [rdx + 0x1c]
addss xmm1, dword [rdx + 0x24]
addss xmm0, dword [rdx + 0x20]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
movsd xmm0, qword [rdx + 0x18]
movsd qword [rbp - 0x80], xmm0
mov dword [rsp + 0x28], 0xc0
movss xmm1, dword [rbp - 0x2c]
movss dword [rsp + 0x20], xmm1
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r11
call fcn.14003e2e0
subss xmm14, xmm15
mov rdx, qword [0x1400a1e68]
mov rcx, qword [rdx + 0x3eb0]
movss dword [rcx + 0x28], xmm14
movss xmm0, dword [rbp + 0x4bb0]
subss xmm0, dword [rbp + 0x4ba8]
mulss xmm0, dword [rbp - 0x70]
mov rcx, qword [rdx + 0x3eb0]
movss dword [rcx + 0x2c], xmm0
lea rcx, [rbp + 0x3e0]
call fcn.140017600
movzx eax, sil
mov rcx, qword [rbp + 0x61d0]
xor rcx, rsp
call fcn.14005c070
lea r11, [rsp + 0x6380]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret