Function at 0x14008f3c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
mov dword [rsp - 0x40], ecx
nop
sub rsp, 8
mov qword [rsp], rbp
push rbx
xchg rbp, rbp
nop
push r14
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r10
mov qword [rsp], r12
push r13
mov dword [rsp - 0x44], ecx
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
mov r15, r15
lea rbp, [rsp - 0x138]
sub rsp, 0x6981ed5a
add rsp, 0x6981eb22
mov r8, rdx
xchg rcx, rdi
mov rcx, rdi
xchg rdi, rcx
xor edx, edx
mov dword [rsp - 0x18], 0x2edd98aa
lea ebx, [rdx + 1]
mov ecx, edx
mov eax, 0x1723f85e
xor eax, 0x1732835f
add eax, 0x450d9322
xor eax, 0x337767f7
rol eax, cl
mov r13, r13
lea rcx, [0x140001b10]
xor al, byte [rdx + rcx]
mov byte [rsp + rdx + 0x10], al
add rdx, rbx
mov dword [rsp - 0x1c], esp
cmp rdx, 0x211
jb 0x14008f431
xor dl, dl
mov r15, r15
lea r11, [rsp + 0x10]
xor r12b, r12b
mov byte [rsp + 4], dl
xor eax, eax
mov dword [rsp - 0x30], esp
mov dword [rsp], r12d
xchg r11, r9
mov r11, rdi
xchg r9, r11
mov r10b, 0x38
sub r10b, 0x2e
add r10b, 0x14
xor r10b, 0x64
sub r10b, 0x6a
mov rdi, r8
mov r8, r8
lea ecx, [rax + 0x25]
rep stosb byte [rdi], al
lea esi, [rax + 4]
mov dword [rsp - 0x40], ecx
movzx edi, byte [r9]
add r9, rbx
mov ecx, edi
mov rdx, rdx
cmp edi, 0x65
ja 0x14008f51a
neg ecx
add ecx, 0x26
neg ecx
cmp ecx, 0x3f
mov dword [rsp - 0x44], ebx
ja 0x14008f5b9
movabs rax, 0xc0000000352b07c1
add rax, 0x3ee38157
sub rax, 0x25f1dddc
sub rax, 0x4d1baa3b
bt rax, rcx
xchg r8, r8
jae 0x14008f5b9
mov byte [r8 + 3], dil
mov al, 0x36
sub al, 0x21
add al, 0x2f
xor al, 4
jmp 0x14008f5a9
sub ecx, 0x66
je 0x14008f59b
mov rsi, rsi
sub ecx, ebx
je 0x14008f588
sub ecx, 0x89
je 0x14008f574
mov dword [rsp - 0x40], edx
sub ecx, 2
je 0x14008f563
cmp ecx, ebx
mov dword [rsp - 0x30], 0x27bf1896
jne 0x14008f5b9
mov byte [r8 + 1], dil
mov al, sil
jmp 0x14008f5a9
mov byte [r8 + 1], dil
mov al, 0x2f
add al, 0x2d
sub al, 0x52
xor al, 8
jmp 0x14008f5a9
mov byte [r8 + 2], dil
xchg r8, r8
mov al, 0x14
add al, 0x45
add al, 0x10
sub al, 0x49
jmp 0x14008f5a9
mov byte [r8 + 5], dil
mov al, 0x27
xor al, 9
add al, 0x4d
sub al, 0x6c
xor al, 0x1f
jmp 0x14008f5a9
mov byte [r8 + 4], dil
mov al, 0xd
xor al, 0x40
sub al, 0x2b
xor al, 0x74
xor al, 0x5e
or dl, al
mov dword [rsp - 0x44], esp
add r10b, 0xff
jne 0x14008f4b7
movzx eax, dl
mov ecx, ebx
mov dword [rsp - 0x40], edi
movzx r10d, dl
shl r10d, 5
shl r10d, 0xa
shl r10d, 2
shl r10d, 4
shl r10d, 1
shl r10d, 1
test dl, dl
xchg rdi, rdi
mov dword [r8 + 0x21], r10d
cmovne ecx, eax
mov al, dil
and al, 0xf0
mov dword [rsp - 0x18], 0x42d975f8
cmp al, 0x40
jne 0x14008f69d
bts r10d, 0x1e
mov dword [rsp - 0x40], ecx
mov al, dil
shr al, 2
shr al, 1
and al, bl
mov dword [rsp - 0x28], 0x159001e1
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x14008f644
xchg r11, r11
mov al, byte [r9]
and al, 0xf8
movzx r12d, r12b
cmp al, 0xb8
mov dword [rsp - 0x1c], 0x3f4f5d44
cmove r12d, ebx
mov dword [rsp], r12d
mov al, dil
xchg rdi, rdi
shr al, 1
shr al, 1
and al, bl
mov byte [r8 + 8], al
mov dword [rsp - 0x10], 0x3b381f69
mov al, dil
shr al, 1
and dil, bl
mov rdx, rdx
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
mov dword [rsp - 0x40], edx
mov dil, byte [r9]
add r9, rbx
mov al, dil
xchg r15, r15
and al, 0xf0
cmp al, 0x40
jne 0x14008f69d
mov r14, r14
mov byte [rbp + 0x198], dil
mov sil, cl
jmp 0x14008f742
mov byte [r8 + 0xb], dil
mov sil, cl
xchg r13, r13
cmp dil, 0xf
jne 0x14008f6c8
mov dil, byte [r9]
xchg r11, r11
lea r11, [rsp + 0x5a]
mov byte [r8 + 0xc], dil
add r9, rbx
jmp 0x14008f707
cmp dil, 0xa0
mov dword [rsp - 0x30], ebx
jb 0x14008f707
cmp dil, 0xa3
ja 0x14008f707
add r12b, bl
xchg r13, r13
mov dword [rsp], r12d
test cl, 0x10
je 0x14008f700
or sil, 8
mov dword [rsp - 0x28], ecx
jmp 0x14008f707
and sil, 0xf7
mov rbx, rbx
movzx edx, dil
mov eax, edx
mov byte [rbp + 0x198], dil
mov rdi, rdi
shr rax, 1
shr rax, 1
and edx, 3
movzx eax, byte [rax + r11]
mov dword [rsp - 0x44], ebx
add rax, r11
mov r14b, byte [rdx + rax]
cmp r14b, 0xff
jne 0x14008f777
mov dword [rsp - 0x18], 0x1010fbe3
or r10d, 0x3000
movzx eax, dil
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
mov dword [rsp - 0x24], 0x13ae3a88
xor r14b, r14b
cmp al, 0x24
jne 0x14008f777
xchg r12, r12
mov r14b, bl
mov r13b, dil
xor bl, bl
jmp 0x14008f7ab
xor bl, bl
mov dword [rsp - 0x30], esp
mov r13b, dil
test r14b, r14b
jns 0x14008f7ab
movzx eax, r14b
xchg r8, r8
and eax, 0x7f
movzx r14d, word [rax + r11]
movzx ebx, r14w
shr bx, 2
shr bx, 3
shr bx, 2
shr bx, 1
mov r15b, byte [r8 + 0xc]
mov r11d, r10d
test r15b, r15b
mov dword [rsp - 0x1c], 0x245cfbf1
je 0x14008f7fc
movzx edx, dil
mov eax, edx
and edx, 3
xchg rdx, rdx
shr rax, 1
shr rax, 1
movzx ecx, byte [rbp + rax + 0x4c]
mov r11, r11
lea rax, [rbp + 0x4c]
add rax, rdx
test byte [rax + rcx], sil
je 0x14008f7fc
mov rdx, rdx
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
test r14b, 1
je 0x14008fe24
mov r11, r11
or r11d, 1
mov dword [r8 + 0x21], r11d
mov edi, r11d
mov rbx, rbx
mov r12b, byte [r9]
mov dl, r12b
mov byte [r8 + 0xd], r12b
mov dword [rsp - 0x10], 0x229a4ba9
mov cl, r12b
shr dl, 4
shr dl, 2
and cl, 7
xchg r14, r14
shr r12b, 1
shr r12b, 2
and r12b, 7
mov byte [rbp + 0x190], dl
mov dword [rsp - 0x24], esp
mov byte [r8 + 0xe], dl
mov byte [rbp + 0x188], cl
mov byte [r8 + 0x10], cl
mov dword [rsp - 0x40], edx
mov byte [r8 + 0xf], r12b
test bl, bl
je 0x14008f899
mov rbx, rbx
mov cl, r12b
movzx eax, bl
shl eax, cl
mov dword [rsp - 0x40], 0x714d6d7d
mov cl, byte [rbp + 0x188]
test al, al
jns 0x14008f899
mov rdi, rdi
or edi, 0x3000
mov dword [r8 + 0x21], edi
mov r10b, byte [rbp + 0x198]
mov eax, edi
mov dword [rsp - 0x24], ebp
test r15b, r15b
jne 0x14008f935
cmp r10b, 0xd9
jb 0x14008f935
xchg rbx, rbx
cmp r10b, 0xdf
ja 0x14008f935
lea eax, [r10 + 0x27]
movzx r10d, al
xchg rbp, rbp
cmp dl, 3
jne 0x14008f904
movzx eax, r12b
lea rdx, [rbp + 0x14]
mov dword [rsp - 0xc], 0x256f4411
add rdx, rax
mov r10b, byte [rdx + r10*8]
mov dl, byte [rbp + 0x190]
mov dword [rsp - 0x20], 0x72b3e5a8
jmp 0x14008f90c
mov r10b, byte [rbp + r10 + 0xd]
mov cl, r12b
shl r10b, cl
mov r11, r11
mov eax, edi
test r10b, r10b
mov r10b, byte [rbp + 0x198]
mov dword [rsp - 0x20], 0x76219b37
jns 0x14008f935
or eax, 0x3000
mov dword [r8 + 0x21], eax
test sil, 0x20
mov r9, r9
je 0x14008f9ea
cmp dl, 3
jne 0x14008f95c
mov rcx, rcx
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x14008f9ea
mov dl, r10b
test r15b, r15b
jne 0x14008f96f
mov dword [rsp - 0x3c], edi
and dl, 0xfe
test r15b, r15b
lea rax, [rbp + 0xe8]
lea rdi, [rbp + 0xd6]
mov dword [rsp - 0x3c], edi
cmovne rdi, rax
lea rcx, [rbp + 0xbe]
lea rax, [rbp + 0xd6]
xchg r8, r8
cmovne rcx, rax
jmp 0x14008f9b9
cmp byte [rcx], dl
je 0x14008f9ca
nop
add rcx, 0x549aeedf
sub rcx, 0x549aeedd
cmp rcx, rdi
jne 0x14008f9a2
xchg r13, r13
jmp 0x14008f9e2
movzx eax, byte [rcx + 1]
mov r13, r13
mov cl, r12b
shl eax, cl
test al, al
jns 0x14008f9ea
mov dword [rsp - 0x20], ebp
or dword [r8 + 0x21], 0x9000
movzx ecx, r13b
mov bl, 0x1b
xor bl, 0x71
sub bl, 0x14
add bl, 0x28
sub bl, 0x79
mov edx, ecx
test r15b, r15b
je 0x14008fab2
xchg rsp, rsp
sub edx, 0x20
je 0x14008fa66
sub edx, 1
je 0x14008fa39
mov rsp, rsp
sub edx, 1
je 0x14008fa66
cmp edx, 1
jne 0x14008facf
mov dword [rsp - 0x28], 0x40753e7f
lea eax, [r12 - 4]
mov r11b, 4
add r11b, 0x55
xor r11b, 0x39
add r11b, 0xe
sub r11b, 0x6b
cmp al, 1
mov dword [rsp - 0x20], 0x2f0dafa1
ja 0x14008fc08
jmp 0x14008fc00
mov ecx, 0x12b352d0
sub ecx, 0x906a289
xor ecx, 0x2055dc64
add ecx, 0x4284ae9
sub ecx, 0x2e21b708
mov r11b, 0x27
xor r11b, 0x17
add r11b, 0x1f
sub r11b, 0x32
sub r11b, 0x1a
cmp r12b, cl
mov dword [rsp - 0x44], ebp
ja 0x14008fc00
cmp r12b, 1
jne 0x14008fc08
jmp 0x14008fc00
sub edx, 0x8c
je 0x14008fbed
cmp edx, 2
mov dword [rsp - 0x38], 0x174165d6
je 0x14008fbd3
mov r11b, byte [rbp + 0x190]
cmp r11b, 3
jne 0x14008fb77
xchg rcx, rcx
test r15b, r15b
je 0x14008fb15
lea rdx, [rbp + 0x121]
mov r8, r8
lea rax, [rbp + 0xf7]
lea rcx, [rbp + 0xf7]
cmp rax, rdx
je 0x14008fc08
mov r15, r15
jmp 0x14008fb23
lea rdx, [rbp + 0xf7]
lea rcx, [rbp + 0xe8]
cmp byte [rcx], r10b
mov dword [rsp - 0x38], 0x1b97b52d
je 0x14008fb51
nop
sub rcx, 0x7802b429
add rcx, 0x7802b42c
cmp rcx, rdx
jne 0x14008fb23
jmp 0x14008fc08
test byte [rcx + 1], sil
je 0x14008fc08
movzx eax, byte [rcx + 2]
xchg rcx, rcx
mov cl, r12b
shl eax, cl
test al, al
mov rbp, rbp
jns 0x14008fc00
jmp 0x14008fc08
test r15b, r15b
je 0x14008fc08
sub ecx, 0x50
mov r9, r9
je 0x14008fbb7
sub ecx, 0x75
je 0x14008fc00
mov dword [rsp - 0x38], esp
sub ecx, 0x11
je 0x14008fbca
sub ecx, 1
je 0x14008fbb7
mov rbp, rbp
cmp ecx, 0x20
jne 0x14008fc08
test sil, 9
jne 0x14008fc00
mov dword [rsp - 0x34], esp
jmp 0x14008fc08
test sil, 6
jmp 0x14008fbbb
mov r11b, byte [rbp + 0x190]
mov dword [rsp - 0x14], ebp
cmp r12b, 1
je 0x14008fc00
jmp 0x14008fbf4
mov r11b, byte [rbp + 0x190]
cmp r12b, bl
jbe 0x14008fc08
xchg r15, r15
or dword [r8 + 0x21], 0x11000
mov dl, byte [r9 + 1]
add r9, 2
xchg rdi, rdi
cmp r12b, 1
ja 0x14008fc45
cmp r10b, 0xf6
jne 0x14008fc33
mov rsp, rsp
or r14b, 2
jmp 0x14008fc45
cmp r10b, 0xf7
mov dword [rsp - 0x20], edx
jne 0x14008fc45
or r14b, 0x10
mov al, byte [rbp + 0x188]
movzx ecx, r11b
xchg rsp, rsp
test r11b, r11b
je 0x14008fce7
sub ecx, 1
je 0x14008fcb8
mov dword [rsp - 0x34], ebp
cmp ecx, 1
pushf
mov ecx, 0x28c8962c
add ecx, 0x301d053d
sub ecx, 0x2301b959
sub ecx, 0x35e3e20c
popf
jne 0x14008fd3d
mov r15, r15
mov dil, 0x41
xor dil, 0x68
sub dil, 0x1d
add dil, 9
xor dil, 0x17
test sil, 0x10
mov dword [rsp - 0x3c], ebp
jne 0x14008fd41
mov dil, cl
jmp 0x14008fd41
mov dil, 0x2f
xor dil, 8
xor dil, 0x3c
xor dil, 0x7e
xor dil, 0x64
mov ecx, 0x178e3a8d
add ecx, 0x1b0294f1
add ecx, 0x45d7eb0e
sub ecx, 0x7868ba88
jmp 0x14008fd41
mov ecx, 0x67431824
sub ecx, 0x57bcf3b4
xor ecx, 0x64c2f8bf
xor ecx, 0x56f152a9
sub ecx, 0x3db58e62
test sil, 0x10
je 0x14008fd27
mov r12, r12
cmp al, 6
setne dil
dec dil
mov dword [rsp - 0x34], edx
and dil, 2
jmp 0x14008fd41
mov edi, dword [rsp + 4]
cmp al, bl
movzx edi, dil
mov dword [rsp - 0x34], ebp
cmove edi, ecx
jmp 0x14008fd41
mov edi, dword [rsp + 4]
cmp r11b, 3
je 0x14008fdad
mov rdx, rdx
cmp al, cl
jne 0x14008fdad
or dword [r8 + 0x21], 2
mov al, dl
xchg rsi, rsi
shr al, 1
shr al, 4
shr al, 1
inc r9
mov dword [rsp - 0x1c], ecx
mov byte [r8 + 0x12], al
mov al, dl
shr al, 1
shr al, 2
and al, 7
mov dword [rsp - 0x44], esp
mov byte [r8 + 0x11], dl
and dl, 7
mov byte [r8 + 0x13], al
mov dword [rsp - 0x14], ebx
mov byte [r8 + 0x14], dl
cmp dl, bl
jne 0x14008fdad
test r11b, 1
mov dword [rsp - 0x38], 0x5b1f64ac
movzx edi, dil
cmove edi, ecx
dec r9
movzx ecx, dil
xchg r8, r8
sub ecx, 1
je 0x14008fe04
sub ecx, 1
je 0x14008fdec
mov dword [rsp - 0x18], edx
cmp ecx, 2
jne 0x14008fe14
bts dword [r8 + 0x21], 8
mov eax, dword [r9]
mov dword [rsp - 0x3c], ecx
mov dword [r8 + 0x1d], eax
jmp 0x14008fe14
bts dword [r8 + 0x21], 7
movzx eax, word [r9]
mov word [r8 + 0x1d], ax
mov dword [rsp - 0x18], edi
jmp 0x14008fe14
or dword [r8 + 0x21], 0x40
mov al, byte [r9]
mov byte [r8 + 0x1d], al
mov dword [rsp - 0x14], edi
mov r12d, dword [rsp]
movzx eax, dil
add r9, rax
jmp 0x14008fe3c
test sil, 0x20
mov r9, r9
je 0x14008fe3c
or r11d, 0x9000
mov dword [r8 + 0x21], r11d
test r14b, 0x10
xchg rdi, rdi
je 0x14008febf
test r14b, 0x40
je 0x14008fe9a
xchg r15, r15
test sil, 8
je 0x14008fe7e
or dword [r8 + 0x21], 0x208
movzx eax, word [r9]
mov dword [rsp - 0xc], edi
sub r9, 0xfffffffffffffffe
mov word [r8 + 0x15], ax
jmp 0x14008ffa9
mov ecx, 0x4e770a6b
xor ecx, 0x7eec18b2
add ecx, 0x4284586a
sub ecx, 0x731f6b3f
jmp 0x14008ff21
test r12b, r12b
mov dword [rsp - 0x2c], ecx
je 0x14008ff40
or dword [r8 + 0x21], 0x20
xchg r13, rax
mov r13, qword [r9]
xchg r13, rax
sub r9, 0xfffffffffffffff8
mov dword [rsp - 0x40], ebp
mov qword [r8 + 0x15], rax
mov ecx, 0x67ccdb17
sub ecx, 0x2f4a0d86
xor ecx, 0x4250ffa9
sub ecx, 0x7ad23234
test cl, r14b
je 0x14008fef7
or dword [r8 + 0x21], 8
mov r13, r13
movzx eax, word [r9]
sub r9, 0xfffffffffffffffe
mov word [r8 + 0x15], ax
xchg rbx, rbx
test r14b, 2
je 0x14008ff17
or dword [r8 + 0x21], ecx
mov dword [rsp - 0x30], ecx
mov al, byte [r9]
inc r9
mov byte [r8 + 0x15], al
mov dword [rsp - 0x28], ebx
test r14b, 0x40
je 0x14008ff7d
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
mov dword [rsp - 0x24], 0x7606b317
add r9, rcx
mov dword [r8 + 0x15], eax
jmp 0x14008ffa9
mov ecx, 0x3594d894
xor ecx, 0x101774af
add ecx, 0x2bd5d80d
sub ecx, 0x51598444
test sil, 8
jne 0x14008fedf
mov dword [rsp - 0x24], edi
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, rcx
mov dword [rsp - 0x1c], edi
mov dword [r8 + 0x15], eax
jmp 0x14008fed6
test r14b, 0x20
mov dword [rsp - 0x3c], 0x226454a5
je 0x14008ffa9
or dword [r8 + 0x21], 0x204
mov al, byte [r9]
inc r9
mov dword [rsp - 0x14], 0x123397cd
mov byte [r8 + 0x15], al
sub r9b, byte [rbp + 0x180]
mov byte [r8], r9b
cmp r9b, 0xf
xchg rbp, rbp
jbe 0x14008ffef
or dword [r8 + 0x21], 0x5000
mov r9b, 0xe
add r9b, 0x28
sub r9b, 0x27
add r9b, 0x63
xor r9b, 0x7d
mov byte [r8], 0x5f
add byte [r8], 0x1b
sub byte [r8], 0x42
xor byte [r8], 0x39
add byte [r8], 0xe
xor eax, eax
xchg r13, r13
lea rdi, [rsp + 0x10]
mov ecx, 0x16dbefb1
xor ecx, 0x30b8db9a
add ecx, 0x3a293aa8
sub ecx, 0x608c6cc2
rep stosb byte [rdi], al
mov dword [rsp - 0x20], 0x275ab99
movzx eax, r9b
sub rsp, 0xfffffffffffffdc8
nop
mov r15, qword [rsp]
add rsp, 8
pop r14
pop r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rdi
mov dword [rsp - 0x10], 0x24fa10da
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbx
nop
mov rbp, qword [rsp]
add rsp, 8
ret