Function at 0x180012810
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 - 0x70]
sub rsp, 0x170
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 [0x18028ab00]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x60], rdx
mov r14, rcx
mov rbx, qword [0x180391630]
mov r13, rbx
mov rax, qword [rbx + 0x4030]
mov byte [rax + 0xc8], 1
mov r12, qword [rbx + 0x4030]
mov eax, dword [rbx + 0x4a30]
mov dword [rsp + 0x58], eax
xor esi, esi
mov dword [rbx + 0x4a30], esi
cmp byte [r12 + 0xcb], sil
jne 0x1800133d4
movsxd r8, dword [r12 + 0x108]
mov rax, qword [r12 + 0x110]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.18001cdc0
mov edi, eax
mov dword [rsp + 0x50], eax
mov rcx, qword [r12]
cmp dword [rcx + 0x407c], eax
jne 0x180012909
mov r8, r14
mov edx, ntohs
mov ecx, eax
call fcn.1800420d0
mov rbx, qword [0x180391630]
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x18001292f
movzx edx, byte [rcx]
test dl, dl
je 0x18001292f
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180012926
cmp byte [rax], dl
je 0x18001292f
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180012912
xorps xmm8, xmm8
cmp r14, rcx
jne 0x180012941
movss dword [rsp + 0x54], xmm8
jmp 0x18001299e
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x18025979c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180259768]
movss xmm2, dword [rbx + 0x3d58]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3d50]
call fcn.180085670
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x1802593a8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm0
movss xmm2, dword [r12 + 0x11c]
movaps xmm3, xmm2
addss xmm3, dword [0x1802595fc]
movss xmm0, dword [r12 + 0x118]
movaps xmm1, xmm0
addss xmm1, dword [0x1802596e0]
addss xmm2, dword [0x1802595b8]
addss xmm0, dword [0x180259570]
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm2
movss dword [rbp - 0x78], xmm1
movss dword [rbp - 0x74], xmm3
movss xmm2, dword [r12 + 0x11c]
movaps xmm3, xmm2
addss xmm3, dword [0x180259600]
movss xmm1, dword [r12 + 0x118]
movaps xmm0, xmm1
addss xmm0, dword [0x1802596e8]
movss dword [rbp - 0x68], xmm1
movss dword [rbp - 0x64], xmm2
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm3
subss xmm3, xmm2
subss xmm0, xmm1
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm3
movss xmm1, dword [r13 + 0x3928]
lea rcx, [rbp - 0x58]
call fcn.1800301c0
xor r9d, r9d
lea r8, [rbp - 0x80]
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.18002ff40
test al, al
je 0x1800133d4
mov dword [rsp + 0x20], esi
lea r9, [rbp - 0x70]
lea r8, [rbp - 0x6f]
mov edx, edi
lea rcx, [rbp - 0x80]
call fcn.180097860
movzx r15d, al
mov r9d, edi
not r9d
mov edi, r9d
lea rdx, [0x18023a7f1]
mov r8b, 0x23
lea r10, [0x180235970]
nop dword [rax]
cmp r8b, 0x23
jne 0x180012ab3
cmp byte [rdx], r8b
jne 0x180012ab3
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
xor rcx, rax
shr edi, 8
xor edi, dword [r10 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x180012aa0
not edi
mov rdx, qword [0x180391630]
movsxd rax, dword [rdx + 0x4b18]
cmp dword [rdx + 0x4b08], eax
jle 0x180012afc
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4b10]
cmp dword [rcx + rax], edi
jne 0x180012afc
mov sil, 1
mov rcx, qword [0x180391880]
mov rax, qword [rcx + 8]
mov rbx, rcx
cmp byte [rax + 0x19], 0
jne 0x180012b27
cmp dword [rax + 0x1c], edi
jae 0x180012b1b
mov rax, qword [rax + 0x10]
jmp 0x180012b21
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180012b10
cmp byte [rbx + 0x19], 0
jne 0x180012b32
cmp edi, dword [rbx + 0x1c]
jae 0x180012b35
mov rbx, rcx
cmp rbx, rcx
jne 0x180012b9d
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x58], edi
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp - 0x54], xmm0
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x40]
call fcn.180015f40
mov rcx, qword [0x180391880]
mov rax, qword [rcx + 8]
mov rbx, rcx
cmp byte [rax + 0x19], 0
jne 0x180012b88
cmp dword [rax + 0x1c], edi
jae 0x180012b7c
mov rax, qword [rax + 0x10]
jmp 0x180012b82
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180012b71
cmp byte [rbx + 0x19], 0
jne 0x180012b93
cmp edi, dword [rbx + 0x1c]
jae 0x180012b96
mov rbx, rcx
mov rdx, qword [0x180391630]
movss xmm7, dword [0x1802593b0]
test r15b, r15b
je 0x180012bd1
test sil, sil
jne 0x180012bd1
xor edx, edx
mov ecx, edi
call fcn.180031b50
mov sil, 1
mov rax, qword [0x180391630]
movss xmm2, dword [rax + 0x18]
mulss xmm2, dword [0x180259518]
jmp 0x180012be3
movss xmm2, dword [rdx + 0x18]
mulss xmm2, dword [0x180259518]
test sil, sil
je 0x180012bfe
movaps xmm1, xmm7
subss xmm1, dword [rbx + 0x20]
mulss xmm1, xmm2
addss xmm1, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm1
xor r15d, r15d
jmp 0x180012c1c
movaps xmm1, xmm8
subss xmm1, dword [rbx + 0x20]
mulss xmm1, xmm2
addss xmm1, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm1
xor r15d, r15d
mov dword [rbx + 0x24], r15d
mov rcx, qword gs:[0x58]
mov eax, dword [0x1803907bc]
mov edx, 8
mov rax, qword [rcx + rax*8]
mov eax, dword [rdx + rax]
cmp dword [0x180397e08], eax
jle 0x180012c9d
lea rcx, [0x180397e08]
call fcn.1801cba90
cmp dword [0x180397e08], 0xffffffff
jne 0x180012c9d
mov qword [0x180397df8], r15
mov qword [0x180397e00], r15
mov ecx, 0x30
call fcn.1801cbb08
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180397df8], rax
lea rcx, [0x180211ad0]
call fcn.1801cbe9c
nop
lea rcx, [0x180397e08]
call fcn.1801cba24
mov r15, qword [0x180397df8]
mov rax, qword [r15 + 8]
mov rbx, r15
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x180012cce
mov rcx, rax
cmp dword [rcx + 0x1c], r14d
jae 0x180012cc2
mov rcx, qword [rcx + 0x10]
jmp 0x180012cc8
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180012cb6
cmp byte [rbx + 0x19], 0
jne 0x180012cda
cmp r14d, dword [rbx + 0x1c]
jae 0x180012cdd
mov rbx, r15
cmp rbx, r15
jne 0x180012dea
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov dword [rbp - 0x58], r14d
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp - 0x54], xmm0
mov dword [rbp - 0x4c], ecx
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov dword [rsp + 0x70], r8d
mov rcx, r15
test dl, dl
jne 0x180012d3d
mov qword [rsp + 0x68], rax
cmp dword [rax + 0x1c], r14d
jae 0x180012d29
mov dword [rsp + 0x70], r8d
mov rax, qword [rax + 0x10]
jmp 0x180012d37
mov dword [rsp + 0x70], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x180012d13
cmp byte [rcx + 0x19], r8b
jne 0x180012d49
cmp r14d, dword [rcx + 0x1c]
jae 0x180012db6
movabs rax, 0x555555555555555
cmp qword [0x180397e00], rax
je 0x180013435
lea rbx, [0x180397df8]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r8
mov ecx, 0x30
call fcn.1801cbb08
nop
movups xmm0, xmmword [rbp - 0x58]
movups xmmword [rax + 0x1c], xmm0
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov word [rax + 0x18], 0
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18000d060
mov r15, qword [0x180397df8]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x180012ddb
cmp dword [rax + 0x1c], r14d
jae 0x180012dcf
mov rax, qword [rax + 0x10]
jmp 0x180012dd5
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180012dc3
cmp byte [rbx + 0x19], 0
jne 0x180012de7
cmp r14d, dword [rbx + 0x1c]
jae 0x180012dea
mov rbx, r15
xor r8d, r8d
mov edx, dword [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.180020930
movss xmm3, dword [0x180397410]
movss xmm6, dword [0x1802596ec]
divss xmm3, xmm6
movss xmm0, dword [0x180397414]
divss xmm0, xmm6
movss xmm1, dword [0x180397418]
divss xmm1, xmm6
movss xmm2, dword [0x18039741c]
divss xmm2, xmm6
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x40], xmm3
mov rax, qword [0x180391630]
mulss xmm2, dword [rax + 0x38e8]
movss dword [rsp + 0x4c], xmm2
lea rcx, [rsp + 0x40]
call fcn.18001d360
mov r9d, eax
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm7
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x80]
mov rcx, qword [r12 + 0x2b0]
call fcn.18007c3d0
mov r15, qword [r12 + 0x2b0]
movss xmm3, dword [0x180397400]
divss xmm3, xmm6
movss xmm0, dword [0x180397404]
divss xmm0, xmm6
movss xmm1, dword [0x180397408]
divss xmm1, xmm6
movss xmm2, dword [0x18039740c]
divss xmm2, xmm6
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x40], xmm3
mov r8, qword [0x180391630]
mulss xmm2, dword [r8 + 0x38e8]
movss dword [rsp + 0x4c], xmm2
lea rcx, [rsp + 0x40]
call fcn.18001d360
mov dword [rsp + 0x50], eax
movss xmm5, dword [0x180259350]
test eax, 0xff000000
je 0x180013014
movss xmm0, dword [rbp - 0x78]
mov dword [rsp + 0x20], 0
movaps xmm3, xmm7
mov rcx, r15
test byte [r15 + 0x30], 1
je 0x180012f8c
subss xmm0, xmm5
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [rbp - 0x74]
subss xmm1, xmm5
movss dword [rbp - 0x54], xmm1
movss xmm0, dword [rbp - 0x80]
addss xmm0, xmm5
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [rbp - 0x7c]
addss xmm1, xmm5
movss dword [rsp + 0x44], xmm1
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x40]
jmp 0x180012fd2
subss xmm0, dword [0x18025934c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x74]
subss xmm0, dword [0x18025934c]
movss dword [rsp + 0x44], xmm0
movss xmm1, dword [rbp - 0x80]
addss xmm1, xmm5
movss dword [rbp - 0x58], xmm1
movss xmm0, dword [rbp - 0x7c]
addss xmm0, xmm5
movss dword [rbp - 0x54], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x58]
call fcn.18007bda0
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + 0x50]
mov r8d, dword [r15 + 0x78]
mov rdx, qword [r15 + 0x80]
mov rcx, r15
call fcn.1800797f0
mov dword [r15 + 0x78], 0
mov r8, qword [0x180391630]
movss xmm5, dword [0x180259350]
movss xmm1, dword [r8 + 0x18]
movss xmm2, dword [0x180259518]
mulss xmm1, xmm2
test sil, sil
je 0x180013031
movaps xmm4, xmm8
jmp 0x180013034
movaps xmm4, xmm7
subss xmm4, dword [rbx + 0x24]
mulss xmm4, xmm1
addss xmm4, dword [rbx + 0x24]
movss dword [rbx + 0x24], xmm4
movss xmm1, dword [r8 + 0x18]
mulss xmm1, xmm2
movss xmm3, dword [0x1802596ac]
test sil, sil
je 0x180013064
movaps xmm11, xmm3
jmp 0x180013068
movaps xmm11, xmm8
subss xmm11, dword [rbx + 0x20]
mulss xmm11, xmm1
addss xmm11, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm11
movss xmm10, dword [rbp - 0x78]
subss xmm10, dword [0x180259524]
subss xmm10, dword [0x180259538]
subss xmm10, xmm7
movss dword [rbp - 0x58], xmm10
mulss xmm11, dword [0x1802594e4]
divss xmm11, xmm3
movss dword [rsp + 0x50], xmm11
movss xmm3, dword [0x180397450]
divss xmm3, xmm6
movss xmm0, dword [0x180397454]
divss xmm0, xmm6
movss xmm1, dword [0x180397458]
divss xmm1, xmm6
movss xmm2, dword [0x18039745c]
divss xmm2, xmm6
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x40], xmm3
mulss xmm2, dword [r8 + 0x38e8]
movss dword [rsp + 0x4c], xmm2
movss xmm15, dword [rbp - 0x7c]
addss xmm15, dword [rbp - 0x74]
mulss xmm15, xmm5
addss xmm15, xmm4
movaps xmm8, xmm10
subss xmm8, dword [0x18025952c]
subss xmm8, xmm10
movaps xmm6, xmm15
subss xmm6, dword [0x1802594f8]
subss xmm6, xmm15
movaps xmm0, xmm11
call fcn.1802044b0
movaps xmm9, xmm0
mulss xmm9, xmm6
movaps xmm0, xmm11
call fcn.1801ffcb0
movaps xmm14, xmm0
mulss xmm14, xmm8
addss xmm14, xmm10
subss xmm14, xmm9
movaps xmm0, xmm11
call fcn.1801ffcb0
movaps xmm7, xmm0
mulss xmm7, xmm6
movaps xmm0, xmm11
call fcn.1802044b0
movaps xmm13, xmm0
mulss xmm13, xmm8
addss xmm13, xmm15
addss xmm13, xmm7
movaps xmm6, xmm10
addss xmm6, dword [0x18025952c]
subss xmm6, xmm10
movaps xmm0, xmm11
call fcn.1801ffcb0
movaps xmm11, xmm0
mulss xmm11, xmm6
addss xmm11, xmm10
subss xmm11, xmm9
movss xmm0, dword [rsp + 0x50]
call fcn.1802044b0
movaps xmm10, xmm0
mulss xmm10, xmm6
addss xmm10, xmm15
addss xmm10, xmm7
movss xmm6, dword [rbp - 0x58]
movaps xmm7, xmm6
subss xmm7, xmm6
movaps xmm8, xmm15
addss xmm8, dword [0x1802594f8]
subss xmm8, xmm15
movss xmm12, dword [rsp + 0x50]
movaps xmm0, xmm12
call fcn.1801ffcb0
movaps xmm9, xmm0
mulss xmm9, xmm7
addss xmm9, xmm6
movaps xmm0, xmm12
call fcn.1802044b0
mulss xmm0, xmm8
subss xmm9, xmm0
movaps xmm0, xmm12
call fcn.1802044b0
movaps xmm6, xmm0
mulss xmm6, xmm7
addss xmm6, xmm15
movaps xmm0, xmm12
call fcn.1801ffcb0
mulss xmm0, xmm8
addss xmm6, xmm0
movss dword [rbp - 0x58], xmm14
movss dword [rbp - 0x54], xmm13
movss dword [rbp - 0x50], xmm11
movss dword [rbp - 0x4c], xmm10
movss dword [rbp - 0x48], xmm9
movss dword [rbp - 0x44], xmm6
lea rcx, [rsp + 0x40]
call fcn.18001d360
mov r9d, eax
mov r8d, 3
lea rdx, [rbp - 0x58]
mov rcx, qword [r12 + 0x2b0]
call fcn.18007a710
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x180013379
mov rcx, qword [0x180391630]
cmp byte [r13 + 0x6038], 0
je 0x1800132f2
lea rax, [0x18023a800]
mov qword [rcx + 0x6058], rax
lea rax, [0x18023a7d8]
mov qword [rcx + 0x6060], rax
movss xmm6, dword [rbp - 0x7c]
addss xmm6, dword [rbp - 0x74]
mulss xmm6, dword [0x180259350]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x18025979c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180259768]
movss xmm2, dword [rcx + 0x3d58]
lea rdx, [rsp + 0x60]
mov rcx, qword [rcx + 0x3d50]
call fcn.180085670
movss xmm1, dword [rbp - 0x80]
addss xmm1, dword [0x18025952c]
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [0x180259350]
subss xmm6, xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
unpcklps xmm1, xmm6
movq rcx, xmm1
call fcn.18001f4a0
xorps xmm0, xmm0
movss xmm1, dword [rsp + 0x54]
comiss xmm1, xmm0
jbe 0x1800133b7
movss xmm0, dword [rbp - 0x68]
addss xmm0, dword [0x180259570]
movss xmm1, dword [rbp - 0x64]
addss xmm1, dword [0x1802594dc]
mov r9b, 1
xor r8d, r8d
mov rdx, r14
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.18001f4a0
test sil, sil
je 0x1800133d4
mov eax, dword [rsp + 0x58]
mov dword [r13 + 0x4a30], eax
lea rdx, [rbp - 0x80]
mov ecx, edi
call fcn.180013440
jmp 0x1800133d6
xor al, al
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.1801cb9c0
lea r11, [rsp + 0x170]
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.180003590
int3