Function at 0x14001e56c
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 + 0x18]
mov edi, 0xfffffff
mov r14d, dword [rcx + 4]
mov r12, rcx
mov r13d, dword [rcx + 0x1c]
and r14d, edi
mov edx, dword [rcx]
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 + 0x48], r14
mov qword [rbp + 0x30], rax
call fcn.140016770
mov qword [rbp + 0x60], rax
mov r15, rax
mov esi, 8
test r14, r14
je 0x14001ea7d
mov ecx, r14d
and ecx, 7
mov dword [rbp + 0x10], ecx
mov ecx, r13d
not ecx
jne 0x14001e62d
mov r10d, dword [rbp + 0x10]
xor r14d, r14d
mov dword [rbp + 0x1c], r13d
xor r9d, r9d
mov dword [rbp + 0x18], ecx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r14
jmp 0x14001e846
movzx esi, bx
mov rax, rbx
shr rax, 0x10
mov edx, r13d
ror edx, 0xd
mov r10, rbx
movzx edi, ax
mov r11, rbx
xor edx, edi
shr r10, 0x20
imul edx, esi
movzx r9d, r10w
shr r11, 0x30
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
xor edx, ecx
mov qword [rbp + 0x90], rbx
mov r8d, edx
mov qword [rbp + 0x98], rbx
sub r8d, r10d
mov qword [rbp + 0xa0], rbx
mov eax, edx
ror r8d, 0x18
ror eax, 1
imul r8d, esi
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], rbx
xor r8d, eax
mov qword [rbp + 0xc8], rbx
xor r8d, r13d
mov qword [rbp + 0xd0], rbx
mov ecx, r8d
mov qword [rbp + 0xd8], rbx
sub ecx, ebx
mov qword [rbp + 0xe0], rbx
ror ecx, 0xa
mov eax, r8d
imul ecx, r11d
ror eax, 0x10
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xf8], rbx
xor ecx, eax
mov qword [rbp + 0x100], rbx
xor ecx, edx
mov qword [rbp + 0x108], rbx
mov edx, ecx
sub edx, r9d
sub edx, ebx
xor edx, r8d
mov r8d, edx
sub r8d, edi
xor r8d, ecx
xor r8d, r10d
sub r10d, r8d
mov eax, r8d
ror eax, 0x1e
ror r10d, 0x13
imul r10d, esi
xor r10d, eax
xor r10d, edx
mov ecx, r10d
mov eax, r10d
xor ecx, ebx
ror eax, 0x1d
ror ecx, 0x15
imul ecx, r11d
sub ecx, eax
xor ecx, r8d
mov eax, ecx
ror eax, 0x1c
lea edx, [rcx + rbx]
ror edx, 0xe
imul edx, r9d
sub edx, eax
xor edx, r10d
mov r14d, edx
xor r14d, r11d
rol r14d, 1
mov r10d, dword [rbp + 0x10]
mov eax, edx
ror eax, 0x10
imul r14d, edi
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
add r14d, eax
xor r14d, ecx
xor ecx, ecx
mov eax, r14d
mov dword [rbp + 8], r14d
shr eax, 1
mov r9d, r14d
xor r9d, r11d
mov qword [rbp + 0x20], rcx
imul r9d, esi
mov r11d, r10d
xor r9d, eax
mov rax, qword [rbp + 0x30]
xor r9d, edx
mov r8, rax
mov dword [rbp + 0xc], r9d
mov edx, r10d
test r10d, r10d
je 0x14001e7df
lea rcx, [rbp + 0x20]
sub rcx, rax
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r11, 1
jne 0x14001e7c3
mov r9d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor r9d, dword [rbp + 0x24]
lea r8, [rbp + 8]
xor r14d, ecx
mov dword [rbp + 0xc], r9d
mov esi, 8
mov dword [rbp + 8], r14d
mov eax, esi
mov qword [rbp + 0x18], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x14001e81b
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x14001e806
mov r9d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x14001e846
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 0x14001e82e
mov r9d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
mov r13, qword [rbp + 0x48]
mov eax, r10d
add rax, r15
mov qword [rbp + 0x58], rax
mov rax, r13
shr rax, 3
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14001ea71
mov r12, qword [rbp + 0x30]
mov r11, rbx
mov r13, qword [rbp + 0x50]
mov rdx, rbx
shr r11, 0x20
mov rax, rbx
shr rdx, 0x10
shr rax, 0x30
movzx r10d, bx
sub r12, r15
mov r15, qword [rbp + 0x58]
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 + 0x40], r11
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x38], rax
mov dword [rbp + 0x10], r10d
mov rax, qword [r12 + r15]
movzx edi, dx
mov r8, rax
shr r8, 0x20
xor r8d, r9d
shr rcx, 0x20
mov r9d, r8d
mov qword [rbp + 0x20], rax
ror r9d, 0xd
xor r9d, edi
imul r9d, r10d
xor r9d, eax
xor r9d, r14d
mov r14, qword [rbp + 0x38]
mov edx, r9d
mov r10d, r9d
sub r10d, r11d
ror edx, 1
ror r10d, 0x18
imul r10d, dword [rbp + 0x10]
movzx r11d, r11w
xor r10d, edx
xor r10d, r8d
mov edx, r10d
mov r8d, r10d
sub r8d, ebx
ror edx, 0x10
ror r8d, 0xa
imul r8d, r14d
xor r8d, edx
mov rdx, qword [rbp + 0x40]
xor r8d, r9d
mov r9d, r8d
sub r9d, r11d
sub r9d, ebx
xor r9d, r10d
mov r10d, r9d
sub r10d, edi
xor r10d, r8d
mov r8d, edx
xor r10d, edx
sub r8d, r10d
mov edx, r10d
ror r8d, 0x13
imul r8d, dword [rbp + 0x10]
ror edx, 0x1e
xor r8d, edx
xor r8d, r9d
mov r9d, r8d
mov edx, r8d
xor r9d, ebx
ror edx, 0x1d
ror r9d, 0x15
imul r9d, r14d
sub r9d, edx
xor r9d, r10d
mov edx, r9d
ror edx, 0x1c
lea r10d, [r9 + rbx]
ror r10d, 0xe
imul r10d, r11d
sub r10d, edx
xor r10d, r8d
mov r8d, r10d
mov edx, r10d
xor r8d, r14d
ror edx, 0x10
rol r8d, 1
imul r8d, edi
add r8d, edx
xor r8d, r9d
mov r9d, r8d
mov r14d, r8d
xor r9d, dword [rbp + 0x38]
imul r9d, dword [rbp + 0x10]
xor r14d, dword [rbp + 0x18]
shr r8d, 1
xor r9d, ecx
mov rcx, rax
xor r9d, r8d
xor r9d, r10d
mov r11, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x28]
mov r10d, dword [rbp + 0x10]
mov dword [r15], r14d
mov dword [r15 + 4], r9d
add r15, rsi
mov qword [rbp + 0x18], rax
sub r13, 1
jne 0x14001e92c
mov r15, qword [rbp + 0x60]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0x48]
mov dword [rbp + 8], r14d
mov dword [rbp + 0xc], r9d
mov al, byte [r15 + r13 - 1]
mov edi, 0xfffffff
jmp 0x14001ea80
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x14001ea8a
call fcn.140015f70
mov ecx, dword [r12 + 8]
test edi, ecx
je 0x14001eab8
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 rsi, 1
jne 0x14001eaa8
mov ecx, dword [r12 + 0x20]
test edi, ecx
je 0x14001eae3
and rcx, rdi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001ead7
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