Function at 0x180004ca0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea rax, [rcx + 2]
mov qword [rsp + 0x10], 4
mov qword [rsp + 8], rax
nop word [rax + rax]
movzx r10d, byte [rax - 2]
xor dil, dil
movzx r11d, byte [rax - 1]
xor r9d, r9d
movzx ebx, byte [rax]
movzx esi, byte [rax + 1]
movzx eax, r10b
nop dword [rax + rax]
mov ecx, r9d
mov r8d, 0xe
shr r8d, cl
movzx ecx, al
xor cl, dil
movzx edx, cl
test r8b, 1
movzx ecx, dil
cmove edx, ecx
movzx ecx, al
add cl, cl
movzx edi, dl
movzx edx, cl
movzx ecx, al
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx eax, al
cmovns eax, edx
inc r9d
cmp r9d, 8
jl 0x180004cf0
mov byte [rsp + 4], dil
movzx r8d, r11b
xor dil, dil
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 0xb
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004d50
mov byte [rsp + 3], dil
movzx r8d, bl
xor dil, dil
xor r9d, r9d
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 0xd
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004db0
mov byte [rsp + 2], dil
movzx r8d, sil
xor dil, dil
xor r9d, r9d
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 9
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004e10
mov byte [rsp + 1], dil
movzx r8d, r10b
xor dil, dil
xor r9d, r9d
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 9
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004e70
mov byte [rsp], dil
movzx r8d, r11b
xor dil, dil
xor r9d, r9d
nop dword [rax]
nop dword [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 0xe
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004ed0
mov byte [rsp + 0x78], dil
movzx r8d, bl
xor dil, dil
xor r9d, r9d
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 0xb
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004f30
mov byte [rsp + 0x70], dil
movzx r8d, sil
xor dil, dil
xor r9d, r9d
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, dil
mov edx, 0xd
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004f90
xor r13b, r13b
mov byte [rsp + 0x68], dil
xor r9d, r9d
movzx r8d, r10b
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, r13b
mov edx, 0xd
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r13b
cmove ecx, eax
movzx eax, r8b
add al, al
movzx r13d, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180004ff0
xor r12b, r12b
movzx r8d, r11b
xor r9d, r9d
movzx eax, r8b
mov ecx, r9d
xor al, r12b
mov edx, 9
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r12b
cmove ecx, eax
movzx eax, r8b
add al, al
movzx r12d, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x180005041
xor r15b, r15b
movzx r8d, bl
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, r8b
mov ecx, r9d
xor al, r15b
mov edx, 0xe
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r15b
cmove ecx, eax
movzx eax, r8b
add al, al
movzx r15d, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x1800050a0
xor r14b, r14b
movzx r8d, sil
xor r9d, r9d
movzx eax, r8b
mov ecx, r9d
xor al, r14b
mov edx, 0xb
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r14b
cmove ecx, eax
movzx eax, r8b
add al, al
movzx r14d, cl
movzx edx, al
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
inc r9d
cmp r9d, 8
jl 0x1800050f1
xor bpl, bpl
xor r8d, r8d
nop
movzx eax, r10b
mov ecx, r8d
xor al, bpl
mov edx, 0xb
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, bpl
cmove ecx, eax
movzx eax, r10b
add al, al
movzx ebp, cl
movzx edx, al
movzx ecx, r10b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r10d, al
cmovns r10d, edx
inc r8d
cmp r8d, 8
jl 0x180005140
xor dil, dil
xor r8d, r8d
nop dword [rax]
movzx eax, r11b
mov ecx, r8d
xor al, dil
mov edx, 0xd
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r11b
add al, al
movzx edi, cl
movzx edx, al
movzx ecx, r11b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r11d, al
cmovns r11d, edx
inc r8d
cmp r8d, 8
jl 0x180005190
xor r10b, r10b
xor r8d, r8d
nop dword [rax]
movzx eax, bl
mov ecx, r8d
xor al, r10b
mov edx, 9
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r10b
cmove ecx, eax
movzx eax, bl
add al, al
movzx r10d, cl
movzx edx, al
movzx ecx, bl
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx ebx, al
cmovns ebx, edx
inc r8d
cmp r8d, 8
jl 0x1800051e0
xor r9b, r9b
xor r8d, r8d
nop dword [rax + rax]
movzx eax, sil
mov ecx, r8d
xor al, r9b
mov edx, 0xe
shr edx, cl
movzx ecx, al
test dl, 1
movzx eax, r9b
cmove ecx, eax
movzx eax, sil
add al, al
movzx r9d, cl
movzx edx, al
movzx ecx, sil
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx esi, al
cmovns esi, edx
inc r8d
cmp r8d, 8
jl 0x180005230
movzx eax, byte [rsp + 0x70]
mov edx, r10d
xor edx, edi
mov ecx, r14d
xor ecx, r15d
xor edx, ebp
xor ecx, r12d
xor edx, r9d
xor ecx, r13d
shl edx, 8
or edx, ecx
movzx ecx, byte [rsp + 0x68]
xor ecx, eax
shl edx, 8
movzx eax, byte [rsp + 0x78]
xor ecx, eax
movzx eax, byte [rsp]
xor ecx, eax
movzx eax, byte [rsp + 2]
or edx, ecx
movzx ecx, byte [rsp + 1]
xor ecx, eax
shl edx, 8
movzx eax, byte [rsp + 3]
xor ecx, eax
movzx eax, byte [rsp + 4]
xor ecx, eax
mov rax, qword [rsp + 8]
or edx, ecx
mov dword [rax - 2], edx
add rax, 4
sub qword [rsp + 0x10], 1
mov qword [rsp + 8], rax
jne 0x180004cd0
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret