Function at 0x1800112c0
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 [0x1801300c0]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x60], rdx
mov r14, rcx
mov rbx, qword [0x18022b8b0]
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 0x180011e80
movsxd r8, dword [r12 + 0x108]
mov rax, qword [r12 + 0x110]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.18001bde0
mov edi, eax
mov dword [rsp + 0x50], eax
mov rcx, qword [r12]
cmp dword [rcx + 0x407c], eax
jne 0x1800113b9
mov r8, r14
mov edx, 0xb
mov ecx, eax
call fcn.180034a00
mov rbx, qword [0x18022b8b0]
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x1800113df
movzx edx, byte [rcx]
test dl, dl
je 0x1800113df
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800113d6
cmp byte [rax], dl
je 0x1800113df
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800113c2
xorps xmm8, xmm8
cmp r14, rcx
jne 0x1800113f1
movss dword [rsp + 0x54], xmm8
jmp 0x180011449
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x1801145a0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x18011457c]
movss xmm2, dword [rbx + 0x3d58]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3d50]
call fcn.1800490d0
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x180114248]
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 [0x180114458]
movss xmm0, dword [r12 + 0x118]
movaps xmm1, xmm0
addss xmm1, dword [0x180114508]
addss xmm2, dword [0x180114420]
addss xmm0, dword [0x1801143dc]
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 [0x18011445c]
movss xmm1, dword [r12 + 0x118]
movaps xmm0, xmm1
addss xmm0, dword [0x180114510]
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.18002c610
xor r9d, r9d
lea r8, [rbp - 0x80]
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.18002c390
test al, al
je 0x180011e80
mov dword [rsp + 0x20], esi
lea r9, [rbp - 0x70]
lea r8, [rbp - 0x6f]
mov edx, edi
lea rcx, [rbp - 0x80]
call fcn.180050080
movzx r15d, al
mov r9d, edi
not r9d
mov edi, r9d
lea rdx, [0x18010c4a9]
mov r8b, 0x23
lea r10, [0x180107a60]
cmp r8b, 0x23
jne 0x18001155b
cmp byte [rdx], r8b
jne 0x18001155b
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 0x180011548
not edi
mov rdx, qword [0x18022b8b0]
movsxd rax, dword [rdx + 0x4b18]
cmp dword [rdx + 0x4b08], eax
jle 0x1800115a4
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4b10]
cmp dword [rcx + rax], edi
jne 0x1800115a4
mov sil, 1
mov rcx, qword [0x18022bae8]
mov rax, qword [rcx + 8]
mov rbx, rcx
cmp byte [rax + 0x19], 0
jne 0x1800115cf
cmp dword [rax + 0x1c], edi
jae 0x1800115c3
mov rax, qword [rax + 0x10]
jmp 0x1800115c9
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800115b8
cmp byte [rbx + 0x19], 0
jne 0x1800115da
cmp edi, dword [rbx + 0x1c]
jae 0x1800115dd
mov rbx, rcx
cmp rbx, rcx
jne 0x18001164c
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.1800149d0
mov rcx, qword [0x18022bae8]
mov rax, qword [rcx + 8]
mov rbx, rcx
cmp byte [rax + 0x19], 0
jne 0x180011637
nop dword [rax]
cmp dword [rax + 0x1c], edi
jae 0x18001162b
mov rax, qword [rax + 0x10]
jmp 0x180011631
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180011620
cmp byte [rbx + 0x19], 0
jne 0x180011642
cmp edi, dword [rbx + 0x1c]
jae 0x180011645
mov rbx, rcx
mov rdx, qword [0x18022b8b0]
movss xmm7, dword [0x180114250]
test r15b, r15b
je 0x180011680
test sil, sil
jne 0x180011680
xor edx, edx
mov ecx, edi
call fcn.18002db30
mov sil, 1
mov rax, qword [0x18022b8b0]
movss xmm2, dword [rax + 0x18]
mulss xmm2, dword [0x180114390]
jmp 0x180011692
movss xmm2, dword [rdx + 0x18]
mulss xmm2, dword [0x180114390]
test sil, sil
je 0x1800116ad
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 0x1800116cb
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 [0x18022aa3c]
mov edx, 4
mov rax, qword [rcx + rax*8]
mov eax, dword [rdx + rax]
cmp dword [0x180230378], eax
jle 0x18001174c
lea rcx, [0x180230378]
call fcn.1800c0130
cmp dword [0x180230378], 0xffffffff
jne 0x18001174c
mov qword [0x180230368], r15
mov qword [0x180230370], r15
mov ecx, 0x30
call fcn.1800c01a8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180230368], rax
lea rcx, [0x1800f94a0]
call fcn.1800c053c
nop
lea rcx, [0x180230378]
call fcn.1800c00c4
mov r15, qword [0x180230368]
mov rax, qword [r15 + 8]
mov rbx, r15
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18001177d
mov rcx, rax
cmp dword [rcx + 0x1c], r14d
jae 0x180011771
mov rcx, qword [rcx + 0x10]
jmp 0x180011777
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180011765
cmp byte [rbx + 0x19], 0
jne 0x180011789
cmp r14d, dword [rbx + 0x1c]
jae 0x18001178c
mov rbx, r15
cmp rbx, r15
jne 0x180011899
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 0x1800117ec
mov qword [rsp + 0x68], rax
cmp dword [rax + 0x1c], r14d
jae 0x1800117d8
mov dword [rsp + 0x70], r8d
mov rax, qword [rax + 0x10]
jmp 0x1800117e6
mov dword [rsp + 0x70], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x1800117c2
cmp byte [rcx + 0x19], r8b
jne 0x1800117f8
cmp r14d, dword [rcx + 0x1c]
jae 0x180011865
movabs rax, 0x555555555555555
cmp qword [0x180230370], rax
je 0x180011ee1
lea rbx, [0x180230368]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r8
mov ecx, 0x30
call fcn.1800c01a8
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.18000bf60
mov r15, qword [0x180230368]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x18001188a
cmp dword [rax + 0x1c], r14d
jae 0x18001187e
mov rax, qword [rax + 0x10]
jmp 0x180011884
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180011872
cmp byte [rbx + 0x19], 0
jne 0x180011896
cmp r14d, dword [rbx + 0x1c]
jae 0x180011899
mov rbx, r15
xor r8d, r8d
mov edx, dword [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.18001dc10
movss xmm3, dword [0x18022f980]
movss xmm6, dword [0x180114514]
divss xmm3, xmm6
movss xmm0, dword [0x18022f984]
divss xmm0, xmm6
movss xmm1, dword [0x18022f988]
divss xmm1, xmm6
movss xmm2, dword [0x18022f98c]
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 [0x18022b8b0]
mulss xmm2, dword [rax + 0x38e8]
movss dword [rsp + 0x4c], xmm2
lea rcx, [rsp + 0x40]
call fcn.18001c380
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.180040e70
mov r15, qword [r12 + 0x2b0]
movss xmm3, dword [0x18022f970]
divss xmm3, xmm6
movss xmm0, dword [0x18022f974]
divss xmm0, xmm6
movss xmm1, dword [0x18022f978]
divss xmm1, xmm6
movss xmm2, dword [0x18022f97c]
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 [0x18022b8b0]
mulss xmm2, dword [r8 + 0x38e8]
movss dword [rsp + 0x4c], xmm2
lea rcx, [rsp + 0x40]
call fcn.18001c380
mov dword [rsp + 0x50], eax
movss xmm5, dword [0x1801141fc]
test eax, 0xff000000
je 0x180011ac3
movss xmm0, dword [rbp - 0x78]
mov dword [rsp + 0x20], 0
movaps xmm3, xmm7
mov rcx, r15
test byte [r15 + 0x30], 1
je 0x180011a3b
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 0x180011a81
subss xmm0, dword [0x1801141f8]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x74]
subss xmm0, dword [0x1801141f8]
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.180040840
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.18003ea20
mov dword [r15 + 0x78], 0
mov r8, qword [0x18022b8b0]
movss xmm5, dword [0x1801141fc]
movss xmm1, dword [r8 + 0x18]
movss xmm2, dword [0x180114390]
mulss xmm1, xmm2
test sil, sil
je 0x180011ae0
movaps xmm4, xmm8
jmp 0x180011ae3
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 [0x1801144d8]
test sil, sil
je 0x180011b13
movaps xmm11, xmm3
jmp 0x180011b17
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 [0x18011439c]
subss xmm10, dword [0x1801143ac]
subss xmm10, xmm7
movss dword [rbp - 0x58], xmm10
mulss xmm11, dword [0x18011435c]
divss xmm11, xmm3
movss dword [rsp + 0x50], xmm11
movss xmm3, dword [0x18022f9c0]
divss xmm3, xmm6
movss xmm0, dword [0x18022f9c4]
divss xmm0, xmm6
movss xmm1, dword [0x18022f9c8]
divss xmm1, xmm6
movss xmm2, dword [0x18022f9cc]
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 [0x1801143a4]
subss xmm8, xmm10
movaps xmm6, xmm15
subss xmm6, dword [0x180114370]
subss xmm6, xmm15
movaps xmm0, xmm11
call fcn.1800f03d0
movaps xmm9, xmm0
mulss xmm9, xmm6
movaps xmm0, xmm11
call fcn.1800ebbd0
movaps xmm14, xmm0
mulss xmm14, xmm8
addss xmm14, xmm10
subss xmm14, xmm9
movaps xmm0, xmm11
call fcn.1800ebbd0
movaps xmm7, xmm0
mulss xmm7, xmm6
movaps xmm0, xmm11
call fcn.1800f03d0
movaps xmm13, xmm0
mulss xmm13, xmm8
addss xmm13, xmm15
addss xmm13, xmm7
movaps xmm6, xmm10
addss xmm6, dword [0x1801143a4]
subss xmm6, xmm10
movaps xmm0, xmm11
call fcn.1800ebbd0
movaps xmm11, xmm0
mulss xmm11, xmm6
addss xmm11, xmm10
subss xmm11, xmm9
movss xmm0, dword [rsp + 0x50]
call fcn.1800f03d0
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 [0x180114370]
subss xmm8, xmm15
movss xmm12, dword [rsp + 0x50]
movaps xmm0, xmm12
call fcn.1800ebbd0
movaps xmm9, xmm0
mulss xmm9, xmm7
addss xmm9, xmm6
movaps xmm0, xmm12
call fcn.1800f03d0
mulss xmm0, xmm8
subss xmm9, xmm0
movaps xmm0, xmm12
call fcn.1800f03d0
movaps xmm6, xmm0
mulss xmm6, xmm7
addss xmm6, xmm15
movaps xmm0, xmm12
call fcn.1800ebbd0
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.18001c380
mov r9d, eax
mov r8d, 3
lea rdx, [rbp - 0x58]
mov rcx, qword [r12 + 0x2b0]
call fcn.18003f940
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x180011e25
mov rcx, qword [0x18022b8b0]
cmp byte [r13 + 0x6038], 0
je 0x180011da1
lea rax, [0x18010c4b8]
mov qword [rcx + 0x6058], rax
lea rax, [0x18010c490]
mov qword [rcx + 0x6060], rax
movss xmm6, dword [rbp - 0x7c]
addss xmm6, dword [rbp - 0x74]
mulss xmm6, dword [0x1801141fc]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x1801145a0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x18011457c]
movss xmm2, dword [rcx + 0x3d58]
lea rdx, [rsp + 0x60]
mov rcx, qword [rcx + 0x3d50]
call fcn.1800490d0
movss xmm1, dword [rbp - 0x80]
addss xmm1, dword [0x1801143a4]
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [0x1801141fc]
subss xmm6, xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
unpcklps xmm1, xmm6
movq rcx, xmm1
call fcn.18001cd70
xorps xmm0, xmm0
movss xmm1, dword [rsp + 0x54]
comiss xmm1, xmm0
jbe 0x180011e63
movss xmm0, dword [rbp - 0x68]
addss xmm0, dword [0x1801143dc]
movss xmm1, dword [rbp - 0x64]
addss xmm1, dword [0x180114354]
mov r9b, 1
xor r8d, r8d
mov rdx, r14
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.18001cd70
test sil, sil
je 0x180011e80
mov eax, dword [rsp + 0x58]
mov dword [r13 + 0x4a30], eax
lea rdx, [rbp - 0x80]
mov ecx, edi
call fcn.180011ef0
jmp 0x180011e82
xor al, al
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.1800c0060
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.1800026b0
int3