Function at 0x18000a470
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
lea rsi, [rcx + 2]
mov ebp, 4
mov dil, byte [rsi - 2]
mov bl, byte [rsi - 1]
mov cl, dil
mov r11b, byte [rsi]
mov r10b, byte [rsi + 1]
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
mov r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
xor r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r11b
xor r8b, r9b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, bl
xor r8b, r9b
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
xor al, r9b
mov cl, dil
xor al, r10b
xor al, r11b
xor al, bl
mov byte [rsi - 2], al
call fcn.18000c0c4
mov cl, dil
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, dil
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
mov r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
xor r8b, al
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r10b
xor r8b, r9b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, bl
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r11b
xor r8b, r9b
call fcn.18000c0c4
mov r9b, al
mov cl, bl
xor r9b, r8b
call fcn.18000c0c4
xor al, r9b
mov cl, dil
xor al, r10b
xor al, r11b
xor al, dil
mov byte [rsi - 1], al
call fcn.18000c0c4
mov cl, dil
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
mov r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
xor r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r11b
xor r8b, r9b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r10b
xor r8b, r9b
call fcn.18000c0c4
mov r9b, al
mov cl, r11b
xor r9b, r8b
call fcn.18000c0c4
xor al, r9b
mov cl, dil
xor al, r10b
xor al, bl
xor al, dil
mov byte [rsi], al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, dil
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, bl
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r10b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, r11b
mov r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, bl
xor r8b, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r10b
xor r8b, r9b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r9b, al
mov cl, bl
xor r9b, r8b
call fcn.18000c0c4
mov cl, al
call fcn.18000c0c4
mov r8b, al
mov cl, r10b
xor r8b, r9b
call fcn.18000c0c4
mov r9b, al
mov cl, dil
xor r9b, r8b
call fcn.18000c0c4
xor al, r9b
lea rsi, [rsi + 4]
xor al, r11b
xor al, bl
xor al, dil
mov byte [rsi - 3], al
sub rbp, 1
jne 0x18000a48d
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret