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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 8], ecx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1800f2210]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov ebx, ecx
xor r15d, r15d
mov dword [rsp + 0x58], r15d
lea rcx, [rbp - 0x38]
call fcn.18003fc70
mov rdx, qword [rax]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], r15b
jne 0x180018ad7
nop dword [rax]
cmp dword [rcx + 0x20], ebx
jae 0x180018acb
mov rcx, qword [rcx + 0x10]
jmp 0x180018ad1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r15b
je 0x180018ac0
cmp byte [rdx + 0x19], r15b
jne 0x180018b00
cmp ebx, dword [rdx + 0x20]
jb 0x180018b00
mov rdx, rax
mov rcx, rax
call fcn.180047d60
lea rdx, [rbp + 0xd0]
call fcn.18003fb70
mov eax, dword [rax]
jmp 0x18001938b
mov rdx, rax
mov rcx, rax
call fcn.180047d60
call fcn.1800181a0
mov rbx, rax
mov qword [rbp - 0x38], rax
mov rcx, rax
call fcn.180018040
mov rsi, rax
mov qword [rbp - 0x18], rax
xor edi, edi
mov dword [rsp + 0x58], edi
mov rcx, rbx
call fcn.180017ee0
test rax, rax
je 0x180019389
xor ebx, ebx
mov qword [rsp + 0x60], rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi + rbx*8]
mov r14, qword [rax]
mov qword [rbp - 0x20], r14
xor r12d, r12d
mov rcx, r14
call fcn.180017cc0
test rax, rax
je 0x180019366
xor esi, esi
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x70], rsi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180018b90
lea rcx, [rbp + 0x58]
call fcn.18004a340
nop
mov byte [rsp + 0x50], 0x27
mov al, 9
mov cl, 0x43
mov dl, 0x4b
movzx r8d, dl
xor r9d, r9d
xor al, 0x27
mov byte [rsp + 0x51], al
xor cl, 0x27
mov byte [rsp + 0x52], cl
xor dl, 0x27
mov byte [rsp + 0x53], dl
xor r8b, 0x27
mov byte [rsp + 0x54], r8b
mov byte [rsp + 0x55], r9b
lea rax, [rsp + 0x51]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], r9b
jne 0x180018be4
lea rcx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
setae sil
mov rdi, qword [rbp + 0x58]
cmovae rcx, rdi
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x51]
mov rbx, qword [rbp + 0x68]
mov rdx, rbx
call fcn.180049e80
cmp rbx, rax
jb 0x180019465
mov rcx, rbx
sub rcx, rax
mov edx, 4
cmp rcx, rdx
cmovb rdx, rcx
lea rcx, [rbp + 0x58]
test sil, sil
cmovne rcx, rdi
add rcx, rax
sub rbx, rdx
mov r8, rbx
sub r8, rax
inc r8
add rdx, rcx
call fcn.18009a850
mov qword [rbp + 0x68], rbx
movsxd rdx, r12d
mov rcx, r14
call fcn.180017df0
mov r13, rax
mov qword [rbp - 0x28], rax
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], al
jne 0x180018c90
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.18004a340
cmp qword [rsp + 0x78], 0
sete sil
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x180018cec
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018ce7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019495
call fcn.180098550
xor edx, edx
test sil, sil
je 0x180018e49
mov byte [rsp + 0x40], 0x43
mov al, 0x79
movzx ecx, al
xor al, 0x43
mov byte [rsp + 0x41], al
xor cl, 0x43
mov byte [rsp + 0x42], cl
mov byte [rsp + 0x43], dl
lea rax, [rsp + 0x41]
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], dl
jne 0x180018d20
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x68]
sub rax, rdx
cmp rax, rcx
jb 0x180019471
lea r9, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae r9, qword [rbp + 0x58]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x10]
call fcn.18004c030
or r15d, 0x40
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180018d80
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.180041380
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
bts r15d, 7
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x180018dfe
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018df1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001946b
call fcn.180098550
movups xmm0, xmmword [rbp - 0x68]
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm1
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x1800190e9
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800190e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001945f
jmp 0x1800190e4
mov byte [rsp + 0x48], 0x27
mov al, 0x1d
movzx ecx, al
xor al, 0x27
mov byte [rsp + 0x49], al
xor cl, 0x27
mov byte [rsp + 0x4a], cl
mov byte [rsp + 0x4b], dl
mov byte [rsp + 0x44], 0x19
mov al, 0x23
movzx ecx, al
xor al, 0x19
mov byte [rsp + 0x45], al
xor cl, 0x19
mov byte [rsp + 0x46], cl
mov byte [rsp + 0x47], dl
lea rax, [rsp + 0x45]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], dl
jne 0x180018e90
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x68]
sub rax, rdx
cmp rax, rcx
jb 0x180019459
lea r9, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae r9, qword [rbp + 0x58]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x45]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x30]
call fcn.18004c030
or r15d, 4
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180018ef0
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.180041380
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xor esi, esi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
lea rax, [rsp + 0x49]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180018f45
lea rdx, [rsp + 0x49]
lea rcx, [rsp + 0x68]
call fcn.180041380
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x180018f92
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.180041380
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 0x38
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x18001900d
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019000
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019477
call fcn.180098550
movups xmm0, xmmword [rbp - 0x78]
movups xmm1, xmmword [rbp - 0x68]
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm1
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180019050
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001904b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001947d
call fcn.180098550
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18001909c
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019097
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019483
call fcn.180098550
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x1800190e9
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800190e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019489
call fcn.180098550
mov qword [rbp + 0x50], rsi
lea rdx, [rbp + 0x50]
mov rcx, r13
call fcn.180017bc0
mov r14, rax
test rax, rax
je 0x180019303
mov rcx, r14
call fcn.1800178f0
mov rbx, rax
mov byte [rsp + 0x4c], 0x2f
mov cl, 0x15
movzx edx, cl
xor eax, eax
xor cl, 0x2f
mov byte [rsp + 0x4d], cl
xor dl, 0x2f
mov byte [rsp + 0x4e], dl
mov byte [rsp + 0x4f], al
lea rax, [rsp + 0x4d]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180019140
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x68]
sub rax, rdx
cmp rax, rcx
jb 0x18001949b
lea r9, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae r9, qword [rbp + 0x58]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x4d]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x10]
call fcn.18004c030
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180019196
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.180041380
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 3
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180019218
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001920f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001948f
call fcn.180098550
movups xmm0, xmmword [rbp - 0x78]
mov qword [rbp], rsi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rax, [rbp + 0x78]
psrldq xmm0, 8
movq rsi, xmm0
cmp rsi, 0x10
setae r10b
mov rdi, qword [rbp - 0x68]
cmovae rax, rdi
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180019250
lea r8, [rbp + 0x78]
test r10b, r10b
cmovne r8, rdi
mov eax, 0xffffffff
test ecx, ecx
je 0x1800192a2
mov r9d, ecx
lea r13, [0x1800da4b0]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r13 + rcx*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x180019280
mov r13, qword [rbp - 0x28]
not eax
cmp eax, dword [rbp + 0xd0]
je 0x1800193bb
test r10b, r10b
je 0x1800192e6
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800192de
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019495
mov rcx, rdi
call fcn.180098550
lea rdx, [rbp + 0x50]
mov rcx, r13
call fcn.180017bc0
mov r14, rax
test rax, rax
mov esi, 0
jne 0x180019105
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x18001933e
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019339
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800194a1
call fcn.180098550
inc r12d
mov r14, qword [rbp - 0x20]
mov rcx, r14
call fcn.180017cc0
movsxd rcx, r12d
cmp rcx, rax
jb 0x180018b71
mov rbx, qword [rsp + 0x60]
mov edi, dword [rsp + 0x58]
mov rsi, qword [rbp - 0x18]
inc edi
mov dword [rsp + 0x58], edi
inc rbx
mov qword [rsp + 0x60], rbx
mov rcx, qword [rbp - 0x38]
call fcn.180017ee0
movsxd rcx, edi
cmp rcx, rax
jb 0x180018b50
xor eax, eax
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.180098530
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, r14
call fcn.1800179c0
mov ebx, eax
mov ecx, dword [rbp + 0xd0]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x64], ebx
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
call fcn.180045e70
nop
cmp rsi, 0x10
jb 0x18001941a
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180019411
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180019495
mov rcx, rdi
call fcn.180098550
nop
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x180019451
inc rdx
mov rcx, qword [rbp + 0x58]
mov r8, rcx
cmp rdx, 0x1000
jb 0x18001944c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x1800194a1
call fcn.180098550
mov rax, rbx
jmp 0x18001938b
call fcn.180002150
int3
call fcn.1800a41bc
int3
call fcn.180044a30
nop
call fcn.1800a41bc
nop
call fcn.180002150
nop
call fcn.1800a41bc
nop
call fcn.1800a41bc
nop
call fcn.1800a41bc
nop
call fcn.1800a41bc
nop
call fcn.1800a41bc
nop
call fcn.1800a41bc
int3
call fcn.180002150
nop
call fcn.1800a41bc
int3