Function at 0x140019ac0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1d0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], rsi
mov qword [rbp + 0x1f8], rdi
mov rax, qword [0x1401652a8]
xor rax, rbp
mov qword [rbp + 0x1a8], rax
mov al, byte [rcx + 0x18]
mov r15, rcx
mov edx, dword [rcx + 0x1c]
mov rbx, qword [rcx + 0x10]
mov qword [rbp + 0x50], rcx
mov ecx, 0xfffffff
mov esi, dword [r15]
and edx, ecx
mov r12d, dword [r15 + 8]
and esi, ecx
and r12d, ecx
mov byte [rbp], al
lea rax, [0x140000000]
mov r13d, r12d
add r13, rax
mov qword [rbp + 0x28], rsi
call fcn.140016770
mov qword [rbp + 0x48], rax
mov r14, rax
mov edi, 8
test rsi, rsi
je 0x140019fc0
mov ecx, esi
and ecx, 7
mov dword [rbp + 0x10], ecx
mov ecx, r12d
not ecx
jne 0x140019b7a
mov edi, dword [rbp + 0x10]
xor r10d, r10d
mov dword [rbp + 0x1c], r12d
xor r11d, r11d
mov dword [rbp + 0x18], ecx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r10
jmp 0x140019d99
movzx edi, bx
mov rsi, rbx
shr rsi, 0x20
mov rax, rbx
shr rax, 0x10
mov r9, rbx
movzx r11d, ax
mov eax, r12d
shr eax, 6
shr r9, 0x30
movzx r10d, si
mov edx, r10d
mov qword [rbp + 0x68], rbx
xor edx, r12d
mov qword [rbp + 0x70], rbx
rol edx, 1
imul edx, r11d
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
add edx, eax
mov qword [rbp + 0x98], rbx
xor edx, ecx
mov qword [rbp + 0xa0], rbx
mov ecx, edx
mov qword [rbp + 0xa8], rbx
ror ecx, 5
sub ecx, edi
mov qword [rbp + 0xb0], rbx
imul ecx, r9d
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], rbx
xor ecx, r12d
mov qword [rbp + 0xd8], rbx
mov r8d, ecx
mov qword [rbp + 0xe0], rbx
mov eax, ecx
xor r8d, edi
ror eax, 0x12
rol r8d, 5
imul r8d, r9d
sub r8d, eax
xor r8d, edx
mov edx, r8d
ror edx, 4
xor edx, r10d
imul edx, r9d
xor edx, ecx
mov ecx, edx
mov eax, edx
xor ecx, r9d
ror eax, 0xb
rol ecx, 1
imul ecx, r11d
add ecx, eax
xor ecx, r8d
mov r8d, r11d
xor r8d, ecx
mov eax, ecx
shr eax, 0xa
imul r8d, edi
xor r8d, eax
xor r8d, edx
mov eax, r8d
ror eax, 0x18
lea edx, [r8 + rbx]
ror edx, 0x13
imul edx, r9d
add edx, eax
xor edx, ecx
mov ecx, edx
mov eax, edx
xor ecx, r11d
ror eax, 0x12
rol ecx, 6
imul ecx, r10d
xor ecx, eax
xor ecx, r8d
mov eax, ecx
mov qword [rbp + 0xe8], rbx
ror eax, 0x1f
mov r10d, esi
sub r10d, ecx
mov qword [rbp + 0xf0], rbx
ror r10d, 7
mov r8, r13
imul r10d, r11d
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x100], rbx
add r10d, eax
xor r10d, edx
mov r11d, r10d
mov dword [rbp + 8], r10d
sub r11d, esi
mov eax, r10d
ror r11d, 0xf
imul r11d, edi
mov edi, dword [rbp + 0x10]
ror eax, 5
mov edx, edi
mov r9d, edi
add r11d, eax
xor r11d, ecx
xor ecx, ecx
mov dword [rbp + 0xc], r11d
mov qword [rbp + 0x20], rcx
test edi, edi
je 0x140019d31
lea rcx, [rbp + 0x20]
sub rcx, r13
mov al, byte [r8]
mov byte [r8 + rcx], al
inc r8
sub r9, 1
jne 0x140019d15
mov r11d, dword [rbp + 0xc]
mov r10d, dword [rbp + 8]
mov rcx, qword [rbp + 0x20]
xor r11d, dword [rbp + 0x24]
lea r8, [rbp + 8]
xor r10d, ecx
mov dword [rbp + 0xc], r11d
mov eax, 8
mov dword [rbp + 8], r10d
mov qword [rbp + 0x18], rcx
lea r8, [r8 + rdi]
sub rax, rdx
je 0x140019d6b
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x140019d56
mov r11d, dword [rbp + 0xc]
mov r10d, dword [rbp + 8]
lea r8, [rbp + 8]
test edi, edi
je 0x140019d95
lea rax, [rbp + 8]
mov r9, r14
sub r9, rax
mov al, byte [r8]
mov byte [r8 + r9], al
inc r8
sub rdx, 1
jne 0x140019d7d
mov r11d, dword [rbp + 0xc]
mov r10d, dword [rbp + 8]
mov rsi, qword [rbp + 0x28]
mov eax, edi
mov r12, rsi
add rax, r14
shr r12, 3
mov qword [rbp + 0x38], rax
test r12, r12
je 0x140019fb4
mov r15, rbx
movzx eax, bx
mov rdx, rbx
shr r15, 0x30
shr rdx, 0x10
mov rdi, rbx
shr rdi, 0x20
sub r13, r14
mov qword [rbp + 0x108], rbx
mov r14, qword [rbp + 0x38]
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
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 + 0x30], rdx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x40], rdi
mov dword [rbp + 0x10], eax
mov rax, qword [r14 + r13]
movzx esi, dx
mov r9, rax
shr r9, 0x20
xor r9d, r11d
movzx edi, di
mov r11d, r9d
mov qword [rbp + 0x20], rax
xor r11d, edi
mov edx, r9d
shr edx, 6
rol r11d, 1
imul r11d, esi
add r11d, edx
xor r11d, eax
xor r11d, r10d
mov r8d, r11d
ror r8d, 5
sub r8d, dword [rbp + 0x10]
imul r8d, r15d
xor r8d, r9d
mov r10d, r8d
mov edx, r8d
xor r10d, dword [rbp + 0x10]
rol r10d, 5
imul r10d, r15d
ror edx, 0x12
sub r10d, edx
xor r10d, r11d
mov r9d, r10d
ror r9d, 4
xor r9d, edi
imul r9d, r15d
xor r9d, r8d
mov r8d, r9d
mov edx, r9d
ror edx, 0xb
xor r8d, r15d
rol r8d, 1
imul r8d, esi
add r8d, edx
xor r8d, r10d
mov r10d, r8d
mov edx, r8d
xor r10d, esi
shr edx, 0xa
imul r10d, dword [rbp + 0x10]
xor r10d, edx
xor r10d, r9d
mov edx, r10d
ror edx, 0x18
lea r9d, [r10 + rbx]
ror r9d, 0x13
imul r9d, r15d
add r9d, edx
xor r9d, r8d
mov r8d, r9d
mov edx, r9d
ror edx, 0x12
xor r8d, esi
rol r8d, 6
imul r8d, edi
mov rdi, qword [rbp + 0x40]
xor r8d, edx
xor r8d, r10d
mov r10d, edi
sub r10d, r8d
mov edx, r8d
ror r10d, 7
imul r10d, esi
ror edx, 0x1f
add r10d, edx
xor r10d, r9d
mov edx, r10d
xor r10d, dword [rbp + 0x18]
mov r11d, edx
ror edx, 5
sub r11d, edi
ror r11d, 0xf
imul r11d, dword [rbp + 0x10]
add r11d, edx
mov rdx, qword [rbp + 0x30]
shr rcx, 0x20
xor r11d, ecx
mov dword [r14], r10d
xor r11d, r8d
mov qword [rbp + 0x18], rax
mov dword [r14 + 4], r11d
lea r14, [r14 + 8]
mov rcx, rax
sub r12, 1
jne 0x140019e68
mov r14, qword [rbp + 0x48]
mov r15, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x28]
mov dword [rbp + 8], r10d
mov dword [rbp + 0xc], r11d
mov al, byte [rsi + r14 - 1]
mov edi, 8
jmp 0x140019fc3
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x140019fcd
call fcn.140015f70
mov ecx, dword [r15 + 0x20]
mov r8d, 0xfffffff
test r8d, ecx
je 0x14001a001
lea rax, [0x140000000]
and rcx, r8
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x30]
add rcx, r14
mov al, byte [rdx]
inc rdx
mov byte [rcx], al
inc rcx
sub rdi, 1
jne 0x140019ff1
mov ecx, dword [r15 + 4]
test r8d, ecx
je 0x14001a02c
and rcx, r8
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001a020
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14007a9f0
sub rsp, rax
and qword [rbp + 0x60], 0
lea r9, [rbp + 0x58]
and qword [rbp + 0x58], 0
lea r8, [rbp + 0x60]
mov rdx, r14
call fcn.140016bfc
mov rax, r14
mov rcx, qword [rbp + 0x1a8]
xor rcx, rbp
call fcn.14003b560
mov rbx, qword [rbp + 0x1e8]
mov rsi, qword [rbp + 0x1f0]
mov rdi, qword [rbp + 0x1f8]
lea rsp, [rbp + 0x1b0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret