Function at 0x14001d688
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 + 0x14]
mov esi, 0xfffffff
mov r14d, dword [rcx + 8]
mov r12, rcx
mov r13d, dword [rcx + 0xc]
and r14d, esi
mov edx, dword [rcx + 0x18]
and r13d, esi
mov rbx, qword [rcx]
and edx, esi
mov byte [rbp], al
mov qword [rbp + 0x68], rcx
lea rcx, [0x140000000]
mov eax, r13d
add rax, rcx
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x30], rax
call fcn.140016770
mov qword [rbp + 0x60], rax
mov r15, rax
mov edi, 8
test r14, r14
je 0x14001dbb3
mov ecx, r14d
and ecx, 7
mov dword [rbp + 0x10], ecx
mov ecx, r13d
not ecx
jne 0x14001d749
mov r10d, dword [rbp + 0x10]
xor r14d, r14d
mov dword [rbp + 0x1c], r13d
xor r11d, r11d
mov dword [rbp + 0x18], ecx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r14
jmp 0x14001d971
movzx edi, bx
mov rsi, rbx
shr rsi, 0x20
mov rax, rbx
shr rax, 0x10
mov edx, esi
xor edx, r13d
movzx r11d, ax
ror edx, 0x1c
mov eax, r13d
imul edx, r11d
mov r8d, esi
ror eax, 4
mov r9, rbx
shr r9, 0x30
movzx r10d, si
mov qword [rbp + 0x80], rbx
add edx, eax
mov qword [rbp + 0x88], rbx
xor edx, ecx
mov qword [rbp + 0x90], rbx
xor r8d, edx
mov qword [rbp + 0x98], rbx
rol r8d, 3
mov eax, edx
imul r8d, edi
mov ecx, ebx
shr eax, 4
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
sub r8d, eax
mov qword [rbp + 0xb8], rbx
xor r8d, r13d
mov qword [rbp + 0xc0], rbx
mov eax, r8d
mov qword [rbp + 0xc8], rbx
xor eax, esi
mov qword [rbp + 0xd0], rbx
sub ecx, eax
mov qword [rbp + 0xd8], rbx
xor ecx, edx
mov qword [rbp + 0xe0], rbx
mov edx, ecx
mov qword [rbp + 0xe8], rbx
sub edx, ebx
mov qword [rbp + 0xf0], rbx
ror edx, 0x1b
mov eax, ecx
imul edx, r10d
ror eax, 7
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x100], rbx
sub edx, eax
xor edx, r8d
mov r8d, edx
not r8d
ror r8d, 6
add r8d, r11d
imul r8d, edi
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
xor ecx, r9d
shr eax, 7
imul ecx, edi
add ecx, eax
xor ecx, edx
mov edx, ecx
mov eax, ecx
sub edx, ebx
ror eax, 0x12
ror edx, 0x1c
imul edx, r9d
xor edx, eax
xor edx, r8d
mov r8d, edx
ror r8d, 9
xor r8d, r10d
imul r8d, r9d
xor r8d, ecx
mov r10d, dword [rbp + 0x10]
mov eax, r8d
ror eax, 4
mov r14d, r8d
xor r14d, esi
mov qword [rbp + 0x108], rbx
ror r14d, 0x19
xor ecx, ecx
imul r14d, r11d
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x20], rcx
xor r14d, eax
xor r14d, edx
mov edx, r10d
mov eax, r14d
mov dword [rbp + 8], r14d
shr eax, 0xe
mov r11d, r14d
xor r11d, r9d
mov r9d, r10d
rol r11d, 2
imul r11d, edi
add r11d, eax
mov rax, qword [rbp + 0x30]
xor r11d, r8d
mov r8, rax
mov dword [rbp + 0xc], r11d
test r10d, r10d
je 0x14001d90c
lea rcx, [rbp + 0x20]
sub rcx, rax
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x14001d8f0
mov r11d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor r11d, dword [rbp + 0x24]
lea r8, [rbp + 8]
xor r14d, ecx
mov dword [rbp + 0xc], r11d
mov eax, 8
mov dword [rbp + 8], r14d
mov qword [rbp + 0x18], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x14001d946
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x14001d931
mov r11d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x14001d971
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 0x14001d959
mov r11d, dword [rbp + 0xc]
mov r14d, 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 0x14001dba2
mov r12, qword [rbp + 0x30]
mov rax, rbx
mov r13, qword [rbp + 0x50]
mov rdi, rbx
shr rax, 0x30
mov rdx, rbx
shr rdi, 0x20
shr rdx, 0x10
mov qword [rbp + 0x38], rax
sub r12, 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 + 0x1a8], rbx
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rbx
mov rax, qword [r12 + r13]
movzx esi, dx
mov r8, rax
shr r8, 0x20
xor r8d, r11d
mov qword [rbp + 0x20], rax
mov r10d, r8d
mov edx, r8d
xor r10d, edi
ror edx, 4
ror r10d, 0x1c
imul r10d, esi
add r10d, edx
xor r10d, eax
xor r10d, r14d
mov r14, qword [rbp + 0x38]
mov r9d, r10d
mov edx, r10d
shr edx, 4
xor r9d, edi
rol r9d, 3
imul r9d, dword [rbp + 0x10]
sub r9d, edx
xor r9d, r8d
mov r8d, ebx
mov edx, r9d
xor edx, edi
movzx edi, di
sub r8d, edx
xor r8d, r10d
mov r10d, r8d
mov edx, r8d
sub r10d, ebx
ror edx, 7
ror r10d, 0x1b
imul r10d, edi
sub r10d, edx
xor r10d, r9d
mov r11d, r10d
not r11d
ror r11d, 6
add r11d, esi
imul r11d, dword [rbp + 0x10]
xor r11d, r8d
mov r8d, r11d
mov edx, r11d
xor r8d, r14d
shr edx, 7
imul r8d, dword [rbp + 0x10]
add r8d, edx
xor r8d, r10d
mov r9d, r8d
mov edx, r8d
ror edx, 0x12
sub r9d, ebx
ror r9d, 0x1c
imul r9d, r14d
xor r9d, edx
xor r9d, r11d
mov r10d, r9d
ror r10d, 9
xor r10d, edi
mov rdi, qword [rbp + 0x58]
imul r10d, r14d
xor r10d, r8d
mov r14d, r10d
mov edx, r10d
xor r14d, edi
ror edx, 4
ror r14d, 0x19
imul r14d, esi
xor r14d, edx
xor r14d, r9d
mov edx, r14d
xor r14d, dword [rbp + 0x18]
mov r11d, edx
shr edx, 0xe
xor r11d, dword [rbp + 0x38]
rol r11d, 2
imul r11d, dword [rbp + 0x10]
add r11d, edx
mov rdx, qword [rbp + 0x28]
shr rcx, 0x20
xor r11d, ecx
mov dword [r13], r14d
xor r11d, r10d
mov qword [rbp + 0x18], rax
mov dword [r13 + 4], r11d
lea r13, [r13 + 8]
mov rcx, rax
sub r15, 1
jne 0x14001da55
mov r15, qword [rbp + 0x60]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0x40]
mov dword [rbp + 8], r14d
mov dword [rbp + 0xc], r11d
mov al, byte [r15 + r13 - 1]
mov edi, 8
mov esi, 0xfffffff
jmp 0x14001dbb6
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x14001dbc0
call fcn.140015f70
mov ecx, dword [r12 + 0x1c]
test esi, ecx
je 0x14001dbee
lea rax, [0x140000000]
and rcx, rsi
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 0x14001dbde
mov ecx, dword [r12 + 0x10]
test esi, ecx
je 0x14001dc19
and rcx, rsi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001dc0d
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