Function at 0x1800e0f8c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x1f8
and dword [0x180600288], 0
and dword [0x18060028c], 0
and dword [0x180600290], 0
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
xorps xmm11, xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
call fcn.1800dd578
mov rcx, rax
mov r14, rax
call fcn.1800db9fc
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1800db6e8
mov rcx, r14
mov rsi, rax
call fcn.1800db9fc
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1800db834
mov rcx, r14
mov rdi, rax
call fcn.1800dcbc4
mov rcx, r14
call fcn.1800dcbc4
mov rcx, qword [rax]
call fcn.1800dc62c
lea rcx, [rbp - 0x40]
mov rbx, rax
call fcn.1800dc7d0
movss xmm8, dword [rax + 4]
addss xmm8, dword [rbx + 4]
movaps xmm13, xmm8
movaps xmm6, xmm8
mulss xmm13, dword [rdi]
mulss xmm6, dword [rdi + 4]
mulss xmm8, dword [rdi + 8]
addss xmm13, dword [rsi]
addss xmm6, dword [rsi + 4]
addss xmm8, dword [rsi + 8]
movss dword [rbp + 0x148], xmm13
movss dword [rbp - 0x50], xmm6
movss dword [rbp + 0x140], xmm8
call fcn.1800dd578
mov rcx, rax
call fcn.1800db9fc
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1800db6e8
call fcn.1800dd578
mov rcx, rax
call fcn.1800db9fc
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1800db834
call fcn.1800dd578
mov rcx, rax
call fcn.1800dcbc4
mov rcx, qword [rax]
call fcn.1800dc62c
lea rcx, [rbp - 0x40]
call fcn.1800dc7d0
mov rcx, qword [0x1805ca668]
call fcn.1800db9fc
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.1800db6e8
mov rcx, qword [0x1805ca668]
call fcn.1800db9fc
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1800db834
mov rcx, qword [0x1805ca668]
call fcn.1800dcbc4
mov rcx, qword [0x1805ca668]
call fcn.1800dcbc4
mov rcx, qword [rax]
call fcn.1800dc62c
lea rcx, [rsp + 0x50]
call fcn.1800dc7d0
call fcn.1800dd578
mov rcx, rax
call fcn.18010cd70
call fcn.1800dd578
mov rcx, rax
call fcn.18010cd70
mov rcx, qword [0x1805ca668]
lea rdx, [rbp - 0x70]
mov r8d, 0x2f
mov r15, rax
call fcn.1800dcf28
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x40], xmm13
movss dword [rsp + 0x44], xmm6
movss dword [rsp + 0x48], xmm8
mov ecx, dword [rax + 8]
movsd xmm0, qword [rax]
mov dword [rsp + 0x68], ecx
lea rcx, [rsp + 0x40]
movsd qword [rsp + 0x60], xmm0
call fcn.1800ddfc8
xor r13d, r13d
test al, al
je 0x1800e11df
and dword [0x180600288], r13d
and dword [0x18060028c], r13d
and dword [0x180600290], r13d
jmp 0x1800e1c04
mov ecx, dword [0x180601480]
test ecx, ecx
je 0x1800e11fd
sub ecx, 1
je 0x1800e11fd
cmp ecx, 1
je 0x1800e11fd
movss xmm6, dword [rbp + 0x140]
jmp 0x1800e1206
call qword [0x180601478]
movaps xmm6, xmm0
mov rcx, r14
call fcn.1800dceac
subss xmm6, dword [rax]
cvtss2sd xmm6, xmm6
subsd xmm6, qword [0x1800c4300]
call fcn.1800dd578
mov rcx, rax
call fcn.1800dd2b4
mov rcx, r14
call fcn.1800dd2b4
mulsd xmm6, qword [0x1800c4398]
xorps xmm1, xmm1
mov rcx, qword [0x1805ca668]
cvtss2sd xmm1, xmm0
addsd xmm6, qword [0x1800c4330]
mulsd xmm1, xmm6
addsd xmm1, qword [0x1800c42f0]
cvtpd2ps xmm6, xmm1
movss dword [rbp + 0x150], xmm6
call fcn.1800dd4fc
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800dc590
movss xmm7, dword [0x1800c4314]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov rdi, qword [rbp - 8]
mov rsi, r13
mov qword [rbp], r13
mov ebx, r13d
mov r14d, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, ebx
mulsd xmm0, qword [0x1800c4358]
cvtpd2ps xmm0, xmm0
call fcn.1801ae8e0
mov dword [rsp + 0x44], 0x3fc00000
movaps xmm1, xmm0
shufps xmm1, xmm0, 1
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x48], xmm0
cmp rdi, rsi
je 0x1800e12f9
movsd xmm0, qword [rsp + 0x40]
movsd qword [rdi], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rdi + 8], eax
add rdi, 0xc
mov qword [rbp - 8], rdi
jmp 0x1800e1312
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x10]
call fcn.18010e304
mov rsi, qword [rbp]
mov rdi, qword [rbp - 8]
add ebx, r14d
cmp ebx, 0x10
jb 0x1800e129e
mov eax, dword [0x1805ca6b4]
movaps xmm2, xmm11
movaps xmm0, xmm11
movaps xmm3, xmm11
movaps xmm1, xmm11
test eax, eax
jne 0x1800e1351
movss xmm0, dword [0x1800c42e8]
movss xmm2, dword [0x1800c43a8]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c4338]
jmp 0x1800e13ba
cmp eax, r14d
jne 0x1800e1373
movss xmm0, dword [0x1800c4328]
movss xmm2, dword [0x1800c43e0]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c43c8]
jmp 0x1800e13ba
cmp eax, 2
jne 0x1800e1395
movss xmm0, dword [0x1800c43a8]
movss xmm2, dword [0x1800c4404]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c43ec]
jmp 0x1800e13ba
cmp eax, 3
jne 0x1800e13ba
movss xmm2, dword [0x1800c442c]
movss xmm0, dword [0x1800c43bc]
movss xmm3, dword [0x1800c43b8]
movss xmm1, dword [0x1800c4420]
mov r9, qword [0x1805ca668]
mov rcx, qword [0x1805ca520]
add rcx, r9
call fcn.18010cd4c
add rax, qword [0x1805ca540]
movabs r12, 0x7fffffff0000
cmp rax, 0x40000
jbe 0x1800e13f7
lea rcx, [rax + 1]
cmp rcx, r12
jae 0x1800e13f7
mov r8b, byte [rax]
jmp 0x1800e13fa
mov r8b, r13b
mov rcx, qword [0x1805ca510]
add rcx, r9
call fcn.18010cd4c
add rax, qword [0x1805ca5b0]
cmp rax, 0x40000
jbe 0x1800e1425
lea rcx, [rax + 4]
cmp rcx, r12
jae 0x1800e1425
mov eax, dword [rax]
jmp 0x1800e1428
mov eax, r13d
test r8b, r8b
jne 0x1800e1553
shr eax, 9
not al
test r14b, al
je 0x1800e1550
test r15, r15
je 0x1800e154b
mov r9, qword [r15]
lea rsi, [0x1800854e0]
or edx, 0xffffffff
or r10, 0xffffffffffffffff
test r9, r9
je 0x1800e14ae
mov r11, qword [r9 + 0x10]
test r11, r11
je 0x1800e14ae
mov r8d, edx
mov rax, r10
inc rax
cmp byte [r11 + rax], r13b
jne 0x1800e146d
test eax, eax
je 0x1800e14ae
mov ebx, eax
movsx ecx, byte [r11]
mov eax, r8d
xor rcx, rax
shr r8d, 8
movzx eax, cl
add r11, r14
xor r8d, dword [rsi + rax*4]
sub rbx, r14
jne 0x1800e147c
not r8d
cmp r8d, 0xe93460ee
je 0x1800e1546
mov r11, r9
jmp 0x1800e14ba
mov r11, r9
test r9, r9
je 0x1800e154b
mov r11, qword [r11 + 0x10]
test r11, r11
je 0x1800e1503
mov r8d, edx
mov rax, r10
inc rax
cmp byte [r11 + rax], r13b
jne 0x1800e14c9
test eax, eax
je 0x1800e1503
mov ebx, eax
movsx ecx, byte [r11]
mov eax, r8d
xor rcx, rax
shr r8d, 8
movzx eax, cl
add r11, r14
xor r8d, dword [rsi + rax*4]
sub rbx, r14
jne 0x1800e14d8
not r8d
cmp r8d, 0x198eef72
je 0x1800e1546
jmp 0x1800e1508
test r9, r9
je 0x1800e154b
mov r8, qword [r9 + 0x10]
test r8, r8
je 0x1800e154b
inc r10
cmp byte [r8 + r10], r13b
jne 0x1800e1511
test r10d, r10d
je 0x1800e154b
mov r9d, r10d
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r8, r14
xor edx, dword [rsi + rax*4]
sub r9, r14
jne 0x1800e1522
not edx
cmp edx, 0x479168ed
jne 0x1800e154b
movaps xmm1, xmm3
jmp 0x1800e1553
movaps xmm1, xmm0
jmp 0x1800e1553
movaps xmm1, xmm2
xorps xmm0, xmm0
mov qword [rbp + 0x18], r13
lea rcx, [rbp + 8]
movdqu xmmword [rbp + 8], xmm0
call fcn.1800e05e0
mov rcx, qword [0x1805ca668]
call fcn.1800dd4fc
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800dc590
mov rcx, qword [0x1805ca668]
lea rdx, [rbp - 0x30]
mov r8d, 0x2f
call fcn.1800dcf28
cmp byte [0x1805ca6e8], r13b
je 0x1800e1974
mov eax, dword [0x1805ca700]
movss xmm13, dword [0x1800c4230]
movss xmm8, dword [0x1800c4204]
test eax, eax
jne 0x1800e1770
call fcn.1800dd578
mov rcx, rax
call fcn.1800db9fc
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.1800db6e8
movaps xmm12, xmm11
movss xmm10, dword [rax + 4]
movss xmm14, dword [rax]
addss xmm10, xmm13
movss xmm13, dword [rbp + 0x150]
movss xmm15, dword [rax + 8]
movaps xmm2, xmm12
xorps xmm0, xmm0
addss xmm2, xmm8
xorps xmm1, xmm1
movss xmm0, xmm12
movss xmm1, xmm2
call fcn.1801ae923
movaps xmm7, xmm0
mov byte [rsp + 0x30], r14b
shufps xmm7, xmm0, 0xe
lea r9, [rbp - 0x60]
movaps xmm8, xmm0
movss dword [rsp + 0x44], xmm10
movaps xmm9, xmm0
shufps xmm8, xmm0, 1
movdqa xmm0, xmmword [0x1800c4c20]
lea r8, [rsp + 0x40]
movdqa xmmword [rbp - 0x60], xmm0
lea rdx, [rsp + 0x70]
movaps xmm1, xmm7
movss dword [rsp + 0x74], xmm10
mulss xmm1, xmm13
movaps xmm6, xmm7
shufps xmm6, xmm7, 1
movaps xmm0, xmm6
movss dword [rsp + 0x20], xmm11
mulss xmm0, xmm13
addss xmm1, xmm15
addss xmm0, xmm14
movss dword [rsp + 0x48], xmm1
movaps xmm1, xmm9
mulss xmm1, xmm13
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm8
mulss xmm0, xmm13
addss xmm1, xmm15
addss xmm0, xmm14
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x70], xmm0
call fcn.1800e1c58
movdqa xmm0, xmmword [0x1800c4880]
lea r9, [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea r8, [rbp - 0x80]
movss xmm0, dword [0x1800c443c]
lea rdx, [rsp + 0x50]
mulss xmm6, xmm0
mov byte [rsp + 0x30], r14b
mulss xmm7, xmm0
mulss xmm8, xmm0
addss xmm6, xmm14
mulss xmm9, xmm0
addss xmm7, xmm15
addss xmm8, xmm14
movss dword [rbp - 0x7c], xmm10
movss dword [rbp - 0x80], xmm6
addss xmm9, xmm15
movss dword [rsp + 0x54], xmm10
movss dword [rbp - 0x78], xmm7
movss dword [rsp + 0x20], xmm11
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x58], xmm9
call fcn.1800e1c58
movss xmm8, dword [0x1800c4204]
addss xmm12, xmm8
comiss xmm12, dword [0x1800c4418]
jb 0x1800e15ff
mov eax, dword [0x1805ca700]
movss xmm13, dword [0x1800c4230]
movss xmm7, dword [0x1800c4314]
cmp eax, r14d
jne 0x1800e1962
mov rcx, qword [0x1805ca668]
call fcn.1800dd4fc
lea rdx, [rbp - 0x20]
mov rcx, qword [rax]
call fcn.1800dc590
movaps xmm15, xmm11
movss xmm0, dword [rax]
movss xmm14, dword [rax + 4]
movss dword [rbp + 0x150], xmm0
addss xmm14, xmm13
movss xmm0, dword [rax + 8]
movss xmm13, dword [0x1800c4594]
movss dword [rbp + 0x158], xmm0
cmp byte [0x180600571], r13b
movss xmm0, dword [0x1800c419c]
movss xmm12, dword [0x18060051c]
jne 0x1800e199b
comiss xmm12, xmm7
jae 0x1800e199b
addss xmm12, xmm0
movss dword [0x18060051c], xmm12
mov byte [0x180600571], r13b
cmp byte [0x180600584], r13b
movss xmm6, dword [0x1805719bc]
jne 0x1800e19bf
comiss xmm6, xmm7
jae 0x1800e19bf
addss xmm6, xmm0
movss dword [0x1805719bc], xmm6
mov byte [0x180600584], r13b
movaps xmm2, xmm15
xorps xmm0, xmm0
addss xmm2, xmm8
xorps xmm1, xmm1
movss xmm0, xmm15
movss xmm1, xmm2
call fcn.1801ae923
movaps xmm9, xmm0
mov byte [rsp + 0x30], r13b
shufps xmm9, xmm0, 0xe
lea r9, [rbp - 0x60]
movaps xmm8, xmm0
movss dword [rsp + 0x20], xmm11
shufps xmm8, xmm0, 1
lea r8, [rsp + 0x60]
addss xmm8, dword [rbp + 0x150]
movaps xmm10, xmm0
lea rdx, [rsp + 0x50]
addss xmm10, dword [rbp + 0x158]
movaps xmm7, xmm9
movaps xmm1, xmm14
addss xmm1, xmm6
shufps xmm7, xmm9, 1
addss xmm7, dword [rbp + 0x150]
addss xmm9, dword [rbp + 0x158]
movaps xmm6, xmm14
movss dword [rsp + 0x58], xmm10
addss xmm6, xmm12
movdqa xmm12, xmmword [0x1800c4c50]
movdqa xmmword [rbp - 0x60], xmm12
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movsd qword [rsp + 0x60], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
movss dword [rsp + 0x68], xmm9
call fcn.1800e1c58
movaps xmm0, xmm7
mov byte [rsp + 0x30], r13b
unpcklps xmm0, xmm6
lea r9, [rbp - 0x60]
movsd qword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
movaps xmm0, xmm8
movss dword [rbp - 0x78], xmm9
unpcklps xmm0, xmm6
lea rdx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
movss dword [rsp + 0x78], xmm10
movss dword [rsp + 0x20], xmm11
movdqa xmmword [rbp - 0x60], xmm12
call fcn.1800e1c58
movss xmm8, dword [0x1800c4204]
movss xmm7, dword [0x1800c4314]
addss xmm15, xmm8
comiss xmm15, dword [0x1800c4418]
jb 0x1800e17c2
movss xmm13, dword [rbp + 0x148]
movss xmm8, dword [rbp + 0x140]
mov r9, qword [0x1805ca668]
mov rcx, qword [0x1805ca588]
add rcx, r9
cmp rcx, 0x40000
jbe 0x1800e19e2
lea rax, [rcx + 4]
cmp rax, r12
jae 0x1800e19e2
mov eax, dword [rcx]
jmp 0x1800e19e5
comiss xmm12, xmm11
mov byte [0x180600571], r14b
jbe 0x1800e17f8
addss xmm12, xmm13
movss dword [0x18060051c], xmm12
jmp 0x1800e17ff
comiss xmm6, xmm11
mov byte [0x180600584], r14b
jbe 0x1800e1829
addss xmm6, xmm13
movss dword [0x1805719bc], xmm6
jmp 0x1800e1830
mov eax, r13d
shr eax, 6
mov rcx, r9
test r14b, al
je 0x1800e1a07
mov r8d, 0x2f
lea rdx, [rsp + 0x60]
call fcn.1800dcf28
movsd xmm9, qword [rax]
jmp 0x1800e1a2e
call fcn.1800dd4fc
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800dc590
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x1800c4310]
movss xmm9, dword [rax]
unpcklps xmm9, xmm1
mov rbx, qword [rbp - 0x10]
mov r15d, dword [rax + 8]
cmp rbx, rdi
je 0x1800e1bd9
movss xmm12, dword [rbp - 0x50]
movaps xmm10, xmm13
unpcklps xmm10, xmm12
movd r12d, xmm8
addss xmm8, dword [rbx + 8]
movaps xmm6, xmm13
movsd qword [rbp - 0x20], xmm10
addss xmm6, dword [rbx]
movaps xmm7, xmm12
mov dword [rbp - 0x18], r12d
addss xmm7, dword [rbx + 4]
lea rdx, [rbp - 0x20]
movss dword [rsp + 0x58], xmm8
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
call fcn.1800ddfc8
test al, al
je 0x1800e1bab
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x20]
call fcn.18010b98c
mov rcx, qword [0x1805ca668]
lea rdx, [rbp - 0x60]
mov r8d, 0x2f
movss dword [rbp - 0x80], xmm6
movss dword [rbp - 0x7c], xmm7
mov r14, rax
movss dword [rbp - 0x78], xmm8
call fcn.1800dcf28
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x40], xmm0
mov dword [rbp - 0x38], eax
call fcn.1800ddfc8
test al, al
je 0x1800e1b17
movss dword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x78], xmm8
call fcn.1800e0a20
mov sil, al
jmp 0x1800e1b9e
cmp byte [0x1805ca6f5], r13b
je 0x1800e1b9b
cmp byte [0x1805ca6f7], r13b
je 0x1800e1b9b
mov rdx, r14
lea rcx, [rbp + 0x38]
call fcn.18010b98c
movaps xmm0, xmm11
movss dword [rbp - 0x28], xmm11
unpcklps xmm0, xmm11
lea r9, [rbp - 0x30]
mov r8, rax
movsd qword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x70]
movss dword [rsp + 0x40], xmm6
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x48], xmm8
movsd qword [rbp - 0x70], xmm9
mov dword [rbp - 0x68], r15d
call fcn.1800e0d74
test al, al
je 0x1800e1b9b
movss dword [rsp + 0x60], xmm6
lea rcx, [rsp + 0x60]
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x68], xmm8
jmp 0x1800e1b0a
mov sil, r13b
mov rcx, r14
call fcn.18010b918
test sil, sil
jne 0x1800e1bc2
add rbx, 0xc
cmp rbx, rdi
je 0x1800e1bd9
movss xmm8, dword [rbp + 0x140]
jmp 0x1800e1a52
movsd xmm0, qword [rbx]
movsd qword [0x180600288], xmm0
mov eax, dword [rbx + 8]
mov dword [0x180600290], eax
jmp 0x1800e1bf2
movaps xmm0, xmm11
movss dword [0x180600290], xmm11
unpcklps xmm0, xmm11
movsd qword [0x180600288], xmm0
lea rcx, [rbp + 8]
call fcn.18010b918
lea rcx, [rbp - 0x10]
call fcn.18010b918
lea r11, [rsp + 0x1f8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret