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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov r12d, edx
mov rbx, rcx
test rcx, rcx
je 0x1800515ea
mov r8d, dword [0x1800ccce0]
mov rax, qword gs:[0x58]
mov edi, 4
mov rsi, qword [rax + r8*8]
mov eax, dword [rsi + rdi]
cmp dword [0x1800ce5bc], eax
jle 0x180051457
lea rcx, [0x1800ce5bc]
call fcn.180070588
cmp dword [0x1800ce5bc], 0xffffffff
jne 0x180051457
mov ecx, 0xb78ad364
call fcn.180049150
mov qword [0x1800ceab8], rax
lea rcx, [0x1800ce5bc]
call fcn.18007051c
mov rax, qword [0x1800ceab8]
cmp qword [rax + rbx], 0
je 0x1800515ea
mov eax, dword [rsi + rdi]
cmp dword [0x1800cec20], eax
jle 0x1800514a6
lea rcx, [0x1800cec20]
call fcn.180070588
cmp dword [0x1800cec20], 0xffffffff
jne 0x1800514a6
mov ecx, 0x12235404
call fcn.180049150
mov qword [0x1800ceb88], rax
lea rcx, [0x1800cec20]
call fcn.18007051c
mov rax, qword [0x1800ceb88]
cmp qword [rax + rbx], 0
je 0x1800515ea
mov eax, dword [rsi + rdi]
cmp dword [0x1800ce5bc], eax
jle 0x1800514f5
lea rcx, [0x1800ce5bc]
call fcn.180070588
cmp dword [0x1800ce5bc], 0xffffffff
jne 0x1800514f5
mov ecx, 0xb78ad364
call fcn.180049150
mov qword [0x1800ceab8], rax
lea rcx, [0x1800ce5bc]
call fcn.18007051c
mov rax, qword [0x1800ceab8]
mov r14, qword [rax + rbx]
mov eax, dword [rsi + rdi]
cmp dword [0x1800cec20], eax
jle 0x18005153d
lea rcx, [0x1800cec20]
call fcn.180070588
cmp dword [0x1800cec20], 0xffffffff
jne 0x18005153d
mov ecx, 0x12235404
call fcn.180049150
mov qword [0x1800ceb88], rax
lea rcx, [0x1800cec20]
call fcn.18007051c
mov rax, qword [0x1800ceb88]
mov r13, qword [rax + rbx]
xor ebx, ebx
mov rcx, r14
call fcn.180063db0
test eax, eax
je 0x1800515ea
nop word [rax + rax]
mov edx, ebx
mov rcx, r14
call fcn.180063d60
mov rdi, rax
mov edx, ebx
mov rcx, r13
call fcn.180063d10
mov r15, rax
test rdi, rdi
je 0x1800515d8
test rax, rax
je 0x1800515d8
lea r8, [rdi + 0x14]
mov edx, 0xffffffff
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [r8 + rcx*2], 0
jne 0x180051594
test ecx, ecx
je 0x1800515d1
mov r9d, ecx
lea r12, [0x1800b4d40]
nop dword [rax]
movzx ecx, word [r8]
mov eax, edx
xor rcx, rax
movzx eax, cl
shr edx, 8
xor edx, dword [r12 + rax*4]
lea r8, [r8 + 2]
sub r9, 1
jne 0x1800515b0
mov r12d, dword [rbp + 0x6f]
not edx
cmp edx, r12d
je 0x18005161b
inc ebx
mov rcx, r14
call fcn.180063db0
cmp ebx, eax
jb 0x180051560
xor eax, eax
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r14d, 4
mov eax, dword [rsi + r14]
cmp dword [0x1800cea68], eax
jle 0x18005165f
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x18005165f
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rbx, qword [rcx]
test rbx, rbx
je 0x180051737
mov eax, dword [rsi + r14]
cmp dword [0x1800ce748], eax
jle 0x1800516ba
lea rcx, [0x1800ce748]
call fcn.180070588
cmp dword [0x1800ce748], 0xffffffff
jne 0x1800516ba
mov ecx, 0x3300df68
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ce6b8], rcx
lea rcx, [0x1800ce748]
call fcn.18007051c
mov r8, rbx
call fcn.180067320
mov rbx, rax
test rax, rax
je 0x180051737
mov ecx, dword [rsi + r14]
cmp dword [0x1800ce760], ecx
jle 0x18005170b
lea rcx, [0x1800ce760]
call fcn.180070588
cmp dword [0x1800ce760], 0xffffffff
jne 0x18005170b
mov ecx, 0x56e64b7d
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ce680], rcx
lea rcx, [0x1800ce760]
call fcn.18007051c
xorps xmm6, xmm6
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp - 0x59], xmm0
movss dword [rbp - 0x51], xmm6
mov r9, rbx
lea r8, [rbp - 0x59]
mov rdx, qword [0x1800ce680]
lea rcx, [rbp - 0x39]
call fcn.180067340
jmp 0x180051749
xorps xmm6, xmm6
mov qword [rbp - 0x39], 0
mov dword [rbp - 0x31], 0
mov eax, dword [rsi + r14]
cmp dword [0x1800cea68], eax
jle 0x180051787
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180051787
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rbx, qword [rcx]
test rbx, rbx
je 0x18005185c
mov eax, dword [rsi + r14]
cmp dword [0x1800ce748], eax
jle 0x1800517e2
lea rcx, [0x1800ce748]
call fcn.180070588
cmp dword [0x1800ce748], 0xffffffff
jne 0x1800517e2
mov ecx, 0x3300df68
call fcn.18004a6b0
mov rdx, qword [rax]
mov qword [0x1800ce6b8], rdx
lea rcx, [0x1800ce748]
call fcn.18007051c
mov r8, rbx
call fcn.180067320
mov rbx, rax
test rax, rax
je 0x18005185c
mov ecx, dword [rsi + r14]
cmp dword [0x1800cebe0], ecx
jle 0x180051833
lea rcx, [0x1800cebe0]
call fcn.180070588
cmp dword [0x1800cebe0], 0xffffffff
jne 0x180051833
mov ecx, 0x33ac3a8f
call fcn.18004a6b0
mov rdx, qword [rax]
mov qword [0x1800ceab0], rdx
lea rcx, [0x1800cebe0]
call fcn.18007051c
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp - 0x59], xmm0
movss dword [rbp - 0x51], xmm6
mov r9, rbx
lea r8, [rbp - 0x59]
mov rdx, qword [0x1800ceab0]
lea rcx, [rbp - 0x49]
call fcn.180067340
jmp 0x18005186b
mov qword [rbp - 0x49], 0
mov dword [rbp - 0x41], 0
mov eax, dword [rsi + r14]
cmp dword [0x1800ce654], eax
jle 0x1800518a9
lea rcx, [0x1800ce654]
call fcn.180070588
cmp dword [0x1800ce654], 0xffffffff
jne 0x1800518a9
mov ecx, 0xf7ce809e
call fcn.180048730
mov qword [0x1800ce560], rax
lea rcx, [0x1800ce654]
call fcn.18007051c
mov rax, qword [0x1800ce560]
mov rax, qword [rax + 0xb8]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x29], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x21], eax
mov eax, dword [rsi + r14]
cmp dword [0x1800cea68], eax
jle 0x180051904
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180051904
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rbx, qword [rcx]
xor r12d, r12d
mov qword [rbp + 0x67], r12
test rbx, rbx
jne 0x180051932
mov qword [rbp - 0x55], r12
mov dword [rbp - 0x59], r12d
lea rax, [rbp - 0x59]
jmp 0x1800519dd
mov eax, dword [rsi + r14]
cmp dword [0x1800ce7c8], eax
jle 0x180051970
lea rcx, [0x1800ce7c8]
call fcn.180070588
cmp dword [0x1800ce7c8], 0xffffffff
jne 0x180051970
mov ecx, 0x6d5c7dd2
call fcn.180049150
mov qword [0x1800ceb38], rax
lea rcx, [0x1800ce7c8]
call fcn.18007051c
mov rax, qword [0x1800ceb38]
mov rbx, qword [rbx + rax]
mov qword [rbp - 0x55], 0
mov dword [rbp - 0x59], 0
test rbx, rbx
jne 0x180051995
lea rax, [rbp - 0x59]
jmp 0x1800519dd
mov eax, dword [rsi + r14]
cmp dword [0x1800ce744], eax
jle 0x1800519d3
lea rcx, [0x1800ce744]
call fcn.180070588
cmp dword [0x1800ce744], 0xffffffff
jne 0x1800519d3
mov ecx, 0x7cd71351
call fcn.180049150
mov qword [0x1800ce768], rax
lea rcx, [0x1800ce744]
call fcn.18007051c
mov rax, qword [0x1800ce768]
add rax, rbx
movss xmm1, dword [rbp - 0x25]
addss xmm1, dword [rax + 4]
movss xmm8, dword [rbp - 0x41]
mulss xmm8, xmm1
movss xmm0, dword [rbp - 0x45]
mulss xmm0, xmm1
addss xmm8, dword [rbp - 0x31]
movss xmm9, dword [rbp - 0x35]
addss xmm9, xmm0
movss xmm7, dword [rbp - 0x49]
mulss xmm7, xmm1
addss xmm7, dword [rbp - 0x39]
mov ecx, 0x18
call fcn.180070ab8
mov rbx, rax
mov qword [rbp + 0x67], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov ecx, dword [rsi + r14]
cmp dword [0x1800ce760], ecx
jle 0x180051a78
lea rcx, [0x1800ce760]
call fcn.180070588
cmp dword [0x1800ce760], 0xffffffff
jne 0x180051a78
mov ecx, 0x56e64b7d
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ce680], rcx
lea rcx, [0x1800ce760]
call fcn.18007051c
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp - 0x29], xmm0
movss dword [rbp - 0x21], xmm6
mov r9, r15
lea r8, [rbp - 0x29]
mov rdx, qword [0x1800ce680]
lea rcx, [rbp - 0x39]
call fcn.180067340
movaps xmm0, xmm7
unpcklps xmm0, xmm9
movsd qword [rbp - 0x29], xmm0
movss dword [rbp - 0x21], xmm8
movsd xmm0, qword [rbp - 0x39]
movsd qword [rbp - 0x49], xmm0
mov eax, dword [rbp - 0x31]
mov dword [rbp - 0x41], eax
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x49]
call fcn.18004d4b0
movzx edi, al
mov edx, dword [rsi + r14]
cmp dword [0x1800ce760], edx
jle 0x180051b12
lea rcx, [0x1800ce760]
call fcn.180070588
cmp dword [0x1800ce760], 0xffffffff
jne 0x180051b12
mov ecx, 0x56e64b7d
call fcn.18004a6b0
mov rdx, qword [rax]
mov qword [0x1800ce680], rdx
lea rcx, [0x1800ce760]
call fcn.18007051c
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp - 0x29], xmm0
movss dword [rbp - 0x21], xmm6
mov r9, r15
lea r8, [rbp - 0x29]
mov rdx, qword [0x1800ce680]
lea rcx, [rbp - 0x59]
call fcn.180067340
movsd xmm0, qword [rbp - 0x59]
mov eax, dword [rbp - 0x51]
mov qword [rbx + 4], r12
movsd qword [rbx], xmm0
mov dword [rbx + 8], eax
mov byte [rbx + 0xc], dil
mov qword [rbx + 0x10], r15
mov rax, rbx
jmp 0x1800515ec