Function at 0x140059860
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
mov eax, 0x50
call fcn.14024eae0
sub rsp, rax
mov rax, qword [rbp + 0x50]
lea edi, [r8 - 8]
mov r14, rcx
xor ebx, ebx
mov rsi, rdx
movzx edx, byte [rax]
lea rcx, [rax + 1]
movzx r13d, byte [rcx]
lea r15d, [rbx + 1]
add rcx, r15
shl edx, 8
or r13d, edx
shl r13d, 0x10
movzx eax, byte [rcx]
add rcx, r15
shl eax, 8
or r13d, eax
movzx eax, byte [rcx]
or r13d, eax
cmp dword [rbp + 0x58], ebx
je 0x140059b0a
add rcx, r15
movzx r12d, byte [rcx]
add rcx, r15
shl r12d, 0x18
movzx eax, byte [rcx]
shl eax, 0x10
or r12d, eax
movzx eax, byte [rcx + r15]
shl eax, 8
or r12d, eax
lea rax, [r15 + 1]
add rax, rcx
mov qword [rbp - 0x28], rax
movzx eax, byte [rax]
or r12d, eax
test edi, edi
js 0x1400599fd
mov eax, r8d
shr rax, 3
mov qword [rbp - 0x20], rax
neg eax
mov rbx, qword [rbp - 0x20]
lea edi, [rdi + rax*8]
mov dword [rbp + 0x58], edi
mov rdi, qword [rbp + 0x48]
movzx edx, byte [r14]
add r14, r15
shl edx, 0x18
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or edx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or edx, eax
movzx eax, byte [r14]
add r14, r15
or edx, eax
xor edx, r13d
mov dword [rbp - 0x30], edx
mov rdx, rdi
movzx ecx, byte [r14]
add r14, r15
shl ecx, 0x18
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ecx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ecx, eax
movzx eax, byte [r14]
add r14, r15
or ecx, eax
xor ecx, r12d
mov dword [rbp - 0x2c], ecx
lea rcx, [rbp - 0x30]
call fcn.140058fb8
mov r13d, dword [rbp - 0x30]
mov eax, r13d
mov r12d, dword [rbp - 0x2c]
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x18
mov byte [rsi], r13b
add rsi, r15
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov byte [rsi], r12b
add rsi, r15
sub rbx, r15
jne 0x140059929
mov edi, dword [rbp + 0x58]
mov r9, qword [rbp + 0x48]
cmp edi, 0xfffffff8
je 0x140059af6
lea ecx, [rdi + 8]
mov edx, ebx
movsxd rax, ecx
add r14, rax
sub ecx, r15d
je 0x140059a83
sub ecx, r15d
je 0x140059a77
sub ecx, r15d
je 0x140059a6b
sub ecx, r15d
je 0x140059a64
sub ecx, r15d
je 0x140059a58
sub ecx, r15d
je 0x140059a4c
sub ecx, r15d
je 0x140059a40
cmp ecx, r15d
jne 0x140059a8d
sub r14, r15
movzx ebx, byte [r14]
sub r14, r15
movzx eax, byte [r14]
shl eax, 8
or ebx, eax
sub r14, r15
movzx eax, byte [r14]
shl eax, 0x10
or ebx, eax
sub r14, r15
movzx eax, byte [r14]
shl eax, 0x18
or ebx, eax
sub r14, r15
movzx edx, byte [r14]
sub r14, r15
movzx eax, byte [r14]
shl eax, 8
or edx, eax
sub r14, r15
movzx eax, byte [r14]
shl eax, 0x10
or edx, eax
movzx eax, byte [r14 - 1]
shl eax, 0x18
or edx, eax
xor edx, r13d
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x30], edx
xor ebx, r12d
mov rdx, r9
mov dword [rbp - 0x2c], ebx
call fcn.140058fb8
mov r13d, dword [rbp - 0x30]
mov eax, r13d
mov r12d, dword [rbp - 0x2c]
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x18
mov byte [rsi], r13b
add rsi, r15
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
mov eax, r12d
shr eax, 8
mov byte [rsi + r15], al
mov byte [rsi + r15 + 1], r12b
mov r15, qword [rbp - 0x28]
lea rax, [r15 - 6]
lea r14, [rax + 4]
mov rsi, r14
jmp 0x140059d36
movzx r12d, byte [rcx + r15]
lea rax, [r15 + 1]
add rax, rcx
shl r12d, 0x18
mov rcx, rax
mov qword [rbp - 0x18], rax
movzx eax, byte [rax]
shl eax, 0x10
or r12d, eax
movzx eax, byte [rcx + r15]
shl eax, 8
or r12d, eax
lea rax, [rcx + 2]
mov qword [rbp - 0x28], rax
movzx eax, byte [rax]
or r12d, eax
test edi, edi
js 0x140059c2f
mov eax, r8d
shr rax, 3
mov qword [rbp - 0x20], rax
neg eax
lea edi, [rdi + rax*8]
mov dword [rbp + 0x58], edi
movzx edi, byte [r14]
lea rcx, [rbp - 0x30]
add r14, r15
shl edi, 0x18
mov rdx, r9
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or edi, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or edi, eax
movzx eax, byte [r14]
add r14, r15
or edi, eax
mov dword [rbp - 0x30], edi
movzx ebx, byte [r14]
add r14, r15
shl ebx, 0x18
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ebx, eax
movzx eax, byte [r14]
add r14, r15
or ebx, eax
mov dword [rbp - 0x2c], ebx
call fcn.14005940c
mov ecx, dword [rbp - 0x30]
mov edx, dword [rbp - 0x2c]
xor ecx, r13d
mov r9, qword [rbp + 0x48]
xor edx, r12d
mov eax, ecx
mov r13d, edi
shr eax, 0x18
mov r12d, ebx
mov byte [rsi], al
add rsi, r15
mov eax, ecx
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, ecx
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov eax, edx
shr eax, 0x18
mov byte [rsi], cl
add rsi, r15
mov byte [rsi], al
add rsi, r15
mov eax, edx
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, edx
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov byte [rsi], dl
add rsi, r15
sub qword [rbp - 0x20], r15
jne 0x140059b5e
mov edi, dword [rbp + 0x58]
cmp edi, 0xfffffff8
je 0x140059d27
movzx ebx, byte [r14]
add r14, r15
shl ebx, 0x18
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ebx, eax
movzx eax, byte [r14]
add r14, r15
or ebx, eax
mov dword [rbp - 0x30], ebx
movzx edx, byte [r14]
add r14, r15
shl edx, 0x18
movzx eax, byte [r14]
movzx ecx, byte [r14 + r15]
shl eax, 0x10
or edx, eax
shl ecx, 8
movzx eax, byte [r14 + r15 + 1]
or ecx, eax
or edx, ecx
lea rcx, [rbp - 0x30]
mov dword [rbp + 0x58], edx
mov dword [rbp - 0x2c], edx
mov rdx, r9
call fcn.14005940c
mov edx, dword [rbp - 0x30]
lea ecx, [rdi + 8]
mov r8d, dword [rbp - 0x2c]
xor edx, r13d
movsxd rax, ecx
xor r8d, r12d
add rsi, rax
sub ecx, r15d
je 0x140059d1a
sub ecx, r15d
je 0x140059d10
sub ecx, r15d
je 0x140059d06
sub ecx, r15d
je 0x140059d01
sub ecx, r15d
je 0x140059cf7
sub ecx, r15d
je 0x140059cec
sub ecx, r15d
je 0x140059ce1
cmp ecx, r15d
jne 0x140059d20
sub rsi, r15
mov byte [rsi], r8b
sub rsi, r15
mov eax, r8d
shr eax, 8
mov byte [rsi], al
sub rsi, r15
mov eax, r8d
shr eax, 0x10
mov byte [rsi], al
sub rsi, r15
shr r8d, 0x18
mov byte [rsi], r8b
sub rsi, r15
mov byte [rsi], dl
sub rsi, r15
mov eax, edx
shr eax, 8
mov byte [rsi], al
sub rsi, r15
mov eax, edx
shr eax, 0x10
mov byte [rsi], al
shr edx, 0x18
mov byte [rsi - 1], dl
mov r12d, dword [rbp + 0x58]
mov r13d, ebx
mov r15, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x18]
mov r14, rsi
lea rax, [r15 - 6]
mov rbx, 0xfffffffffffffff9
mov r11d, r13d
mov ecx, r12d
mov edx, r12d
shr ecx, 8
mov r8d, r12d
shr edx, 0x10
mov r9d, r13d
shr r8d, 0x18
mov r10d, r13d
shr r9d, 8
mov rdi, rax
shr r10d, 0x10
shr r11d, 0x18
mov byte [rbx + r15], r11b
lea r11, [rsp + 0x50]
mov byte [rax], r10b
mov byte [rax + 1], r9b
mov byte [rax + 2], r13b
mov byte [rax + 3], r8b
mov byte [r14], dl
mov byte [rsi + 1], cl
mov byte [rsi + 2], r12b
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret