Function at 0x536dd0
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 0x537040
call fcn.00534820
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 0x537140
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 0x536ef0
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.005348b0
mov rcx, r14
call fcn.00534820
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 0x53701a
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 0x537000
mov r8d, 0x40
mov rdx, r13
mov rcx, r14
call fcn.005348b0
nop
add rsp, 0x1d0
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.00534820
mov r8, rsi
mov rdx, r12
mov rcx, r15
call fcn.005348b0
lea r12, [r13 + 0x100]
mov rcx, r15
mov edi, 8
mov rdx, r12
mov esi, 0x20
call fcn.00534980
mov rcx, r15
call fcn.00534820
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 0x536ede
mov rdx, r13
mov r8d, 0x40
mov rcx, r15
call fcn.005348b0
mov rcx, r14
call fcn.00534820
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 0x53701a