Function at 0x140047810
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 [0x140075040]
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 [0x140111328]
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 0x1400480c8
movsxd r8, dword [r13 + 0xd0]
mov rax, qword [r13 + 0xd8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140017ee0
mov esi, eax
cmp dword [rbx + 0x3ed4], eax
jne 0x14004790d
mov r8, rdi
mov edx, 0xb
mov ecx, eax
call fcn.14002ec80
mov rbx, qword [0x140111328]
xorps xmm12, xmm12
test r15b, 0x20
je 0x14004791c
xorps xmm6, xmm6
jmp 0x140047930
movss xmm6, dword [rbx + 0x3820]
addss xmm6, xmm6
addss xmm6, dword [rbx + 0x3c00]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x14004795d
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x14004795d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140047954
cmp byte [rax], dl
je 0x14004795d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140047940
movss xmm4, dword [rbx + 0x3c00]
movss xmm14, dword [0x140069f0c]
cmp rdi, rcx
jne 0x140047979
movaps xmm15, xmm12
jmp 0x1400479cc
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm14
movss xmm3, dword [0x140069eec]
movaps xmm2, xmm4
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3bf8]
call fcn.14003e9a0
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x140069cd8]
cvttss2si eax, xmm0
movd xmm15, eax
cvtdq2ps xmm15, xmm15
movss xmm4, dword [rsp + 0x44]
and r15d, 0x40
je 0x1400479d8
movaps xmm13, xmm6
jmp 0x1400479e1
call fcn.140027cd0
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 [0x140069e54]
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 [0x140069e4c]
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 0x140047a85
movaps xmm2, xmm15
addss xmm2, dword [r14 + 0x3834]
jmp 0x140047a89
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.140027870
xor r9d, r9d
lea r8, [rbp - 0x68]
mov edx, esi
lea rcx, [rbp - 0x58]
call fcn.1400279e0
test al, al
je 0x1400480c8
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.140043ee0
movzx r10d, al
mov r9d, esi
not r9d
mov edi, r9d
lea rdx, [0x140069829]
mov r8b, 0x23
lea r11, [0x140063d60]
nop word [rax + rax]
cmp r8b, 0x23
jne 0x140047b33
cmp byte [rdx], r8b
jne 0x140047b33
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 0x140047b20
not edi
mov rdx, qword [0x140111328]
movsxd rax, dword [rdx + 0x4080]
cmp dword [rdx + 0x4070], eax
jle 0x140047b7c
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4078]
cmp dword [rcx + rax], edi
jne 0x140047b7c
mov r12b, 1
test r10b, r10b
je 0x140047b92
test r12b, r12b
jne 0x140047b92
xor edx, edx
mov ecx, edi
call fcn.140028c70
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.14001a450
movss xmm11, dword [rbp - 0x5c]
movss xmm8, dword [rbp - 0x64]
test r15d, r15d
jne 0x140047c57
movss xmm6, dword [r14 + 0x3824]
mov rax, qword [0x140111328]
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.140018470
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm11
movaps xmm1, xmm8
addss xmm1, xmm12
movaps xmm0, xmm9
addss xmm0, dword [0x140069e2c]
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.14003a960
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.14001a2f0
mov r13d, dword [rsp + 0x4c]
bt r13d, 0x14
jae 0x140047cc9
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 0x140047d81
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140047d81
test r15d, r15d
jne 0x140047d81
cmp byte [r14 + 0x53e4], bl
je 0x140047d0c
mov rax, qword [0x140111328]
lea rcx, [0x14006983c]
mov qword [rax + 0x5408], rcx
lea rcx, [0x140069838]
mov qword [rax + 0x5410], rcx
mov qword [rbp - 0x58], rbx
movaps xmm0, xmm10
addss xmm0, dword [0x140069e54]
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 [0x140069e30]
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.140019840
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1401114f0], eax
jle 0x140047dfb
lea rcx, [0x1401114f0]
call fcn.14005ec68
cmp dword [0x1401114f0], 0xffffffff
jne 0x140047dfb
mov qword [0x1401114a0], rbx
mov qword [0x1401114a8], rbx
mov ecx, 0x28
call fcn.14005e7c8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1401114a0], rax
lea rcx, [0x140061930]
call fcn.14005eafc
nop
lea rcx, [0x1401114f0]
call fcn.14005ebfc
mov r15, qword [0x1401114a0]
mov rax, qword [r15 + 8]
mov rbx, r15
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x140047e2b
mov rcx, rax
cmp dword [rcx + 0x1c], esi
jae 0x140047e1f
mov rcx, qword [rcx + 0x10]
jmp 0x140047e25
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140047e14
cmp byte [rbx + 0x19], 0
jne 0x140047e36
cmp esi, dword [rbx + 0x1c]
jae 0x140047e39
mov rbx, r15
cmp rbx, r15
jne 0x140047f35
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 0x140047e86
nop
mov qword [rbp - 0x80], rax
cmp dword [rax + 0x1c], esi
jae 0x140047e73
mov dword [rbp - 0x78], r8d
mov rax, qword [rax + 0x10]
jmp 0x140047e80
mov dword [rbp - 0x78], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x140047e60
cmp byte [rcx + 0x19], r8b
jne 0x140047e91
cmp esi, dword [rcx + 0x1c]
jae 0x140047efd
movabs rax, 0x666666666666666
cmp qword [0x1401114a8], rax
je 0x140048129
lea rbx, [0x1401114a0]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r8
mov ecx, 0x28
call fcn.14005e7c8
nop
mov rdx, qword [rbp - 0x58]
mov qword [rax + 0x1c], rdx
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rsp + 0x60], xmm0
mov r8, rax
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140014ef0
mov r15, qword [0x1401114a0]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x140047f27
nop word [rax + rax]
cmp dword [rax + 0x1c], esi
jae 0x140047f1b
mov rax, qword [rax + 0x10]
jmp 0x140047f21
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140047f10
cmp byte [rbx + 0x19], 0
jne 0x140047f32
cmp esi, dword [rbx + 0x1c]
jae 0x140047f35
mov rbx, r15
movss xmm1, dword [r14 + 0x18]
mulss xmm1, dword [0x140069e1c]
movss xmm6, dword [0x140069ce0]
test r12b, r12b
jne 0x140047f54
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 [0x140111270]
call fcn.1400266c0
mov rcx, qword [0x140111328]
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 [0x140111314], eax
mov qword [rbp - 0x58], 0
addss xmm10, dword [0x140069e54]
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm11
addss xmm9, dword [r14 + 0x381c]
addss xmm9, dword [0x140069e6c]
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, [0x140062a58]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4c]
call fcn.140019840
lea rcx, [rsp + 0x60]
call fcn.140044870
movss xmm2, dword [rax + 4]
movss xmm0, dword [rbx + 0x20]
mulss xmm0, dword [0x140069cf4]
movss xmm1, dword [rax]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.1400449d0
call fcn.140026760
comiss xmm15, xmm12
jbe 0x1400480a8
addss xmm7, dword [r14 + 0x3834]
subss xmm7, xmm13
subss xmm7, dword [0x140069e68]
addss xmm8, dword [r14 + 0x3820]
subss xmm8, dword [0x140069dc8]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
unpcklps xmm7, xmm8
movq rcx, xmm7
call fcn.140018f40
test r12b, r12b
je 0x1400480c8
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0x3fa0], eax
mov r8d, r13d
lea rdx, [rbp - 0x68]
mov ecx, edi
call fcn.140048130
jmp 0x1400480ca
xor al, al
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.14005e500
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.140004320
int3