Function at 0x1403be390
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r9
mov r13, r8
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x1405bc180]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
lea rdx, [rcx + 0x180]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r8d, 0x10
mov r9, r14
call fcn.1404230f0
test eax, eax
je 0x1403be3fb
mov ebp, eax
mov edx, 0x10
mov rcx, r14
call fcn.140424570
jmp 0x1403bec85
mov rcx, qword [rsp + 0xb0]
cmp dword [rbx + 0x1a0], 0
je 0x1403be4ed
mov rax, qword [rsp + 0xb8]
lea rdx, [r14 + r13]
cmp rsi, 8
jae 0x1403be42f
xor r8d, r8d
cmp r8, rsi
jb 0x1403be488
jmp 0x1403be9a6
cmp rsi, 0x10
mov r11d, 0xf
cmovae r11, rsi
add r11, 0xfffffffffffffff8
mov r9d, 8
cmp r11, 0x78
jae 0x1403be511
xor r10d, r10d
nop word cs:[rax + rax]
mov r8, qword [rcx + r10]
xor r8, qword [rdx + r10]
mov qword [rax + r10], r8
mov r10, r9
add r9, 8
cmp r9, rsi
jbe 0x1403be460
add r9, 0xfffffffffffffff8
mov r8, r9
cmp r8, rsi
jae 0x1403be9a6
mov r9, rsi
sub r9, r8
cmp r9, 0x10
jb 0x1403be90c
mov qword [rsp + 0x28], rbx
lea r10, [r8 + rax]
lea rdi, [r8 + r13]
lea r11, [rdi + r14]
mov rbx, r10
sub rbx, r11
cmp rbx, 0x80
jb 0x1403be6bc
lea r15, [r8 + rcx]
mov rbx, r10
sub rbx, r15
cmp rbx, 0x80
jb 0x1403be6bc
cmp r9, 0x80
jae 0x1403be6c6
xor r12d, r12d
mov rbx, qword [rsp + 0x28]
jmp 0x1403be761
lea rax, [rbx + r13]
add rax, 0x190
cmp rsi, 8
jae 0x1403be5dd
xor edx, edx
cmp rdx, rsi
jb 0x1403be664
jmp 0x1403be410
mov r8, rax
sub r8, rdx
xor r10d, r10d
cmp r8, 0x80
jb 0x1403be460
mov r8, rax
sub r8, rcx
cmp r8, 0x80
jb 0x1403be460
shr r11, 3
inc r11
mov r8, r11
and r8, 0xfffffffffffffff0
lea r10, [r8*8]
lea r9, [r8*8 + 8]
lea r15, [r14 + r13]
add r15, 0x60
xor edi, edi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rcx + rdi*8]
vmovups ymm1, ymmword [rcx + rdi*8 + 0x20]
vmovups ymm2, ymmword [rcx + rdi*8 + 0x40]
vmovups ymm3, ymmword [rcx + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r15 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r15 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r15 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r15 + rdi*8]
vmovups ymmword [rax + rdi*8], ymm0
vmovups ymmword [rax + rdi*8 + 0x20], ymm1
vmovups ymmword [rax + rdi*8 + 0x40], ymm2
vmovups ymmword [rax + rdi*8 + 0x60], ymm3
add rdi, 0x10
cmp r8, rdi
jne 0x1403be570
cmp r11, r8
jne 0x1403be460
shl r8, 3
cmp r8, rsi
jb 0x1403be488
jmp 0x1403be9a6
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403be632
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rcx + rdx]
cmp rax, r10
jae 0x1403be799
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rcx
jbe 0x1403be799
xor r10d, r10d
nop word cs:[rax + rax]
mov rdx, qword [rcx + r10]
xor qword [rax + r10], rdx
mov r10, r8
add r8, 8
cmp r8, rsi
jbe 0x1403be640
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403be410
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403becab
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rcx + rdx]
lea r11, [rcx + rsi]
cmp r9, r11
jae 0x1403be6a7
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403becab
cmp r8, 0x80
jae 0x1403be841
xor r11d, r11d
jmp 0x1403be8cd
mov rbx, qword [rsp + 0x28]
jmp 0x1403be90c
mov qword [rsp + 0x30], r13
mov r12, r9
and r12, 0xffffffffffffff80
lea r13, [r14 + rdi]
add r13, 0x60
lea rbp, [rcx + r8]
add rbp, 0x60
lea rdi, [rax + r8]
add rdi, 0x60
xor ebx, ebx
nop dword [rax]
vmovups ymm0, ymmword [rbp + rbx - 0x60]
vmovups ymm1, ymmword [rbp + rbx - 0x40]
vmovups ymm2, ymmword [rbp + rbx - 0x20]
vmovups ymm3, ymmword [rbp + rbx]
vxorps ymm0, ymm0, ymmword [r13 + rbx - 0x60]
vxorps ymm1, ymm1, ymmword [r13 + rbx - 0x40]
vxorps ymm2, ymm2, ymmword [r13 + rbx - 0x20]
vxorps ymm3, ymm3, ymmword [r13 + rbx]
vmovups ymmword [rdi + rbx - 0x60], ymm0
vmovups ymmword [rdi + rbx - 0x40], ymm1
vmovups ymmword [rdi + rbx - 0x20], ymm2
vmovups ymmword [rdi + rbx], ymm3
sub rbx, 0xffffffffffffff80
cmp r12, rbx
jne 0x1403be6f0
cmp r9, r12
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
je 0x1403be9a6
test r9b, 0x70
je 0x1403be909
mov rdi, r9
and rdi, 0xfffffffffffffff0
add r8, rdi
nop dword [rax + rax]
vmovups xmm0, xmmword [r15 + r12]
vxorps xmm0, xmm0, xmmword [r11 + r12]
vmovups xmmword [r10 + r12], xmm0
add r12, 0x10
cmp rdi, r12
jne 0x1403be770
cmp r9, rdi
jne 0x1403be90c
jmp 0x1403be9a6
shr r9, 3
inc r9
mov rdx, r9
and rdx, 0xfffffffffffffff0
lea r10, [rdx*8]
lea r8, [rdx*8 + 8]
lea r11, [rbx + r13]
add r11, 0x1f0
xor edi, edi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rcx + rdi*8]
vmovups ymm1, ymmword [rcx + rdi*8 + 0x20]
vmovups ymm2, ymmword [rcx + rdi*8 + 0x40]
vmovups ymm3, ymmword [rcx + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r11 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r11 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r11 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r11 + rdi*8]
vmovups ymmword [r11 + rdi*8 - 0x60], ymm0
vmovups ymmword [r11 + rdi*8 - 0x40], ymm1
vmovups ymmword [r11 + rdi*8 - 0x20], ymm2
vmovups ymmword [r11 + rdi*8], ymm3
add rdi, 0x10
cmp rdx, rdi
jne 0x1403be7d0
cmp r9, rdx
jne 0x1403be640
shl rdx, 3
cmp rdx, rsi
jb 0x1403be664
jmp 0x1403be410
mov r11, r8
and r11, 0xffffffffffffff80
lea r15, [rbx + rdi]
add r15, 0x1f0
lea r12, [rdx + rcx]
add r12, 0x60
xor edi, edi
nop dword [rax]
vmovups ymm0, ymmword [r12 + rdi - 0x60]
vmovups ymm1, ymmword [r12 + rdi - 0x40]
vmovups ymm2, ymmword [r12 + rdi - 0x20]
vmovups ymm3, ymmword [r12 + rdi]
vxorps ymm0, ymm0, ymmword [r15 + rdi - 0x60]
vxorps ymm1, ymm1, ymmword [r15 + rdi - 0x40]
vxorps ymm2, ymm2, ymmword [r15 + rdi - 0x20]
vxorps ymm3, ymm3, ymmword [r15 + rdi]
vmovups ymmword [r15 + rdi - 0x60], ymm0
vmovups ymmword [r15 + rdi - 0x40], ymm1
vmovups ymmword [r15 + rdi - 0x20], ymm2
vmovups ymmword [r15 + rdi], ymm3
sub rdi, 0xffffffffffffff80
cmp r11, rdi
jne 0x1403be860
cmp r8, r11
je 0x1403be410
test r8b, 0x70
je 0x1403beca8
mov rdi, r8
and rdi, 0xfffffffffffffff0
add rdx, rdi
nop word [rax + rax]
vmovups xmm0, xmmword [r10 + r11]
vxorps xmm0, xmm0, xmmword [r9 + r11]
vmovups xmmword [r9 + r11], xmm0
add r11, 0x10
cmp rdi, r11
jne 0x1403be8e0
cmp r8, rdi
jne 0x1403becab
jmp 0x1403be410
add r8, r12
mov r10d, esi
sub r10d, r8d
mov r9, r8
not r9
add r9, rsi
and r10, 3
je 0x1403be945
nop word cs:[rax + rax]
movzx r11d, byte [rcx + r8]
xor r11b, byte [rdx + r8]
mov byte [rax + r8], r11b
inc r8
dec r10
jne 0x1403be930
cmp r9, 3
jb 0x1403be9a6
lea rdx, [r14 + r13]
add rdx, 3
nop word cs:[rax + rax]
movzx r9d, byte [rcx + r8]
xor r9b, byte [rdx + r8 - 3]
mov byte [rax + r8], r9b
movzx r9d, byte [rcx + r8 + 1]
xor r9b, byte [rdx + r8 - 2]
mov byte [rax + r8 + 1], r9b
movzx r9d, byte [rcx + r8 + 2]
xor r9b, byte [rdx + r8 - 1]
mov byte [rax + r8 + 2], r9b
movzx r9d, byte [rcx + r8 + 3]
xor r9b, byte [rdx + r8]
mov byte [rax + r8 + 3], r9b
add r8, 4
cmp rsi, r8
jne 0x1403be960
xor ebp, ebp
cmp dword [rbx + 0x1a0], 1
jne 0x1403bec85
xor edx, edx
lea rcx, [rbx + r13]
add rcx, 0x190
cmp rsi, 8
jb 0x1403bea3b
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403bea1d
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rax + rdx]
cmp rcx, r10
jae 0x1403bea9c
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rax
jbe 0x1403bea9c
xor r10d, r10d
mov rdx, qword [rax + r10]
xor qword [rcx + r10], rdx
mov r10, r8
add r8, 8
cmp r8, rsi
jbe 0x1403bea20
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403bec83
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403bec0a
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rax + rdx]
lea r11, [rax + rsi]
cmp r9, r11
jae 0x1403bea87
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403bec0a
cmp r8, 0x80
jae 0x1403beb41
xor r11d, r11d
jmp 0x1403bebca
shr r9, 3
inc r9
mov rdx, r9
and rdx, 0xfffffffffffffff0
lea r10, [rdx*8]
lea r8, [rdx*8 + 8]
lea r11, [rbx + r13]
add r11, 0x1f0
xor edi, edi
nop word [rax + rax]
vmovups ymm0, ymmword [rax + rdi*8]
vmovups ymm1, ymmword [rax + rdi*8 + 0x20]
vmovups ymm2, ymmword [rax + rdi*8 + 0x40]
vmovups ymm3, ymmword [rax + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r11 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r11 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r11 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r11 + rdi*8]
vmovups ymmword [r11 + rdi*8 - 0x60], ymm0
vmovups ymmword [r11 + rdi*8 - 0x40], ymm1
vmovups ymmword [r11 + rdi*8 - 0x20], ymm2
vmovups ymmword [r11 + rdi*8], ymm3
add rdi, 0x10
cmp rdx, rdi
jne 0x1403bead0
cmp r9, rdx
jne 0x1403bea20
shl rdx, 3
cmp rdx, rsi
jb 0x1403bea44
jmp 0x1403bec83
mov r11, r8
and r11, 0xffffffffffffff80
mov r15, rbx
lea r14, [rbx + rdi]
add r14, 0x1f0
lea rdi, [rdx + rax]
add rdi, 0x60
xor ebx, ebx
vmovups ymm0, ymmword [rdi + rbx - 0x60]
vmovups ymm1, ymmword [rdi + rbx - 0x40]
vmovups ymm2, ymmword [rdi + rbx - 0x20]
vmovups ymm3, ymmword [rdi + rbx]
vxorps ymm0, ymm0, ymmword [r14 + rbx - 0x60]
vxorps ymm1, ymm1, ymmword [r14 + rbx - 0x40]
vxorps ymm2, ymm2, ymmword [r14 + rbx - 0x20]
vxorps ymm3, ymm3, ymmword [r14 + rbx]
vmovups ymmword [r14 + rbx - 0x60], ymm0
vmovups ymmword [r14 + rbx - 0x40], ymm1
vmovups ymmword [r14 + rbx - 0x20], ymm2
vmovups ymmword [r14 + rbx], ymm3
sub rbx, 0xffffffffffffff80
cmp r11, rbx
jne 0x1403beb60
xor ebp, ebp
cmp r8, r11
je 0x1403bec85
mov rbx, r15
test r8b, 0x70
je 0x1403bec07
mov rdi, r8
and rdi, 0xfffffffffffffff0
add rdx, rdi
nop word cs:[rax + rax]
vmovups xmm0, xmmword [r10 + r11]
vxorps xmm0, xmm0, xmmword [r9 + r11]
vmovups xmmword [r9 + r11], xmm0
add r11, 0x10
cmp rdi, r11
jne 0x1403bebe0
xor ebp, ebp
cmp r8, rdi
jne 0x1403bec0a
jmp 0x1403bec85
add rdx, r11
mov r9d, esi
sub r9d, edx
mov r8, rdx
not r8
add r8, rsi
and r9, 3
je 0x1403bec31
nop
movzx r10d, byte [rax + rdx]
xor byte [rcx + rdx], r10b
inc rdx
dec r9
jne 0x1403bec20
cmp r8, 3
jb 0x1403bec83
lea rcx, [rbx + r13]
add rcx, 0x193
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rcx + rdx - 3], r8b
movzx r8d, byte [rax + rdx + 1]
xor byte [rcx + rdx - 2], r8b
movzx r8d, byte [rax + rdx + 2]
xor byte [rcx + rdx - 1], r8b
movzx r8d, byte [rax + rdx + 3]
xor byte [rcx + rdx], r8b
add rdx, 4
cmp rsi, rdx
jne 0x1403bec50
xor ebp, ebp
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
vzeroupper
call fcn.140439e00
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rdx, r11
mov r9d, esi
sub r9d, edx
mov r8, rdx
not r8
add r8, rsi
and r9, 3
je 0x1403becd1
movzx r10d, byte [rcx + rdx]
xor byte [rax + rdx], r10b
inc rdx
dec r9
jne 0x1403becc0
cmp r8, 3
jb 0x1403be410
lea rax, [rbx + r13]
add rax, 0x193
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rdx - 3], r8b
movzx r8d, byte [rcx + rdx + 1]
xor byte [rax + rdx - 2], r8b
movzx r8d, byte [rcx + rdx + 2]
xor byte [rax + rdx - 1], r8b
movzx r8d, byte [rcx + rdx + 3]
xor byte [rax + rdx], r8b
add rdx, 4
cmp rsi, rdx
jne 0x1403becf0
jmp 0x1403be410