Function at 0x140022b30
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
movss dword [rax + 0x18], xmm2
movss dword [rax + 0x10], xmm1
push rbp
push r13
lea rbp, [rax - 0x78]
sub rsp, 0x168
movaps xmmword [rax - 0x58], xmm7
lea r8, [rsp + 0x38]
movaps xmmword [rax - 0x68], xmm8
mov r13, r9
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x20], rax
movaps xmm8, xmm1
xorps xmm7, xmm7
mov qword [rsp + 0x40], 0
call fcn.140022950
test al, al
je 0x1400230ac
mov rcx, qword [0x1404fda48]
lea rdx, [0x1400d04c9]
mov qword [rsp + 0x180], rbx
mov r8b, 0x23
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x158], rdi
mov rax, qword [rcx + 0x4018]
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x140], r15
lea r15, [0x1400cf910]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x100], xmm9
mov byte [rax + 0xb8], 1
mov r14, qword [rcx + 0x4018]
movaps xmmword [rsp + 0xf0], xmm10
movaps xmmword [rsp + 0xe0], xmm11
movaps xmmword [rsp + 0xd0], xmm12
movsxd rcx, dword [r14 + 0xf0]
mov rax, qword [r14 + 0xf8]
mov rsi, qword [r14 + 0x1a0]
movaps xmmword [rsp + 0xc0], xmm13
movaps xmmword [rsp + 0xb0], xmm14
mov r9d, dword [rax + rcx*4 - 4]
not r9d
movaps xmmword [rsp + 0xa0], xmm15
mov ebx, r9d
cmp r8b, 0x23
jne 0x140022c7b
cmp byte [rdx], r8b
jne 0x140022c7b
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 [r15 + rcx*4]
test r8b, r8b
jne 0x140022c68
mov rax, qword [r14]
not ebx
cmp dword [rax + 0x4060], ebx
jne 0x140022cba
xor r9d, r9d
lea r8, str.vtime
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.140011c90
movsxd rcx, dword [r14 + 0xf0]
lea rdx, [0x1400d04d1]
mov rax, qword [r14 + 0xf8]
mov r8b, 0x23
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x140022cf3
cmp byte [rdx], r8b
jne 0x140022cf3
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r15 + rcx*4]
test r8b, r8b
jne 0x140022ce0
mov rax, qword [r14]
not edi
cmp dword [rax + 0x4060], edi
jne 0x140022d33
xor r9d, r9d
lea r8, str.hmax
mov ecx, edi
lea edx, [r9 + 0xb]
call fcn.140011c90
movaps xmm2, xmm7
mov edx, ebx
mov rcx, rsi
call fcn.140014950
movss xmm13, dword [0x1400d150c]
movaps xmm6, xmm0
addss xmm6, dword [0x1400d14c0]
movaps xmm2, xmm13
mov edx, edi
mov rcx, rsi
call fcn.140014950
movss xmm9, dword [0x1400d14b8]
movaps xmm10, xmm0
addss xmm10, xmm9
movaps xmm2, xmm6
mov edx, ebx
mov rcx, rsi
movss dword [rsp + 0x30], xmm10
call fcn.1400215f0
movaps xmm2, xmm10
mov edx, edi
mov rcx, rsi
call fcn.1400215f0
movaps xmm0, xmmword [0x1400d15f0]
mov eax, 4
cmp byte [rbp + 0xb0], 0
mov r12d, 1
movaps xmm1, xmmword [0x1400d1600]
mov r15d, dword [rbp + 0xa8]
cmovne r12d, eax
movss xmm6, dword [0x1400d1530]
xor edi, edi
movss xmm12, dword [0x1400d154c]
movsd xmm11, qword [0x1400d1520]
movups xmmword [rbp - 0x80], xmm0
movss xmm0, dword [0x1400d1504]
movss dword [rbp - 0x70], xmm0
movups xmmword [rsp + 0x70], xmm1
nop dword [rax]
nop word [rax + rax]
movups xmm2, xmmword [r13]
mov rax, qword [0x1404fda48]
xor ebx, ebx
movaps xmm1, xmm13
movd xmm15, edi
movaps xmmword [rsp + 0x50], xmm2
shufps xmm2, xmm2, 0xff
cvtdq2ps xmm15, xmm15
movaps xmm0, xmm15
mulss xmm0, dword [0x1400d14c8]
subss xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rsp + 0x58]
movss dword [rsp + 0x68], xmm0
mulss xmm1, dword [rax + 0x38f0]
mulss xmm2, xmm1
movss xmm1, dword [rsp + 0x54]
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x6c], xmm2
test r15d, r15d
jle 0x14002302a
mulss xmm15, dword [0x1400d14d4]
movaps xmm1, xmm6
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm10, xmm0
lea rcx, [rsp + 0x60]
movss xmm0, dword [rsp + 0x44]
addss xmm0, xmm8
movss dword [rsp + 0x50], xmm0
call fcn.1400116c0
mov esi, eax
nop
mov eax, 0x38e38e39
mul ebx
mov rax, qword [0x1404fda48]
shr edx, 1
movsd xmm1, qword [rax + 0x3f68]
lea ecx, [rdx + rdx*8]
mov edx, ebx
cvtpd2ps xmm1, xmm1
sub edx, ecx
movsxd rcx, edx
movss xmm0, dword [rsp + rcx*4 + 0x70]
mulss xmm1, dword [rbp + 0xa0]
addss xmm0, xmm13
mulss xmm0, xmm1
movaps xmm1, xmm6
subss xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movaps xmm14, xmm0
test bl, 1
jne 0x140022f09
movaps xmm6, xmm13
jmp 0x140022f11
movss xmm6, dword [0x1400d1588]
test ebx, ebx
jne 0x140022f1b
movaps xmm8, xmm7
jmp 0x140022f51
lea eax, [rbx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400d14e0]
addss xmm0, dword [0x1400d14c4]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm8, xmm0
mulss xmm8, xmm6
addss xmm8, xmm8
mulss xmm8, dword [rbp + 0x90]
movaps xmm3, xmm7
movaps xmm5, xmm12
movaps xmm6, xmm12
movaps xmm4, xmm7
nop
comiss xmm4, xmm10
jae 0x140022fa7
xorps xmm2, xmm2
addss xmm3, xmm9
xorps xmm1, xmm1
addss xmm4, xmm9
cvtss2sd xmm2, xmm5
cvtss2sd xmm1, xmm3
movaps xmm0, xmm1
mulsd xmm0, xmm11
mulsd xmm0, xmm1
subsd xmm2, xmm0
cvtpd2ps xmm6, xmm2
comiss xmm7, xmm6
jbe 0x140022f9d
movaps xmm5, xmm7
movaps xmm3, xmm7
comiss xmm6, xmm7
jae 0x140022f60
movaps xmm6, xmm7
jmp 0x140022fac
divss xmm6, xmm12
movss xmm0, dword [rsp + 0x40]
addss xmm0, xmm8
movss dword [rsp + 0x38], xmm0
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss xmm8, dword [rbp + 0x88]
addss xmm0, xmm0
movss xmm2, dword [rbp + 0x90]
lea rdx, [rsp + 0x38]
mov rcx, qword [r14 + 0x298]
mov r9d, esi
mulss xmm6, xmm8
mov dword [rsp + 0x20], 8
mulss xmm6, xmm0
movss xmm0, dword [rsp + 0x50]
subss xmm0, xmm6
movss dword [rsp + 0x3c], xmm0
call fcn.140029bf0
movss xmm6, dword [0x1400d1530]
inc ebx
cmp ebx, r15d
jl 0x140022eb0
movss xmm10, dword [rsp + 0x30]
inc edi
cmp edi, r12d
jl 0x140022e00
movaps xmm15, xmmword [rsp + 0xa0]
movaps xmm14, xmmword [rsp + 0xb0]
movaps xmm13, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x130]
mov r15, qword [rsp + 0x140]
mov r14, qword [rsp + 0x148]
mov r12, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x110]
add rsp, 0x168
pop r13
pop rbp
ret