Function at 0x140007f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x14004a018]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rax, qword gs:[0x58]
xor ebx, ebx
mov edi, 4
add rdi, qword [rax]
mov eax, dword [rdi]
cmp dword [0x14007e4b0], eax
jle 0x140007f8d
lea rcx, [0x14007e4b0]
call fcn.140010488
cmp dword [0x14007e4b0], 0xffffffff
jne 0x140007f8d
lea rcx, [0x140034a00]
mov dword [0x14007e4b8], ebx
mov qword [0x14007e4c0], 0xffffffffffffffff
call fcn.1400107d0
lea rcx, [0x14007e4b0]
call fcn.140010428
lea rcx, [0x14007e4b8]
call fcn.140001380
mov eax, dword [rdi]
cmp dword [0x14007e4b0], eax
jle 0x140007fe1
lea rcx, [0x14007e4b0]
call fcn.140010488
cmp dword [0x14007e4b0], 0xffffffff
jne 0x140007fe1
lea rcx, [0x140034a00]
mov dword [0x14007e4b8], ebx
mov qword [0x14007e4c0], 0xffffffffffffffff
call fcn.1400107d0
lea rcx, [0x14007e4b0]
call fcn.140010428
cmp qword [0x14007e4c0], 0xffffffffffffffff
jne 0x140008263
lea rcx, str.color_D
call fcn.140019bc4
xor edx, edx
mov cl, 0x5b
call fcn.140002450
mov edx, 1
mov byte [rbp - 0x29], al
mov cl, 0x2d
call fcn.140002450
mov edx, 2
mov byte [rbp - 0x28], al
mov cl, 0x20
call fcn.140002450
mov edx, 3
mov byte [rbp - 0x27], al
mov cl, 0x44
call fcn.140002450
mov edx, 4
mov byte [rbp - 0x26], al
mov cl, 0x72
call fcn.140002450
mov edx, 5
mov byte [rbp - 0x25], al
mov cl, 0x69
call fcn.140002450
mov edx, 6
mov byte [rbp - 0x24], al
mov cl, 0x76
call fcn.140002450
mov edx, 7
mov byte [rbp - 0x23], al
mov cl, 0x65
call fcn.140002450
mov edx, 8
mov byte [rbp - 0x22], al
mov cl, 0x72
call fcn.140002450
mov edx, 9
mov byte [rbp - 0x21], al
mov cl, 0x20
call fcn.140002450
mov edx, 0xa
mov byte [rbp - 0x20], al
mov cl, 0x4c
call fcn.140002450
mov edx, 0xb
mov byte [rbp - 0x1f], al
mov cl, 0x6f
call fcn.140002450
mov edx, 0xc
mov byte [rbp - 0x1e], al
mov cl, 0x67
call fcn.140002450
mov edx, 0xd
mov byte [rbp - 0x1d], al
mov cl, 0x73
call fcn.140002450
mov edx, 0xe
mov byte [rbp - 0x1c], al
mov cl, 0x20
call fcn.140002450
mov edx, 0xf
mov byte [rbp - 0x1b], al
mov cl, 0x2d
call fcn.140002450
mov edx, 0x10
mov byte [rbp - 0x1a], al
mov cl, 0x5d
call fcn.140002450
mov edx, 0x11
mov byte [rbp - 0x19], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x12
mov byte [rbp - 0x18], al
mov cl, 0x53
call fcn.140002450
mov edx, 0x13
mov byte [rbp - 0x17], al
mov cl, 0x74
call fcn.140002450
mov edx, 0x14
mov byte [rbp - 0x16], al
mov cl, 0x61
call fcn.140002450
mov edx, 0x15
mov byte [rbp - 0x15], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x16
mov byte [rbp - 0x14], al
mov cl, 0x74
call fcn.140002450
mov edx, 0x17
mov byte [rbp - 0x13], al
mov cl, 0x69
call fcn.140002450
mov edx, 0x18
mov byte [rbp - 0x12], al
mov cl, 0x6e
call fcn.140002450
mov edx, 0x19
mov byte [rbp - 0x11], al
mov cl, 0x67
call fcn.140002450
mov edx, 0x1a
mov byte [rbp - 0x10], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x1b
mov byte [rbp - 0xf], al
mov cl, 0x44
call fcn.140002450
mov edx, 0x1c
mov byte [rbp - 0xe], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x1d
mov byte [rbp - 0xd], al
mov cl, 0x69
call fcn.140002450
mov edx, 0x1e
mov byte [rbp - 0xc], al
mov cl, 0x76
call fcn.140002450
mov edx, 0x1f
mov byte [rbp - 0xb], al
mov cl, 0x65
call fcn.140002450
mov edx, 0x20
mov byte [rbp - 0xa], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x21
mov byte [rbp - 9], al
mov cl, 0x2e
call fcn.140002450
mov edx, 0x22
mov byte [rbp - 8], al
call fcn.140002450
mov edx, 0x23
mov byte [rbp - 7], al
call fcn.140002450
mov byte [rbp - 6], al
mov edx, ebx
xor eax, eax
mov byte [rbp - 5], al
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x29]
add rcx, rax
lea eax, [rdx + 0x13]
inc edx
xor byte [rcx], al
cmp edx, 0x24
jb 0x140008220
lea rdx, [rbp - 0x29]
mov byte [rbp - 5], bl
call fcn.14000cfe0
mov rcx, rax
call fcn.14000d260
lea rdx, [rbp - 0x39]
mov byte [rbp - 0x39], bl
call fcn.14000cfe0
mov rcx, rax
call fcn.14000d260
call fcn.140003c50
mov eax, dword [rdi]
cmp dword [0x14007e4b0], eax
jle 0x1400082ab
lea rcx, [0x14007e4b0]
call fcn.140010488
cmp dword [0x14007e4b0], 0xffffffff
jne 0x1400082ab
lea rcx, [0x140034a00]
mov dword [0x14007e4b8], ebx
mov qword [0x14007e4c0], 0xffffffffffffffff
call fcn.1400107d0
lea rcx, [0x14007e4b0]
call fcn.140010428
lea rcx, [0x14007e4b8]
call fcn.140001380
mov eax, dword [rdi]
cmp dword [0x14007e4b0], eax
jle 0x1400082ff
lea rcx, [0x14007e4b0]
call fcn.140010488
cmp dword [0x14007e4b0], 0xffffffff
jne 0x1400082ff
lea rcx, [0x140034a00]
mov dword [0x14007e4b8], ebx
mov qword [0x14007e4c0], 0xffffffffffffffff
call fcn.1400107d0
lea rcx, [0x14007e4b0]
call fcn.140010428
xor edx, edx
mov cl, 0x5b
call fcn.140002450
mov edx, 1
mov cl, 0x20
movzx r8d, al
call fcn.140002450
mov edx, 2
mov cl, 0x2d
movzx r9d, al
call fcn.140002450
mov edx, 3
mov cl, 0x20
movzx r10d, al
call fcn.140002450
mov edx, 4
mov cl, 0x4c
movzx r11d, al
call fcn.140002450
mov edx, 5
mov cl, 0x6f
movzx edi, al
call fcn.140002450
mov edx, 6
mov cl, 0x67
movzx esi, al
call fcn.140002450
mov edx, 7
mov cl, 0x73
movzx r14d, al
call fcn.140002450
mov edx, 8
mov cl, 0x20
movzx r15d, al
call fcn.140002450
mov edx, 9
mov cl, 0x2d
movzx r12d, al
call fcn.140002450
mov edx, 0xa
mov cl, 0x20
movzx r13d, al
call fcn.140002450
mov edx, 0xb
mov byte [rbp - 0x38], al
mov cl, 0x5d
call fcn.140002450
mov edx, 0xc
mov byte [rbp - 0x37], al
mov cl, 0x20
call fcn.140002450
mov edx, 0xd
mov byte [rbp - 0x36], al
mov cl, 0x2d
call fcn.140002450
mov edx, 0xe
mov byte [rbp - 0x35], al
mov cl, 0x3e
call fcn.140002450
mov edx, 0xf
mov byte [rbp - 0x34], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x11
mov byte [rbp - 0x33], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x12
mov byte [rbp - 0x32], al
mov cl, 0x69
call fcn.140002450
mov edx, 0x13
mov byte [rbp - 0x31], al
mov cl, 0x76
call fcn.140002450
mov edx, 0x14
mov byte [rbp - 0x30], al
mov cl, 0x65
call fcn.140002450
mov byte [rbp - 0x2f], al
mov edx, 0x15
mov cl, 0x72
call fcn.140002450
mov edx, 0x16
mov byte [rbp - 0x2e], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x18
mov byte [rbp - 0x2d], al
mov cl, 0x6f
call fcn.140002450
mov edx, 0x19
mov byte [rbp - 0x2c], al
mov cl, 0x61
call fcn.140002450
mov edx, 0x1a
mov byte [rbp - 0x2b], al
mov cl, 0x64
call fcn.140002450
cmp qword [0x14007e4c0], 0xffffffffffffffff
mov edx, 0x10
mov byte [rbp - 0x39], al
movzx eax, byte [rbp - 0x38]
je 0x1400085f3
mov byte [rbp + 9], al
mov cl, 0x44
movzx eax, byte [rbp - 0x37]
mov byte [rbp + 0xa], al
movzx eax, byte [rbp - 0x36]
mov byte [rbp + 0xb], al
movzx eax, byte [rbp - 0x35]
mov byte [rbp + 0xc], al
movzx eax, byte [rbp - 0x34]
mov byte [rbp + 0xd], al
movzx eax, byte [rbp - 0x33]
mov byte [rbp + 0xe], al
mov byte [rbp - 1], r8b
mov byte [rbp], r9b
mov byte [rbp + 1], r10b
mov byte [rbp + 2], r11b
mov byte [rbp + 3], dil
mov byte [rbp + 4], sil
mov byte [rbp + 5], r14b
mov byte [rbp + 6], r15b
mov byte [rbp + 7], r12b
mov byte [rbp + 8], r13b
call fcn.140002450
mov byte [rbp + 0xf], al
mov edx, 0x17
movzx eax, byte [rbp - 0x32]
mov cl, 0x4c
mov byte [rbp + 0x10], al
movzx eax, byte [rbp - 0x31]
mov byte [rbp + 0x11], al
movzx eax, byte [rbp - 0x30]
mov byte [rbp + 0x12], al
movzx eax, byte [rbp - 0x2f]
mov byte [rbp + 0x13], al
movzx eax, byte [rbp - 0x2e]
mov byte [rbp + 0x14], al
movzx eax, byte [rbp - 0x2d]
mov byte [rbp + 0x15], al
call fcn.140002450
mov byte [rbp + 0x16], al
mov edx, 0x1b
movzx eax, byte [rbp - 0x2c]
mov cl, 0x65
mov byte [rbp + 0x17], al
movzx eax, byte [rbp - 0x2b]
mov byte [rbp + 0x18], al
movzx eax, byte [rbp - 0x39]
mov byte [rbp + 0x19], al
call fcn.140002450
mov edx, 0x1c
mov byte [rbp + 0x1a], al
mov cl, 0x64
call fcn.140002450
mov edx, 0x1d
mov byte [rbp + 0x1b], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x1e
mov byte [rbp + 0x1c], al
mov cl, 0x53
call fcn.140002450
mov edx, 0x1f
mov byte [rbp + 0x1d], al
mov cl, 0x75
call fcn.140002450
mov edx, 0x20
mov byte [rbp + 0x1e], al
mov cl, 0x63
call fcn.140002450
mov edx, 0x21
mov byte [rbp + 0x1f], al
call fcn.140002450
mov edx, 0x22
mov byte [rbp + 0x20], al
mov cl, 0x65
call fcn.140002450
mov edx, 0x23
mov byte [rbp + 0x21], al
mov cl, 0x73
call fcn.140002450
mov byte [rbp + 0x22], al
mov edx, 0x24
call fcn.140002450
mov byte [rbp + 0x23], al
xor eax, eax
mov byte [rbp + 0x24], al
nop
movsxd rax, ebx
lea rcx, [rbp - 1]
add rcx, rax
lea eax, [rbx + 0x13]
inc ebx
xor byte [rcx], al
cmp ebx, 0x25
jb 0x1400085d0
mov byte [rbp + 0x24], 0
lea rdx, [rbp - 1]
jmp 0x14000873f
mov byte [rbp - 0x1f], al
movzx eax, byte [rbp - 0x37]
mov byte [rbp - 0x1e], al
movzx eax, byte [rbp - 0x36]
mov byte [rbp - 0x1d], al
movzx eax, byte [rbp - 0x35]
mov byte [rbp - 0x1c], al
movzx eax, byte [rbp - 0x34]
mov byte [rbp - 0x1b], al
movzx eax, byte [rbp - 0x33]
mov byte [rbp - 0x1a], al
mov byte [rbp - 0x29], r8b
mov byte [rbp - 0x28], r9b
mov byte [rbp - 0x27], r10b
mov byte [rbp - 0x26], r11b
mov byte [rbp - 0x25], dil
mov byte [rbp - 0x24], sil
mov byte [rbp - 0x23], r14b
mov byte [rbp - 0x22], r15b
mov byte [rbp - 0x21], r12b
mov byte [rbp - 0x20], r13b
call fcn.140002450
mov byte [rbp - 0x19], al
mov edx, 0x17
movzx eax, byte [rbp - 0x32]
mov cl, 0x6c
mov byte [rbp - 0x18], al
movzx eax, byte [rbp - 0x31]
mov byte [rbp - 0x17], al
movzx eax, byte [rbp - 0x30]
mov byte [rbp - 0x16], al
movzx eax, byte [rbp - 0x2f]
mov byte [rbp - 0x15], al
movzx eax, byte [rbp - 0x2e]
mov byte [rbp - 0x14], al
movzx eax, byte [rbp - 0x2d]
mov byte [rbp - 0x13], al
call fcn.140002450
mov byte [rbp - 0x12], al
mov edx, 0x1b
movzx eax, byte [rbp - 0x2c]
mov cl, 0x20
mov byte [rbp - 0x11], al
movzx eax, byte [rbp - 0x2b]
mov byte [rbp - 0x10], al
movzx eax, byte [rbp - 0x39]
mov byte [rbp - 0xf], al
call fcn.140002450
mov edx, 0x1c
mov byte [rbp - 0xe], al
mov cl, 0x65
call fcn.140002450
mov edx, 0x1d
mov byte [rbp - 0xd], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x1e
mov byte [rbp - 0xc], al
call fcn.140002450
mov edx, 0x1f
mov byte [rbp - 0xb], al
mov cl, 0x6f
call fcn.140002450
mov edx, 0x20
mov byte [rbp - 0xa], al
mov cl, 0x72
call fcn.140002450
mov edx, 0x21
mov byte [rbp - 9], al
mov cl, 0x20
call fcn.140002450
mov edx, 0x22
mov byte [rbp - 8], al
mov cl, 0x3d
call fcn.140002450
mov edx, 0x23
mov byte [rbp - 7], al
mov cl, 0x3c
call fcn.140002450
mov byte [rbp - 6], al
xor eax, eax
mov byte [rbp - 5], al
movsxd rax, ebx
lea rcx, [rbp - 0x29]
add rcx, rax
lea eax, [rbx + 0x13]
inc ebx
xor byte [rcx], al
cmp ebx, 0x24
jb 0x140008721
mov byte [rbp - 5], 0
lea rdx, [rbp - 0x29]
call fcn.14000cfe0
mov rcx, rax
call fcn.14000d260
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140010310
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret