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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1800cc020]
xor rax, rsp
mov qword [rbp + 0x58], rax
xor r15d, r15d
mov dword [rsp + 0x30], r15d
call fcn.180045e30
mov rsi, rax
mov qword [rbp - 0x78], rax
mov rcx, rax
call fcn.180045d70
mov rbx, rax
mov qword [rsp + 0x60], rax
xor edi, edi
mov dword [rsp + 0x30], edi
mov rcx, rsi
call fcn.180045cb0
test rax, rax
je 0x18004a5ef
nop dword [rax]
mov rax, qword [rbx]
mov r13, qword [rax]
xor r12d, r12d
mov rcx, r13
call fcn.180045b80
test rax, rax
je 0x18004a5cc
xor esi, esi
mov ebx, esi
nop
mov rdx, qword [r13]
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rsi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180049f90
lea rcx, [rbp + 0x18]
call fcn.180036e70
nop
mov rdx, rbx
mov rcx, r13
call fcn.180045c20
mov r14, rax
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180049fd3
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180036e70
cmp qword [rsp + 0x48], 0
sete sil
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x18004a031
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a02c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a61c
call fcn.1800717d8
xor edx, edx
test sil, sil
je 0x18004a138
mov byte [rsp + 0x24], 0x45
mov al, 0x7f
movzx ecx, al
xor al, 0x45
mov byte [rsp + 0x25], al
xor cl, 0x45
mov byte [rsp + 0x26], cl
mov byte [rsp + 0x27], dl
lea r8, [rsp + 0x25]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x40]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x18004a071
mov rdx, rdi
mov rcx, rax
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
or r15d, 8
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x18004a0ed
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a0e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a62e
call fcn.1800717d8
movups xmm0, xmmword [rbp - 0x70]
movups xmm1, xmmword [rbp + 0x38]
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm1
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18004a39e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a399
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a622
jmp 0x18004a399
mov byte [rsp + 0x20], 0x3c
mov al, 6
movzx ecx, al
xor al, 0x3c
mov byte [rsp + 0x21], al
xor cl, 0x3c
mov byte [rsp + 0x22], cl
mov byte [rsp + 0x23], dl
mov byte [rsp + 0x28], 5
mov al, 0x3f
movzx ecx, al
xor al, 5
mov byte [rsp + 0x29], al
xor cl, 5
mov byte [rsp + 0x2a], cl
mov byte [rsp + 0x2b], dl
lea r8, [rsp + 0x29]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x20]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18004a190
mov rdx, rbx
mov rcx, rax
call fcn.180036f70
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
or r15d, 4
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18004a1f0
lea rdx, [rsp + 0x21]
lea rcx, [rsp + 0x38]
call fcn.180036f70
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
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], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x18004a241
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 0x12
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x18004a2bd
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a2b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a634
call fcn.1800717d8
movups xmm0, xmmword [rbp + 0x38]
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm1
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004a301
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a2fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a63a
call fcn.1800717d8
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x18004a350
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a34b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a640
call fcn.1800717d8
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x18004a39e
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a399
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a646
call fcn.1800717d8
mov qword [rbp + 0x10], rsi
lea rdx, [rbp + 0x10]
mov rcx, r14
call fcn.180045af0
mov rdi, rax
test rax, rax
je 0x18004a56d
nop word [rax + rax]
mov rcx, rdi
call fcn.180045930
mov rbx, rax
mov byte [rsp + 0x2c], 0x13
mov cl, 0x29
movzx edx, cl
xor eax, eax
xor cl, 0x13
mov byte [rsp + 0x2d], cl
xor dl, 0x13
mov byte [rsp + 0x2e], dl
mov byte [rsp + 0x2f], al
lea r8, [rsp + 0x2d]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x60]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18004a403
mov rdx, rbx
mov rcx, rax
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], 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
or r15d, 1
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18004a475
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a470
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a64c
call fcn.1800717d8
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rcx, rdi
call fcn.1800459c0
mov r10d, eax
lea rdx, [rbp + 0x38]
mov rdi, qword [rbp + 0x50]
cmp rdi, 0x10
setae sil
mov rbx, qword [rbp + 0x38]
cmovae rdx, rbx
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18004a4b0
lea r8, [rbp + 0x38]
test sil, sil
cmovne r8, rbx
mov eax, 0xffffffff
test ecx, ecx
je 0x18004a500
mov r9d, ecx
lea rdi, [0x1800b90c0]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [rdi + rcx*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x18004a4e0
mov rdi, qword [rbp + 0x50]
not eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], r10d
lea r8, [rsp + 0x58]
lea rdx, [rbp]
call fcn.180068ad0
nop
test sil, sil
je 0x18004a550
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18004a548
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a61c
mov rcx, rbx
call fcn.1800717d8
lea rdx, [rbp + 0x10]
mov rcx, r14
call fcn.180045af0
mov rdi, rax
test rax, rax
mov esi, 0
jne 0x18004a3c0
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x18004a5a8
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004a5a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004a628
call fcn.1800717d8
inc r12d
movsxd rbx, r12d
mov rcx, r13
call fcn.180045b80
cmp rbx, rax
jb 0x180049f70
mov rbx, qword [rsp + 0x60]
mov edi, dword [rsp + 0x30]
mov rsi, qword [rbp - 0x78]
inc edi
mov dword [rsp + 0x30], edi
add rbx, 8
mov qword [rsp + 0x60], rbx
mov rcx, rsi
call fcn.180045cb0
movsxd rcx, edi
cmp rcx, rax
jb 0x180049f50
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.1800710d0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
int3