Function at 0x180001ea0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
xor r11d, r11d
lea r9, [rcx + 0x44]
mov dword [rcx], r11d
mov bl, 1
mov rcx, r9
sub rdx, r9
lea r8d, [r11 + 0x20]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
mov byte [rcx - 0x20], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x180001ec0
mov r10b, 7
lea rdi, [0x180000000]
nop dword [rax]
movzx eax, byte [r9 + 0x1d]
lea rdx, [r9 + 5]
mov r8b, 4
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9]
movzx eax, byte [r9 + 0x1e]
xor cl, bl
xor cl, 0xaa
mov byte [r9], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9 + 1]
movzx eax, byte [r9 + 0x1f]
xor cl, 0xaa
mov byte [r9 + 1], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9 + 2]
movzx eax, byte [r9 + 0x1c]
xor cl, 0xaa
mov byte [r9 + 2], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
movzx eax, bl
xor cl, byte [r9 + 3]
add bl, bl
xor cl, 0xaa
shr al, 7
movzx eax, al
mov byte [r9 + 3], cl
imul ecx, eax, 0x1b
xor bl, cl
nop word [rax + rax]
movzx eax, r8b
lea rdx, [rdx + 4]
add r8b, 4
movzx ecx, byte [rax + r9 - 4]
movzx eax, byte [rdx - 8]
xor byte [rdx - 4], al
movzx eax, byte [rdx - 7]
xor byte [rdx - 3], al
movzx eax, byte [rdx - 6]
xor byte [rdx - 2], al
xor byte [rdx - 5], cl
cmp r8b, 0x10
jb 0x180001f60
movzx eax, byte [r9 + 0xc]
mov r8b, 0x14
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9 + 0x10]
movzx eax, byte [r9 + 0xd]
xor cl, 0xaa
mov byte [r9 + 0x10], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9 + 0x11]
movzx eax, byte [r9 + 0xe]
xor cl, 0xaa
mov byte [r9 + 0x11], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
xor cl, byte [r9 + 0x12]
movzx eax, byte [r9 + 0xf]
xor cl, 0xaa
mov byte [r9 + 0x12], cl
movzx ecx, byte [rax + rdi + 0x39d2b0]
lea rax, [r9 + 0x15]
xor cl, byte [r9 + 0x13]
xor cl, 0xaa
mov byte [r9 + 0x13], cl
nop word [rax + rax]
movzx ecx, r8b
lea rax, [rax + 4]
add r8b, 4
movzx edx, byte [rcx + r9 - 4]
movzx ecx, byte [rax - 8]
xor byte [rax - 4], cl
movzx ecx, byte [rax - 7]
xor byte [rax - 3], cl
movzx ecx, byte [rax - 6]
xor byte [rax - 2], cl
xor byte [rax - 5], dl
cmp r8b, 0x20
jb 0x180002000
add r10b, 0xff
jne 0x180001ee0
cmp byte [0x18039c7ec], r11b
jne 0x18000219b
mov r10d, r11d
nop word [rax + rax]
test r10b, r10b
je 0x1800020b2
mov r9b, 1
xor r8b, r8b
nop dword [rax + rax]
cmp r9b, r10b
je 0x180002085
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 1
jne 0x180002060
not r8b
mov r9b, 1
test r8b, r8b
je 0x1800020b5
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 0xff
jne 0x180002090
jmp 0x1800020b5
xor r9b, r9b
movzx eax, r9b
rol al, 1
xor r9b, al
rol al, 1
xor r9b, al
rol al, 1
movzx ecx, al
rol cl, 1
xor cl, al
movsxd rax, r10d
xor cl, r9b
inc r10d
xor cl, 0xc9
mov byte [rax + rdi + 0x39d2b0], cl
cmp r10d, 0x100
jb 0x180002050
nop dword [rax]
movzx ecx, r11b
xor cl, 0x63
rol cl, 1
movzx eax, cl
rol al, 2
movzx r10d, al
rol r10b, 3
xor r10b, cl
xor r10b, al
je 0x180002172
mov r9b, 1
xor r8b, r8b
cmp r9b, r10b
je 0x18000213a
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 1
jne 0x180002115
not r8b
mov r9b, 1
test r8b, r8b
je 0x180002175
nop word [rax + rax]
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 0xff
jne 0x180002150
jmp 0x180002175
xor r9b, r9b
movsxd rax, r11d
xor r9b, 0xbb
inc r11d
mov byte [rax + rdi + 0x39c7f0], r9b
cmp r11d, 0x100
jb 0x1800020f0
mov byte [0x18039c7ec], 1
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret