Function at 0x18005bfe0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rsi, rcx
mov edx, edx
lea rdi, [rcx + 0x2b7a]
mov ebx, r8d
mov rcx, qword [rcx + 0x1ce04]
call fcn.180009b60
mov r14, rax
test eax, eax
jle 0x18005c2c1
cmp r14d, dword [rsi + 0x5e]
jae 0x18005c2c1
lea r8, [rsi + 0x2aaa]
mov r9d, 0x10
mov edx, r14d
mov rcx, rsi
call fcn.180003ff0
xor ebp, ebp
mov r10d, 0xffff
mov r12d, 0x100
lea r15d, [rbp + 1]
nop dword [rax + rax]
inc r10w
cmp r10w, r12w
jb 0x18005c079
test ebp, ebp
jne 0x18005c2c1
mov ebp, r15d
movzx r10d, r15w
xor r8b, r8b
nop dword [rax]
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop dword [rax]
movzx eax, dl
add dl, r8b
xor al, byte [rcx - 0xd0]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, r15
jne 0x18005c090
lea edx, [r9 + 4]
lea rcx, [rdi + 4]
nop
mov eax, dword [rcx]
and eax, 0xffffff00
cmp eax, ebx
je 0x18005c29d
inc edx
inc rcx
cmp edx, 0xc
jb 0x18005c0b0
inc r8b
cmp r8b, 0xff
jne 0x18005c080
xor r8b, r8b
nop word [rax + rax]
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop dword [rax]
movzx eax, byte [rcx - 0xd0]
lea rcx, [rcx + 1]
sub al, dl
add dl, r8b
mov byte [rcx - 1], al
sub r9, r15
jne 0x18005c0f0
lea edx, [r9 + 4]
lea rcx, [rdi + 4]
mov eax, dword [rcx]
and eax, 0xffffff00
cmp eax, ebx
je 0x18005c299
inc edx
inc rcx
cmp edx, 0xc
jb 0x18005c110
inc r8b
cmp r8b, 0xff
jne 0x18005c0e0
xor r8b, r8b
nop word [rax + rax]
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop dword [rax]
movzx eax, dl
add dl, r8b
add al, byte [rcx - 0xd0]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, r15
jne 0x18005c150
lea edx, [r9 + 4]
lea rcx, [rdi + 4]
nop
mov eax, dword [rcx]
and eax, 0xffffff00
cmp eax, ebx
je 0x18005c295
inc edx
inc rcx
cmp edx, 0xc
jb 0x18005c170
inc r8b
cmp r8b, 0xff
jne 0x18005c140
nop dword [rax]
nop word [rax + rax]
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop dword [rax]
movzx eax, dl
add dl, r8b
xor al, byte [rcx - 0xd0]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, r15
jne 0x18005c1b0
lea edx, [r9 + 4]
lea rcx, [rdi + 4]
nop
mov eax, dword [rcx]
and eax, 0xffffff00
cmp eax, ebx
je 0x18005c29d
inc edx
inc rcx
cmp edx, 0xc
jb 0x18005c1d0
add r8b, 0xff
jne 0x18005c1a0
mov r8b, 0xff
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop
movzx eax, byte [rcx - 0xd0]
lea rcx, [rcx + 1]
sub al, dl
add dl, r8b
mov byte [rcx - 1], al
sub r9, r15
jne 0x18005c200
lea edx, [r9 + 4]
lea rcx, [rdi + 4]
mov eax, dword [rcx]
and eax, 0xffffff00
cmp eax, ebx
je 0x18005c299
inc edx
inc rcx
cmp edx, 0xc
jb 0x18005c220
add r8b, 0xff
jne 0x18005c1f2
mov r8b, 0xff
nop
movzx edx, r10b
mov rcx, rdi
mov r9d, 0x10
nop dword [rax]
movzx eax, dl
add dl, r8b
add al, byte [rcx - 0xd0]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, r15
jne 0x18005c250
lea edx, [r9 + 4]
lea rax, [rdi + 4]
nop
mov ecx, dword [rax]
and ecx, 0xffffff00
cmp ecx, ebx
je 0x18005c295
inc edx
inc rax
cmp edx, 0xc
jb 0x18005c270
add r8b, 0xff
jne 0x18005c240
inc r10w
jmp 0x18005c060
mov al, 3
jmp 0x18005c2a1
mov al, 2
jmp 0x18005c2a1
movzx eax, r15b
mov byte [rsi + 0x2a92], al
mov eax, r15d
mov dword [rsi + 0x2a8a], r14d
mov byte [rsi + 0x2a93], r10b
mov byte [rsi + 0x2a94], r8b
jmp 0x18005c2c3
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret