Function at 0x14005f5c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
call fcn.14005d8f0
mov rcx, rax
call fcn.140001b70
call fcn.14005d8f0
xor ebx, ebx
lea rdi, [0x14018a620]
cmp qword [rax + 8], 0xffffffffffffffff
jne 0x14005f7c2
xor edx, edx
mov cl, 0x5b
call fcn.14005d590
lea edx, [rbx + 1]
mov byte [rbp - 0x40], al
mov cl, 0x2b
call fcn.14005d590
lea edx, [rbx + 2]
mov byte [rbp - 0x3f], al
mov cl, 0x5d
call fcn.14005d590
lea edx, [rbx + 3]
mov byte [rbp - 0x3e], al
mov cl, 0x20
call fcn.14005d590
lea edx, [rbx + 4]
mov byte [rbp - 0x3d], al
mov cl, 0x49
call fcn.14005d590
lea edx, [rbx + 5]
mov byte [rbp - 0x3c], al
mov cl, 0x6e
call fcn.14005d590
lea edx, [rbx + 6]
mov byte [rbp - 0x3b], al
mov cl, 0x69
call fcn.14005d590
lea edx, [rbx + 7]
mov byte [rbp - 0x3a], al
mov cl, 0x74
call fcn.14005d590
lea edx, [rbx + 8]
mov byte [rbp - 0x39], al
mov cl, 0x69
call fcn.14005d590
lea edx, [rbx + 9]
mov byte [rbp - 0x38], al
mov cl, 0x61
call fcn.14005d590
lea edx, [rbx + 0xa]
mov byte [rbp - 0x37], al
mov cl, 0x6c
call fcn.14005d590
lea edx, [rbx + 0xb]
mov byte [rbp - 0x36], al
mov cl, 0x69
call fcn.14005d590
lea edx, [rbx + 0xc]
mov byte [rbp - 0x35], al
mov cl, 0x7a
call fcn.14005d590
lea edx, [rbx + 0xd]
mov byte [rbp - 0x34], al
mov cl, 0x69
call fcn.14005d590
lea edx, [rbx + 0xe]
mov byte [rbp - 0x33], al
mov cl, 0x6e
call fcn.14005d590
lea edx, [rbx + 0xf]
mov byte [rbp - 0x32], al
mov cl, 0x67
call fcn.14005d590
lea edx, [rbx + 0x10]
mov byte [rbp - 0x31], al
mov cl, 0x20
call fcn.14005d590
lea edx, [rbx + 0x11]
mov byte [rbp - 0x30], al
mov cl, 0x64
call fcn.14005d590
lea edx, [rbx + 0x12]
mov byte [rbp - 0x2f], al
mov cl, 0x72
call fcn.14005d590
lea edx, [rbx + 0x13]
mov byte [rbp - 0x2e], al
mov cl, 0x69
call fcn.14005d590
mov byte [rbp - 0x2d], al
lea edx, [rbx + 0x14]
mov cl, 0x76
call fcn.14005d590
lea edx, [rbx + 0x15]
mov byte [rbp - 0x2c], al
mov cl, 0x65
call fcn.14005d590
lea edx, [rbx + 0x16]
mov byte [rbp - 0x2b], al
mov cl, 0x72
call fcn.14005d590
lea edx, [rbx + 0x17]
mov byte [rbp - 0x2a], al
mov cl, 0x73
call fcn.14005d590
lea edx, [rbx + 0x18]
mov byte [rbp - 0x29], al
mov cl, 0x20
call fcn.14005d590
lea edx, [rbx + 0x19]
mov byte [rbp - 0x28], al
mov cl, 0x2e
call fcn.14005d590
lea edx, [rbx + 0x1a]
mov byte [rbp - 0x27], al
mov cl, 0x20
call fcn.14005d590
lea edx, [rbx + 0x1b]
mov byte [rbp - 0x26], al
mov cl, 0x2e
call fcn.14005d590
lea edx, [rbx + 0x1c]
mov byte [rbp - 0x25], al
mov cl, 0x20
call fcn.14005d590
lea edx, [rbx + 0x1d]
mov byte [rbp - 0x24], al
mov cl, 0x2e
call fcn.14005d590
mov byte [rbp - 0x23], al
mov edx, ebx
xor eax, eax
mov byte [rbp - 0x22], al
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x40]
add rcx, rax
lea eax, [rdx + 0x13]
inc edx
xor byte [rcx], al
cmp edx, 0x1e
jb 0x14005f790
lea rdx, [rbp - 0x40]
mov byte [rbp - 0x22], bl
mov rcx, rdi
call fcn.14000e840
mov rcx, rax
call fcn.14000eb00
call fcn.14005f0a0
call fcn.14005d8f0
mov rcx, rax
call fcn.140001b70
call fcn.14005d8f0
xor edx, edx
mov cl, 0x64
mov r8, rax
call fcn.14005d590
mov edx, 1
mov cl, 0x72
movzx r9d, al
call fcn.14005d590
mov edx, 2
mov cl, 0x69
movzx r10d, al
call fcn.14005d590
mov edx, 3
mov cl, 0x76
movzx r11d, al
call fcn.14005d590
mov edx, 4
mov cl, 0x65
movzx esi, al
call fcn.14005d590
mov edx, 5
mov cl, 0x72
movzx r14d, al
call fcn.14005d590
mov edx, 6
mov cl, 0x20
movzx r15d, al
call fcn.14005d590
mov edx, 7
mov cl, 0x69
movzx r12d, al
call fcn.14005d590
mov edx, 8
mov cl, 0x6e
movzx r13d, al
call fcn.14005d590
mov edx, 9
mov byte [rbp + 0x48], al
mov cl, 0x69
call fcn.14005d590
mov edx, 0xa
mov byte [rbp + 0x50], al
mov cl, 0x74
call fcn.14005d590
mov edx, 0xb
mov byte [rbp + 0x58], al
mov cl, 0x69
call fcn.14005d590
mov edx, 0xc
mov byte [rbp + 0x60], al
mov cl, 0x61
call fcn.14005d590
mov edx, 0xd
mov byte [rbp - 0x48], al
mov cl, 0x6c
call fcn.14005d590
mov edx, 0xe
mov byte [rbp - 0x47], al
mov cl, 0x69
call fcn.14005d590
mov edx, 0xf
mov byte [rbp - 0x46], al
mov cl, 0x7a
call fcn.14005d590
mov edx, 0x10
mov byte [rbp - 0x45], al
mov cl, 0x65
call fcn.14005d590
cmp qword [r8 + 8], 0xffffffffffffffff
movzx ecx, al
movzx eax, byte [rbp + 0x48]
mov edx, 0x11
je 0x14005f993
mov byte [rbp - 0x18], al
movzx eax, byte [rbp + 0x50]
mov byte [rbp - 0x17], al
movzx eax, byte [rbp + 0x58]
mov byte [rbp - 0x16], al
movzx eax, byte [rbp + 0x60]
mov byte [rbp - 0x15], al
movzx eax, byte [rbp - 0x48]
mov byte [rbp - 0x14], al
movzx eax, byte [rbp - 0x47]
mov byte [rbp - 0x13], al
movzx eax, byte [rbp - 0x46]
mov byte [rbp - 0x12], al
movzx eax, byte [rbp - 0x45]
mov byte [rbp - 0x10], cl
mov cl, 0x64
mov byte [rbp - 0x11], al
mov byte [rbp - 0x20], r9b
mov byte [rbp - 0x1f], r10b
mov byte [rbp - 0x1e], r11b
mov byte [rbp - 0x1d], sil
mov byte [rbp - 0x1c], r14b
mov byte [rbp - 0x1b], r15b
mov byte [rbp - 0x1a], r12b
mov byte [rbp - 0x19], r13b
call fcn.14005d590
mov edx, 0x12
mov byte [rbp - 0xf], al
mov cl, 0x21
call fcn.14005d590
mov byte [rbp - 0xe], al
xor eax, eax
mov byte [rbp - 0xd], al
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rbx + 0x13]
inc ebx
xor byte [rcx], al
cmp ebx, 0x13
jb 0x14005f970
mov byte [rbp - 0xd], 0
lea rdx, [rbp - 0x20]
jmp 0x14005fa8e
mov byte [rbp - 0x38], al
movzx eax, byte [rbp + 0x50]
mov byte [rbp - 0x37], al
movzx eax, byte [rbp + 0x58]
mov byte [rbp - 0x36], al
movzx eax, byte [rbp + 0x60]
mov byte [rbp - 0x35], al
movzx eax, byte [rbp - 0x48]
mov byte [rbp - 0x34], al
movzx eax, byte [rbp - 0x47]
mov byte [rbp - 0x33], al
movzx eax, byte [rbp - 0x46]
mov byte [rbp - 0x32], al
movzx eax, byte [rbp - 0x45]
mov byte [rbp - 0x30], cl
mov cl, 0x20
mov byte [rbp - 0x31], al
mov byte [rbp - 0x40], r9b
mov byte [rbp - 0x3f], r10b
mov byte [rbp - 0x3e], r11b
mov byte [rbp - 0x3d], sil
mov byte [rbp - 0x3c], r14b
mov byte [rbp - 0x3b], r15b
mov byte [rbp - 0x3a], r12b
mov byte [rbp - 0x39], r13b
call fcn.14005d590
mov edx, 0x12
mov byte [rbp - 0x2f], al
mov cl, 0x65
call fcn.14005d590
mov edx, 0x13
mov byte [rbp - 0x2e], al
mov cl, 0x72
call fcn.14005d590
mov edx, 0x14
mov byte [rbp - 0x2d], al
call fcn.14005d590
mov edx, 0x15
mov byte [rbp - 0x2c], al
mov cl, 0x6f
call fcn.14005d590
mov edx, 0x16
mov byte [rbp - 0x2b], al
mov cl, 0x72
call fcn.14005d590
mov edx, 0x17
mov byte [rbp - 0x2a], al
mov cl, 0x20
call fcn.14005d590
mov edx, 0x18
mov byte [rbp - 0x29], al
mov cl, 0x3d
call fcn.14005d590
mov edx, 0x19
mov byte [rbp - 0x28], al
mov cl, 0x3c
call fcn.14005d590
mov byte [rbp - 0x27], al
xor eax, eax
mov byte [rbp - 0x26], al
nop
movsxd rax, ebx
lea rdx, [rbp - 0x40]
add rdx, rax
lea eax, [rbx + 0x13]
inc ebx
xor byte [rdx], al
cmp ebx, 0x1a
jb 0x14005fa70
mov byte [rbp - 0x26], 0
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.14000e840
mov rcx, rax
call fcn.14000eb00
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret