Function at 0x14001c7b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x210], rsi
mov qword [rbp + 0x218], rdi
mov rax, qword [0x1401652a8]
xor rax, rbp
mov qword [rbp + 0x1c0], rax
mov al, byte [rcx + 4]
mov edi, 0xfffffff
mov esi, dword [rcx + 8]
mov r12, rcx
mov r13d, dword [rcx + 0x18]
and esi, edi
mov edx, dword [rcx + 0x1c]
and r13d, edi
mov rbx, qword [rcx + 0x10]
and edx, edi
mov byte [rbp], al
mov qword [rbp + 0x68], rcx
lea rcx, [0x140000000]
mov eax, r13d
add rax, rcx
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x30], rax
call fcn.140016770
mov qword [rbp + 0x60], rax
mov r15, rax
mov r14d, 8
test rsi, rsi
je 0x14001cca7
mov ecx, esi
mov edx, r13d
and ecx, 7
not edx
mov dword [rbp + 0x10], ecx
jne 0x14001c86f
mov r10d, dword [rbp + 0x10]
xor r11d, r11d
mov dword [rbp + 0x1c], r13d
xor esi, esi
mov dword [rbp + 0x18], edx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r11
jmp 0x14001ca88
movzx edi, bx
mov rsi, rbx
shr rsi, 0x20
mov rax, rbx
shr rax, 0x10
mov ecx, esi
movzx r14d, ax
xor ecx, r13d
rol ecx, 2
mov eax, r13d
shr eax, 9
mov r8d, ebx
imul ecx, r14d
movzx r11d, si
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
sub ecx, eax
mov qword [rbp + 0x98], rbx
xor ecx, edx
mov qword [rbp + 0xa0], rbx
mov edx, ecx
mov qword [rbp + 0xa8], rbx
ror edx, 6
sub edx, edi
mov qword [rbp + 0xb0], rbx
imul edx, r14d
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], rbx
xor edx, r13d
mov qword [rbp + 0xd8], rbx
mov eax, edx
mov qword [rbp + 0xe0], rbx
xor eax, esi
mov qword [rbp + 0xe8], rbx
sub r8d, eax
mov qword [rbp + 0xf0], rbx
xor r8d, ecx
mov qword [rbp + 0xf8], rbx
mov eax, r8d
mov qword [rbp + 0x100], rbx
ror eax, 8
mov r9d, r8d
xor r9d, ebx
mov qword [rbp + 0x108], rbx
ror r9d, 0x1b
imul r9d, r11d
xor r9d, eax
xor r9d, edx
mov edx, ebx
mov eax, r9d
mov r10d, r9d
ror eax, 7
sub r10d, esi
ror r10d, 0x1e
imul r10d, r14d
xor r10d, eax
mov rax, rbx
xor r10d, r8d
shr rax, 0x30
mov ecx, r10d
ror ecx, 7
xor ecx, edi
imul ecx, r14d
xor ecx, r9d
sub edx, ecx
ror edx, 3
imul edx, eax
mov eax, ecx
ror eax, 0xb
sub edx, eax
xor edx, r10d
mov r8d, edx
sub r8d, r11d
sub r8d, ebx
xor r8d, ecx
mov r11d, r8d
xor r11d, esi
ror r11d, 1
mov r10d, dword [rbp + 0x10]
mov eax, r8d
ror eax, 0x1b
xor ecx, ecx
imul r11d, r14d
mov r9d, r10d
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x20], rcx
add r11d, eax
xor r11d, edx
mov edx, r10d
mov eax, r11d
mov dword [rbp + 8], r11d
ror eax, 0x11
mov esi, r11d
xor esi, r14d
rol esi, 1
imul esi, edi
sub esi, eax
mov rax, qword [rbp + 0x30]
xor esi, r8d
mov r8, rax
mov dword [rbp + 0xc], esi
test r10d, r10d
je 0x14001ca23
lea rcx, [rbp + 0x20]
sub rcx, rax
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x14001ca08
mov esi, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor esi, dword [rbp + 0x24]
lea r8, [rbp + 8]
xor r11d, ecx
mov dword [rbp + 0xc], esi
mov r14d, 8
mov dword [rbp + 8], r11d
mov eax, r14d
mov qword [rbp + 0x18], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x14001ca5e
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x14001ca4a
mov esi, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x14001ca88
lea rax, [rbp + 8]
mov r9, r15
sub r9, rax
mov al, byte [r8]
mov byte [r9 + r8], al
inc r8
sub rdx, 1
jne 0x14001ca71
mov esi, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
mov r13, qword [rbp + 0x40]
mov eax, r10d
add rax, r15
mov qword [rbp + 0x50], rax
mov rax, r13
shr rax, 3
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14001cc9b
mov r12, qword [rbp + 0x30]
mov rax, rbx
mov r13, qword [rbp + 0x48]
mov rdi, rbx
shr rax, 0x30
mov rdx, rbx
shr rdi, 0x20
shr rdx, 0x10
mov qword [rbp + 0x58], rax
sub r12, r15
mov r15, qword [rbp + 0x50]
movzx eax, bx
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x158], rbx
mov qword [rbp + 0x160], rbx
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x178], rbx
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x28], rdx
mov rax, qword [r15 + r12]
mov r10, rax
shr rcx, 0x20
shr r10, 0x20
xor r10d, esi
mov qword [rbp + 0x20], rax
movzx esi, dx
mov r9d, r10d
xor r9d, edi
mov edx, r10d
rol r9d, 2
imul r9d, esi
shr edx, 9
sub r9d, edx
xor r9d, eax
xor r9d, r11d
mov r8d, r9d
ror r8d, 6
sub r8d, dword [rbp + 0x10]
imul r8d, esi
xor r8d, r10d
mov r10d, ebx
mov edx, r8d
xor edx, edi
movzx edi, di
sub r10d, edx
xor r10d, r9d
mov r9d, r10d
mov edx, r10d
xor r9d, ebx
ror edx, 8
ror r9d, 0x1b
imul r9d, edi
xor r9d, edx
xor r9d, r8d
mov r11d, r9d
mov edx, r9d
sub r11d, dword [rbp + 0x38]
ror r11d, 0x1e
imul r11d, esi
ror edx, 7
xor r11d, edx
xor r11d, r10d
mov r8d, r11d
ror r8d, 7
xor r8d, dword [rbp + 0x10]
imul r8d, esi
xor r8d, r9d
mov r9d, ebx
sub r9d, r8d
mov edx, r8d
ror edx, 0xb
ror r9d, 3
imul r9d, dword [rbp + 0x58]
sub r9d, edx
xor r9d, r11d
mov r10d, r9d
sub r10d, edi
mov rdi, qword [rbp + 0x38]
sub r10d, ebx
xor r10d, r8d
mov r11d, r10d
mov edx, r10d
xor r11d, edi
ror edx, 0x1b
ror r11d, 1
imul r11d, esi
add r11d, edx
xor r11d, r9d
mov edx, r11d
xor r11d, dword [rbp + 0x18]
xor esi, edx
mov qword [rbp + 0x18], rax
rol esi, 1
imul esi, dword [rbp + 0x10]
ror edx, 0x11
mov dword [r15], r11d
sub esi, edx
xor esi, ecx
mov rcx, rax
xor esi, r10d
mov rdx, qword [rbp + 0x28]
mov dword [r15 + 4], esi
add r15, r14
sub r13, 1
jne 0x14001cb6c
mov r15, qword [rbp + 0x60]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0x40]
mov dword [rbp + 8], r11d
mov dword [rbp + 0xc], esi
mov al, byte [r15 + r13 - 1]
mov edi, 0xfffffff
jmp 0x14001ccaa
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x14001ccb4
call fcn.140015f70
mov ecx, dword [r12 + 0x20]
test edi, ecx
je 0x14001cce2
lea rax, [0x140000000]
and rcx, rdi
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x28]
add rcx, r15
mov al, byte [rdx]
inc rdx
mov byte [rcx], al
inc rcx
sub r14, 1
jne 0x14001ccd2
mov ecx, dword [r12]
test edi, ecx
je 0x14001cd0c
and rcx, rdi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001cd00
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14007a9f0
sub rsp, rax
and qword [rbp + 0x78], 0
lea r9, [rbp + 0x70]
and qword [rbp + 0x70], 0
lea r8, [rbp + 0x78]
mov rdx, r15
call fcn.140016bfc
mov rax, r15
mov rcx, qword [rbp + 0x1c0]
xor rcx, rbp
call fcn.14003b560
mov rbx, qword [rbp + 0x208]
mov rsi, qword [rbp + 0x210]
mov rdi, qword [rbp + 0x218]
lea rsp, [rbp + 0x1d0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret