Function at 0x140035370
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, [rax - 0x68]
sub rsp, 0x130
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140046010]
xor rax, rsp
mov qword [rbp - 0x70], rax
mov rsi, qword [0x140046a38]
mov r12, rdx
mov r14, rcx
mov rax, qword [rsi + 0x3e28]
mov byte [rax + 0x90], 1
mov rbx, qword [rsi + 0x3e28]
mov r13d, dword [rsi + 0x3f30]
mov dword [rsi + 0x3f30], 0
cmp byte [rbx + 0x93], 0
jne 0x14003596d
mov rdx, rcx
mov rcx, rbx
call fcn.14000eea0
mov r15, qword [0x140046a38]
mov edi, eax
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x14003542d
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x14003542d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140035424
cmp byte [rax], dl
je 0x14003542d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140035410
movss xmm6, dword [r15 + 0x3b98]
movss xmm13, dword [0x14003eab8]
cmp r14, rcx
je 0x140035477
movss xmm3, dword [0x14003eaac]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
movaps xmm2, xmm6
mov rcx, qword [r15 + 0x3b90]
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm13
call fcn.14002ee30
movss xmm6, dword [rsp + 0x44]
movss xmm5, dword [rbx + 0xd8]
lea rcx, [rsp + 0x40]
movss xmm3, dword [rbx + 0xdc]
movaps xmm2, xmm6
addss xmm2, dword [0x14003ea50]
mov rax, qword [r15 + 0x3e28]
movaps xmm1, xmm5
addss xmm6, dword [0x14003ea14]
movss xmm15, dword [0x14003ea3c]
xorps xmm0, xmm0
addss xmm1, xmm0
movss dword [rbp - 0x80], xmm5
movss xmm4, dword [rax + 0x18]
addss xmm2, xmm3
subss xmm4, xmm15
movss dword [rbp - 0x7c], xmm3
addss xmm6, xmm3
movss dword [rsp + 0x70], xmm1
movss xmm1, dword [rsi + 0x37b8]
addss xmm4, xmm5
movss dword [rbp - 0x74], xmm2
movss dword [rsp + 0x7c], xmm2
subss xmm2, xmm3
movss dword [rsp + 0x74], xmm6
movss dword [rbp - 0x78], xmm4
movss dword [rsp + 0x78], xmm4
subss xmm4, xmm5
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x40], xmm4
call fcn.140018e20
lea r8, [rsp + 0x70]
mov edx, edi
lea rcx, [rbp - 0x80]
xor r9d, r9d
call fcn.140018f70
test al, al
je 0x14003596d
movaps xmmword [rsp + 0x110], xmm7
lea r9, [rsp + 0x50]
movaps xmmword [rsp + 0x100], xmm8
lea r8, [rsp + 0x51]
movaps xmmword [rsp + 0xf0], xmm9
lea rcx, [rsp + 0x70]
movaps xmmword [rsp + 0xe0], xmm10
xor r15d, r15d
movaps xmmword [rsp + 0xd0], xmm11
mov edx, edi
movaps xmmword [rsp + 0xc0], xmm12
mov dword [rsp + 0x20], r15d
call fcn.140033990
not edi
lea rdx, [0x14003e8b9]
mov ebx, edi
lea r9, [0x14003a0e0]
movzx r10d, al
mov r8b, 0x23
cmp r8b, 0x23
jne 0x1400355b5
cmp byte [rdx], r8b
jne 0x1400355b5
cmp byte [rdx + 1], r8b
cmove ebx, edi
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r9 + rcx*4]
test r8b, r8b
jne 0x1400355a3
mov r9, qword [0x140046a38]
not ebx
movsxd rax, dword [r9 + 0x4010]
cmp dword [r9 + 0x4000], eax
jle 0x140035603
lea rcx, [rax + rax*2]
mov rax, qword [r9 + 0x4008]
add rcx, rcx
cmp dword [rax + rcx*8], ebx
jne 0x140035603
mov dil, 1
jmp 0x140035606
xor dil, dil
test r10b, r10b
je 0x140035621
test dil, dil
jne 0x140035621
mov ecx, ebx
call fcn.140019c00
mov r9, qword [0x140046a38]
mov dil, 1
movups xmm0, xmmword [r9 + 0x3890]
lea rcx, [rsp + 0x40]
movss xmm6, dword [r9 + 0x3778]
movss xmm12, dword [rsi + 0x37bc]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rsp + 0x4c], xmm0
call fcn.14000d580
movss xmm9, dword [0x14003e934]
xorps xmm11, xmm11
movups xmm0, xmmword [r9 + 0x38b0]
movzx ecx, al
mov r8d, eax
xorps xmm10, xmm10
movups xmmword [rsp + 0x40], xmm0
shr r8d, 0x18
xorps xmm8, xmm8
shufps xmm0, xmm0, 0xff
cvtsi2ss xmm11, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm7, xmm7
mulss xmm0, xmm6
cvtsi2ss xmm10, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
lea rcx, [rsp + 0x40]
mulss xmm11, xmm9
cvtsi2ss xmm8, rax
mov eax, r8d
cvtsi2ss xmm7, rax
movss dword [rsp + 0x4c], xmm0
mulss xmm10, xmm9
mulss xmm7, xmm9
mulss xmm8, xmm9
call fcn.14000d580
xorps xmm3, xmm3
shufps xmm11, xmm11, 0xe1
movss xmm11, xmm10
movzx ecx, al
movss xmm10, dword [rsp + 0x74]
xorps xmm2, xmm2
shufps xmm11, xmm11, 0xc6
xorps xmm1, xmm1
movss xmm11, xmm8
xorps xmm0, xmm0
movss xmm8, dword [rsp + 0x7c]
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shufps xmm11, xmm11, 0x27
movss xmm11, xmm7
movss xmm7, dword [rsp + 0x78]
mulss xmm3, xmm9
cvtsi2ss xmm2, rcx
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
shr eax, 0x18
shufps xmm11, xmm11, 0x39
shufps xmm3, xmm3, 0xe1
mulss xmm2, xmm9
cvtsi2ss xmm1, rcx
movss xmm3, xmm2
movdqa xmmword [rsp + 0x60], xmm11
shufps xmm3, xmm3, 0xc6
mulss xmm1, xmm9
cvtsi2ss xmm0, rax
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
mulss xmm0, xmm9
movss xmm9, dword [rsp + 0x70]
movups xmmword [rsp + 0x40], xmm11
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movdqa xmmword [rsp + 0x40], xmm3
lea rcx, [rsp + 0x60]
call fcn.14000d580
mov edx, eax
call fcn.14000d820
lea rcx, [rsp + 0x40]
call fcn.14000d580
movaps xmm0, xmm7
movss dword [rsp + 0x20], xmm12
movaps xmm1, xmm9
unpcklps xmm0, xmm8
unpcklps xmm1, xmm10
movq rdx, xmm0
movq rcx, xmm1
mov r8d, eax
mov r9b, 1
call fcn.14000e600
mov r9, qword [0x140046a38]
movaps xmm6, xmm10
subss xmm7, dword [0x14003ea44]
addss xmm6, dword [0x14003ea10]
mov rcx, qword [r9 + 0x3fa8]
movsxd rax, dword [r9 + 0x3fa0]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x384
lea rcx, [rsp + 0x40]
add rax, rax
movups xmmword [r9 + rax*8], xmm0
dec dword [r9 + 0x3fa0]
mov rax, qword [r9 + 0x3e28]
mov byte [rax + 0x90], 1
movups xmm0, xmmword [r9 + 0x3840]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r9 + 0x3778]
movss dword [rsp + 0x4c], xmm0
call fcn.14000d580
mov rcx, qword [r9 + 0x3e28]
movaps xmm0, xmm7
unpcklps xmm0, xmm6
mov r8d, eax
movq rdx, xmm0
movss dword [rsp + 0x20], xmm15
mov rcx, qword [rcx + 0x270]
call fcn.14002f700
mov rcx, qword [rbp - 0x80]
mov r9b, 1
xor r8d, r8d
mov rdx, r14
call fcn.14000d960
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0x110]
test r12, r12
je 0x140035938
mov rcx, qword [0x140046a38]
lea rdx, [rsp + 0x40]
movss xmm3, dword [0x14003eaac]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
movss xmm2, dword [rcx + 0x3b98]
mov rcx, qword [rcx + 0x3b90]
movss dword [rsp + 0x20], xmm13
call fcn.14002ee30
movss xmm0, dword [rsp + 0x44]
subss xmm8, xmm10
mulss xmm0, dword [0x14003e974]
addss xmm9, xmm15
mov r9b, 1
xor r8d, r8d
mov rdx, r12
mulss xmm8, dword [0x14003e974]
addss xmm8, xmm10
subss xmm8, xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.14000d960
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
test dil, dil
je 0x14003596d
lea rdx, [rsp + 0x70]
mov dword [rsi + 0x3f30], r13d
mov ecx, ebx
call fcn.1400359b0
jmp 0x14003596f
xor al, al
mov rcx, qword [rbp - 0x70]
xor rcx, rsp
call fcn.1400373e0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret