Function at 0x1800dd70c
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 [0x1805f0278], 0
and dword [0x1805f027c], 0
and dword [0x1805f0280], 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.1800d9cf8
mov rcx, rax
mov r14, rax
call fcn.1800d817c
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1800d7e68
mov rcx, r14
mov rsi, rax
call fcn.1800d817c
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1800d7fb4
mov rcx, r14
mov rdi, rax
call fcn.1800d9344
mov rcx, r14
call fcn.1800d9344
mov rcx, qword [rax]
call fcn.1800d8dac
lea rcx, [rbp - 0x40]
mov rbx, rax
call fcn.1800d8f50
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.1800d9cf8
mov rcx, rax
call fcn.1800d817c
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1800d7e68
call fcn.1800d9cf8
mov rcx, rax
call fcn.1800d817c
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1800d7fb4
call fcn.1800d9cf8
mov rcx, rax
call fcn.1800d9344
mov rcx, qword [rax]
call fcn.1800d8dac
lea rcx, [rbp - 0x40]
call fcn.1800d8f50
mov rcx, qword [0x1805ba658]
call fcn.1800d817c
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.1800d7e68
mov rcx, qword [0x1805ba658]
call fcn.1800d817c
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1800d7fb4
mov rcx, qword [0x1805ba658]
call fcn.1800d9344
mov rcx, qword [0x1805ba658]
call fcn.1800d9344
mov rcx, qword [rax]
call fcn.1800d8dac
lea rcx, [rsp + 0x50]
call fcn.1800d8f50
call fcn.1800d9cf8
mov rcx, rax
call fcn.18010980c
call fcn.1800d9cf8
mov rcx, rax
call fcn.18010980c
mov rcx, qword [0x1805ba658]
lea rdx, [rbp - 0x70]
mov r8d, 0x2f
mov r15, rax
call fcn.1800d96a8
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.1800da748
xor r13d, r13d
test al, al
je 0x1800dd95f
and dword [0x1805f0278], r13d
and dword [0x1805f027c], r13d
and dword [0x1805f0280], r13d
jmp 0x1800de384
mov ecx, dword [0x1805f13a0]
test ecx, ecx
je 0x1800dd97d
sub ecx, 1
je 0x1800dd97d
cmp ecx, 1
je 0x1800dd97d
movss xmm6, dword [rbp + 0x140]
jmp 0x1800dd986
call qword [0x1805f1398]
movaps xmm6, xmm0
mov rcx, r14
call fcn.1800d962c
subss xmm6, dword [rax]
cvtss2sd xmm6, xmm6
subsd xmm6, qword [0x1800c38f8]
call fcn.1800d9cf8
mov rcx, rax
call fcn.1800d9a34
mov rcx, r14
call fcn.1800d9a34
mulsd xmm6, qword [0x1800c3990]
xorps xmm1, xmm1
mov rcx, qword [0x1805ba658]
cvtss2sd xmm1, xmm0
addsd xmm6, qword [0x1800c3928]
mulsd xmm1, xmm6
addsd xmm1, qword [0x1800c38e8]
cvtpd2ps xmm6, xmm1
movss dword [rbp + 0x150], xmm6
call fcn.1800d9c7c
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800d8d10
movss xmm7, dword [0x1800c390c]
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 [0x1800c3950]
cvtpd2ps xmm0, xmm0
call fcn.18019f9a0
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 0x1800dda79
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 0x1800dda92
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x10]
call fcn.18010ada0
mov rsi, qword [rbp]
mov rdi, qword [rbp - 8]
add ebx, r14d
cmp ebx, 0x10
jb 0x1800dda1e
mov eax, dword [0x1805ba6a4]
movaps xmm2, xmm11
movaps xmm0, xmm11
movaps xmm3, xmm11
movaps xmm1, xmm11
test eax, eax
jne 0x1800ddad1
movss xmm0, dword [0x1800c38e0]
movss xmm2, dword [0x1800c39a0]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c3930]
jmp 0x1800ddb3a
cmp eax, r14d
jne 0x1800ddaf3
movss xmm0, dword [0x1800c3920]
movss xmm2, dword [0x1800c39d8]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c39c0]
jmp 0x1800ddb3a
cmp eax, 2
jne 0x1800ddb15
movss xmm0, dword [0x1800c39a0]
movss xmm2, dword [0x1800c39f0]
movaps xmm3, xmm0
movss xmm1, dword [0x1800c39e0]
jmp 0x1800ddb3a
cmp eax, 3
jne 0x1800ddb3a
movss xmm2, dword [0x1800c3a0c]
movss xmm0, dword [0x1800c39b4]
movss xmm3, dword [0x1800c39b0]
movss xmm1, dword [0x1800c3a04]
mov r9, qword [0x1805ba658]
mov rcx, qword [0x1805ba510]
add rcx, r9
call fcn.1801097e8
add rax, qword [0x1805ba530]
movabs r12, 0x7fffffff0000
cmp rax, 0x40000
jbe 0x1800ddb77
lea rcx, [rax + 1]
cmp rcx, r12
jae 0x1800ddb77
mov r8b, byte [rax]
jmp 0x1800ddb7a
mov r8b, r13b
mov rcx, qword [0x1805ba500]
add rcx, r9
call fcn.1801097e8
add rax, qword [0x1805ba5a0]
cmp rax, 0x40000
jbe 0x1800ddba5
lea rcx, [rax + 4]
cmp rcx, r12
jae 0x1800ddba5
mov eax, dword [rax]
jmp 0x1800ddba8
mov eax, r13d
test r8b, r8b
jne 0x1800ddcd3
shr eax, 9
not al
test r14b, al
je 0x1800ddcd0
test r15, r15
je 0x1800ddccb
mov r9, qword [r15]
lea rsi, [0x1800850a0]
or edx, 0xffffffff
or r10, 0xffffffffffffffff
test r9, r9
je 0x1800ddc2e
mov r11, qword [r9 + 0x10]
test r11, r11
je 0x1800ddc2e
mov r8d, edx
mov rax, r10
inc rax
cmp byte [r11 + rax], r13b
jne 0x1800ddbed
test eax, eax
je 0x1800ddc2e
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 0x1800ddbfc
not r8d
cmp r8d, 0xe93460ee
je 0x1800ddcc6
mov r11, r9
jmp 0x1800ddc3a
mov r11, r9
test r9, r9
je 0x1800ddccb
mov r11, qword [r11 + 0x10]
test r11, r11
je 0x1800ddc83
mov r8d, edx
mov rax, r10
inc rax
cmp byte [r11 + rax], r13b
jne 0x1800ddc49
test eax, eax
je 0x1800ddc83
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 0x1800ddc58
not r8d
cmp r8d, 0x198eef72
je 0x1800ddcc6
jmp 0x1800ddc88
test r9, r9
je 0x1800ddccb
mov r8, qword [r9 + 0x10]
test r8, r8
je 0x1800ddccb
inc r10
cmp byte [r8 + r10], r13b
jne 0x1800ddc91
test r10d, r10d
je 0x1800ddccb
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 0x1800ddca2
not edx
cmp edx, 0x479168ed
jne 0x1800ddccb
movaps xmm1, xmm3
jmp 0x1800ddcd3
movaps xmm1, xmm0
jmp 0x1800ddcd3
movaps xmm1, xmm2
xorps xmm0, xmm0
mov qword [rbp + 0x18], r13
lea rcx, [rbp + 8]
movdqu xmmword [rbp + 8], xmm0
call fcn.1800dcd60
mov rcx, qword [0x1805ba658]
call fcn.1800d9c7c
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800d8d10
mov rcx, qword [0x1805ba658]
lea rdx, [rbp - 0x30]
mov r8d, 0x2f
call fcn.1800d96a8
cmp byte [0x1805ba6d8], r13b
je 0x1800de0f4
mov eax, dword [0x1805ba6f0]
movss xmm13, dword [0x1800c3838]
movss xmm8, dword [0x1800c3810]
test eax, eax
jne 0x1800ddef0
call fcn.1800d9cf8
mov rcx, rax
call fcn.1800d817c
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.1800d7e68
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.18019f9e3
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 [0x1800c41e0]
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.1800de3d8
movdqa xmm0, xmmword [0x1800c3e30]
lea r9, [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea r8, [rbp - 0x80]
movss xmm0, dword [0x1800c3a14]
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.1800de3d8
movss xmm8, dword [0x1800c3810]
addss xmm12, xmm8
comiss xmm12, dword [0x1800c3a00]
jb 0x1800ddd7f
mov eax, dword [0x1805ba6f0]
movss xmm13, dword [0x1800c3838]
movss xmm7, dword [0x1800c390c]
cmp eax, r14d
jne 0x1800de0e2
mov rcx, qword [0x1805ba658]
call fcn.1800d9c7c
lea rdx, [rbp - 0x20]
mov rcx, qword [rax]
call fcn.1800d8d10
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 [0x1800c3b44]
movss dword [rbp + 0x158], xmm0
cmp byte [0x1805f0559], r13b
movss xmm0, dword [0x1800c37ac]
movss xmm12, dword [0x1805f0504]
jne 0x1800de11b
comiss xmm12, xmm7
jae 0x1800de11b
addss xmm12, xmm0
movss dword [0x1805f0504], xmm12
mov byte [0x1805f0559], r13b
cmp byte [0x1805f056c], r13b
movss xmm6, dword [0x1805619bc]
jne 0x1800de13f
comiss xmm6, xmm7
jae 0x1800de13f
addss xmm6, xmm0
movss dword [0x1805619bc], xmm6
mov byte [0x1805f056c], r13b
movaps xmm2, xmm15
xorps xmm0, xmm0
addss xmm2, xmm8
xorps xmm1, xmm1
movss xmm0, xmm15
movss xmm1, xmm2
call fcn.18019f9e3
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 [0x1800c4210]
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.1800de3d8
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.1800de3d8
movss xmm8, dword [0x1800c3810]
movss xmm7, dword [0x1800c390c]
addss xmm15, xmm8
comiss xmm15, dword [0x1800c3a00]
jb 0x1800ddf42
movss xmm13, dword [rbp + 0x148]
movss xmm8, dword [rbp + 0x140]
mov r9, qword [0x1805ba658]
mov rcx, qword [0x1805ba578]
add rcx, r9
cmp rcx, 0x40000
jbe 0x1800de162
lea rax, [rcx + 4]
cmp rax, r12
jae 0x1800de162
mov eax, dword [rcx]
jmp 0x1800de165
comiss xmm12, xmm11
mov byte [0x1805f0559], r14b
jbe 0x1800ddf78
addss xmm12, xmm13
movss dword [0x1805f0504], xmm12
jmp 0x1800ddf7f
comiss xmm6, xmm11
mov byte [0x1805f056c], r14b
jbe 0x1800ddfa9
addss xmm6, xmm13
movss dword [0x1805619bc], xmm6
jmp 0x1800ddfb0
mov eax, r13d
shr eax, 6
mov rcx, r9
test r14b, al
je 0x1800de187
mov r8d, 0x2f
lea rdx, [rsp + 0x60]
call fcn.1800d96a8
movsd xmm9, qword [rax]
jmp 0x1800de1ae
call fcn.1800d9c7c
lea rdx, [rbp - 0x70]
mov rcx, qword [rax]
call fcn.1800d8d10
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x1800c3908]
movss xmm9, dword [rax]
unpcklps xmm9, xmm1
mov rbx, qword [rbp - 0x10]
mov r15d, dword [rax + 8]
cmp rbx, rdi
je 0x1800de359
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.1800da748
test al, al
je 0x1800de32b
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x20]
call fcn.180108428
mov rcx, qword [0x1805ba658]
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.1800d96a8
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.1800da748
test al, al
je 0x1800de297
movss dword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x78], xmm8
call fcn.1800dd1a0
mov sil, al
jmp 0x1800de31e
cmp byte [0x1805ba6e5], r13b
je 0x1800de31b
cmp byte [0x1805ba6e7], r13b
je 0x1800de31b
mov rdx, r14
lea rcx, [rbp + 0x38]
call fcn.180108428
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.1800dd4f4
test al, al
je 0x1800de31b
movss dword [rsp + 0x60], xmm6
lea rcx, [rsp + 0x60]
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x68], xmm8
jmp 0x1800de28a
mov sil, r13b
mov rcx, r14
call fcn.1801083b4
test sil, sil
jne 0x1800de342
add rbx, 0xc
cmp rbx, rdi
je 0x1800de359
movss xmm8, dword [rbp + 0x140]
jmp 0x1800de1d2
movsd xmm0, qword [rbx]
movsd qword [0x1805f0278], xmm0
mov eax, dword [rbx + 8]
mov dword [0x1805f0280], eax
jmp 0x1800de372
movaps xmm0, xmm11
movss dword [0x1805f0280], xmm11
unpcklps xmm0, xmm11
movsd qword [0x1805f0278], xmm0
lea rcx, [rbp + 8]
call fcn.1801083b4
lea rcx, [rbp - 0x10]
call fcn.1801083b4
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