Function at 0x140020300
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 + 0x10]
mov esi, 0xfffffff
mov r14d, dword [rcx + 4]
mov r12, rcx
mov r13d, dword [rcx + 0x20]
and r14d, esi
mov edx, dword [rcx + 8]
and r13d, esi
mov rbx, qword [rcx + 0x18]
and edx, esi
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 edi, 8
test r14, r14
je 0x140020818
mov ecx, r14d
mov edx, r13d
and ecx, 7
not edx
mov dword [rbp + 0x10], ecx
jne 0x1400203c2
mov r10d, dword [rbp + 0x10]
xor r14d, r14d
mov dword [rbp + 0x1c], r13d
xor r11d, r11d
mov dword [rbp + 0x18], edx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r14
jmp 0x1400205df
mov rsi, rbx
mov qword [rbp + 0x80], rbx
shr rsi, 0x20
mov rax, rbx
shr rax, 0x10
mov ecx, esi
xor ecx, r13d
movzx edi, ax
ror ecx, 0x1a
mov eax, r13d
imul ecx, edi
mov r9d, ebx
ror eax, 0x14
mov r11, rbx
shr r11, 0x30
movzx r10d, si
mov qword [rbp + 0x88], rbx
xor ecx, eax
mov qword [rbp + 0x90], rbx
xor ecx, edx
mov qword [rbp + 0x98], rbx
mov eax, ecx
mov qword [rbp + 0xa0], rbx
xor eax, ebx
mov qword [rbp + 0xa8], rbx
mov edx, esi
mov qword [rbp + 0xb0], rbx
sub edx, eax
mov qword [rbp + 0xb8], rbx
xor edx, r13d
mov qword [rbp + 0xc0], rbx
sub r9d, edx
mov qword [rbp + 0xc8], rbx
ror r9d, 5
mov eax, edx
ror eax, 0x1a
imul r9d, r11d
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rbx
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rbx
sub r9d, eax
mov qword [rbp + 0xf0], rbx
xor r9d, ecx
mov qword [rbp + 0xf8], rbx
mov eax, r9d
mov qword [rbp + 0x100], rbx
ror eax, 6
mov ecx, ebx
sub ecx, r9d
mov qword [rbp + 0x108], rbx
ror ecx, 0xe
imul ecx, r10d
xor ecx, eax
xor ecx, edx
mov eax, ecx
ror eax, 0x1b
lea r8d, [rcx + rsi]
ror r8d, 0x14
imul r8d, edi
sub r8d, eax
xor r8d, r9d
movzx r9d, bx
mov edx, r8d
xor edx, ecx
mov ecx, r9d
xor edx, ebx
xor edx, esi
xor ecx, edx
mov eax, edx
rol ecx, 7
imul ecx, r11d
ror eax, 9
sub ecx, eax
xor ecx, r8d
mov r8d, ecx
sub r8d, r10d
sub r8d, ebx
xor r8d, edx
mov r14d, r8d
sub r14d, r11d
mov r10d, dword [rbp + 0x10]
mov eax, r8d
shr eax, 0xc
mov edx, r10d
rol r14d, 5
imul r14d, edi
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
xor r14d, eax
xor r14d, ecx
xor ecx, ecx
mov eax, r14d
mov dword [rbp + 8], r14d
ror eax, 0x1e
mov r11d, r14d
xor r11d, esi
mov qword [rbp + 0x20], rcx
ror r11d, 0x12
imul r11d, r9d
mov r9d, r10d
sub r11d, eax
mov rax, qword [rbp + 0x30]
xor r11d, r8d
mov r8, rax
mov dword [rbp + 0xc], r11d
test r10d, r10d
je 0x14002057a
lea rcx, [rbp + 0x20]
sub rcx, rax
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x14002055e
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 0x1400205b4
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x14002059f
mov r11d, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x1400205df
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 0x1400205c7
mov r11d, 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 0x140020807
mov r12, qword [rbp + 0x30]
mov rax, rbx
mov r13, qword [rbp + 0x58]
mov rdx, rbx
shr rax, 0x30
mov rdi, rbx
shr rdx, 0x10
shr rdi, 0x20
mov qword [rbp + 0x38], 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 + 0x28], rdx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x40], rdi
mov rax, qword [r12 + r13]
mov r9d, edi
movzx esi, dx
mov r8, rax
shr r8, 0x20
xor r8d, r11d
shr rcx, 0x20
mov r10d, r8d
mov qword [rbp + 0x20], rax
xor r10d, edi
mov edx, r8d
ror edx, 0x14
mov r11d, ebx
ror r10d, 0x1a
imul r10d, esi
movzx edi, di
xor r10d, edx
xor r10d, eax
xor r10d, r14d
mov r14, qword [rbp + 0x40]
mov edx, r10d
xor edx, ebx
sub r9d, edx
xor r9d, r8d
mov r8d, ebx
sub r11d, r9d
mov edx, r9d
ror edx, 0x1a
ror r11d, 5
imul r11d, dword [rbp + 0x38]
sub r11d, edx
xor r11d, r10d
sub r8d, r11d
mov edx, r11d
ror r8d, 0xe
imul r8d, edi
ror edx, 6
xor r8d, edx
xor r8d, r9d
mov edx, r8d
ror edx, 0x1b
lea r10d, [r8 + r14]
ror r10d, 0x14
imul r10d, esi
sub r10d, edx
xor r10d, r11d
mov r11, qword [rbp + 0x38]
mov r9d, r10d
xor r9d, r8d
xor r9d, ebx
xor r9d, r14d
mov r8d, r9d
mov edx, r9d
xor r8d, dword [rbp + 0x10]
ror edx, 9
rol r8d, 7
imul r8d, r11d
sub r8d, edx
xor r8d, r10d
mov r10d, r8d
sub r10d, edi
mov rdi, qword [rbp + 0x40]
sub r10d, ebx
xor r10d, r9d
mov r14d, r10d
mov edx, r10d
sub r14d, r11d
shr edx, 0xc
rol r14d, 5
imul r14d, esi
xor r14d, edx
xor r14d, r8d
mov edx, r14d
xor r14d, dword [rbp + 0x18]
mov r11d, edx
ror edx, 0x1e
xor r11d, edi
ror r11d, 0x12
imul r11d, dword [rbp + 0x10]
sub r11d, edx
xor r11d, ecx
mov rdx, qword [rbp + 0x28]
xor r11d, r10d
mov dword [r13 + 4], r11d
mov rcx, rax
mov dword [r13], r14d
lea r13, [r13 + 8]
mov qword [rbp + 0x18], rax
sub r15, 1
jne 0x1400206c3
mov r15, qword [rbp + 0x60]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0x48]
mov dword [rbp + 8], r14d
mov dword [rbp + 0xc], r11d
mov al, byte [r15 + r13 - 1]
mov edi, 8
mov esi, 0xfffffff
jmp 0x14002081b
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x140020825
call fcn.140015f70
mov ecx, dword [r12]
test esi, ecx
je 0x140020852
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 0x140020842
mov ecx, dword [r12 + 0xc]
test esi, ecx
je 0x14002087d
and rcx, rsi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x140020871
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