Function at 0x140090774
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
push rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
push r14
mov qword [rsp], r14
push r15
lea rbp, [rsp - 0x138]
xchg rsp, rsp
sub rsp, 0x238
xchg rdx, rsp
mov r8, rsp
xchg rdx, rsp
xchg rdi, rsp
mov rsp, rcx
xchg rdi, rsp
xor edx, edx
lea ebx, [rdx + 1]
mov dword [rsp - 0x44], edx
mov ecx, edx
mov eax, 0x2b611efa
sub eax, 0xbe3f6b4
add eax, 0x5cdd6b9b
sub eax, 0x3b6091a4
rol eax, cl
xchg rcx, rcx
lea rcx, [0x140001b10]
xor al, byte [rdx + rcx]
mov byte [rsp + rdx + 0x10], al
add rdx, rbx
mov dword [rsp - 0x40], 0x28f63f4c
cmp rdx, 0x211
jb 0x1400907cb
xor dl, dl
lea r11, [rsp + 0x10]
mov r14, r14
xor r12b, r12b
mov byte [rsp + 4], dl
xor eax, eax
xchg r13, r13
mov dword [rsp], r12d
xchg r12, r9
mov r12, rdi
xchg r12, r9
mov r10b, 0x1f
add r10b, 0x2f
add r10b, 0xb
xor r10b, 0x49
mov rdi, r8
lea ecx, [rax + 0x25]
mov dword [rsp - 0x40], edi
rep stosb byte [rdi], al
lea esi, [rax + 4]
movzx edi, byte [r9]
xchg r8, r8
add r9, rbx
mov ecx, edi
cmp edi, 0x65
ja 0x1400908be
xchg rcx, rcx
neg ecx
add ecx, 0x26
neg ecx
cmp ecx, 0x3f
mov dword [rsp - 0x44], edi
ja 0x14009095f
movabs rax, 0xc000000041d9f636
sub rax, 0x1faf7961
xor rax, 0x6d9eda5e
xor rax, 0x203bea11
xor rax, 0x6e8e4d9b
bt rax, rcx
mov dword [rsp - 0x10], 0x66d82c04
jae 0x14009095f
mov byte [r8 + 3], dil
mov al, 0x16
add al, 0x4f
xor al, 0x20
sub al, 5
jmp 0x14009094b
sub ecx, 0x66
xchg rsi, rsi
je 0x14009093d
sub ecx, ebx
je 0x14009092c
mov dword [rsp - 0x1c], 0x697c4d42
sub ecx, 0x89
je 0x14009091b
sub ecx, 2
mov dword [rsp - 0x28], ebp
je 0x14009090a
cmp ecx, ebx
jne 0x14009095f
xchg rdx, rdx
mov byte [r8 + 1], dil
mov al, sil
jmp 0x14009094b
mov byte [r8 + 1], dil
mov al, 0x76
sub al, 6
add al, 3
sub al, 0x71
jmp 0x14009094b
mov byte [r8 + 2], dil
mov al, 0x32
sub al, 0x2b
xor al, 0x7c
sub al, 0x5b
jmp 0x14009094b
mov byte [r8 + 5], dil
mov al, 0x78
sub al, 7
xor al, 0x22
sub al, 0x43
jmp 0x14009094b
mov byte [r8 + 4], dil
mov al, 0x5f
xor al, 0x5a
xor al, 0x1b
add al, 0x1f
sub al, 0x35
or dl, al
add r10b, 0xff
mov dword [rsp - 0x14], 0x4e7b03b8
jne 0x14009084d
movzx eax, dl
mov ecx, ebx
movzx r10d, dl
mov dword [rsp - 0x34], esp
shl r10d, 7
shl r10d, 1
shl r10d, 0xc
shl r10d, 1
shl r10d, 1
shl r10d, 1
test dl, dl
mov dword [rsp - 0x34], ebx
mov dword [r8 + 0x21], r10d
cmovne ecx, eax
mov al, dil
and al, 0xf0
mov r13, r13
cmp al, 0x40
jne 0x140090a46
bts r10d, 0x1e
mov al, dil
mov dword [rsp - 0x38], 0x1f846d52
shr al, 3
and al, bl
mov dword [r8 + 0x21], r10d
mov dword [rsp - 0x38], 0x31ad0f25
mov byte [r8 + 7], al
je 0x1400909e2
mov al, byte [r9]
and al, 0xf8
mov dword [rsp - 0x2c], ecx
movzx r12d, r12b
cmp al, 0xb8
cmove r12d, ebx
mov rsp, rsp
mov dword [rsp], r12d
mov al, dil
shr al, 1
shr al, 1
and al, bl
mov dword [rsp - 0x1c], 0x38a42e7d
mov byte [r8 + 8], al
mov al, dil
shr al, 1
and dil, bl
mov dword [rsp - 0x20], 0x406ba0b6
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
xchg rcx, rcx
mov dil, byte [r9]
add r9, rbx
mov al, dil
and al, 0xf0
mov dword [rsp - 0x30], 0x51b702d8
cmp al, 0x40
jne 0x140090a46
mov byte [rbp + 0x198], dil
mov sil, cl
mov dword [rsp - 0x1c], 0x6ca135d0
jmp 0x140090aed
mov byte [r8 + 0xb], dil
mov r15, r15
mov sil, cl
cmp dil, 0xf
jne 0x140090a76
mov dil, byte [r9]
mov dword [rsp - 0x3c], 0x59657bdc
lea r11, [rsp + 0x5a]
mov byte [r8 + 0xc], dil
add r9, rbx
jmp 0x140090ab5
cmp dil, 0xa0
jb 0x140090ab5
mov dword [rsp - 0xc], 0x74a28b20
cmp dil, 0xa3
ja 0x140090ab5
add r12b, bl
mov r11, r11
mov dword [rsp], r12d
test cl, 0x10
je 0x140090ab1
or sil, 8
xchg r8, r8
jmp 0x140090ab5
and sil, 0xf7
movzx edx, dil
mov eax, edx
mov rbx, rbx
mov byte [rbp + 0x198], dil
shr rax, 2
and edx, 3
mov rcx, rcx
movzx eax, byte [rax + r11]
add rax, r11
mov r14b, byte [rdx + rax]
mov dword [rsp - 0x30], 0x4af993fe
cmp r14b, 0xff
jne 0x140090b25
or r10d, 0x3000
xchg r11, r11
movzx eax, dil
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
mov dword [rsp - 0xc], 0x28d19a5a
xor r14b, r14b
cmp al, 0x24
jne 0x140090b25
xchg r11, r11
mov r14b, bl
mov r13b, dil
xor bl, bl
jmp 0x140090b52
xor bl, bl
xchg r13, r13
mov r13b, dil
test r14b, r14b
jns 0x140090b52
movzx eax, r14b
mov dword [rsp - 0x38], edx
and eax, 0x7f
movzx r14d, word [rax + r11]
movzx ebx, r14w
shr bx, 4
shr bx, 4
mov r15b, byte [r8 + 0xc]
mov dword [rsp - 0x10], 0x6d966231
mov r11d, r10d
test r15b, r15b
je 0x140090baa
movzx edx, dil
xchg r12, r12
mov eax, edx
and edx, 3
shr rax, 2
mov dword [rsp - 0x18], 0x6eaeb84a
movzx ecx, byte [rbp + rax + 0x4c]
lea rax, [rbp + 0x4c]
add rax, rdx
test byte [rax + rcx], sil
mov rdx, rdx
je 0x140090baa
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
mov dword [rsp - 0x28], edi
test r14b, 1
je 0x1400911e7
or r11d, 1
mov dword [rsp - 0x40], edx
mov dword [r8 + 0x21], r11d
mov edi, r11d
mov r12b, byte [r9]
mov dl, r12b
xchg rdi, rdi
mov byte [r8 + 0xd], r12b
mov cl, r12b
shr dl, 1
shr dl, 3
shr dl, 1
shr dl, 1
and cl, 7
mov dword [rsp - 0x10], 0x33d2a7bd
shr r12b, 2
shr r12b, 1
and r12b, 7
mov byte [rbp + 0x190], dl
xchg rdi, rdi
mov byte [r8 + 0xe], dl
mov byte [rbp + 0x188], cl
mov byte [r8 + 0x10], cl
mov dword [rsp - 0x40], edi
mov byte [r8 + 0xf], r12b
test bl, bl
je 0x140090c44
mov dword [rsp - 0x2c], esp
mov cl, r12b
movzx eax, bl
shl eax, cl
mov cl, byte [rbp + 0x188]
xchg rsi, rsi
test al, al
jns 0x140090c44
or edi, 0x3000
mov dword [rsp - 0x40], esp
mov dword [r8 + 0x21], edi
mov r10b, byte [rbp + 0x198]
mov eax, edi
mov dword [rsp - 0x24], ebx
test r15b, r15b
jne 0x140090cd3
cmp r10b, 0xd9
jb 0x140090cd3
xchg r9, r9
cmp r10b, 0xdf
ja 0x140090cd3
lea eax, [r10 + 0x27]
movzx r10d, al
xchg rsp, rsp
cmp dl, 3
jne 0x140090ca6
movzx eax, r12b
xchg r12, r12
lea rdx, [rbp + 0x14]
add rdx, rax
mov r10b, byte [rdx + r10*8]
mov dl, byte [rbp + 0x190]
mov dword [rsp - 0xc], esp
jmp 0x140090cae
mov r10b, byte [rbp + r10 + 0xd]
mov cl, r12b
shl r10b, cl
mov rsp, rsp
mov eax, edi
test r10b, r10b
mov r10b, byte [rbp + 0x198]
jns 0x140090cd3
mov dword [rsp - 0x1c], ebp
or eax, 0x3000
mov dword [r8 + 0x21], eax
test sil, 0x20
mov dword [rsp - 0x44], 0x64c6968e
je 0x140090d90
cmp dl, 3
jne 0x140090d00
mov dword [rsp - 0xc], ebx
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x140090d90
mov dl, r10b
mov dword [rsp - 0x28], edi
test r15b, r15b
jne 0x140090d13
and dl, 0xfe
test r15b, r15b
mov dword [rsp - 0x44], ebp
lea rax, [rbp + 0xe8]
lea rdi, [rbp + 0xd6]
cmovne rdi, rax
lea rcx, [rbp + 0xbe]
mov dword [rsp - 0x10], esp
lea rax, [rbp + 0xd6]
cmovne rcx, rax
jmp 0x140090d59
cmp byte [rcx], dl
je 0x140090d6b
neg rcx
add rcx, 0xfffffffffffffffe
neg rcx
cmp rcx, rdi
mov dword [rsp - 0x18], esp
jne 0x140090d47
jmp 0x140090d80
movzx eax, byte [rcx + 1]
mov cl, r12b
shl eax, cl
mov dword [rsp - 0x20], ecx
test al, al
jns 0x140090d90
or dword [r8 + 0x21], 0x9000
mov dword [rsp - 0x30], 0x170a3bce
movzx ecx, r13b
mov bl, 0x48
xor bl, 0x5e
xor bl, 0x64
sub bl, 0x6d
mov edx, ecx
xchg rdx, rdx
test r15b, r15b
je 0x140090e46
sub edx, 0x20
mov rsi, rsi
je 0x140090e05
sub edx, 1
je 0x140090ddc
sub edx, 1
mov dword [rsp - 0x40], esi
je 0x140090e05
cmp edx, 1
jne 0x140090e5f
mov dword [rsp - 0x14], ebx
lea eax, [r12 - 4]
mov r11b, 0x3f
sub r11b, 0x1f
xor r11b, 0x64
sub r11b, 0x41
cmp al, 1
ja 0x140090fb4
mov dword [rsp - 0x20], 0x3f4d16f1
jmp 0x140090fa9
mov ecx, 0x697807cf
add ecx, 0x14e7761f
sub ecx, 0x746a801f
sub ecx, 0x9f4fdcb
mov r11b, 0x55
sub r11b, 0x37
add r11b, 0xa
sub r11b, 0x25
cmp r12b, cl
xchg rsp, rsp
ja 0x140090fa9
cmp r12b, 1
jne 0x140090fb4
jmp 0x140090fa9
sub edx, 0x8c
je 0x140090f96
cmp edx, 2
mov dword [rsp - 0x1c], esp
je 0x140090f7c
mov r11b, byte [rbp + 0x190]
cmp r11b, 3
jne 0x140090f15
xchg rdx, rdx
test r15b, r15b
je 0x140090ea5
lea rdx, [rbp + 0x121]
lea rax, [rbp + 0xf7]
xchg r8, r8
lea rcx, [rbp + 0xf7]
cmp rax, rdx
je 0x140090fb4
xchg r12, r12
jmp 0x140090ebb
lea rdx, [rbp + 0xf7]
lea rcx, [rbp + 0xe8]
mov dword [rsp - 0x34], 0x6a5ea18f
cmp byte [rcx], r10b
je 0x140090ee5
nop
sub rcx, 0x1feda3ae
add rcx, 0x1feda3b1
cmp rcx, rdx
mov dword [rsp - 0x30], ebp
jne 0x140090ebb
jmp 0x140090fb4
test byte [rcx + 1], sil
je 0x140090fb4
movzx eax, byte [rcx + 2]
mov dword [rsp - 0x14], 0x42158101
mov cl, r12b
shl eax, cl
test al, al
mov dword [rsp - 0x30], 0x7af59f14
jns 0x140090fa9
jmp 0x140090fb4
test r15b, r15b
je 0x140090fb4
mov dword [rsp - 0x28], 0x700cc14
sub ecx, 0x50
je 0x140090f5c
sub ecx, 0x75
mov r13, r13
je 0x140090fa9
sub ecx, 0x11
je 0x140090f6b
sub ecx, 1
xchg r13, r13
je 0x140090f5c
cmp ecx, 0x20
jne 0x140090fb4
mov r8, r8
test sil, 9
jne 0x140090fa9
jmp 0x140090fb4
test sil, 6
mov dword [rsp - 0x30], 0x7b8400b2
jmp 0x140090f60
mov r11b, byte [rbp + 0x190]
cmp r12b, 1
mov dword [rsp - 0x18], edi
je 0x140090fa9
jmp 0x140090fa0
mov r11b, byte [rbp + 0x190]
mov r9, r9
cmp r12b, bl
jbe 0x140090fb4
or dword [r8 + 0x21], 0x11000
xchg rsi, rsi
mov dl, byte [r9 + 1]
nop
add r9, 0x275c48d2
sub r9, 0x275c48d0
cmp r12b, 1
ja 0x140090ff9
mov dword [rsp - 0x24], esi
cmp r10b, 0xf6
jne 0x140090fe8
or r14b, 2
jmp 0x140090ff9
cmp r10b, 0xf7
jne 0x140090ff9
xchg r13, r13
or r14b, 0x10
mov al, byte [rbp + 0x188]
movzx ecx, r11b
xchg rbp, rbp
test r11b, r11b
je 0x1400910a2
sub ecx, 1
mov dword [rsp - 0x38], 0xc4394fa
je 0x140091073
cmp ecx, 1
pushf
mov ecx, 0x14d7d7c0
xor ecx, 0x709a9de5
add ecx, 0x9f7abd3
sub ecx, 0x4dd5157f
sub ecx, 0x206fe075
popf
jne 0x1400910f6
mov dil, 0x66
sub dil, 0x4b
add dil, 0x1c
sub dil, 0x35
test sil, 0x10
mov dword [rsp - 0x34], 0x353b4356
jne 0x1400910fa
mov dil, cl
jmp 0x1400910fa
mov dil, 0x34
add dil, 0x44
xor dil, 0x64
sub dil, 0xd
xor dil, 0xe
mov ecx, 0x62163d36
sub ecx, 0x31cddb5f
xor ecx, 0x14154430
sub ecx, 0x245d25e3
jmp 0x1400910fa
mov ecx, 0x70a71aee
xor ecx, 0x2a89536a
sub ecx, 0x3e0fde24
sub ecx, 0x1c1e6b5c
test sil, 0x10
je 0x1400910e1
cmp al, 6
mov dword [rsp - 0x38], edi
setne dil
dec dil
and dil, 2
mov dword [rsp - 0x3c], 0x5992ab84
jmp 0x1400910fa
mov edi, dword [rsp + 4]
cmp al, bl
movzx edi, dil
xchg rsp, rsp
cmove edi, ecx
jmp 0x1400910fa
mov edi, dword [rsp + 4]
cmp r11b, 3
xchg rdx, rdx
je 0x140091165
cmp al, cl
jne 0x140091165
mov dword [rsp - 0x3c], 0x7947832f
or dword [r8 + 0x21], 2
mov al, dl
shr al, 3
shr al, 2
shr al, 1
inc r9
mov byte [r8 + 0x12], al
xchg r13, r13
mov al, dl
shr al, 1
shr al, 2
and al, 7
mov byte [r8 + 0x11], dl
xchg r15, r15
and dl, 7
mov byte [r8 + 0x13], al
mov byte [r8 + 0x14], dl
cmp dl, bl
mov dword [rsp - 0x34], ecx
jne 0x140091165
test r11b, 1
movzx edi, dil
cmove edi, ecx
xchg r15, r15
dec r9
movzx ecx, dil
sub ecx, 1
je 0x1400911c0
mov dword [rsp - 0x40], esp
sub ecx, 1
je 0x1400911a8
cmp ecx, 2
mov rbp, rbp
jne 0x1400911d4
bts dword [r8 + 0x21], 8
mov eax, dword [r9]
mov dword [rsp - 0x2c], 0x3f2ccefa
mov dword [r8 + 0x1d], eax
jmp 0x1400911d4
bts dword [r8 + 0x21], 7
movzx eax, word [r9]
mov dword [rsp - 0x1c], esp
mov word [r8 + 0x1d], ax
jmp 0x1400911d4
or dword [r8 + 0x21], 0x40
mov al, byte [r9]
mov dword [rsp - 0x30], 0x6543a493
mov byte [r8 + 0x1d], al
mov r12d, dword [rsp]
movzx eax, dil
add r9, rax
mov r9, r9
jmp 0x140091200
test sil, 0x20
je 0x140091200
or r11d, 0x9000
mov dword [rsp - 0xc], edi
mov dword [r8 + 0x21], r11d
test r14b, 0x10
je 0x14009128a
test r14b, 0x40
xchg r8, r8
je 0x14009125a
test sil, 8
je 0x14009123e
or dword [r8 + 0x21], 0x208
mov rbx, rbx
movzx eax, word [r9]
sub r9, 0xfffffffffffffffe
mov word [r8 + 0x15], ax
jmp 0x14009136b
mov ecx, 0x6c3ac07d
add ecx, 0x30c9e59
xor ecx, 0x4dec4da8
sub ecx, 0x22ab137a
jmp 0x1400912f5
test r12b, r12b
je 0x140091314
mov dword [rsp - 0x24], esp
or dword [r8 + 0x21], 0x20
xchg r10, rax
mov r10, qword [r9]
xchg r10, rax
nop
add r9, 0x4d653690
sub r9, 0x4d653688
xchg r11, rax
mov qword [r8 + 0x15], r11
xchg r11, rax
mov ecx, 0x3be46662
sub ecx, 0x2123f340
xor ecx, 0xad1e4ef
sub ecx, 0x101197c9
test cl, r14b
je 0x1400912cd
mov dword [rsp - 0x10], 0x644d9d2d
or dword [r8 + 0x21], 8
movzx eax, word [r9]
neg r9
add r9, 0xfffffffffffffffe
neg r9
mov word [r8 + 0x15], ax
xchg r14, r14
test r14b, 2
je 0x1400912e8
or dword [r8 + 0x21], ecx
mov al, byte [r9]
mov r11, r11
inc r9
mov byte [r8 + 0x15], al
test r14b, 0x40
xchg rbx, rbx
je 0x14009134c
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
mov dword [rsp - 0x24], 0x26f6b815
add r9, rcx
mov dword [r8 + 0x15], eax
jmp 0x14009136b
mov ecx, 0xdfa0cd5
add ecx, 0x8f4b3fe
add ecx, 0xa221725
sub ecx, 0x2110d7f4
test sil, 8
jne 0x1400912b2
or dword [r8 + 0x21], 0x10
mov rdx, rdx
mov eax, dword [r9]
add r9, rcx
mov dword [r8 + 0x15], eax
jmp 0x1400912a1
test r14b, 0x20
je 0x14009136b
or dword [r8 + 0x21], 0x204
xchg r15, r15
mov al, byte [r9]
inc r9
mov byte [r8 + 0x15], al
sub r9b, byte [rbp + 0x180]
mov r15, r15
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x1400913ac
or dword [r8 + 0x21], 0x5000
mov r14, r14
mov r9b, 0x37
add r9b, 0x2e
sub r9b, 0x3a
sub r9b, 0x1c
mov byte [r8], 9
add byte [r8], 0x4c
xor byte [r8], 0x12
sub byte [r8], 0x38
xor eax, eax
lea rdi, [rsp + 0x10]
mov dword [rsp - 0x2c], esp
mov ecx, 0xda66070
sub ecx, 0x886cf72
add ecx, 0x35617b68
sub ecx, 0x1dad04f6
sub ecx, 0x1cd4055f
rep stosb byte [rdi], al
mov dword [rsp - 0x24], ecx
movzx eax, r9b
neg rsp
add rsp, 0xfffffffffffffdc8
neg rsp
pop r15
mov r8, r8
nop
mov r14, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
mov r12, qword [rsp]
add rsp, 8
pop rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret