Function at 0x14001b8ac
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 + 0x18]
mov r12, rcx
mov edx, dword [rcx + 0xc]
mov rbx, qword [rcx + 0x10]
mov qword [rbp + 0x60], rcx
mov ecx, 0xfffffff
mov r14d, dword [r12]
and edx, ecx
mov esi, dword [r12 + 4]
and r14d, ecx
and esi, ecx
mov byte [rbp], al
lea rax, [0x140000000]
mov r13d, esi
add r13, rax
mov qword [rbp + 0x38], r14
call fcn.140016770
mov qword [rbp + 0x58], rax
mov r15, rax
mov edi, 8
test r14, r14
je 0x14001bdaf
mov ecx, r14d
mov r8d, esi
and ecx, 7
not r8d
mov dword [rbp + 0x10], ecx
jne 0x14001b96a
mov r10d, dword [rbp + 0x10]
xor r14d, r14d
mov dword [rbp + 0x1c], esi
xor edx, edx
mov dword [rbp + 0x18], r8d
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r14
jmp 0x14001bb80
movzx r11d, bx
mov r14, rbx
shr r14, 0x20
mov rax, rbx
shr rax, 0x10
mov r9, rbx
movzx r10d, ax
mov eax, esi
shr eax, 0xd
movzx edi, r14w
shr r9, 0x30
mov ecx, edi
xor ecx, esi
mov qword [rbp + 0x78], rbx
rol ecx, 3
imul ecx, r10d
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rbx
add ecx, eax
mov qword [rbp + 0xa0], rbx
xor ecx, r8d
mov qword [rbp + 0xa8], rbx
mov eax, ecx
mov qword [rbp + 0xb0], rbx
shr eax, 8
mov r8d, r14d
xor r8d, ecx
mov qword [rbp + 0xb8], rbx
rol r8d, 2
imul r8d, r11d
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rbx
sub r8d, eax
mov qword [rbp + 0xe0], rbx
xor r8d, esi
mov qword [rbp + 0xe8], rbx
mov edx, r8d
mov qword [rbp + 0xf0], rbx
mov eax, r8d
mov qword [rbp + 0xf8], rbx
shr eax, 8
sub edx, r11d
imul edx, r9d
sub edx, eax
xor edx, ecx
mov ecx, edx
mov eax, edx
sub ecx, ebx
ror eax, 2
ror ecx, 7
imul ecx, edi
xor ecx, eax
xor ecx, r8d
mov eax, ecx
mov r8d, ecx
ror r8d, 0xa
xor eax, r11d
imul eax, r10d
add r8d, eax
xor r8d, edx
mov edx, r14d
xor edx, r8d
xor edx, ecx
xor edx, ebx
mov ecx, edx
mov eax, edx
xor ecx, r10d
ror eax, 0x1c
rol ecx, 6
imul ecx, r9d
xor ecx, eax
xor ecx, r8d
mov r8d, ecx
ror r8d, 0xe
xor r8d, edi
imul r8d, r10d
xor r8d, edx
xor r14d, r8d
mov qword [rbp + 0x100], rbx
ror r14d, 4
mov eax, r8d
imul r14d, r10d
mov r9, r13
mov r10d, dword [rbp + 0x10]
ror eax, 0xe
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x110], rbx
add r14d, eax
xor r14d, ecx
xor ecx, ecx
mov edx, r14d
mov dword [rbp + 8], r14d
xor edx, edi
mov qword [rbp + 0x20], rcx
rol edx, 6
mov eax, r14d
imul edx, r11d
mov r11d, r10d
ror eax, 1
sub edx, eax
xor edx, r8d
mov r8d, r10d
mov dword [rbp + 0xc], edx
test r10d, r10d
je 0x14001bb1f
lea rcx, [rbp + 0x20]
sub rcx, r13
mov al, byte [r9]
mov byte [rcx + r9], al
inc r9
sub r11, 1
jne 0x14001bb04
mov edx, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor edx, dword [rbp + 0x24]
lea r9, [rbp + 8]
xor r14d, ecx
mov dword [rbp + 0xc], edx
mov eax, 8
mov dword [rbp + 8], r14d
mov qword [rbp + 0x18], rcx
lea r9, [r9 + r10]
sub rax, r10
je 0x14001bb56
mov byte [r9], 0
inc r9
sub rax, 1
jne 0x14001bb42
mov edx, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
lea r9, [rbp + 8]
test r10d, r10d
je 0x14001bb80
lea rax, [rbp + 8]
mov rdx, r15
sub rdx, rax
mov al, byte [r9]
mov byte [rdx + r9], al
inc r9
sub r8, 1
jne 0x14001bb69
mov edx, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
mov eax, r10d
add rax, r15
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x38]
mov r8, rax
shr r8, 3
test r8, r8
je 0x14001bda3
mov rax, rbx
mov qword [rbp + 0x118], rbx
shr rax, 0x30
mov r10, rbx
shr r10, 0x10
mov r9, rbx
shr r9, 0x20
mov r12, r8
mov qword [rbp + 0x50], rax
sub r13, r15
mov r15, qword [rbp + 0x48]
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 + 0x28], r10
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x30], r9
mov rax, qword [r15 + r13]
movzx edi, r10w
mov r8, rax
shr r8, 0x20
xor r8d, edx
movzx esi, r9w
mov edx, r8d
mov qword [rbp + 0x20], rax
shr edx, 0xd
mov r11d, esi
xor r11d, r8d
rol r11d, 3
imul r11d, edi
add r11d, edx
xor r11d, eax
xor r11d, r14d
mov r14, qword [rbp + 0x50]
mov r10d, r11d
mov edx, r11d
xor r10d, r9d
shr edx, 8
rol r10d, 2
imul r10d, dword [rbp + 0x10]
sub r10d, edx
xor r10d, r8d
mov r9d, r10d
mov edx, r10d
sub r9d, dword [rbp + 0x10]
shr edx, 8
imul r9d, r14d
sub r9d, edx
xor r9d, r11d
mov r8d, r9d
mov edx, r9d
ror edx, 2
sub r8d, ebx
ror r8d, 7
imul r8d, esi
xor r8d, edx
xor r8d, r10d
mov edx, r8d
mov r10d, r8d
xor edx, dword [rbp + 0x10]
imul edx, edi
ror r10d, 0xa
add r10d, edx
xor r10d, r9d
mov r9d, r10d
xor r9d, r8d
xor r9d, dword [rbp + 0x30]
xor r9d, ebx
mov r11d, r9d
mov edx, r9d
ror edx, 0x1c
xor r11d, edi
rol r11d, 6
imul r11d, r14d
xor r11d, edx
xor r11d, r10d
mov r10d, r11d
ror r10d, 0xe
xor r10d, esi
imul r10d, edi
xor r10d, r9d
mov r9, qword [rbp + 0x30]
mov r8d, r10d
mov edx, r10d
ror edx, 0xe
xor r8d, r9d
ror r8d, 4
imul r8d, edi
add r8d, edx
xor r8d, r11d
mov edx, r8d
mov r14d, r8d
xor r14d, dword [rbp + 0x18]
xor edx, esi
rol edx, 6
imul edx, dword [rbp + 0x10]
ror r8d, 1
mov dword [rbp + 8], r14d
sub edx, r8d
shr rcx, 0x20
xor edx, ecx
mov dword [r15], r14d
xor edx, r10d
mov qword [rbp + 0x18], rax
mov r10, qword [rbp + 0x28]
mov rcx, rax
mov dword [r15 + 4], edx
lea r15, [r15 + 8]
sub r12, 1
jne 0x14001bc5b
mov r15, qword [rbp + 0x58]
mov r12, qword [rbp + 0x60]
mov rax, qword [rbp + 0x38]
mov dword [rbp + 0xc], edx
mov cl, byte [rax + r15 - 1]
mov edi, 8
jmp 0x14001bdb2
mov cl, byte [rbp]
cmp cl, byte [rbp]
je 0x14001bdbc
call fcn.140015f70
mov ecx, dword [r12 + 8]
mov r8d, 0xfffffff
test r8d, ecx
je 0x14001bdf1
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 rdi, 1
jne 0x14001bde1
mov ecx, dword [r12 + 0x1c]
test r8d, ecx
je 0x14001be1d
and rcx, r8
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001be11
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