Function at 0x140014924
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r15, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
movzx r10d, byte [r15]
mov rsi, qword [rsp + 0x88]
mov r8d, 1
lea rdi, [r15 + 1]
add r14d, 0xfffffff0
xor ebp, ebp
movzx eax, byte [rdi]
lea rdx, [r8 + rdi]
shl eax, 8
or r10d, eax
movzx eax, byte [rdx]
add rdx, r8
shl eax, 0x10
or r10d, eax
movzx eax, byte [rdx]
add rdx, r8
movzx r11d, byte [rdx]
shl eax, 0x18
add rdx, r8
or r10d, eax
movzx eax, byte [rdx]
add rdx, r8
shl eax, 8
or r11d, eax
movzx eax, byte [rdx]
add rdx, r8
shl eax, 0x10
or r11d, eax
movzx eax, byte [rdx]
add rdx, r8
movzx r12d, byte [rdx]
shl eax, 0x18
add rdx, r8
or r11d, eax
movzx eax, byte [rdx]
add rdx, r8
shl eax, 8
or r12d, eax
movzx eax, byte [rdx]
add rdx, r8
shl eax, 0x10
or r12d, eax
movzx eax, byte [rdx]
add rdx, r8
movzx r13d, byte [rdx]
shl eax, 0x18
add rdx, r8
movzx ecx, byte [rdx + r8 + 1]
or r12d, eax
movzx eax, byte [rdx]
shl eax, 8
shl ecx, 8
or r13d, eax
movzx eax, byte [rdx + r8]
or ecx, eax
shl ecx, 0x10
or r13d, ecx
cmp r14d, ebp
jl 0x140014bc6
lea r15d, [r14 + 0x10]
shr r15, 4
mov eax, r15d
neg eax
shl eax, 4
add r14d, eax
movzx r9d, byte [rbx]
add rbx, r8
movzx eax, byte [rbx]
add rbx, r8
shl eax, 8
or r9d, eax
movzx eax, byte [rbx]
add rbx, r8
shl eax, 0x10
or r9d, eax
movzx eax, byte [rbx]
add rbx, r8
movzx r8d, byte [rbx]
movzx edx, byte [rbx + 4]
movzx ecx, byte [rbx + 8]
shl eax, 0x18
add rbx, 0xc
or r9d, eax
movzx eax, byte [rbx - 0xb]
shl eax, 8
xor r9d, r10d
or r8d, eax
movzx eax, byte [rbx - 0xa]
mov dword [rsp + 0x20], r9d
shl eax, 0x10
or r8d, eax
movzx eax, byte [rbx - 9]
shl eax, 0x18
or r8d, eax
movzx eax, byte [rbx - 7]
shl eax, 8
xor r8d, r11d
or edx, eax
movzx eax, byte [rbx - 6]
mov dword [rsp + 0x24], r8d
shl eax, 0x10
or edx, eax
movzx eax, byte [rbx - 5]
shl eax, 0x18
or edx, eax
movzx eax, byte [rbx - 3]
shl eax, 8
xor edx, r12d
or ecx, eax
movzx eax, byte [rbx - 2]
mov dword [rsp + 0x28], edx
shl eax, 0x10
lea rdx, [rsp + 0x20]
or ecx, eax
movzx eax, byte [rbx - 1]
shl eax, 0x18
or ecx, eax
xor ecx, r13d
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rsp + 0x80]
call fcn.140015f00
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x24]
mov r8d, 1
mov al, r10b
mov byte [rsi], al
add rsi, r8
mov eax, r10d
shr eax, 8
mov byte [rsi], al
add rsi, r8
mov eax, r10d
shr eax, 0x10
mov byte [rsi], al
add rsi, r8
mov eax, r10d
shr eax, 0x18
mov byte [rsi], al
add rsi, r8
mov al, r11b
mov byte [rsi], al
add rsi, r8
mov eax, r11d
shr eax, 8
mov byte [rsi], al
add rsi, r8
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x2c]
mov eax, r11d
shr eax, 0x10
mov byte [rsi], al
add rsi, r8
mov eax, r11d
shr eax, 0x18
mov byte [rsi], al
add rsi, r8
mov al, r12b
mov byte [rsi], al
add rsi, r8
mov eax, r12d
shr eax, 8
mov byte [rsi], al
add rsi, r8
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
add rsi, r8
mov eax, r12d
shr eax, 0x18
mov byte [rsi], al
add rsi, r8
mov al, r13b
mov byte [rsi], al
add rsi, r8
mov eax, r13d
shr eax, 8
mov byte [rsi], al
add rsi, r8
mov eax, r13d
shr eax, 0x10
mov byte [rsi], al
add rsi, r8
mov eax, r13d
shr eax, 0x18
mov byte [rsi], al
add rsi, r8
sub r15, r8
jne 0x140014a38
mov r15, qword [rsp + 0xa0]
cmp r14d, 0xfffffff0
je 0x140014ded
lea ecx, [r14 + 0x10]
mov edx, ebp
mov r8d, ebp
movsxd rax, ecx
mov r9d, ebp
mov r14d, 1
add rbx, rax
cmp ecx, 9
jg 0x140014c3c
je 0x140014ca9
sub ecx, r14d
je 0x140014d00
sub ecx, r14d
je 0x140014cf4
sub ecx, r14d
je 0x140014ce8
sub ecx, r14d
je 0x140014cdd
sub ecx, r14d
je 0x140014cd4
sub ecx, r14d
je 0x140014cc8
sub ecx, r14d
je 0x140014cbc
cmp ecx, r14d
je 0x140014cb1
jmp 0x140014d07
sub ecx, 0xa
je 0x140014c9e
sub ecx, r14d
je 0x140014c93
sub ecx, r14d
je 0x140014c8a
sub ecx, r14d
je 0x140014c82
sub ecx, r14d
je 0x140014c77
sub ecx, r14d
je 0x140014c6c
cmp ecx, r14d
jne 0x140014d07
sub rbx, r14
movzx ebp, byte [rbx]
shl ebp, 0x18
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 0x10
or ebp, eax
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 8
or ebp, eax
sub rbx, r14
movzx eax, byte [rbx]
or ebp, eax
sub rbx, r14
movzx edx, byte [rbx]
shl edx, 0x18
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 0x10
or edx, eax
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 8
or edx, eax
sub rbx, r14
movzx eax, byte [rbx]
or edx, eax
sub rbx, r14
movzx r8d, byte [rbx]
shl r8d, 0x18
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 0x10
or r8d, eax
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 8
or r8d, eax
sub rbx, r14
movzx eax, byte [rbx]
or r8d, eax
sub rbx, r14
movzx r9d, byte [rbx]
shl r9d, 0x18
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 0x10
or r9d, eax
sub rbx, r14
movzx eax, byte [rbx]
shl eax, 8
or r9d, eax
movzx eax, byte [rbx - 1]
or r9d, eax
mov rcx, qword [rsp + 0x80]
xor edx, r12d
xor r9d, r10d
mov dword [rsp + 0x28], edx
xor r8d, r11d
lea rdx, [rsp + 0x20]
xor ebp, r13d
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x2c], ebp
call fcn.140015f00
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x2c]
mov al, r10b
mov byte [rsi], al
add rsi, r14
mov eax, r10d
shr eax, 8
mov byte [rsi], al
add rsi, r14
mov eax, r10d
shr eax, 0x10
mov byte [rsi], al
add rsi, r14
mov eax, r10d
shr eax, 0x18
mov byte [rsi], al
add rsi, r14
mov al, r11b
mov byte [rsi], al
add rsi, r14
mov eax, r11d
shr eax, 8
mov byte [rsi], al
add rsi, r14
mov eax, r11d
shr eax, 0x10
mov byte [rsi], al
add rsi, r14
mov eax, r11d
shr eax, 0x18
mov byte [rsi], al
add rsi, r14
mov al, r12b
mov byte [rsi], al
add rsi, r14
mov eax, r12d
shr eax, 8
mov byte [rsi], al
add rsi, r14
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
add rsi, r14
mov eax, r12d
shr eax, 0x18
mov byte [rsi], al
add rsi, r14
mov al, r13b
mov byte [rsi], al
add rsi, r14
mov eax, r13d
shr eax, 8
mov byte [rsi], al
mov eax, r13d
shr eax, 0x10
mov byte [rsi + r14], al
mov eax, r13d
shr eax, 0x18
mov byte [rsi + r14 + 1], al
jmp 0x140014df3
mov r14d, 1
mov byte [r15], r10b
mov eax, r10d
shr eax, 8
mov byte [rdi], al
add rdi, r14
mov eax, r10d
shr eax, 0x10
shr r10d, 0x18
mov byte [rdi], al
add rdi, r14
mov eax, r11d
mov byte [rdi], r10b
shr eax, 8
add rdi, r14
mov byte [rdi], r11b
add rdi, r14
mov byte [rdi], al
add rdi, r14
mov eax, r11d
shr eax, 0x10
shr r11d, 0x18
mov byte [rdi], al
add rdi, r14
mov eax, r12d
mov byte [rdi], r11b
shr eax, 8
add rdi, r14
mov byte [rdi], r12b
add rdi, r14
mov byte [rdi], al
add rdi, r14
mov eax, r12d
shr eax, 0x10
shr r12d, 0x18
mov byte [rdi], al
add rdi, r14
mov eax, r13d
mov byte [rdi], r12b
shr eax, 8
add rdi, r14
mov byte [rdi], r13b
add rdi, r14
mov byte [rdi], al
mov eax, r13d
shr eax, 0x10
shr r13d, 0x18
mov byte [rdi + r14], al
mov byte [rdi + r14 + 1], r13b
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret