Function at 0x14001a9a8
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x200], rsi
mov qword [rbp + 0x208], rdi
mov rax, qword [0x1401652a8]
xor rax, rbp
mov qword [rbp + 0x1b8], rax
mov al, byte [rcx + 0xc]
mov r12, rcx
mov edx, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
mov qword [rbp + 0x60], rcx
mov ecx, 0xfffffff
mov r14d, dword [r12]
and edx, ecx
mov edi, dword [r12 + 8]
and r14d, ecx
and edi, ecx
mov byte [rbp], al
lea rax, [0x140000000]
mov r13d, edi
add r13, rax
mov qword [rbp + 0x40], r14
call fcn.140016770
mov qword [rbp + 0x58], rax
mov r15, rax
mov esi, 8
test r14, r14
je 0x14001aea7
mov ecx, r14d
and ecx, 7
mov dword [rbp + 0x10], ecx
mov ecx, edi
not ecx
jne 0x14001aa64
mov r10d, dword [rbp + 0x10]
xor r11d, r11d
mov dword [rbp + 0x1c], edi
xor r14d, r14d
mov dword [rbp + 0x18], ecx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r11
jmp 0x14001ac78
movzx r11d, bx
mov r14, rbx
shr r14, 0x20
mov rax, rbx
shr rax, 0x10
mov edx, r14d
xor edx, edi
movzx esi, ax
ror edx, 2
mov eax, edi
imul edx, esi
mov r8d, r14d
ror eax, 4
mov r10, rbx
shr r10, 0x30
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], rbx
add edx, eax
mov qword [rbp + 0x88], rbx
xor edx, ecx
mov qword [rbp + 0x90], rbx
sub r8d, edx
mov qword [rbp + 0x98], rbx
mov eax, edx
ror r8d, 0x1b
ror eax, 0x1d
imul r8d, r11d
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rbx
sub r8d, eax
mov qword [rbp + 0xc0], rbx
xor r8d, edi
mov qword [rbp + 0xc8], rbx
mov ecx, r8d
movzx edi, r14w
sub ecx, r10d
mov qword [rbp + 0xd0], rbx
xor ecx, edx
mov qword [rbp + 0xd8], rbx
xor ecx, ebx
mov qword [rbp + 0xe0], rbx
mov edx, ecx
mov qword [rbp + 0xe8], rbx
sub edx, ebx
mov qword [rbp + 0xf0], rbx
ror edx, 0xf
mov eax, ecx
imul edx, edi
ror eax, 0xb
xor edx, eax
xor edx, r8d
mov r8d, edx
mov eax, edx
shr eax, 0xa
xor r8d, r11d
imul r8d, esi
xor r8d, eax
xor r8d, ecx
mov r9d, r8d
not r9d
ror r9d, 0xc
add r9d, r11d
imul r9d, r10d
xor r9d, edx
mov edx, r9d
mov eax, r9d
sub edx, esi
shr eax, 1
rol edx, 1
imul edx, r10d
xor edx, eax
xor edx, r8d
mov ecx, edx
mov eax, edx
xor ecx, ebx
ror eax, 0xb
ror ecx, 3
imul ecx, edi
xor ecx, eax
mov r10d, dword [rbp + 0x10]
xor ecx, r9d
mov r11d, ecx
mov qword [rbp + 0xf8], rbx
sub r11d, r14d
mov qword [rbp + 0x100], rbx
ror r11d, 0x1e
mov eax, ecx
ror eax, 0x18
mov r9d, r10d
imul r11d, esi
mov r8, r13
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x110], rbx
add r11d, eax
mov eax, ebx
xor r11d, edx
mov edx, r10d
xor eax, r11d
mov dword [rbp + 8], r11d
sub r14d, eax
xor r14d, ecx
xor ecx, ecx
mov dword [rbp + 0xc], r14d
mov qword [rbp + 0x20], rcx
test r10d, r10d
je 0x14001ac11
lea rcx, [rbp + 0x20]
sub rcx, r13
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x14001abf5
mov r14d, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor r14d, dword [rbp + 0x24]
lea r8, [rbp + 8]
xor r11d, ecx
mov dword [rbp + 0xc], r14d
mov esi, 8
mov dword [rbp + 8], r11d
mov eax, esi
mov qword [rbp + 0x18], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x14001ac4d
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x14001ac38
mov r14d, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x14001ac78
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 0x14001ac60
mov r14d, dword [rbp + 0xc]
mov r11d, dword [rbp + 8]
mov eax, r10d
add rax, r15
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x40]
mov rdx, rax
shr rdx, 3
mov qword [rbp + 0x48], rdx
test rdx, rdx
je 0x14001aea0
mov r12, qword [rbp + 0x48]
mov rdx, rbx
movzx eax, bx
mov r10, rbx
mov dword [rbp + 0x10], eax
mov rax, rbx
shr rax, 0x30
shr rdx, 0x10
shr r10, 0x20
sub r13, r15
mov qword [rbp + 0x118], rbx
mov r15, qword [rbp + 0x50]
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 + 0x30], rax
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x38], r10
mov rax, qword [r15 + r13]
movzx edi, dx
mov r8, rax
shr r8, 0x20
xor r8d, r14d
shr rcx, 0x20
mov r14, qword [rbp + 0x38]
mov edx, r8d
ror edx, 4
mov r9d, r8d
xor r9d, r10d
mov qword [rbp + 0x20], rax
ror r9d, 2
imul r9d, edi
add r9d, edx
xor r9d, eax
xor r9d, r11d
movzx r11d, r14w
sub r10d, r9d
mov edx, r9d
ror r10d, 0x1b
imul r10d, dword [rbp + 0x10]
ror edx, 0x1d
sub r10d, edx
xor r10d, r8d
mov r8d, r10d
sub r8d, dword [rbp + 0x30]
xor r8d, r9d
xor r8d, ebx
mov edx, r8d
mov r9d, r8d
ror edx, 0xb
sub r9d, ebx
ror r9d, 0xf
imul r9d, r11d
xor r9d, edx
xor r9d, r10d
mov edx, r9d
mov r10d, r9d
xor r10d, dword [rbp + 0x10]
shr edx, 0xa
imul r10d, edi
xor r10d, edx
mov rdx, qword [rbp + 0x30]
xor r10d, r8d
mov r8d, r10d
not r8d
ror r8d, 0xc
add r8d, dword [rbp + 0x10]
imul r8d, edx
xor r8d, r9d
mov r9d, r8d
sub r9d, edi
rol r9d, 1
imul r9d, edx
mov edx, r8d
shr edx, 1
xor r9d, edx
xor r9d, r10d
mov r10d, r9d
mov edx, r9d
ror edx, 0xb
xor r10d, ebx
ror r10d, 3
imul r10d, r11d
xor r10d, edx
xor r10d, r8d
mov r8d, r14d
mov r11d, r10d
mov edx, r10d
sub r11d, r14d
ror edx, 0x18
ror r11d, 0x1e
imul r11d, edi
add r11d, edx
mov edx, ebx
xor r11d, r9d
xor edx, r11d
xor r11d, dword [rbp + 0x18]
sub r8d, edx
xor r8d, ecx
mov rdx, qword [rbp + 0x28]
xor r8d, r10d
mov r10, qword [rbp + 0x38]
mov r14d, r8d
mov dword [r15 + 4], r8d
mov rcx, rax
mov dword [r15], r11d
add r15, rsi
mov dword [rbp + 0xc], r8d
mov qword [rbp + 0x18], rax
sub r12, 1
jne 0x14001ad58
mov r15, qword [rbp + 0x58]
mov r12, qword [rbp + 0x60]
mov rax, qword [rbp + 0x40]
mov dword [rbp + 8], r11d
mov cl, byte [rax + r15 - 1]
jmp 0x14001aeaa
mov cl, byte [rbp]
cmp cl, byte [rbp]
je 0x14001aeb4
call fcn.140015f70
mov ecx, dword [r12 + 0x18]
mov r8d, 0xfffffff
test r8d, ecx
je 0x14001aee9
lea rax, [0x140000000]
and rcx, r8
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 rsi, 1
jne 0x14001aed9
mov ecx, dword [r12 + 0x1c]
test r8d, ecx
je 0x14001af15
and rcx, r8
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001af09
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14007a9f0
sub rsp, rax
and qword [rbp + 0x70], 0
lea r9, [rbp + 0x68]
and qword [rbp + 0x68], 0
lea r8, [rbp + 0x70]
mov rdx, r15
call fcn.140016bfc
mov rax, r15
mov rcx, qword [rbp + 0x1b8]
xor rcx, rbp
call fcn.14003b560
mov rbx, qword [rbp + 0x1f8]
mov rsi, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
lea rsp, [rbp + 0x1c0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret