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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, rdx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0xa0], rax
test r8, r8
je 0x1400dbe68
mov rdi, r8
mov rbx, rcx
mov eax, dword [r8]
cmp eax, 4
je 0x1400dbd04
mov dword [rsp + 0x4c], eax
mov eax, dword [rdi + 4]
mov dword [rsp + 0x48], eax
mov esi, dword [rdi + 0x10]
mov eax, dword [rdi + 0x14]
mov r15d, dword [rdi + 0x18]
mov rcx, qword [rbx + 8]
lea r8d, [rax + 0x14]
xor edx, edx
cmp r8d, 0x54
jb 0x1400db792
mov r9d, eax
and r9d, 7
jne 0x1400db792
mov r9d, dword [rcx + 0x14]
cmp r9d, r8d
jb 0x1400dbe75
mov r8, qword [rcx + 8]
mov edx, dword [r8 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400dbe75
add r8, rax
mov edx, dword [r8]
cmp edx, 0x14
jb 0x1400dbe75
xor edx, edx
mov r10d, dword [r8]
add r10d, eax
jb 0x1400db792
cmp r10d, r9d
ja 0x1400db792
mov r9d, dword [r8 + 8]
xor edx, edx
cmp r9d, 0xbcea225b
cmove rdx, r8
mov qword [rsp + 0x38], r13
lea r13, [rdx + 0x10]
test rdx, rdx
cmove r13, rdx
lea r9d, [rax + 0x10]
xor edx, edx
cmp r9d, 0x50
jb 0x1400db825
mov r8d, eax
and r8d, 7
jne 0x1400db825
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x1400dbedb
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400dbedb
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x1400dbedb
mov r10d, dword [r9]
add r10d, eax
setb r11b
xor edx, edx
test r9, r9
je 0x1400db825
test r11b, r11b
jne 0x1400db825
cmp r10d, r8d
ja 0x1400db825
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x1400dbed4
add eax, edx
jb 0x1400dbed4
cmp eax, r8d
ja 0x1400dbed4
add rdx, 0xfffffffffffffff0
test r13, r13
je 0x1400dbe63
cmp esi, 2
jb 0x1400dbe63
cmp esi, 0x3ffffffe
ja 0x1400dbe63
lea ebp, [rsi + 1]
lea r14, [rbp*4]
cmp rdx, r14
jb 0x1400dbe63
mov ecx, 0x20
call fcn.14012cd5c
mov r12, rax
mov rcx, r14
call fcn.14012cd5c
mov qword [r12], rax
mov qword [r12 + 8], rax
lea rcx, [rax + rbp*4]
mov qword [r12 + 0x10], rcx
xor edx, edx
mov r8, rax
add r8, rdx
je 0x1400dbea8
mov dword [r8], 0
add rdx, 4
cmp r14, rdx
jne 0x1400db880
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], 0
test rbp, rbp
je 0x1400dbe7c
mov ecx, dword [r13]
mov dword [rax], ecx
mov eax, 1
nop
mov ecx, dword [r13 + rax*4]
cmp ecx, dword [r13 + rax*4 - 4]
jle 0x1400dbe5e
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x1400dbe7c
mov dword [rdx + rax*4], ecx
inc rax
cmp rbp, rax
jne 0x1400db8c0
mov rcx, qword [r12]
mov r8, qword [r12 + 8]
mov rdx, r8
sub rdx, rcx
je 0x1400dbee2
mov rax, rdx
shr rax, 2
neg r8
xor r8, rcx
cmp r8, 0xffffffffffffffff
je 0x1400dbcfc
mov r9, rdx
and r9, 0xfffffffffffffffe
xor r8d, r8d
lea r10, [0x1401fa950]
nop word cs:[rax + rax]
movzx r11d, al
movzx r14d, byte [rcx + r8]
xor r14d, r11d
shr eax, 8
xor eax, dword [r10 + r14*4]
movzx r11d, al
movzx r14d, byte [rcx + r8 + 1]
xor r14d, r11d
shr eax, 8
xor eax, dword [r10 + r14*4]
add r8, 2
cmp r9, r8
jne 0x1400db940
test dl, 1
je 0x1400db98c
movzx edx, al
movzx ecx, byte [rcx + r8]
xor ecx, edx
lea rdx, [0x1401fa950]
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov dword [r12 + 0x18], eax
cmp eax, r15d
jne 0x1400dbe5e
test r12, r12
je 0x1400dbe63
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x1400dbbec
mov rcx, r12
call fcn.1400dfcc0
mov r13, rax
xor r15d, r15d
lea r11, [rsi*8]
mov ecx, dword [rdi + 0x1c]
mov r12, qword [rbx + 8]
test ecx, ecx
jne 0x1400dbd45
mov r14, r15
mov qword [rsp + 0x40], r13
movabs rbp, 0xfffffffc00000000
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], r15
mov rax, r12
and rax, rbp
cmp rax, qword [0x140219dc8]
jne 0x1400dba16
mov rcx, r12
mov r13, r11
call fcn.1400ad040
mov r11, r13
lea r13, [rdi + 0x1c]
mov qword [rsp + 0x80], r12
mov dword [rsp + 0x88], 0x53215531
cmp esi, 0x1fffffff
ja 0x1400dbefd
mov eax, r11d
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x90], 0
mov r12, r13
and r12, rbp
cmp r12, qword [0x140219dc8]
je 0x1400dbf27
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x70], r15
mov rbx, qword [rbx + 8]
mov rax, rbx
and rax, rbp
cmp rax, qword [0x140219dc8]
jne 0x1400dba8f
mov rcx, rbx
mov r15, r11
call fcn.1400ad040
mov r11, r15
lea eax, [rsi*4]
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x68], 0x53215531
cmp esi, 0x1fffffff
mov r15, r14
ja 0x1400dbf05
mov dword [rsp + 0x6c], r11d
mov dword [rsp + 0x70], eax
cmp r12, qword [0x140219dc8]
je 0x1400dbf0e
mov qword [rsp + 0x78], r13
mov eax, dword [rsp + 0x4c]
cmp eax, 3
ja case.default.0x1400dbaf3
lea r12, [rdi + 0x50]
mov eax, eax
lea rcx, [0x140200c2c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r13, qword [rsp + 0x38]
jmp rax
lea rax, [rdi + 0x38]
add rdi, 0x20
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x58]
lea r9, [rsp + 0x80]
mov rcx, rdi
mov rdx, r12
mov r8, qword [rsp + 0x40]
call fcn.14000cfa0
mov rbx, qword [rdi]
test rbx, rbx
je 0x1400dbe2e
mov eax, dword [rsp + 0x48]
lock or dword [rbx + 0x10], eax
mov qword [r13], rbx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x140219dc8]
je 0x1400dbee9
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x60]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x140219dc8]
jne 0x1400dbb80
call fcn.1400ad190
mov rcx, qword [rsp + 0x98]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x140219dc8]
je 0x1400dbef3
mov qword [rsp + 0x98], 0
mov rcx, qword [rsp + 0x80]
and rbp, rcx
cmp rbp, qword [0x140219dc8]
jne 0x1400dbbc0
call fcn.1400ad190
test r15, r15
jne 0x1400dbc06
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14012f6f0
mov rax, r13
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r12
call fcn.1400e1630
mov r13, rax
xor r15d, r15d
cmp rax, r12
cmovne r15, r12
jmp 0x1400db9be
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400dbcda
mov rcx, r15
call fcn.14012cd4c
jmp 0x1400dbbc5
lea rsi, [rdi + 0x38]
add rdi, 0x20
mov ecx, 0x40
call fcn.14012cd5c
mov rbx, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
mov r8, qword [rsp + 0x40]
call fcn.1400e0610
lea rax, [0x1401f1b48]
mov qword [rbx], rax
lea rax, [rbx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x28], rax
jmp 0x1400dbb31
lea rsi, [rdi + 0x38]
add rdi, 0x20
mov ecx, 0x40
call fcn.14012cd5c
mov rbx, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
mov r8, qword [rsp + 0x40]
call fcn.1400e0610
lea rax, [rbx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x28], rax
lea rax, [0x1401f1c08]
mov qword [rbx], rax
jmp 0x1400dbb31
mov rax, qword [r15 + 8]
cmp rax, rcx
je 0x1400dbcee
add rax, 0xfffffffffffffffc
jne 0x1400dbcde
jmp 0x1400dbf3e
mov qword [r15 + 8], rcx
call fcn.14012cd4c
jmp 0x1400dbc12
xor r8d, r8d
jmp 0x1400db970
lea rsi, [rdi + 0x38]
lea r14, [rdi + 0x20]
lea r15, [rdi + 0x50]
mov ecx, 0x38
call fcn.14012cd5c
mov r12, rax
mov qword [rsp + 0x20], rsi
mov rcx, rax
mov rdx, rbx
mov r8, r15
mov r9, r14
call fcn.14001bef0
mov qword [r13], r12
mov eax, dword [rdi + 4]
lock or dword [r12 + 0x10], eax
jmp 0x1400dbbc5
lea r8d, [rcx + 0x10]
xor eax, eax
cmp r8d, 0x50
jb 0x1400dbdbe
mov edx, ecx
and edx, 7
jne 0x1400dbdbe
mov edx, dword [r12 + 0x14]
cmp edx, r8d
jb 0x1400dbe45
mov r8, qword [r12 + 8]
mov eax, dword [r8 + rcx + 4]
cmp eax, 0xc8799269
jne 0x1400dbe45
add r8, rcx
mov eax, dword [r8]
cmp eax, 0x10
jb 0x1400dbe45
mov r9d, dword [r8]
add r9d, ecx
setb r10b
xor eax, eax
test r8, r8
je 0x1400dbdbe
test r10b, r10b
jne 0x1400dbdbe
cmp r9d, edx
ja 0x1400dbdbe
mov eax, dword [r8]
cmp rax, 0x11
jb 0x1400dbe35
add ecx, eax
jb 0x1400dbe35
cmp ecx, edx
ja 0x1400dbe35
add rax, 0xfffffffffffffff0
cmp rax, r11
jb 0x1400dbe1c
mov r14, r15
mov r12, qword [rbx + 8]
jmp 0x1400db9d8
lea rsi, [rdi + 0x38]
add rdi, 0x20
mov ecx, 0x28
call fcn.14012cd5c
mov rbx, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
mov r8, qword [rsp + 0x40]
call fcn.1400e0610
lea rax, [0x1401f1cc8]
jmp 0x1400dbcd2
mov r13, qword [rsp + 0x38]
mov qword [r13], 0
jmp 0x1400dbbc0
xor ebx, ebx
jmp 0x1400dbb42
mov rcx, r12
mov dl, 1
mov r14, r11
call fcn.140168140
mov r11, r14
xor eax, eax
jmp 0x1400dbdbe
mov rcx, r12
call fcn.140121590
mov rcx, r12
call fcn.14012cd4c
jmp 0x1400dbe63
test r12, r12
jne 0x1400dbe4c
mov r13, qword [rsp + 0x38]
mov qword [r13], 0
jmp 0x1400dbbc5
xor edx, edx
jmp 0x1400db792
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_vector
lea r9, str.__n___size__
mov r8d, 0x601
call fcn.140167fb0
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.140167fb0
mov dl, 1
call fcn.140168140
xor edx, edx
jmp 0x1400db825
xor eax, eax
jmp 0x1400db98c
call fcn.1400ad190
jmp 0x1400dbb5e
call fcn.1400ad190
jmp 0x1400dbb9b
int3
int3
mov rcx, r13
call fcn.1400ad040
jmp 0x1400dbac8
xor ebx, ebx
mov r13, qword [rsp + 0x38]
jmp 0x1400dbb42
mov rcx, r13
mov qword [rsp + 0x50], r11
call fcn.1400ad040
mov r11, qword [rsp + 0x50]
jmp 0x1400dba61
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.140167fb0
int3