Function at 0x18005c9b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movsxd r15, edx
lea rbx, [rcx + 0x2b7a]
mov rdi, rcx
mov rdx, r15
mov rcx, qword [rcx + 0x1ce04]
call fcn.180009b60
mov r8d, dword [rdi + 0x5e]
mov rbp, rax
mov r14d, r8d
sub r14d, eax
test eax, eax
jle 0x18005ca56
cmp ebp, r8d
jae 0x18005ca56
mov r9d, 0x10
lea r8, [rdi + 0x2aaa]
mov edx, ebp
mov rcx, rdi
call fcn.180003ff0
mov ecx, dword [0x1801429a8]
xor r10d, r10d
mov r11d, 0x100
cmp r10w, r11w
jae 0x18005ca56
movzx edx, byte [rdi + 0x2aaa]
nop dword [rax]
movzx eax, r10b
xor al, dl
cmp al, cl
je 0x18005ca77
movzx eax, dl
sub al, r10b
cmp al, cl
je 0x18005ca71
lea eax, [rdx + r10]
cmp al, cl
je 0x18005ca71
inc r10w
cmp r10w, r11w
jb 0x18005ca30
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
cmp r10w, r11w
jae 0x18005ca56
xor al, al
nop dword [rax]
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
nop dword [rax]
movzx ecx, r8b
add r8b, al
xor cl, byte [rdx - 0xd0]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r9, 1
jne 0x18005ca90
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cacb
mov ecx, dword [0x1801429af]
cmp dword [rbx + 6], ecx
je 0x18005cc76
cmp dword [rbx + 7], ecx
je 0x18005cc70
inc al
cmp al, 0xff
jne 0x18005ca80
xor al, al
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
movzx ecx, byte [rdx - 0xd0]
lea rdx, [rdx + 1]
sub cl, r8b
add r8b, al
mov byte [rdx - 1], cl
sub r9, 1
jne 0x18005cae0
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cb1c
mov ecx, dword [0x1801429af]
cmp dword [rbx + 6], ecx
je 0x18005cc83
cmp dword [rbx + 7], ecx
je 0x18005cc7d
inc al
cmp al, 0xff
jne 0x18005cad3
xor al, al
nop dword [rax]
nop dword [rax + rax]
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
nop dword [rax]
movzx ecx, r8b
add r8b, al
add cl, byte [rdx - 0xd0]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r9, 1
jne 0x18005cb40
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cb7b
mov ecx, dword [0x1801429af]
cmp dword [rbx + 6], ecx
je 0x18005cc8d
cmp dword [rbx + 7], ecx
je 0x18005cc87
inc al
cmp al, 0xff
jne 0x18005cb30
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
nop
movzx ecx, r8b
add r8b, al
xor cl, byte [rdx - 0xd0]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r9, 1
jne 0x18005cb90
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cbcb
mov ecx, dword [0x1801429af]
cmp dword [rbx + 6], ecx
je 0x18005cc76
cmp dword [rbx + 7], ecx
je 0x18005cc70
add al, 0xff
jne 0x18005cb81
mov al, 0xff
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
nop
movzx ecx, byte [rdx - 0xd0]
lea rdx, [rdx + 1]
sub cl, r8b
add r8b, al
mov byte [rdx - 1], cl
sub r9, 1
jne 0x18005cbe0
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cc14
mov ecx, dword [0x1801429af]
cmp dword [rbx + 6], ecx
je 0x18005cc83
cmp dword [rbx + 7], ecx
je 0x18005cc7d
add al, 0xff
jne 0x18005cbd1
mov al, 0xff
nop word [rax + rax]
movzx r8d, r10b
mov rdx, rbx
mov r9d, 0x10
nop dword [rax]
movzx ecx, r8b
add r8b, al
add cl, byte [rdx - 0xd0]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r9, 1
jne 0x18005cc30
mov ecx, dword [0x1801429a8]
cmp dword [rbx], ecx
jne 0x18005cc63
mov edx, dword [0x1801429af]
cmp dword [rbx + 6], edx
je 0x18005cc8d
cmp dword [rbx + 7], edx
je 0x18005cc87
add al, 0xff
jne 0x18005cc20
inc r10w
jmp 0x18005ca20
xor cl, cl
mov dl, 1
jmp 0x18005cc91
mov cl, 1
movzx edx, cl
jmp 0x18005cc91
xor cl, cl
mov dl, 2
jmp 0x18005cc91
mov dl, 2
jmp 0x18005cc8f
mov dl, 3
xor cl, cl
jmp 0x18005cc91
mov dl, 3
mov cl, 1
mov byte [rdi + 0x2a97], al
mov eax, 1
mov dword [rdi + 0x2a8a], ebp
mov dword [rdi + 0x2a8e], r14d
mov byte [rdi + 0x2a92], dl
mov byte [rdi + 0x2a93], cl
mov byte [rdi + 0x2a96], r10b
mov dword [rdi + 0x2a98], r15d
jmp 0x18005ca58