Function at 0x14001f438
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 + 8]
mov r12, rcx
mov r13d, dword [rcx + 0x1c]
and r14d, edi
mov edx, dword [rcx + 0x10]
and r13d, edi
mov rbx, qword [rcx]
and edx, edi
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 esi, 8
test r14, r14
je 0x14001f93f
mov ecx, r14d
and ecx, 7
mov dword [rbp + 0x10], ecx
mov ecx, r13d
not ecx
jne 0x14001f4f8
mov r10d, dword [rbp + 0x10]
xor r14d, r14d
mov dword [rbp + 0x1c], r13d
xor edx, edx
mov dword [rbp + 0x18], ecx
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r14
jmp 0x14001f70f
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, 0xc
mov eax, r13d
imul edx, r11d
mov r10, rbx
ror eax, 0x1f
shr r10, 0x30
movzx r9d, si
mov qword [rbp + 0x80], rbx
xor edx, eax
mov qword [rbp + 0x88], rbx
xor edx, ecx
mov qword [rbp + 0x90], rbx
mov r8d, edx
mov qword [rbp + 0x98], rbx
xor r8d, esi
mov qword [rbp + 0xa0], rbx
rol r8d, 7
mov eax, edx
imul r8d, edi
shr eax, 3
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rbx
sub r8d, eax
mov qword [rbp + 0xc0], rbx
xor r8d, r13d
mov qword [rbp + 0xc8], rbx
mov ecx, r8d
mov qword [rbp + 0xd0], rbx
mov eax, r8d
mov qword [rbp + 0xd8], rbx
xor ecx, r11d
ror eax, 0xd
rol ecx, 7
imul ecx, r10d
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xf8], rbx
sub ecx, eax
mov qword [rbp + 0x100], rbx
xor ecx, edx
mov qword [rbp + 0x108], rbx
mov edx, ecx
ror edx, 0xa
sub edx, r9d
imul edx, edi
xor edx, r8d
mov r8d, edx
mov eax, edx
xor r8d, r9d
shr eax, 0xc
imul r8d, r11d
add r8d, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, edi
sub ecx, esi
xor ecx, edx
mov edx, ebx
sub edx, ecx
mov eax, ecx
ror edx, 5
imul edx, r10d
ror eax, 0xb
add edx, eax
xor edx, r8d
mov r8d, edx
sub r8d, r9d
xor r8d, ecx
xor r8d, ebx
mov r14d, r8d
sub r14d, esi
mov r10d, dword [rbp + 0x10]
mov eax, r8d
ror eax, 0x1e
xor ecx, ecx
ror r14d, 0x12
imul r14d, r11d
mov r11d, r10d
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x20], rcx
xor r14d, eax
xor r14d, edx
mov eax, r14d
mov dword [rbp + 8], r14d
ror eax, 0x18
mov edx, r14d
sub edx, esi
ror edx, 0x1a
imul edx, edi
xor edx, eax
mov rax, qword [rbp + 0x30]
xor edx, r8d
mov r9, rax
mov dword [rbp + 0xc], edx
mov r8d, r10d
test r10d, r10d
je 0x14001f6ac
lea rcx, [rbp + 0x20]
sub rcx, rax
mov al, byte [r9]
mov byte [rcx + r9], al
inc r9
sub r11, 1
jne 0x14001f691
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 esi, 8
mov dword [rbp + 8], r14d
mov eax, esi
mov qword [rbp + 0x18], rcx
lea r9, [r9 + r10]
sub rax, r10
je 0x14001f6e5
mov byte [r9], 0
inc r9
sub rax, 1
jne 0x14001f6d1
mov edx, dword [rbp + 0xc]
mov r14d, dword [rbp + 8]
lea r9, [rbp + 8]
test r10d, r10d
je 0x14001f70f
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 0x14001f6f8
mov edx, 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 0x14001f933
mov r12, qword [rbp + 0x30]
mov rax, rbx
mov r13, qword [rbp + 0x48]
mov r9, rbx
shr rax, 0x30
mov r11, rbx
shr r9, 0x10
shr r11, 0x20
mov qword [rbp + 0x58], 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], r9
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x38], r11
mov rax, qword [r12 + r15]
movzx edi, r9w
mov r8, rax
shr r8, 0x20
xor r8d, edx
shr rcx, 0x20
mov r9d, r8d
mov qword [rbp + 0x20], rax
xor r9d, r11d
mov edx, r8d
ror edx, 0x1f
ror r9d, 0xc
imul r9d, edi
xor r9d, edx
xor r9d, eax
xor r9d, r14d
mov r14, qword [rbp + 0x58]
mov r10d, r9d
mov edx, r9d
xor r10d, r11d
shr edx, 3
rol r10d, 7
imul r10d, dword [rbp + 0x10]
movzx r11d, r11w
sub r10d, edx
xor r10d, r8d
mov r8d, r10d
mov edx, r10d
xor r8d, edi
ror edx, 0xd
rol r8d, 7
imul r8d, r14d
sub r8d, edx
xor r8d, r9d
mov r9d, r8d
ror r9d, 0xa
sub r9d, r11d
imul r9d, dword [rbp + 0x10]
xor r9d, r10d
mov r10d, r11d
xor r10d, r9d
mov edx, r9d
shr edx, 0xc
imul r10d, edi
add r10d, edx
xor r10d, r8d
mov r8d, r10d
sub r8d, dword [rbp + 0x10]
sub r8d, dword [rbp + 0x38]
xor r8d, r9d
mov r9d, ebx
sub r9d, r8d
mov edx, r8d
ror edx, 0xb
ror r9d, 5
imul r9d, r14d
add r9d, edx
xor r9d, r10d
mov r10d, r9d
sub r10d, r11d
mov r11, qword [rbp + 0x38]
xor r10d, r8d
xor r10d, ebx
mov r8d, r10d
mov edx, r10d
ror edx, 0x1e
sub r8d, r11d
ror r8d, 0x12
imul r8d, edi
xor r8d, edx
xor r8d, r9d
mov edx, r8d
mov r14d, r8d
xor r14d, dword [rbp + 0x18]
sub edx, r11d
ror edx, 0x1a
imul edx, dword [rbp + 0x10]
ror r8d, 0x18
xor edx, r8d
xor edx, ecx
xor edx, r10d
mov r9, qword [rbp + 0x28]
mov rcx, rax
mov dword [r15], r14d
mov dword [r15 + 4], edx
add r15, rsi
mov qword [rbp + 0x18], rax
sub r13, 1
jne 0x14001f7f3
mov r15, qword [rbp + 0x60]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0x40]
mov dword [rbp + 0xc], edx
mov dword [rbp + 8], r14d
mov al, byte [r15 + r13 - 1]
mov edi, 0xfffffff
jmp 0x14001f942
mov al, byte [rbp]
cmp al, byte [rbp]
je 0x14001f94c
call fcn.140015f70
mov ecx, dword [r12 + 0xc]
test edi, ecx
je 0x14001f97a
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 0x14001f96a
mov ecx, dword [r12 + 0x14]
test edi, ecx
je 0x14001f9a5
and rcx, rdi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001f999
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