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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov r15d, r8d
mov r14, rdx
mov r13, rcx
test rdx, rdx
je 0x18000199d
add rcx, 0x18
mov r12d, 0xffffffff
cmp r15d, 2
jl 0x1800015b8
test rcx, rcx
je 0x1800015b8
lfence
movzx eax, word [rdx]
mov word [rcx], ax
lea eax, [r15 - 2]
cmp eax, 0x16
jl 0x1800015b8
test r13, r13
je 0x1800015b8
lfence
movups xmm0, xmmword [rdx + 2]
movups xmmword [r13], xmm0
mov eax, dword [rdx + 0x12]
mov dword [r13 + 0x10], eax
movzx eax, word [rdx + 0x16]
mov word [r13 + 0x14], ax
mov byte [r13 + 0x16], 0
lea rcx, [r13 + 0x1c]
lea eax, [r15 - 0x18]
cmp eax, 4
jl 0x1800015bd
test rcx, rcx
je 0x1800015bd
lfence
mov eax, dword [rdx + 0x18]
mov dword [rcx], eax
lea rcx, [r13 + 0x20]
lea eax, [r15 - 0x1c]
cmp eax, 2
jl 0x1800015bd
test rcx, rcx
je 0x1800015bd
lfence
movzx eax, word [rdx + 0x1c]
mov word [rcx], ax
lea rcx, [r13 + 0x22]
lea eax, [r15 - 0x1e]
cmp eax, 2
jl 0x1800015bd
test rcx, rcx
je 0x1800015bd
lfence
movzx eax, word [rdx + 0x1e]
mov word [rcx], ax
lea rcx, [r13 + 0x34]
lea eax, [r15 - 0x20]
cmp eax, 4
jl 0x1800015c1
test rcx, rcx
je 0x1800015c1
lfence
mov eax, dword [rdx + 0x20]
mov dword [rcx], eax
lea rdx, [r13 + 0x40]
lea eax, [r15 - 0x24]
cmp eax, 2
jl 0x1800015c1
test rdx, rdx
je 0x1800015c1
lfence
movzx eax, word [r14 + 0x24]
mov word [rdx], ax
lea rdx, [r13 + 0x58]
mov qword [rbp + 0x7f], rdx
lea eax, [r15 - 0x26]
cmp eax, 4
jl 0x1800015c9
test rdx, rdx
je 0x1800015c9
lfence
mov eax, dword [r14 + 0x26]
mov dword [rdx], eax
lea rdx, [r13 + 0x24]
lea eax, [r15 - 0x2a]
cmp eax, 2
jl 0x1800015c9
test rdx, rdx
je 0x1800015c9
lfence
movzx eax, word [r14 + 0x2a]
mov word [rdx], ax
lea rdx, [r13 + 0x28]
lea eax, [r15 - 0x2c]
cmp eax, 4
jl 0x1800015c9
test rdx, rdx
je 0x1800015c9
lfence
mov eax, dword [r14 + 0x2c]
mov dword [rdx], eax
lea rdx, [r13 + 0x30]
lea eax, [r15 - 0x30]
cmp eax, 4
jl 0x1800015c9
test rdx, rdx
je 0x1800015c9
lfence
mov eax, dword [r14 + 0x30]
mov dword [rdx], eax
lea rdx, [r13 + 0x2c]
lea eax, [r15 - 0x34]
cmp eax, 4
jl 0x1800015c9
test rdx, rdx
je 0x1800015c9
lfence
mov eax, dword [r14 + 0x34]
mov dword [rdx], eax
lea edi, [r12 + 0x61]
jmp 0x1800015cc
mov byte [r13 + 0x16], 0
lea rcx, [r13 + 0x34]
lea rax, [r13 + 0x58]
mov qword [rbp + 0x7f], rax
mov edi, r12d
mov ebx, dword [rcx]
mov ecx, ebx
call fcn.18000b478
mov qword [rbp + 0x6f], rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.18002a280
lea rbx, [r13 + 0x38]
lea rax, [rbp - 0x79]
xor esi, esi
mov rcx, qword [rbp + 0x6f]
cmp rbx, rax
je 0x180001607
mov rax, qword [rbx]
mov qword [rbx], rcx
test rax, rax
je 0x18000160c
mov rcx, rax
call fcn.18000b434
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800019b7
movsxd rbx, dword [r13 + 0x34]
test edi, edi
js 0x18000163e
mov eax, r15d
sub eax, edi
cmp eax, ebx
jl 0x18000163e
lfence
mov r8, rbx
movsxd rdx, edi
add rdx, r14
call fcn.180029bf0
add edi, ebx
jmp 0x180001641
mov edi, r12d
mov dword [rbp + 0x6f], esi
cmp si, word [r13 + 0x40]
jae 0x1800017d9
nop
mov ebx, esi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
test edi, edi
js 0x1800016bf
mov eax, r15d
sub eax, edi
cmp eax, 4
jl 0x1800016bf
lfence
movsxd rax, edi
mov ecx, dword [rax + r14]
mov dword [rsp + 0x20], ecx
add edi, 4
js 0x1800016bb
mov eax, r15d
sub eax, edi
cmp eax, 4
jl 0x1800016bb
lfence
movsxd rax, edi
mov ecx, dword [rax + r14]
mov dword [rsp + 0x24], ecx
add edi, 4
js 0x1800016bb
mov eax, r15d
sub eax, edi
cmp eax, 4
jl 0x1800016bb
lfence
movsxd rax, edi
mov ebx, dword [rax + r14]
mov dword [rsp + 0x28], ebx
add edi, 4
jmp 0x1800016c2
mov ebx, dword [rsp + 0x28]
mov edi, r12d
cmp ebx, 1
jb 0x180001700
mov ecx, ebx
call fcn.18000b478
mov rcx, rax
mov qword [rsp + 0x30], rax
test edi, edi
js 0x1800016fd
mov eax, r15d
sub eax, edi
cmp eax, ebx
jl 0x1800016fd
lfence
movsxd rbx, dword [rsp + 0x28]
mov r8, rbx
movsxd rdx, edi
add rdx, r14
call fcn.180029bf0
add edi, ebx
jmp 0x180001700
mov edi, r12d
lea rbx, [r13 + 0x48]
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
movabs rax, 0x666666666666666
cmp qword [rbx + 8], rax
je 0x1800019eb
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], rsi
lfence
mov ecx, 0x28
call fcn.18000b43c
mov ecx, dword [rsp + 0x20]
mov dword [rax + 0x10], ecx
mov ecx, dword [rsp + 0x24]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x18], ecx
mov qword [rax + 0x20], rsi
inc qword [rbx + 8]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rdx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rbp - 0x61], rsi
mov qword [rdx + 8], rax
mov qword [rcx], rax
mov rbx, qword [rbx]
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x18]
call fcn.18000b478
mov rcx, qword [rbx + 8]
mov qword [rcx + 0x20], rax
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1800019d1
mov edx, dword [rax + 0x18]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x1800017b7
movsxd rax, dword [rsp + 0x28]
cmp edx, eax
jl 0x1800017b7
mov r8, rax
mov rdx, rbx
call fcn.180029bf0
nop
test rbx, rbx
je 0x1800017c4
mov rcx, rbx
call fcn.18000b434
mov ecx, dword [rbp + 0x6f]
inc ecx
mov dword [rbp + 0x6f], ecx
movzx eax, word [r13 + 0x40]
cmp ecx, eax
jl 0x180001650
mov ecx, r15d
sub ecx, edi
mov dword [rbp + 0x6f], ecx
test edi, edi
jle 0x18000185c
cmp ecx, 4
je 0x18000185c
mov edx, dword [r13 + 0x58]
lea eax, [rdx + 4]
cmp ecx, eax
jne 0x18000185c
mov ebx, edx
mov ecx, edx
call fcn.18000b478
mov r8d, ebx
xor edx, edx
mov rbx, rax
mov rcx, rax
call fcn.18002a280
add r13, 0x60
lea rax, [rbp - 0x71]
cmp r13, rax
je 0x18000182a
mov rcx, qword [r13]
mov qword [r13], rbx
test rcx, rcx
je 0x180001832
jmp 0x18000182d
mov rcx, rbx
call fcn.18000b434
mov rcx, qword [r13]
test rcx, rcx
je 0x1800019f8
mov rax, qword [rbp + 0x7f]
movsxd rax, dword [rax]
cmp dword [rbp + 0x6f], eax
jl 0x18000185c
lfence
mov r8, rax
movsxd rdx, edi
add rdx, r14
call fcn.180029bf0
mov r9d, 0xf005ba11
lea eax, [r15 - 4]
test eax, eax
js 0x180001876
lfence
cdqe
mov r9d, dword [rax + r14]
mov r12d, r15d
mov edx, 0xdeadbeef
lea r10, [0x180059cc0]
cmp dword [0x180059cc0], 0
jne 0x18000192e
mov r8, rsi
mov r11d, 0xff000000
nop dword [rax + rax]
test r8b, 1
mov ecx, 0xedb88320
cmovne ecx, esi
mov eax, r8d
shr eax, 1
xor ecx, eax
test cl, 1
mov eax, 0xedb88320
cmovne eax, esi
shr ecx, 1
xor eax, ecx
test al, 1
mov ecx, 0xedb88320
cmovne ecx, esi
shr eax, 1
xor ecx, eax
test cl, 1
mov eax, 0xedb88320
cmovne eax, esi
shr ecx, 1
xor eax, ecx
test al, 1
mov ecx, 0xedb88320
cmovne ecx, esi
shr eax, 1
xor ecx, eax
test cl, 1
mov eax, 0xedb88320
cmovne eax, esi
shr ecx, 1
xor eax, ecx
test al, 1
mov ecx, 0xedb88320
cmovne ecx, esi
shr eax, 1
xor ecx, eax
test cl, 1
mov eax, 0x12b88320
cmovne eax, r11d
shr ecx, 1
xor eax, ecx
mov dword [r10 + r8*4], eax
inc r8
cmp r8, 0x100
jb 0x1800018a0
mov r8, r15
add r8, 0xfffffffffffffffc
je 0x18000195e
nop word [rax + rax]
movzx ecx, byte [rsi + r14]
movzx eax, dl
xor rcx, rax
mov eax, edx
shr eax, 8
mov edx, dword [r10 + rcx*4]
xor edx, eax
inc rsi
cmp rsi, r8
jb 0x180001940
test r12d, r12d
js 0x180001983
cmp r9d, edx
jne 0x180001983
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp + 7]
call fcn.1800012d0
lea rdx, [0x180051850]
lea rcx, [rbp + 7]
call fcn.180029b1c
int3
lea rcx, [rbp - 0x59]
call fcn.1800012d0
lea rdx, [0x180051850]
lea rcx, [rbp - 0x59]
call fcn.180029b1c
int3
lea rcx, [rbp - 0x41]
call fcn.1800012d0
lea rdx, [0x180051850]
lea rcx, [rbp - 0x41]
call fcn.180029b1c
nop
lea rcx, [rbp - 0x29]
call fcn.1800012d0
lea rdx, [0x180051850]
lea rcx, [rbp - 0x29]
call fcn.180029b1c
int3
lea rcx, str.list_too_long
call fcn.18000a440
nop
lea rcx, [rbp - 0x11]
call fcn.1800012d0
lea rdx, [0x180051850]
lea rcx, [rbp - 0x11]
call fcn.180029b1c
int3