Function at 0x5b1980
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rbx, qword [rcx + 8]
mov qword [rsp + 0xf8], rdx
mov rax, rbx
add rax, r8
mov qword [rsp + 0x100], r8
mov r13, rcx
cmp rax, 0x20
jbe 0x5b19f4
test rbx, rbx
je 0x5b19e7
mov r8d, 0x20
mov rsi, r8
sub rsi, rbx
jne 0x5b23e0
lea rdx, [r13 + 0x40]
mov r8d, 0x20
mov rcx, r13
call fcn.005afb90
mov qword [r13 + 8], 0
xor ebx, ebx
cmp qword [rsp + 0x100], 0x20
ja 0x5b1a40
cmp qword [rsp + 0x100], 0
jne 0x5b1a18
xor eax, eax
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
lea rcx, [r13 + rbx + 0x40]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x100]
add qword [r13 + 8], rax
jmp 0x5b19ff
mov rax, qword [rsp + 0x100]
mov r12, qword [rsp + 0xf8]
lea rdx, [rax - 1]
mov rax, rdx
shr rax, 5
mov qword [rsp + 0x70], rax
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x68], rdx
and rdx, 0xffffffffffffffe0
add rdx, qword [rsp + 0xf8]
add rax, 0x20
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x80]
sub rax, r12
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xf0], r13
mov r14, qword [r13 + 0x18]
mov rbp, qword [r13 + 0x20]
mov rdi, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x30]
mov rsi, qword [r13 + 0x38]
nop dword [rax]
mov r9, rbp
xor r9, rsi
mov rax, qword [rsp + 0x58]
xor r9, rdi
lea r10, [r12 + rax]
xor r9, rbx
movabs rax, 0x1bd11bdaa9fc1a22
xor r9, rax
mov rdx, qword [r12 + 8]
mov rax, qword [r12]
mov rcx, qword [rsp + 0x60]
mov r15, rax
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rdx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x98]
add rcx, rdi
mov rdx, qword [rsp + 0x40]
lea r13, [r14 + rbx]
add rcx, r10
lea rax, [r15 + rbp]
add r8, rsi
add rax, rcx
add rdx, r13
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
mov r11, r14
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
xor r11, r10
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r13
mov qword [rsp + 0x48], r15
rorx r8, r8, 0x3b
lea r15, [r11 + rsi]
xor r8, rax
add rax, rdi
add rax, rcx
add rdx, r15
lea r8, [r9 + r8 + 1]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
add r12, 0x20
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add rcx, r15
mov qword [rsp + 0x28], r15
rorx r8, r8, 0x20
lea r15, [r9 + r10]
xor r8, rax
add rax, rbx
add rax, rcx
add rdx, r15
lea r8, [r8 + rbp + 2]
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
mov qword [rsp + 0x30], r15
rorx r8, r8, 0x3b
xor r8, rax
add rax, rsi
add rcx, r15
lea r15, [r14 + rbp]
add rax, rcx
add rdx, r15
lea r8, [r8 + rdi + 3]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add rcx, r15
mov qword [rsp + 0x38], r15
rorx r8, r8, 0x20
lea r15, [r11 + rdi]
xor r8, rax
add rax, r9
add rax, rcx
add rdx, r15
lea r8, [r8 + rbx + 4]
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
rorx rcx, rcx, 0x29
xor rcx, rax
add rdx, r8
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x3b
lea r15, [rbx + r10]
xor r8, rax
add rax, rbp
add rax, rcx
add rdx, r15
lea r8, [r8 + rsi + 5]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x20
lea r15, [r14 + rsi]
xor r8, rax
add rdx, r15
add rax, rdi
lea r8, [r9 + r8 + 6]
add rdx, r8
add rax, rcx
rorx r8, r8, 0x30
rorx rcx, rcx, 0x32
xor r8, rdx
xor rcx, rax
add rax, r8
add rdx, rcx
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x3b
lea r15, [r9 + r11]
xor r8, rax
add rax, rbx
add rax, rcx
add rdx, r15
lea r8, [r8 + rbp + 7]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
rorx r8, r8, 0x20
xor r8, rax
add rax, rsi
add rcx, r15
lea r15, [rbp + r10]
add rax, rcx
add rdx, r15
lea r8, [r8 + rdi + 8]
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x3b
lea r15, [r14 + rdi]
xor r8, rax
add rax, r9
add rax, rcx
add rdx, r15
lea r8, [r8 + rbx + 9]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x20
lea r15, [r11 + rbx]
xor r8, rax
add rax, rbp
add rax, rcx
add rdx, r15
lea r8, [r8 + rsi + 0xa]
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x3b
lea r15, [rsi + r10]
xor r8, rax
add rdx, r15
lea r8, [r9 + r8 + 0xb]
add rdx, r8
add rax, rdi
add rax, rcx
rorx r8, r8, 0x1f
xor r8, rdx
rorx rcx, rcx, 0x27
xor rcx, rax
add rax, r8
rorx r8, r8, 0x12
xor r8, rax
add rdx, rcx
rorx rcx, rcx, 0x34
xor rcx, rdx
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x20
lea r15, [r9 + r14]
xor r8, rax
add rax, rbx
add rax, rcx
add rdx, r15
lea r8, [r8 + rbp + 0xc]
add rdx, r8
rorx rcx, rcx, 0x32
xor rcx, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 7
xor rcx, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 0x29
xor rcx, rax
rorx r8, r8, 0x18
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x1b
xor rcx, rdx
add rcx, r15
rorx r8, r8, 0x3b
xor r8, rax
add rax, rsi
add r11, rbp
add rdx, r11
add rax, rcx
lea r8, [r8 + rdi + 0xd]
add rdx, r8
rorx rcx, rcx, 0x27
xor rcx, rax
rorx r8, r8, 0x1f
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x34
xor rcx, rdx
rorx r8, r8, 0x12
xor r8, rax
add rax, rcx
add rdx, r8
rorx rcx, rcx, 6
xor rcx, rax
rorx r8, r8, 0x2a
xor r8, rdx
add rdx, rcx
add rax, r8
rorx rcx, rcx, 0x20
xor rcx, rdx
add r11, rcx
add r10, rdi
rorx r8, r8, 0x20
xor r8, rax
add rax, r9
add rax, r11
add rdx, r10
lea r8, [r8 + rbx + 0xe]
add rdx, r8
rorx r11, r11, 0x32
xor r11, rax
rorx r8, r8, 0x30
xor r8, rdx
add rdx, r11
add rax, r8
rorx r11, r11, 7
xor r11, rdx
rorx r8, r8, 0xc
xor r8, rax
add rax, r11
rorx r11, r11, 0x29
xor r11, rax
add rdx, r8
rorx r8, r8, 0x18
xor r8, rdx
add rax, r8
add rdx, r11
rorx r8, r8, 0x3b
rorx r11, r11, 0x1b
xor r8, rax
xor r11, rdx
lea rcx, [r8 + rsi + 0xf]
add rax, rbp
add r10, r11
add rdx, r13
add rax, r10
add rdx, rcx
rorx r10, r10, 0x27
rorx rcx, rcx, 0x1f
xor r10, rax
xor rcx, rdx
add rax, rcx
add rdx, r10
rorx rcx, rcx, 0x12
rorx r10, r10, 0x34
xor rcx, rax
xor r10, rdx
add rax, r10
add rdx, rcx
rorx r10, r10, 6
rorx rcx, rcx, 0x2a
xor r10, rax
xor rcx, rdx
add rax, rcx
add rdx, r10
mov r15, qword [rsp + 0x28]
rorx rcx, rcx, 0x20
rorx r10, r10, 0x20
xor rcx, rax
xor r10, rdx
add rax, rdi
add r10, r13
lea rcx, [r9 + rcx + 0x10]
add rdx, r15
add rdx, rcx
add rax, r10
rorx rcx, rcx, 0x30
rorx r10, r10, 0x32
xor rcx, rdx
xor r10, rax
add rax, rcx
add rdx, r10
rorx rcx, rcx, 0xc
rorx r10, r10, 7
xor rcx, rax
xor r10, rdx
add rax, r10
add rdx, rcx
rorx r10, r10, 0x29
rorx rcx, rcx, 0x18
xor r10, rax
xor rcx, rdx
add rax, rcx
add rdx, r10
mov r9, qword [rsp + 0x30]
rorx rcx, rcx, 0x3b
rorx r10, r10, 0x1b
xor rcx, rax
xor r10, rdx
lea r8, [rcx + rbp + 0x11]
add rax, rbx
add r10, r15
add rdx, r9
add rax, r10
add rdx, r8
rorx r10, r10, 0x27
rorx r8, r8, 0x1f
xor r10, rax
xor r8, rdx
add rax, r8
lea rbx, [r10 + rdx]
rorx r8, r8, 0x12
rorx r10, r10, 0x34
xor r8, rax
xor r10, rbx
lea rbp, [rax + r10]
add rbx, r8
rorx rcx, r10, 6
rorx r8, r8, 0x2a
xor rcx, rbp
xor r8, rbx
add rbp, r8
add rbx, rcx
rorx r8, r8, 0x20
rorx rcx, rcx, 0x20
xor r8, rbp
xor rcx, rbx
add rbp, rsi
lea r8, [r8 + rdi + 0x12]
mov rsi, qword [rsp + 0x98]
lea rdi, [r9 + rcx]
mov rax, qword [rsp + 0xf0]
xor rbp, qword [rsp + 0x48]
xor rdi, qword [rsp + 0x88]
add rbx, qword [rsp + 0x38]
xor rbx, qword [rsp + 0x40]
xor rsi, r8
mov qword [rax + 0x20], rbp
mov qword [rax + 0x28], rdi
mov qword [rax + 0x30], rbx
mov qword [rax + 0x38], rsi
movabs rax, 0xbfffffffffffffff
and r14, rax
cmp r12, qword [rsp + 0x50]
jne 0x5b1ab8
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0xf0]
dec rax
shl rax, 5
add rax, qword [rsp + 0x78]
mov qword [r13 + 0x10], rax
mov rax, qword [rsp + 0x68]
mov qword [r13 + 0x18], r14
and rax, 0xffffffffffffffe0
sub qword [rsp + 0x100], rax
add qword [rsp + 0xf8], rax
xor ebx, ebx
jmp 0x5b19f4
lea rcx, [rcx + rbx + 0x40]
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x100]
add qword [rsp + 0xf8], rsi
lea rax, [rbx + rax - 0x20]
add qword [r13 + 8], rsi
mov qword [rsp + 0x100], rax
jmp 0x5b19cd