Function at 0x140044920
Capabilities:
Hash data with crc32

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, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov r15d, r8d
mov dword [rsp + 0x4c], r8d
mov qword [rsp + 0x60], rdx
mov rdi, rcx
mov qword [rsp + 0x78], rcx
mov rbx, qword [0x14010b1a8]
mov r14, rbx
mov rax, qword [rbx + 0x3ea0]
mov byte [rax + 0x98], 1
mov r13, qword [rbx + 0x3ea0]
mov eax, dword [rbx + 0x3fa0]
mov dword [rsp + 0x70], eax
xor r12d, r12d
mov dword [rbx + 0x3fa0], r12d
cmp byte [r13 + 0x9b], r12b
jne 0x1400451d8
movsxd r8, dword [r13 + 0xd0]
mov rax, qword [r13 + 0xd8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140014ff0
mov esi, eax
cmp dword [rbx + 0x3ed4], eax
jne 0x140044a1d
mov r8, rdi
mov edx, 0xb
mov ecx, eax
call fcn.14002bd90
mov rbx, qword [0x14010b1a8]
xorps xmm12, xmm12
test r15b, 0x20
je 0x140044a2c
xorps xmm6, xmm6
jmp 0x140044a40
movss xmm6, dword [rbx + 0x3820]
addss xmm6, xmm6
addss xmm6, dword [rbx + 0x3c00]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x140044a6d
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x140044a6d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140044a64
cmp byte [rax], dl
je 0x140044a6d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140044a50
movss xmm4, dword [rbx + 0x3c00]
movss xmm14, dword [0x1400649ac]
cmp rdi, rcx
jne 0x140044a89
movaps xmm15, xmm12
jmp 0x140044adc
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm14
movss xmm3, dword [0x14006498c]
movaps xmm2, xmm4
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3bf8]
call fcn.14003bab0
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x140064788]
cvttss2si eax, xmm0
movd xmm15, eax
cvtdq2ps xmm15, xmm15
movss xmm4, dword [rsp + 0x44]
and r15d, 0x40
je 0x140044ae8
movaps xmm13, xmm6
jmp 0x140044af1
call fcn.140024de0
movaps xmm13, xmm0
mov rax, qword [rbx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rbx + 0x3ea0]
movss xmm2, dword [rax + 0x18]
subss xmm2, dword [rax + 0x64]
movaps xmm1, xmm13
subss xmm1, dword [0x1400648f8]
addss xmm2, xmm1
movss dword [rax + 0xe0], xmm2
mov byte [rax + 0x121], 1
movss xmm5, dword [r14 + 0x3820]
movaps xmm0, xmm5
addss xmm0, xmm5
addss xmm0, xmm4
movss xmm4, dword [r13 + 0xe4]
movaps xmm1, xmm4
addss xmm1, xmm0
movss xmm3, dword [r13 + 0xe0]
movaps xmm0, xmm13
subss xmm0, dword [0x1400648f0]
addss xmm0, xmm3
movss dword [rbp - 0x68], xmm3
movss dword [rbp - 0x64], xmm4
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
comiss xmm15, xmm12
jbe 0x140044b95
movaps xmm2, xmm15
addss xmm2, dword [r14 + 0x3834]
jmp 0x140044b99
movaps xmm2, xmm12
addss xmm1, xmm12
addss xmm0, xmm2
movss dword [rbp - 0x58], xmm3
movss dword [rbp - 0x54], xmm4
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
subss xmm1, xmm4
subss xmm0, xmm3
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movaps xmm1, xmm5
lea rcx, [rsp + 0x40]
call fcn.140024980
xor r9d, r9d
lea r8, [rbp - 0x68]
mov edx, esi
lea rcx, [rbp - 0x58]
call fcn.140024af0
test al, al
je 0x1400451d8
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x49]
mov edx, esi
lea rcx, [rbp - 0x68]
call fcn.140040ff0
movzx r10d, al
mov r9d, esi
not r9d
mov edi, r9d
lea rdx, [0x1400643e9]
mov r8b, 0x23
lea r11, [0x14005e920]
nop word [rax + rax]
cmp r8b, 0x23
jne 0x140044c43
cmp byte [rdx], r8b
jne 0x140044c43
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
xor rcx, rax
shr edi, 8
xor edi, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x140044c30
not edi
mov rdx, qword [0x14010b1a8]
movsxd rax, dword [rdx + 0x4080]
cmp dword [rdx + 0x4070], eax
jle 0x140044c8c
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4078]
cmp dword [rcx + rax], edi
jne 0x140044c8c
mov r12b, 1
test r10b, r10b
je 0x140044ca2
test r12b, r12b
jne 0x140044ca2
xor edx, edx
mov ecx, edi
call fcn.140025d80
mov r12b, 1
movss xmm7, dword [rbp - 0x60]
movaps xmm0, xmm7
subss xmm0, xmm6
movss xmm9, dword [rbp - 0x68]
movaps xmm10, xmm9
maxss xmm10, xmm0
mov r8d, 1
mov edx, esi
lea rcx, [rbp - 0x68]
call fcn.140017560
movss xmm11, dword [rbp - 0x5c]
movss xmm8, dword [rbp - 0x64]
test r15d, r15d
jne 0x140044d67
movss xmm6, dword [r14 + 0x3824]
mov rax, qword [0x14010b1a8]
movups xmm0, xmmword [rax + 0x3a28]
movups xmmword [rbp - 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140015580
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm11
movaps xmm1, xmm8
addss xmm1, xmm12
movaps xmm0, xmm9
addss xmm0, dword [0x1400648cc]
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm1
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x58]
mov rcx, qword [r13 + 0x280]
call fcn.140037a70
movss xmm2, dword [r14 + 0x3824]
movaps xmm0, xmm7
unpcklps xmm0, xmm11
movsd qword [rbp - 0x60], xmm0
movq rdx, xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rbp - 0x68], xmm0
movq rcx, xmm0
call fcn.140017400
mov r13d, dword [rsp + 0x4c]
bt r13d, 0x14
jae 0x140044dd9
movaps xmm0, xmm9
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm8
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm10
shufps xmm0, xmm0, 0x27
movss xmm0, xmm11
shufps xmm0, xmm0, 0x39
movups xmmword [rsp + 0x60], xmm0
movups xmmword [r14 + 0x52f4], xmm0
jmp 0x140044e91
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140044e91
test r15d, r15d
jne 0x140044e91
cmp byte [r14 + 0x53e4], bl
je 0x140044e1c
mov rax, qword [0x14010b1a8]
lea rcx, [0x1400643fc]
mov qword [rax + 0x5408], rcx
lea rcx, [0x1400643f8]
mov qword [rax + 0x5410], rcx
mov qword [rbp - 0x58], rbx
movaps xmm0, xmm10
addss xmm0, dword [0x1400648f8]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm11
movaps xmm1, xmm8
addss xmm1, dword [r14 + 0x3820]
addss xmm1, xmm12
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x381c]
addss xmm0, dword [0x1400648d0]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x50], xmm1
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4c]
call fcn.140016950
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x14010b358], eax
jle 0x140044f0b
lea rcx, [0x14010b358]
call fcn.140059da8
cmp dword [0x14010b358], 0xffffffff
jne 0x140044f0b
mov qword [0x14010b308], rbx
mov qword [0x14010b310], rbx
mov ecx, 0x28
call fcn.140059908
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x14010b308], rax
lea rcx, [0x14005c7c0]
call fcn.140059c3c
nop
lea rcx, [0x14010b358]
call fcn.140059d3c
mov r15, qword [0x14010b308]
mov rax, qword [r15 + 8]
mov rbx, r15
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x140044f3b
mov rcx, rax
cmp dword [rcx + 0x1c], esi
jae 0x140044f2f
mov rcx, qword [rcx + 0x10]
jmp 0x140044f35
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140044f24
cmp byte [rbx + 0x19], 0
jne 0x140044f46
cmp esi, dword [rbx + 0x1c]
jae 0x140044f49
mov rbx, r15
cmp rbx, r15
jne 0x140045045
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x54], 0
mov qword [rbp - 0x80], rax
xor r8d, r8d
mov dword [rbp - 0x78], r8d
mov rcx, r15
test dl, dl
jne 0x140044f96
nop
mov qword [rbp - 0x80], rax
cmp dword [rax + 0x1c], esi
jae 0x140044f83
mov dword [rbp - 0x78], r8d
mov rax, qword [rax + 0x10]
jmp 0x140044f90
mov dword [rbp - 0x78], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x140044f70
cmp byte [rcx + 0x19], r8b
jne 0x140044fa1
cmp esi, dword [rcx + 0x1c]
jae 0x14004500d
movabs rax, 0x666666666666666
cmp qword [0x14010b310], rax
je 0x140045239
lea rbx, [0x14010b308]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r8
mov ecx, 0x28
call fcn.140059908
mov r8, rax
mov rax, qword [rbp - 0x58]
mov qword [r8 + 0x1c], rax
mov qword [r8], r15
mov qword [r8 + 8], r15
mov qword [r8 + 0x10], r15
mov word [r8 + 0x18], 0
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140012080
mov r15, qword [0x14010b308]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x140045037
nop word [rax + rax]
cmp dword [rax + 0x1c], esi
jae 0x14004502b
mov rax, qword [rax + 0x10]
jmp 0x140045031
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140045020
cmp byte [rbx + 0x19], 0
jne 0x140045042
cmp esi, dword [rbx + 0x1c]
jae 0x140045045
mov rbx, r15
movss xmm1, dword [r14 + 0x18]
mulss xmm1, dword [0x1400648bc]
movss xmm6, dword [0x140064790]
test r12b, r12b
jne 0x140045064
movaps xmm14, xmm6
subss xmm14, dword [rbx + 0x20]
mulss xmm14, xmm1
addss xmm14, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm14
mulss xmm14, dword [r14 + 0x37e0]
movss dword [rbx + 0x20], xmm14
mov rcx, qword [0x14010b0f0]
call fcn.1400237d0
mov rcx, qword [0x14010b1a8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
mov rcx, qword [rax + 0x280]
mov eax, dword [rcx + 0x20]
mov dword [0x14010b10c], eax
mov qword [rbp - 0x58], 0
addss xmm10, dword [0x1400648f8]
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm11
addss xmm9, dword [r14 + 0x381c]
addss xmm9, dword [0x140064914]
movss dword [rsp + 0x4c], xmm9
movaps xmm0, xmm8
addss xmm0, dword [r14 + 0x3820]
addss xmm0, xmm6
movss dword [rsp + 0x50], xmm0
xor ecx, ecx
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [0x14005d8a8]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4c]
call fcn.140016950
lea rcx, [rsp + 0x60]
call fcn.140041980
movss xmm2, dword [rax + 4]
movss xmm0, dword [rbx + 0x20]
mulss xmm0, dword [0x1400647a4]
movss xmm1, dword [rax]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.140041ae0
call fcn.140023870
comiss xmm15, xmm12
jbe 0x1400451b8
addss xmm7, dword [r14 + 0x3834]
subss xmm7, xmm13
subss xmm7, dword [0x140064910]
addss xmm8, dword [r14 + 0x3820]
subss xmm8, dword [0x140064868]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
unpcklps xmm7, xmm8
movq rcx, xmm7
call fcn.140016050
test r12b, r12b
je 0x1400451d8
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0x3fa0], eax
mov r8d, r13d
lea rdx, [rbp - 0x68]
mov ecx, edi
call fcn.140045240
jmp 0x1400451da
xor al, al
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.140059640
lea r11, [rsp + 0x160]
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]
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 r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140003f50
int3