Function at 0x180030cb0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rdi
push r15
sub rsp, 0x78
lea eax, [r8 - 0x80]
mov edi, r8d
mov r15, rcx
test eax, 0xffffff3f
jne 0x1800312f5
cmp r8d, 0x140
je 0x1800312f5
mov qword [r11 + 8], rbx
xorps xmm0, xmm0
mov qword [r11 + 0x10], rbp
xorps xmm1, xmm1
mov qword [r11 + 0x18], rsi
mov dword [rcx + 0x110], r8d
mov rsi, qword [rdx]
mov rbp, qword [rdx + 8]
mov qword [r11 + 0x20], r12
mov qword [r11 - 0x18], r14
bswap rsi
mov qword [r11 - 0x28], rsi
bswap rbp
mov qword [r11 - 0x20], rbp
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x30], xmm1
cmp r8d, 0xc0
jne 0x180030d3e
mov r11, qword [rdx + 0x10]
bswap r11
mov rbx, r11
mov qword [rsp + 0x30], r11
not rbx
mov qword [rsp + 0x38], rbx
jmp 0x180030d6a
cmp edi, 0x100
jne 0x180030d60
mov r11, qword [rdx + 0x10]
mov rbx, qword [rdx + 0x18]
bswap r11
bswap rbx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], rbx
jmp 0x180030d6a
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x30]
xor eax, eax
lea r12, [0x180000000]
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rax + r12 + 0xd1920]
mov r8d, edx
shl r8, 8
xor r8, rdx
shl r8, 8
xor r8, rdx
shl r8, 0x10
xor r8, rdx
mov rcx, r8
shl r8, 8
xor r8, rdx
shl rcx, 0x18
shl r8, 8
xor rcx, rdx
xor r8, rdx
mov qword [r12 + rax*8 + 0x110f20], rcx
movzx edx, byte [rax + r12 + 0xd1a20]
shl r8, 8
mov qword [r12 + rax*8 + 0x114720], r8
mov r8d, edx
shl r8, 8
xor r8, rdx
shl r8, 8
xor r8, rdx
mov rcx, r8
shl r8, 0x10
xor r8, rdx
shl rcx, 8
shl r8, 8
xor rcx, rdx
xor r8, rdx
shl rcx, 8
shl r8, 8
xor rcx, rdx
xor r8, rdx
shl rcx, 0x10
movzx edx, byte [rax + r12 + 0xd1b20]
mov qword [r12 + rax*8 + 0x112f20], r8
mov r8d, edx
shl r8, 0x10
xor r8, rdx
mov qword [r12 + rax*8 + 0x111720], rcx
shl r8, 8
xor r8, rdx
mov rcx, r8
shl r8, 8
xor r8, rdx
shl rcx, 0x10
shl r8, 0x10
xor rcx, rdx
xor r8, rdx
shl rcx, 8
shl r8, 8
xor rcx, rdx
xor r8, rdx
shl rcx, 8
movzx edx, byte [rax + r12 + 0xd1c20]
mov qword [r12 + rax*8 + 0x113720], r8
mov r8d, edx
shl r8, 8
xor r8, rdx
mov qword [r12 + rax*8 + 0x111f20], rcx
shl r8, 0x10
xor r8, rdx
mov rcx, r8
shl r8, 8
xor r8, rdx
shl rcx, 0x18
shl r8, 8
xor rcx, rdx
xor r8, rdx
shl rcx, 8
shl r8, 0x10
xor rcx, rdx
xor r8, rdx
mov qword [r12 + rax*8 + 0x112720], rcx
mov qword [r12 + rax*8 + 0x113f20], r8
inc rax
cmp rax, 0x100
jl 0x180030d80
movabs rax, 0xa09e667f3bcc908b
mov r10, r11
xor r10, rsi
mov r8, r10
xor r8, rax
mov rax, r8
shr rax, 0x30
movzx edx, al
mov rax, r8
shr rax, 0x28
movzx ecx, al
mov rax, r8
shr rax, 0x20
mov r14, qword [r12 + rdx*8 + 0x111720]
xor r14, qword [r12 + rcx*8 + 0x111f20]
movzx ecx, al
mov rax, r8
shr rax, 0x18
xor r14, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r8
shr rax, 0x10
xor r14, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r8
shr rax, 8
xor r14, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r8
shr rax, 0x38
xor r14, qword [r12 + rcx*8 + 0x113f20]
xor r14, qword [r12 + rax*8 + 0x110f20]
movzx eax, r8b
xor r14, qword [r12 + rax*8 + 0x114720]
movabs rax, 0xb67ae8584caa73b2
xor r14, rbx
xor r14, rbp
mov r9, r14
xor r9, rax
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, r9
shr rax, 0x28
movzx ecx, al
mov rax, r9
shr rax, 0x20
mov r8, qword [r12 + rdx*8 + 0x111720]
xor r8, qword [r12 + rcx*8 + 0x111f20]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r9
shr rax, 8
xor r8, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [r12 + rcx*8 + 0x113f20]
xor r8, qword [r12 + rax*8 + 0x110f20]
movzx eax, r9b
xor r8, qword [r12 + rax*8 + 0x114720]
movabs rax, 0xc6ef372fe94f82be
xor r8, rsi
xor r10, r8
mov r9, r10
xor r9, rax
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, r9
shr rax, 0x28
movzx ecx, al
mov r8, qword [r12 + rdx*8 + 0x111720]
xor r8, qword [r12 + rcx*8 + 0x111f20]
mov rax, r9
shr rax, 0x20
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r9
shr rax, 8
xor r8, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [r12 + rcx*8 + 0x113f20]
xor r8, qword [r12 + rax*8 + 0x110f20]
movzx eax, r9b
xor r8, qword [r12 + rax*8 + 0x114720]
movabs rax, 0x54ff53a5f1d36f1c
xor r8, rbp
mov rbp, qword [rsp + 0x98]
xor r14, r8
mov r8, r14
mov qword [rsp + 0x58], r14
xor r8, rax
mov rax, r8
shr rax, 0x30
movzx edx, al
mov rax, r8
shr rax, 0x28
movzx ecx, al
mov rax, r8
shr rax, 0x20
mov rsi, qword [r12 + rdx*8 + 0x111720]
xor rsi, qword [r12 + rcx*8 + 0x111f20]
movzx ecx, al
mov rax, r8
shr rax, 0x18
xor rsi, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r8
shr rax, 0x10
xor rsi, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r8
shr rax, 8
xor rsi, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r8
shr rax, 0x38
xor rsi, qword [r12 + rcx*8 + 0x113f20]
xor rsi, qword [r12 + rax*8 + 0x110f20]
movzx eax, r8b
xor rsi, qword [r12 + rax*8 + 0x114720]
xor rsi, r10
mov qword [rsp + 0x50], rsi
cmp edi, 0x80
je 0x1800312ad
xor rsi, r11
movabs rax, 0x10e527fade682d1d
mov r9, rsi
xor r9, rax
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, r9
shr rax, 0x28
movzx ecx, al
mov rax, r9
shr rax, 0x20
mov r8, qword [r12 + rdx*8 + 0x111720]
xor r8, qword [r12 + rcx*8 + 0x111f20]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r9
shr rax, 8
xor r8, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [r12 + rcx*8 + 0x113f20]
xor r8, qword [r12 + rax*8 + 0x110f20]
movzx eax, r9b
xor r8, qword [r12 + rax*8 + 0x114720]
movabs rax, 0xb05688c2b3e6c1fd
xor r8, rbx
xor r14, r8
mov r9, r14
mov qword [rsp + 0x48], r14
xor r9, rax
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, r9
shr rax, 0x28
movzx ecx, al
mov rax, r9
shr rax, 0x20
mov r8, qword [r12 + rdx*8 + 0x111720]
xor r8, qword [r12 + rcx*8 + 0x111f20]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [r12 + rcx*8 + 0x112720]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [r12 + rcx*8 + 0x112f20]
movzx ecx, al
mov rax, r9
shr rax, 8
xor r8, qword [r12 + rcx*8 + 0x113720]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [r12 + rcx*8 + 0x113f20]
xor r8, qword [r12 + rax*8 + 0x110f20]
movzx eax, r9b
xor r8, qword [r12 + rax*8 + 0x114720]
xor r8, rsi
mov qword [rsp + 0x40], r8
lea rax, [rsp + 0x40]
mov rcx, r15
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
call fcn.180033120
mov r14, qword [rsp + 0x70]
xor eax, eax
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x90]
add rsp, 0x78
pop r15
pop rdi
ret
mov eax, 0xffffffea
add rsp, 0x78
pop r15
pop rdi
ret