Function at 0x14008e4c4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
mov dword [rsp - 0x28], edx
nop
push r10
mov qword [rsp], rbp
push rbx
xchg rbp, rbp
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
xchg rdx, rdx
push r14
mov qword [rsp], r12
push r13
mov dword [rsp - 0x10], ebp
nop
sub rsp, 8
mov qword [rsp], r14
push r15
xchg rsp, rsp
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov r8, rdx
mov rbp, rbp
mov rdi, rcx
xor edx, edx
lea ebx, [rdx + 1]
mov rbp, rbp
mov ecx, edx
mov eax, 0x4a02309d
add eax, 0x1b8d5de5
xor eax, 0x3a08afcc
sub eax, 0x2cb7b1e5
xor eax, 0x22d55fb7
rol eax, cl
lea rcx, [0x140001b10]
xor al, byte [rdx + rcx]
mov dword [rsp - 0x2c], 0x150fbbeb
mov byte [rsp + rdx + 0x10], al
add rdx, rbx
cmp rdx, 0x211
jb 0x14008e51f
mov dword [rsp - 0x38], 0x6f72248f
xor dl, dl
lea r11, [rsp + 0x10]
xor r12b, r12b
mov byte [rsp + 4], dl
mov dword [rsp - 0x34], 0x60b05190
xor eax, eax
mov dword [rsp], r12d
xchg r9, r12
mov r12, rdi
xchg r9, r12
mov r10b, 0x5b
sub r10b, 0x10
xor r10b, 0x45
add r10b, 2
xchg r8, r14
mov rdi, r14
xchg r14, r8
lea ecx, [rax + 0x25]
rep stosb byte [rdi], al
mov rsp, rsp
lea esi, [rax + 4]
movzx edi, byte [r9]
add r9, rbx
mov r9, r9
mov ecx, edi
cmp edi, 0x65
ja 0x14008e610
mov rcx, rcx
add ecx, 0xffffffda
cmp ecx, 0x3f
ja 0x14008e6ae
movabs rax, 0xc00000003415f372
xor rax, 0x76548982
sub rax, 0x3215f733
xor rax, 0x112a82bc
bt rax, rcx
xchg rsi, rsi
jae 0x14008e6ae
mov byte [r8 + 3], dil
mov al, 0x43
sub al, 0x22
add al, 0x2e
sub al, 0xf
jmp 0x14008e69f
sub ecx, 0x66
je 0x14008e691
sub ecx, ebx
mov dword [rsp - 0x38], edi
je 0x14008e67a
sub ecx, 0x89
je 0x14008e667
xchg rsp, rsp
sub ecx, 2
je 0x14008e654
cmp ecx, ebx
jne 0x14008e6ae
xchg rcx, rcx
mov byte [r8 + 1], dil
mov al, sil
jmp 0x14008e69f
mov byte [r8 + 1], dil
mov al, 0x74
xor al, 0x2e
xor al, 0x1a
add al, 0x35
sub al, 0x73
jmp 0x14008e69f
mov byte [r8 + 2], dil
mov al, 0xc
add al, 0xb
xor al, 0x50
xor al, 0x51
add al, 0xa
jmp 0x14008e69f
mov byte [r8 + 5], dil
mov dword [rsp - 0xc], ecx
mov al, 0x5f
xor al, 0x11
add al, 0x29
xor al, 0x7a
add al, 3
jmp 0x14008e69f
mov byte [r8 + 4], dil
mov al, 2
xor al, 0x30
xor al, 0
sub al, 0xe
xor al, 0x2c
or dl, al
add r10b, 0xff
xchg rsi, rsi
jne 0x14008e5b2
movzx eax, dl
mov ecx, ebx
mov dword [rsp - 0x44], edx
movzx r10d, dl
shl r10d, 0x12
shl r10d, 3
shl r10d, 1
shl r10d, 1
test dl, dl
mov dword [rsp - 0x3c], ebx
mov dword [r8 + 0x21], r10d
cmovne ecx, eax
mov al, dil
mov dword [rsp - 0x18], ecx
and al, 0xf0
cmp al, 0x40
jne 0x14008e779
bts r10d, 0x1e
mov dword [rsp - 0x2c], 0x225d5beb
mov al, dil
shr al, 3
and al, bl
xchg rbp, rbp
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x14008e727
mov al, byte [r9]
mov dword [rsp - 0x38], ebx
and al, 0xf8
movzx r12d, r12b
cmp al, 0xb8
xchg r13, r13
cmove r12d, ebx
mov dword [rsp], r12d
mov al, dil
shr al, 1
shr al, 1
and al, bl
mov byte [r8 + 8], al
mov al, dil
mov r8, r8
shr al, 1
and dil, bl
and al, bl
mov rbx, rbx
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
mov dil, byte [r9]
mov dword [rsp - 0x18], 0x4dfd259e
add r9, rbx
mov al, dil
and al, 0xf0
cmp al, 0x40
mov r10, r10
jne 0x14008e779
mov byte [rbp + 0x198], dil
mov sil, cl
jmp 0x14008e81d
mov byte [r8 + 0xb], dil
mov sil, cl
mov dword [rsp - 0x2c], esi
cmp dil, 0xf
jne 0x14008e7a5
mov dil, byte [r9]
lea r11, [rsp + 0x5a]
mov r13, r13
mov byte [r8 + 0xc], dil
add r9, rbx
jmp 0x14008e7e3
cmp dil, 0xa0
jb 0x14008e7e3
cmp dil, 0xa3
mov r13, r13
ja 0x14008e7e3
add r12b, bl
mov dword [rsp], r12d
mov r11, r11
test cl, 0x10
je 0x14008e7dc
or sil, 8
mov dword [rsp - 0x38], ebp
jmp 0x14008e7e3
and sil, 0xf7
xchg rbx, rbx
movzx edx, dil
mov eax, edx
mov byte [rbp + 0x198], dil
mov r15, r15
shr rax, 1
shr rax, 1
and edx, 3
movzx eax, byte [rax + r11]
mov dword [rsp - 0x34], 0x32ca08ce
add rax, r11
mov r14b, byte [rdx + rax]
cmp r14b, 0xff
mov rbp, rbp
jne 0x14008e856
or r10d, 0x3000
movzx eax, dil
xchg rbp, rbp
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
xor r14b, r14b
cmp al, 0x24
mov dword [rsp - 0x18], 0x615e9319
jne 0x14008e856
mov r14b, bl
mov r13b, dil
xor bl, bl
mov dword [rsp - 0x18], ebp
jmp 0x14008e887
xor bl, bl
mov r13b, dil
test r14b, r14b
mov dword [rsp - 0x18], esi
jns 0x14008e887
movzx eax, r14b
and eax, 0x7f
mov dword [rsp - 0x28], 0x3d8ceaa
movzx r14d, word [rax + r11]
movzx ebx, r14w
shr bx, 7
shr bx, 1
mov r15b, byte [r8 + 0xc]
mov dword [rsp - 0x18], ebp
mov r11d, r10d
test r15b, r15b
je 0x14008e8dc
mov dword [rsp - 0xc], edx
movzx edx, dil
mov eax, edx
and edx, 3
shr rax, 2
mov dword [rsp - 0x34], ecx
movzx ecx, byte [rbp + rax + 0x4c]
lea rax, [rbp + 0x4c]
add rax, rdx
test byte [rax + rcx], sil
xchg rdx, rdx
je 0x14008e8dc
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
mov dword [rsp - 0x24], 0x49f5bc55
test r14b, 1
je 0x14008ef0a
or r11d, 1
mov dword [r8 + 0x21], r11d
xchg rdi, rdi
mov edi, r11d
mov r12b, byte [r9]
mov dl, r12b
xchg rdi, rdi
mov byte [r8 + 0xd], r12b
mov cl, r12b
shr dl, 3
shr dl, 3
and cl, 7
shr r12b, 3
xchg rdi, rdi
and r12b, 7
mov byte [rbp + 0x190], dl
mov byte [r8 + 0xe], dl
mov dword [rsp - 0x34], ebp
mov byte [rbp + 0x188], cl
mov byte [r8 + 0x10], cl
mov byte [r8 + 0xf], r12b
test bl, bl
mov dword [rsp - 0x10], ecx
je 0x14008e96b
mov cl, r12b
movzx eax, bl
shl eax, cl
mov dword [rsp - 0xc], 0xdd08197
mov cl, byte [rbp + 0x188]
test al, al
jns 0x14008e96b
or edi, 0x3000
mov rsi, rsi
mov dword [r8 + 0x21], edi
mov r10b, byte [rbp + 0x198]
mov eax, edi
test r15b, r15b
mov dword [rsp - 0x24], ebx
jne 0x14008ea06
cmp r10b, 0xd9
jb 0x14008ea06
xchg rbx, rbx
cmp r10b, 0xdf
ja 0x14008ea06
lea eax, [r10 + 0x27]
mov dword [rsp - 0x20], 0x74743dd
movzx r10d, al
cmp dl, 3
jne 0x14008e9d1
mov r8, r8
movzx eax, r12b
lea rdx, [rbp + 0x14]
add rdx, rax
xchg rsi, rsi
mov r10b, byte [rdx + r10*8]
mov dl, byte [rbp + 0x190]
jmp 0x14008e9dd
mov r10b, byte [rbp + r10 + 0xd]
mov dword [rsp - 0x18], edi
mov cl, r12b
shl r10b, cl
mov eax, edi
test r10b, r10b
xchg rsp, rsp
mov r10b, byte [rbp + 0x198]
jns 0x14008ea06
or eax, 0x3000
mov dword [rsp - 0x40], 0x391ae800
mov dword [r8 + 0x21], eax
test sil, 0x20
je 0x14008eaaa
cmp dl, 3
xchg r9, r9
jne 0x14008ea2a
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x14008eaaa
mov dl, r10b
test r15b, r15b
mov dword [rsp - 0x34], edi
jne 0x14008ea3d
and dl, 0xfe
test r15b, r15b
mov dword [rsp - 0x28], esp
lea rax, [rbp + 0xe8]
lea rdi, [rbp + 0xd6]
cmovne rdi, rax
lea rcx, [rbp + 0xbe]
mov dword [rsp - 0x44], esp
lea rax, [rbp + 0xd6]
cmovne rcx, rax
jmp 0x14008ea80
cmp byte [rcx], dl
je 0x14008ea8e
mov r8, r8
sub rcx, 0xfffffffffffffffe
cmp rcx, rdi
jne 0x14008ea71
jmp 0x14008eaa2
movzx eax, byte [rcx + 1]
mov cl, r12b
shl eax, cl
xchg r11, r11
test al, al
jns 0x14008eaaa
or dword [r8 + 0x21], 0x9000
movzx ecx, r13b
mov r12, r12
mov bl, 0x58
sub bl, 0x3e
add bl, 0x43
sub bl, 0x3c
sub bl, 0x1c
mov edx, ecx
xchg r9, r9
test r15b, r15b
je 0x14008eb73
sub edx, 0x20
je 0x14008eb24
mov dword [rsp - 0x44], ebp
sub edx, 1
je 0x14008eaf8
sub edx, 1
mov r11, r11
je 0x14008eb24
cmp edx, 1
jne 0x14008eb8b
lea eax, [r12 - 4]
mov dword [rsp - 0x10], edi
mov r11b, 8
add r11b, 0x2a
add r11b, 0x31
sub r11b, 0x26
xor r11b, 0x3e
cmp al, 1
xchg r14, r14
ja 0x14008eccf
jmp 0x14008ecc7
mov ecx, 0x4f1d0207
xor ecx, 0x3d1728b6
sub ecx, 0x70795131
add ecx, 0x957cd1d
sub ecx, 0xae8a699
mov r11b, 0x1d
add r11b, 0x59
sub r11b, 0x5c
sub r11b, 0x17
cmp r12b, cl
mov dword [rsp - 0x34], 0x22fe6b51
ja 0x14008ecc7
cmp r12b, 1
jne 0x14008eccf
mov r11, r11
jmp 0x14008ecc7
sub edx, 0x8c
je 0x14008ecb4
xchg rdx, rdx
cmp edx, 2
je 0x14008ec96
mov r11b, byte [rbp + 0x190]
cmp r11b, 3
mov r9, r9
jne 0x14008ec36
test r15b, r15b
je 0x14008ebd7
lea rdx, [rbp + 0x121]
mov dword [rsp - 0x10], ebp
lea rax, [rbp + 0xf7]
lea rcx, [rbp + 0xf7]
cmp rax, rdx
je 0x14008eccf
mov dword [rsp - 0x38], 0x11681d30
jmp 0x14008ebe9
lea rdx, [rbp + 0xf7]
mov dword [rsp - 0x1c], ecx
lea rcx, [rbp + 0xe8]
cmp byte [rcx], r10b
je 0x14008ec0b
mov rdx, rdx
add rcx, 3
cmp rcx, rdx
jne 0x14008ebe9
mov dword [rsp - 0x14], esp
jmp 0x14008eccf
test byte [rcx + 1], sil
je 0x14008eccf
movzx eax, byte [rcx + 2]
xchg r14, r14
mov cl, r12b
shl eax, cl
test al, al
jns 0x14008ecc7
mov dword [rsp - 0x34], 0x1dbd857
jmp 0x14008eccf
test r15b, r15b
je 0x14008eccf
mov r14, r14
sub ecx, 0x50
je 0x14008ec7e
sub ecx, 0x75
mov dword [rsp - 0x28], esp
je 0x14008ecc7
sub ecx, 0x11
je 0x14008ec8d
mov dword [rsp - 0x28], 0x884f52e
sub ecx, 1
je 0x14008ec7e
cmp ecx, 0x20
jne 0x14008eccf
xchg r9, r9
test sil, 9
jne 0x14008ecc7
jmp 0x14008eccf
test sil, 6
jmp 0x14008ec82
mov r11b, byte [rbp + 0x190]
mov dword [rsp - 0x40], 0x10d81f04
cmp r12b, 1
je 0x14008ecc7
jmp 0x14008ecbb
mov r11b, byte [rbp + 0x190]
cmp r12b, bl
jbe 0x14008eccf
xchg r11, r11
or dword [r8 + 0x21], 0x11000
mov dl, byte [r9 + 1]
neg r9
add r9, 0xfffffffffffffffe
neg r9
cmp r12b, 1
ja 0x14008ed18
cmp r10b, 0xf6
mov dword [rsp - 0x40], 0x5e122a31
jne 0x14008ed02
or r14b, 2
jmp 0x14008ed18
cmp r10b, 0xf7
mov dword [rsp - 0x14], 0x71d7786b
jne 0x14008ed18
or r14b, 0x10
mov al, byte [rbp + 0x188]
mov dword [rsp - 0x30], 0x68124843
movzx ecx, r11b
test r11b, r11b
je 0x14008edbd
sub ecx, 1
mov dword [rsp - 0x30], 0x3c4e8c37
je 0x14008ed92
cmp ecx, 1
pushf
mov ecx, 0x1c10e741
add ecx, 0x2fd97ef2
xor ecx, 0x725678d9
xor ecx, 0x3c2fdebf
sub ecx, 0x593c051
popf
jne 0x14008ee17
mov dil, 0x6f
xor dil, 3
sub dil, 0x49
xor dil, 0x21
test sil, 0x10
jne 0x14008ee1e
mov r12, r12
mov dil, cl
jmp 0x14008ee1e
mov dil, 0x30
xor dil, 0x69
add dil, 0x24
sub dil, 0x7c
mov ecx, 0x3095d90b
add ecx, 0x2fdf13dd
sub ecx, 0x19891a18
sub ecx, 0x46ebd2cc
jmp 0x14008ee1e
mov ecx, 0x12b765f4
add ecx, 0x642361e0
sub ecx, 0x676dec76
xor ecx, 0x2c842388
xor ecx, 0x23e8f8d2
test sil, 0x10
je 0x14008edfd
cmp al, 6
mov rdi, rdi
setne dil
dec dil
and dil, 2
mov dword [rsp - 0x2c], edx
jmp 0x14008ee1e
mov edi, dword [rsp + 4]
cmp al, bl
mov dword [rsp - 0x18], 0x22ccf5c3
movzx edi, dil
cmove edi, ecx
jmp 0x14008ee1e
mov edi, dword [rsp + 4]
xchg rdi, rdi
cmp r11b, 3
je 0x14008ee8c
cmp al, cl
jne 0x14008ee8c
mov dword [rsp - 0x18], ecx
or dword [r8 + 0x21], 2
mov al, dl
shr al, 5
shr al, 1
inc r9
mov byte [r8 + 0x12], al
mov al, dl
mov dword [rsp - 0x14], esi
shr al, 2
shr al, 1
and al, 7
mov dword [rsp - 0x20], 0x4994a292
mov byte [r8 + 0x11], dl
and dl, 7
mov byte [r8 + 0x13], al
xchg r9, r9
mov byte [r8 + 0x14], dl
cmp dl, bl
jne 0x14008ee8c
mov dword [rsp - 0x24], 0x2b4c25c4
test r11b, 1
movzx edi, dil
cmove edi, ecx
mov r13, r13
dec r9
movzx ecx, dil
sub ecx, 1
je 0x14008eee2
mov rsp, rsp
sub ecx, 1
je 0x14008eeca
cmp ecx, 2
mov r12, r12
jne 0x14008eef2
bts dword [r8 + 0x21], 8
mov eax, dword [r9]
mov dword [rsp - 0x24], ecx
mov dword [r8 + 0x1d], eax
jmp 0x14008eef2
bts dword [r8 + 0x21], 7
mov dword [rsp - 0x14], ecx
movzx eax, word [r9]
mov word [r8 + 0x1d], ax
jmp 0x14008eef2
or dword [r8 + 0x21], 0x40
mov dword [rsp - 0x1c], ebp
mov al, byte [r9]
mov byte [r8 + 0x1d], al
mov r12d, dword [rsp]
movzx eax, dil
mov dword [rsp - 0x24], 0x4c74a8a8
add r9, rax
jmp 0x14008ef27
test sil, 0x20
mov dword [rsp - 0x18], 0x297bcb51
je 0x14008ef27
or r11d, 0x9000
mov dword [r8 + 0x21], r11d
test r14b, 0x10
mov r13, r13
je 0x14008efb5
test r14b, 0x40
je 0x14008ef8b
mov dword [rsp - 0x1c], esp
test sil, 8
je 0x14008ef6f
or dword [r8 + 0x21], 0x208
xchg rcx, rcx
movzx eax, word [r9]
neg r9
add r9, 0xfffffffffffffffe
neg r9
mov word [r8 + 0x15], ax
jmp 0x14008f0a9
mov ecx, 0x3ac1bee7
sub ecx, 0x20eb3d73
sub ecx, 0xd7c4a96
sub ecx, 0xc5a36da
jmp 0x14008f025
test r12b, r12b
xchg rdi, rdi
je 0x14008f03f
or dword [r8 + 0x21], 0x20
mov rax, qword [r9]
neg r9
add r9, 0xfffffffffffffff8
neg r9
mov qword [r8 + 0x15], rax
mov dword [rsp - 0x44], 0x1bb1326f
mov ecx, 0x3b6b2b46
sub ecx, 0x2728085c
add ecx, 0x372b207b
xor ecx, 0x4b6e4361
test cl, r14b
mov dword [rsp - 0x2c], 0x8947a9e
je 0x14008effd
or dword [r8 + 0x21], 8
movzx eax, word [r9]
neg r9
add r9, 0xfffffffffffffffe
neg r9
mov word [r8 + 0x15], ax
mov dword [rsp - 0x24], 0x538947
test r14b, 2
je 0x14008f018
or dword [r8 + 0x21], ecx
mov al, byte [r9]
xchg rbx, rbx
inc r9
mov byte [r8 + 0x15], al
test r14b, 0x40
je 0x14008f086
xchg rsp, rsp
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
add r9, rcx
mov dword [r8 + 0x15], eax
mov r14, r14
jmp 0x14008f0a9
mov ecx, 0x1e02595e
add ecx, 0x3512cee4
sub ecx, 0x18205d36
sub ecx, 0x29368369
sub ecx, 0x11be479f
test sil, 8
jne 0x14008efdd
mov dword [rsp - 0x3c], 0x6fe2591
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, rcx
mov dword [r8 + 0x15], eax
mov dword [rsp - 0x2c], edi
jmp 0x14008efcc
test r14b, 0x20
je 0x14008f0a9
xchg r15, r15
or dword [r8 + 0x21], 0x204
mov al, byte [r9]
inc r9
mov dword [rsp - 0x24], ecx
mov byte [r8 + 0x15], al
sub r9b, byte [rbp + 0x180]
mov byte [r8], r9b
cmp r9b, 0xf
xchg rdx, rdx
jbe 0x14008f0e7
or dword [r8 + 0x21], 0x5000
mov r9b, 0x27
xor r9b, 0x30
sub r9b, 0x10
xor r9b, 8
mov byte [r8], 0x69
add byte [r8], 0xe
xor byte [r8], 0x4b
xor byte [r8], 0x33
xor eax, eax
lea rdi, [rsp + 0x10]
mov dword [rsp - 0x18], 0x4dc5c2
mov ecx, 0x76dc49c7
xor ecx, 0x4aac697f
xor ecx, 0x3035cad6
sub ecx, 0xc45e85d
rep stosb byte [rdi], al
xchg r11, r11
movzx eax, r9b
sub rsp, 0xfffffffffffffdc8
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
pop r12
mov dword [rsp - 0x18], 0x79b31ea3
pop rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
pop rbx
nop
mov rbp, qword [rsp]
add rsp, 8
ret