Function at 0x180002020
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x18001e010]
xor rax, rsp
mov qword [rsp + 0x20], rax
xor r10d, r10d
mov qword [rsp], rcx
mov qword [rsp + 8], r10
mov eax, r10d
mov r10, rcx
nop dword [rax]
mov r8, qword [r10 + rax*8 + 0x20]
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rsp + rax*4 + 0x10], dl
movzx edx, byte [r8 + 1]
mov byte [rsp + rax*4 + 0x12], cl
movzx ecx, byte [r8 + 3]
mov byte [rsp + rax*4 + 0x11], dl
mov byte [rsp + rax*4 + 0x13], cl
inc rax
cmp rax, 4
jl 0x180002060
mov r10, qword [rsp + 8]
nop word [rax + rax]
movzx ecx, byte [rsp + r10 + 0x10]
movzx r13d, byte [rsp + r10 + 0x1c]
movzx eax, cl
add al, al
movzx r14d, al
movzx eax, r14b
xor al, 0x1b
movzx eax, al
cmp cl, 0x80
movzx ecx, byte [rsp + r10 + 0x14]
cmovae r14d, eax
movzx eax, r14b
add al, al
movzx r12d, al
movzx eax, r12b
xor al, 0x1b
movzx eax, al
cmp r14b, 0x80
cmovae r12d, eax
movzx eax, r12b
add al, al
movzx r15d, al
movzx eax, cl
add al, al
movzx esi, al
movzx eax, sil
xor al, 0x1b
movzx eax, al
cmp cl, 0x80
movzx ecx, byte [rsp + r10 + 0x18]
cmovae esi, eax
movzx eax, sil
add al, al
movzx ebx, al
movzx eax, bl
xor al, 0x1b
movzx eax, al
cmp sil, 0x80
cmovae ebx, eax
movzx eax, bl
add al, al
movzx edi, al
movzx eax, cl
add al, al
movzx ebp, al
movzx eax, bpl
xor al, 0x1b
movzx eax, al
cmp cl, 0x80
cmovae ebp, eax
movzx eax, bpl
add al, al
movzx r11d, al
movzx eax, r11b
xor al, 0x1b
movzx eax, al
cmp bpl, 0x80
cmovae r11d, eax
movzx eax, r11b
add al, al
movzx r9d, al
movzx eax, r13b
add al, al
movzx r10d, al
movzx eax, r10b
xor al, 0x1b
movzx eax, al
cmp r13b, 0x80
cmovae r10d, eax
movzx eax, r10b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
movzx eax, al
cmp r10b, 0x80
cmovae edx, eax
movzx eax, dl
add al, al
movzx r8d, al
movzx eax, r8b
xor al, 0x1b
movzx ecx, sil
movzx eax, al
cmp dl, 0x80
cmovae r8d, eax
movzx eax, r9b
xor al, 0x1b
movzx eax, al
cmp r11b, 0x80
cmovae r9d, eax
movzx eax, dil
xor al, 0x1b
movzx eax, al
cmp bl, 0x80
cmovae edi, eax
movzx eax, r15b
xor al, 0x1b
movzx eax, al
cmp r12b, 0x80
cmovae r15d, eax
mov rax, qword [rsp]
xor cl, r12b
xor r10b, dil
xor cl, dil
xor r10b, r9b
xor cl, r8b
xor r10b, r8b
mov rax, qword [rax + 0x20]
xor cl, r11b
xor cl, r15b
xor r10b, bpl
xor cl, r9b
xor r10b, r12b
xor cl, r14b
xor r10b, r15b
mov r14, qword [rsp + 8]
xor cl, r13b
xor r10b, r13b
xor r10b, r11b
xor cl, byte [rsp + r14 + 0x18]
xor cl, byte [rsp + r14 + 0x14]
mov byte [r14 + rax], cl
movzx ecx, dil
xor cl, r9b
xor cl, r8b
xor cl, sil
mov rsi, qword [rsp]
xor cl, bpl
xor cl, r15b
movzx r15d, byte [rsp + r14 + 0x14]
xor cl, dl
xor r10b, r15b
mov rax, qword [rsi + 0x28]
xor cl, bl
movzx ebx, byte [rsp + r14 + 0x10]
xor cl, r13b
movzx edx, byte [rsp + r14 + 0x18]
xor r10b, bl
xor cl, dl
xor cl, bl
mov byte [r14 + rax], cl
mov rax, qword [rsi + 0x30]
mov byte [r14 + rax], r10b
movzx eax, bl
add al, al
movzx r14d, al
movzx eax, r14b
xor al, 0x1b
movzx eax, al
cmp bl, 0x80
cmovae r14d, eax
movzx eax, r14b
add al, al
movzx ebp, al
movzx eax, bpl
xor al, 0x1b
cmp r14b, 0x80
cmovae ebp, eax
movzx eax, bpl
add al, al
movzx esi, al
movzx eax, r15b
add al, al
movzx ecx, al
movzx eax, cl
xor al, 0x1b
cmp r15b, 0x80
cmovae ecx, eax
movzx eax, cl
add al, al
movzx edi, al
movzx eax, dil
xor al, 0x1b
movzx eax, al
cmp cl, 0x80
cmovae edi, eax
movzx eax, dil
add al, al
movzx r10d, al
movzx eax, dl
add al, al
movzx ecx, al
movzx eax, cl
xor al, 0x1b
cmp dl, 0x80
cmovae ecx, eax
movzx eax, cl
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
cmp cl, 0x80
cmovae edx, eax
movzx eax, dl
add al, al
movzx ebx, al
movzx eax, r13b
add al, al
movzx r11d, al
movzx eax, r11b
xor al, 0x1b
movzx eax, al
cmp r13b, 0x80
cmovae r11d, eax
movzx eax, r11b
add al, al
movzx ecx, al
movzx eax, cl
mov r9d, ecx
xor al, 0x1b
cmp r11b, 0x80
cmovae r9d, eax
movzx eax, r9b
add al, al
movzx r8d, al
movzx eax, bl
xor al, 0x1b
movzx eax, al
cmp dl, 0x80
cmovae ebx, eax
movzx eax, r10b
xor al, 0x1b
movzx eax, al
cmp dil, 0x80
cmovae r10d, eax
movzx eax, cl
xor al, 0x1b
xor bl, r10b
movzx eax, al
cmp r11b, 0x80
cmovae ecx, eax
movzx eax, sil
xor al, 0x1b
xor bl, cl
movzx eax, al
cmp bpl, 0x80
cmovae esi, eax
movzx eax, r8b
xor al, 0x1b
xor bl, sil
movzx eax, al
cmp r9b, 0x80
mov r10, qword [rsp + 8]
cmovae r8d, eax
mov rax, qword [rsp]
xor bl, r8b
xor bl, dil
xor bl, byte [rsp + r10 + 0x18]
mov rax, qword [rax + 0x38]
xor bl, r15b
xor bl, byte [rsp + r10 + 0x10]
xor bl, r11b
xor bl, r14b
mov byte [r10 + rax], bl
inc r10
mov qword [rsp + 8], r10
cmp r10, 4
jl 0x1800020a0
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.180010280
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret