Function at 0x140067ee0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r11, rcx
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
mov qword [rsp + 0x60], rcx
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], 0x1000000
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x78], r8
mov r13, r8
mov rax, rdx
mov qword [rsp + 0x70], rdx
mov rbp, rdx
mov dword [rsp + 0x5c], r9d
cmp r9d, 0x10
jae 0x140067fc2
mov eax, dword [rsp + 0x5c]
mov r12d, eax
and r12d, 0xf
je 0x140068598
inc byte [rsp + 0x6f]
jne 0x140067f7d
inc byte [rsp + 0x6e]
jne 0x140067f7d
inc byte [rsp + 0x6d]
jne 0x140067f7d
inc byte [rsp + 0x6c]
lea rdx, [rsp + 0x60]
lea r15, [rsp + 0x40]
mov rcx, r11
mov r8, r15
mov rdi, r11
call fcn.1400658a0
test eax, eax
jne 0x1400687d8
mov eax, ebp
or eax, r13d
test al, 7
je 0x1400681bb
mov eax, r12d
cmp r12d, 8
jae 0x1400682b2
xor r8d, r8d
mov r11, rdi
jmp 0x140068517
mov edi, dword [rsp + 0x5c]
shr edi, 4
mov rbp, qword [rsp + 0x70]
mov r14, rbp
mov r13, qword [rsp + 0x78]
sub r14, r13
lea r12, [rsp + 0x40]
mov rbx, r13
mov rsi, rbp
jmp 0x1400680ca
movzx eax, byte [r13]
xor al, byte [rsp + 0x40]
mov byte [rbp], al
movzx eax, byte [r13 + 1]
xor al, byte [rsp + 0x41]
mov byte [rbp + 1], al
movzx eax, byte [r13 + 2]
xor al, byte [rsp + 0x42]
mov byte [rbp + 2], al
movzx eax, byte [r13 + 3]
xor al, byte [rsp + 0x43]
mov byte [rbp + 3], al
movzx eax, byte [r13 + 4]
xor al, byte [rsp + 0x44]
mov byte [rbp + 4], al
movzx eax, byte [r13 + 5]
xor al, byte [rsp + 0x45]
mov byte [rbp + 5], al
movzx eax, byte [r13 + 6]
xor al, byte [rsp + 0x46]
mov byte [rbp + 6], al
movzx eax, byte [r13 + 7]
xor al, byte [rsp + 0x47]
mov byte [rbp + 7], al
movzx eax, byte [r13 + 8]
xor al, byte [rsp + 0x48]
mov byte [rbp + 8], al
movzx eax, byte [r13 + 9]
xor al, byte [rsp + 0x49]
mov byte [rbp + 9], al
movzx eax, byte [r13 + 0xa]
xor al, byte [rsp + 0x4a]
mov byte [rbp + 0xa], al
movzx eax, byte [r13 + 0xb]
xor al, byte [rsp + 0x4b]
mov byte [rbp + 0xb], al
movzx eax, byte [r13 + 0xc]
xor al, byte [rsp + 0x4c]
mov byte [rbp + 0xc], al
movzx eax, byte [r13 + 0xd]
xor al, byte [rsp + 0x4d]
mov byte [rbp + 0xd], al
movzx eax, byte [r13 + 0xe]
xor al, byte [rsp + 0x4e]
mov byte [rbp + 0xe], al
movzx eax, byte [r13 + 0xf]
xor al, byte [rsp + 0x4f]
mov byte [rbp + 0xf], al
dec edi
add r13, 0x10
add rbp, 0x10
add rsi, 0x10
add rbx, 0x10
test edi, edi
je 0x140067f56
inc byte [rsp + 0x6f]
jne 0x1400680e0
inc byte [rsp + 0x6e]
jne 0x1400680e0
inc byte [rsp + 0x6d]
jne 0x1400680e0
inc byte [rsp + 0x6c]
mov r15, r11
mov rcx, r11
lea rdx, [rsp + 0x60]
mov r8, r12
call fcn.1400658a0
test eax, eax
jne 0x1400687d8
mov eax, esi
or eax, ebx
test al, 7
je 0x140068130
cmp r14, 0x10
mov r11, r15
jb 0x140067ff0
vmovups xmm0, xmmword [r13]
vxorps xmm0, xmm0, xmmword [rsp + 0x40]
vmovups xmmword [rbp], xmm0
jmp 0x1400680b0
test byte [rsp + 0x70], 7
mov r11, r15
je 0x14006819c
movzx eax, byte [r13]
xor al, byte [rsp + 0x40]
mov byte [rbp], al
movzx eax, byte [r13 + 1]
xor al, byte [rsp + 0x41]
mov byte [rbp + 1], al
movzx eax, byte [r13 + 2]
xor al, byte [rsp + 0x42]
mov byte [rbp + 2], al
movzx eax, byte [r13 + 3]
xor al, byte [rsp + 0x43]
mov byte [rbp + 3], al
movzx eax, byte [r13 + 4]
xor al, byte [rsp + 0x44]
mov byte [rbp + 4], al
movzx eax, byte [r13 + 5]
xor al, byte [rsp + 0x45]
mov byte [rbp + 5], al
movzx eax, byte [r13 + 6]
xor al, byte [rsp + 0x46]
mov byte [rbp + 6], al
movzx eax, byte [r13 + 7]
xor al, byte [rsp + 0x47]
mov byte [rbp + 7], al
jmp 0x1400681a9
mov rax, qword [r13]
xor rax, qword [rsp + 0x40]
mov qword [rbp], rax
mov rax, qword [r13 + 8]
xor rax, qword [rsp + 0x48]
mov qword [rbp + 8], rax
jmp 0x1400680b0
test bpl, 7
je 0x140068305
lea eax, [r12 - 1]
cmp eax, 7
mov ecx, 7
cmovb ecx, eax
lea r15, [rsp + 0x41]
movzx edx, byte [r13]
xor dl, byte [rsp + 0x40]
mov byte [rbp], dl
test ecx, ecx
je 0x14006830f
lea rax, [rsp + 0x40]
or rax, rcx
lea rcx, [rsp + 0x42]
movzx edx, byte [r13 + 1]
xor dl, byte [rsp + 0x41]
mov byte [rbp + 1], dl
cmp r15, rax
mov r11, rdi
je 0x14006831d
lea r15, [rsp + 0x43]
movzx edx, byte [r13 + 2]
xor dl, byte [rsp + 0x42]
mov byte [rbp + 2], dl
cmp rcx, rax
je 0x14006832e
lea rcx, [rsp + 0x44]
movzx edx, byte [r13 + 3]
xor dl, byte [rsp + 0x43]
mov byte [rbp + 3], dl
cmp r15, rax
je 0x14006833c
lea r15, [rsp + 0x45]
movzx edx, byte [r13 + 4]
xor dl, byte [rsp + 0x44]
mov byte [rbp + 4], dl
cmp rcx, rax
je 0x14006834d
lea rcx, [rsp + 0x46]
movzx edx, byte [r13 + 5]
xor dl, byte [rsp + 0x45]
mov byte [rbp + 5], dl
cmp r15, rax
je 0x14006835b
movzx edx, byte [r13 + 6]
xor dl, byte [rsp + 0x46]
mov byte [rbp + 6], dl
cmp rcx, rax
je 0x14006836c
lea r15, [rsp + 0x48]
movzx eax, byte [r13 + 7]
xor al, byte [rsp + 0x47]
add r13, 8
mov byte [rbp + 7], al
add rbp, 8
add r12d, 0xfffffff8
jmp 0x14006837d
lea r15, [rsp + 0x40]
mov rcx, rbp
sub rcx, r15
xor r8d, r8d
cmp rcx, 0x80
mov r11, rdi
jb 0x140068517
mov rcx, rbp
sub rcx, r13
cmp rcx, 0x80
jb 0x140068517
mov r8d, eax
and r8d, 0xfffffff8
mov rcx, qword [r13]
xor rcx, qword [rsp + 0x40]
mov qword [rbp], rcx
cmp r8, rax
jne 0x140068517
jmp 0x140068598
lea r15, [rsp + 0x40]
mov r11, rdi
jmp 0x14006837d
inc r13
inc rbp
mov r12d, eax
mov r11, rdi
jmp 0x14006837d
add r13, 2
add rbp, 2
add r12d, 0xfffffffe
mov r15, rcx
jmp 0x14006837d
add r13, 3
add rbp, 3
add r12d, 0xfffffffd
jmp 0x14006837d
add r13, 4
add rbp, 4
add r12d, 0xfffffffc
mov r15, rcx
jmp 0x14006837d
add r13, 5
add rbp, 5
add r12d, 0xfffffffb
jmp 0x14006837d
add r13, 6
add rbp, 6
add r12d, 0xfffffffa
mov r15, rcx
jmp 0x14006837d
lea r15, [rsp + 0x47]
add r13, 7
add rbp, 7
add r12d, 0xfffffff9
cmp r12d, 8
jae 0x14006838e
mov rcx, rbp
mov rdx, r13
jmp 0x140068501
mov eax, r12d
shr eax, 3
lea r9d, [rax - 1]
xor r8d, r8d
cmp r9d, 0xb
jae 0x140068464
mov rcx, rbp
mov rdx, r13
mov r10d, eax
sub r10d, r8d
mov r9d, r8d
not r9d
add r9d, eax
and r10d, 3
je 0x1400683f0
mov r11d, r10d
nop word cs:[rax + rax]
mov rsi, qword [rdx]
add rdx, 8
xor rsi, qword [r15]
add r15, 8
mov qword [rcx], rsi
add rcx, 8
dec r11d
jne 0x1400683d0
add r8d, r10d
mov r11, rdi
cmp r9d, 3
jb 0x140068501
sub eax, r8d
xor r9d, r9d
xor r8d, r8d
nop word cs:[rax + rax]
mov r10, qword [rdx + r9*8]
xor r10, qword [r15 + r9*8]
mov qword [rcx + r9*8], r10
mov r10, qword [rdx + r9*8 + 8]
xor r10, qword [r15 + r9*8 + 8]
mov qword [rcx + r9*8 + 8], r10
mov r10, qword [rdx + r9*8 + 0x10]
xor r10, qword [r15 + r9*8 + 0x10]
mov qword [rcx + r9*8 + 0x10], r10
mov r10, qword [rdx + r9*8 + 0x18]
xor r10, qword [r15 + r9*8 + 0x18]
mov qword [rcx + r9*8 + 0x18], r10
add r8, 0xffffffffffffffe0
add r9, 4
cmp eax, r9d
jne 0x140068410
sub rcx, r8
sub r15, r8
sub rdx, r8
jmp 0x140068501
mov rcx, rbp
sub rcx, r15
cmp rcx, 0x40
jb 0x1400683a5
mov rcx, rbp
sub rcx, r13
cmp rcx, 0x40
jb 0x1400683a5
inc r9
movabs r8, 0x1fffffff0
or r8, 8
and r8, r9
lea r10, [r8*8]
lea rcx, [r8*8]
add rcx, rbp
lea rdx, [r8*8]
add rdx, r13
xor r11d, r11d
nop dword [rax]
vmovups ymm0, ymmword [r13 + r11*8]
vmovups ymm1, ymmword [r13 + r11*8 + 0x20]
vxorps ymm0, ymm0, ymmword [r15 + r11*8]
vxorps ymm1, ymm1, ymmword [r15 + r11*8 + 0x20]
vmovups ymmword [rbp + r11*8], ymm0
vmovups ymmword [rbp + r11*8 + 0x20], ymm1
add r11, 8
cmp r8, r11
jne 0x1400684c0
add r15, r10
cmp r9, r8
mov r11, rdi
jne 0x1400683ab
and r12d, 7
je 0x140068598
mov eax, r12d
xor r8d, r8d
mov rbp, rcx
mov r13, rdx
mov rcx, r8
not rcx
add rcx, rax
mov rdx, rax
and rdx, 3
je 0x140068547
nop dword [rax]
movzx r9d, byte [r13 + r8]
xor r9b, byte [r15 + r8]
mov byte [rbp + r8], r9b
inc r8
dec rdx
jne 0x140068530
cmp rcx, 3
jb 0x140068598
nop dword [rax]
movzx ecx, byte [r13 + r8]
xor cl, byte [r15 + r8]
mov byte [rbp + r8], cl
movzx ecx, byte [r13 + r8 + 1]
xor cl, byte [r15 + r8 + 1]
mov byte [rbp + r8 + 1], cl
movzx ecx, byte [r13 + r8 + 2]
xor cl, byte [r15 + r8 + 2]
mov byte [rbp + r8 + 2], cl
movzx ecx, byte [r13 + r8 + 3]
xor cl, byte [r15 + r8 + 3]
mov byte [rbp + r8 + 3], cl
add r8, 4
cmp rax, r8
jne 0x140068550
mov r15, qword [rsp + 0x108]
test r15, r15
je 0x1400687d6
mov ebp, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov esi, dword [rsp + 0x110]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r15
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov rcx, r11
mov r8d, ebp
mov r9, qword [rsp + 0x70]
mov rdi, r11
vzeroupper
call fcn.1400678c0
lea rdx, [rsp + 0x80]
lea r14, [rsp + 0x40]
mov rcx, rdi
mov r8, r14
call fcn.1400658a0
test eax, eax
jne 0x1400687d8
test r15b, 7
jne 0x1400686ec
cmp esi, 8
jae 0x14006861f
lea r14, [rsp + 0x40]
jmp 0x1400686e9
mov eax, esi
shr eax, 3
lea edx, [rax - 1]
cmp edx, 0xf
jae 0x140068638
xor ecx, ecx
lea r14, [rsp + 0x40]
jmp 0x1400686c9
inc rdx
mov rcx, rdx
and rcx, 0xfffffffffffffff0
lea r8, [rcx*8]
lea r14, [rsp + rcx*8]
add r14, 0x40
xor r9d, r9d
nop word cs:[rax + rax]
vmovups ymm0, ymmword [r15 + r9*8]
vmovups ymm1, ymmword [r15 + r9*8 + 0x20]
vmovups ymm2, ymmword [r15 + r9*8 + 0x40]
vmovups ymm3, ymmword [r15 + r9*8 + 0x60]
vxorps ymm0, ymm0, ymmword [rsp + r9*8 + 0x40]
vxorps ymm1, ymm1, ymmword [rsp + r9*8 + 0x60]
vxorps ymm2, ymm2, ymmword [rsp + r9*8 + 0x80]
vxorps ymm3, ymm3, ymmword [rsp + r9*8 + 0xa0]
vmovups ymmword [r15 + r9*8], ymm0
vmovups ymmword [r15 + r9*8 + 0x20], ymm1
vmovups ymmword [r15 + r9*8 + 0x40], ymm2
vmovups ymmword [r15 + r9*8 + 0x60], ymm3
add r9, 0x10
cmp rcx, r9
jne 0x140068660
add r15, r8
cmp rdx, rcx
je 0x1400686e9
sub eax, ecx
xor ecx, ecx
xor edx, edx
nop
mov r8, qword [r14 + rdx*8]
xor qword [r15 + rdx*8], r8
inc rdx
add rcx, 0xfffffffffffffff8
cmp eax, edx
jne 0x1400686d0
sub r15, rcx
sub r14, rcx
and esi, 7
test esi, esi
je 0x1400687c1
mov eax, esi
cmp esi, 0x10
jae 0x140068702
xor ecx, ecx
jmp 0x1400687b0
cmp esi, 0x80
jae 0x14006870e
xor ecx, ecx
jmp 0x140068783
mov ecx, eax
and ecx, 0xffffff80
xor edx, edx
nop word cs:[rax + rax]
vmovups ymm0, ymmword [r15 + rdx]
vmovups ymm1, ymmword [r15 + rdx + 0x20]
vmovups ymm2, ymmword [r15 + rdx + 0x40]
vmovups ymm3, ymmword [r15 + rdx + 0x60]
vxorps ymm0, ymm0, ymmword [r14 + rdx]
vxorps ymm1, ymm1, ymmword [r14 + rdx + 0x20]
vxorps ymm2, ymm2, ymmword [r14 + rdx + 0x40]
vxorps ymm3, ymm3, ymmword [r14 + rdx + 0x60]
vmovups ymmword [r15 + rdx], ymm0
vmovups ymmword [r15 + rdx + 0x20], ymm1
vmovups ymmword [r15 + rdx + 0x40], ymm2
vmovups ymmword [r15 + rdx + 0x60], ymm3
sub rdx, 0xffffffffffffff80
cmp rcx, rdx
jne 0x140068720
cmp rcx, rax
je 0x1400687c1
test al, 0x70
je 0x1400687b0
mov rdx, rcx
mov ecx, eax
and ecx, 0xfffffff0
nop dword [rax + rax]
vmovups xmm0, xmmword [r15 + rdx]
vxorps xmm0, xmm0, xmmword [r14 + rdx]
vmovups xmmword [r15 + rdx], xmm0
add rdx, 0x10
cmp rcx, rdx
jne 0x140068790
cmp rcx, rax
je 0x1400687c1
movzx edx, byte [r14 + rcx]
xor byte [r15 + rcx], dl
inc rcx
cmp rax, rcx
jne 0x1400687b0
cmp qword [rsp + 0x78], 0
jne 0x1400687d6
cmp dword [rsp + 0x5c], 0
jne 0x1400687d6
mov dword [rdi + 0x150], ebp
xor eax, eax
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret