Function at 0x536420
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1d0
lea r13, [rsp + 0x5f]
mov r15, rcx
mov r12, rdx
lea r14, [rcx + 0x1a0]
mov rsi, r8
and r13, 0xffffffffffffffc0
cmp r8, 0x40
ja 0x536690
call fcn.00533e70
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
test rsi, rsi
je 0x536790
mov rdi, rsi
shr rdi, 2
mov rbx, r13
mov rdx, r13
xor eax, eax
nop word cs:[rax + rax]
mov r9, rax
add rax, 1
add rdx, 0x10
shl r9, 4
movdqu xmm0, xmmword [r12 + r9]
pxor xmm0, xmmword [rdx - 0x10]
movups xmmword [rdx - 0x10], xmm0
cmp rax, rsi
jb 0x536540
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.00533f00
mov rcx, r14
call fcn.00533e70
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
test rdi, rdi
je 0x53666a
shl rdi, 4
mov rdx, r12
lea rax, [r12 + rdi]
movdqu xmm0, xmmword [rbx]
add rdx, 0x10
pxor xmm0, xmmword [rdx - 0x10]
add rbx, 0x10
movups xmmword [rbx - 0x10], xmm0
cmp rax, rdx
jne 0x536650
mov r8d, 0x40
mov rdx, r13
mov rcx, r14
call fcn.00533f00
nop
add rsp, 0x1d0
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.00533e70
mov r8, rsi
mov rdx, r12
mov rcx, r15
call fcn.00533f00
lea r12, [r13 + 0x100]
mov rcx, r15
mov edi, 8
mov rdx, r12
mov esi, 0x20
call fcn.00533fd0
mov rcx, r15
call fcn.00533e70
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
jmp 0x53652e
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.00533f00
mov rcx, r14
call fcn.00533e70
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov qword [r13 + 0x48], rdx
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x58], rdx
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], rdx
mov qword [r13 + 0x80], rax
mov qword [r13 + 0x88], rdx
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdx
mov qword [r13 + 0xa0], rax
mov qword [r13 + 0xa8], rdx
mov qword [r13 + 0xb0], rax
mov qword [r13 + 0xb8], rdx
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0xc8], rdx
mov qword [r13 + 0xd0], rax
mov qword [r13 + 0xd8], rdx
mov qword [r13 + 0xe0], rax
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0xf0], rax
mov qword [r13 + 0xf8], rdx
jmp 0x53666a