Function at 0x14000a5f0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x2d8
movaps xmmword [rsp + 0x2c0], xmm15
movaps xmmword [rsp + 0x2b0], xmm14
movaps xmmword [rsp + 0x2a0], xmm13
movaps xmmword [rsp + 0x290], xmm12
movaps xmmword [rsp + 0x280], xmm11
movaps xmmword [rsp + 0x270], xmm10
movaps xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x250], xmm8
movaps xmmword [rsp + 0x240], xmm7
movaps xmmword [rsp + 0x230], xmm6
mov rdx, rcx
mov qword [rsp + 0x228], rdx
mov rax, qword [0x140298078]
mov r8d, 0x20152b69
xor r8d, 0x20151b69
mov r9d, 0x878c5bf8
xor r9d, 0x878c5bfc
xor ecx, ecx
call rax
mov qword [rsp + 0x220], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x228]
cmp rcx, 0
jle 0x14000b19f
mov rax, qword [rsp + 0x228]
mov rcx, rax
add rcx, 0xf
mov rdx, rcx
xor rdx, 0xf
or rcx, 0xfffffffffffffff0
and rcx, rdx
mov qword [rsp + 0x108], rcx
dec rax
movq xmm0, rax
pshufd xmm8, xmm0, 0x44
movaps xmmword [rsp + 0x110], xmm8
movaps xmm0, xmmword [0x1402812e0]
movaps xmm1, xmmword [0x1402812f0]
movaps xmm2, xmmword [0x140281300]
movaps xmm3, xmmword [0x140281310]
movaps xmm4, xmmword [0x140281320]
movaps xmm5, xmmword [0x140281330]
movaps xmm6, xmmword [0x140281340]
movaps xmm7, xmmword [0x140281350]
movaps xmm9, xmm8
movaps xmmword [rsp + 0x120], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x140], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x160], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x170], xmm9
movaps xmmword [rsp + 0x180], xmm8
xor eax, eax
mov qword [rsp + 0x198], rax
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1c0], xmm5
movaps xmmword [rsp + 0x1d0], xmm4
movaps xmmword [rsp + 0x1e0], xmm3
movaps xmmword [rsp + 0x1f0], xmm2
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x210], xmm0
jmp 0x14000a7c1
movaps xmm8, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm15, xmmword [rsp + 0x180]
mov rax, qword [rsp + 0x198]
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm14, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1d0]
movaps xmm1, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm3, xmmword [rsp + 0x200]
movaps xmm4, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0x40], xmm4
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x80], xmm9
movaps xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb8], rax
movaps xmm6, xmmword [0x140281360]
movaps xmmword [rsp + 0xc0], xmm6
pxor xmm15, xmm6
pxor xmm0, xmm6
movaps xmm1, xmm0
pcmpgtd xmm1, xmm15
pshufd xmm5, xmm1, 0xa0
pcmpeqd xmm0, xmm15
pshufd xmm0, xmm0, 0xf5
pand xmm0, xmm5
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pcmpeqd xmm5, xmm5
movaps xmmword [rsp + 0xd0], xmm5
pxor xmm0, xmm5
pxor xmm2, xmm6
pxor xmm14, xmm6
movaps xmm1, xmm14
pcmpgtd xmm1, xmm2
pshufd xmm15, xmm1, 0xa0
pcmpeqd xmm14, xmm2
movaps xmm2, xmmword [rsp + 0x160]
pshufd xmm14, xmm14, 0xf5
pand xmm14, xmm15
pshufd xmm1, xmm1, 0xf5
por xmm14, xmm1
pxor xmm14, xmm5
movaps xmm1, xmm0
packssdw xmm1, xmm14
pxor xmm2, xmm6
pxor xmm9, xmm6
movaps xmm14, xmm9
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm9, xmm2
movaps xmm2, xmmword [rsp + 0x150]
pshufd xmm9, xmm9, 0xf5
pand xmm9, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm9, xmm14
pxor xmm9, xmm5
pxor xmm2, xmm6
pxor xmm11, xmm6
movaps xmm14, xmm11
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm11, xmm2
movaps xmm2, xmmword [rsp + 0xe0]
pshufd xmm11, xmm11, 0xf5
pand xmm11, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm11, xmm14
pxor xmm11, xmm5
packssdw xmm9, xmm11
packssdw xmm1, xmm9
pxor xmm13, xmm6
pxor xmm2, xmm6
movaps xmm9, xmm2
pcmpgtd xmm9, xmm13
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm2, xmm13
pshufd xmm2, xmm2, 0xf5
pand xmm2, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm2, xmm9
pxor xmm2, xmm5
pxor xmm12, xmm6
pxor xmm7, xmm6
movaps xmm9, xmm7
pcmpgtd xmm9, xmm12
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm7, xmm12
pshufd xmm7, xmm7, 0xf5
pand xmm7, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm7, xmm9
pxor xmm7, xmm5
packssdw xmm2, xmm7
pxor xmm10, xmm6
pxor xmm3, xmm6
movaps xmm7, xmm3
pcmpgtd xmm7, xmm10
pshufd xmm9, xmm7, 0xa0
pcmpeqd xmm3, xmm10
pshufd xmm3, xmm3, 0xf5
pand xmm3, xmm9
pshufd xmm7, xmm7, 0xf5
por xmm3, xmm7
pxor xmm3, xmm5
pxor xmm8, xmm6
pxor xmm4, xmm6
movaps xmm6, xmm4
pcmpgtd xmm6, xmm8
pshufd xmm7, xmm6, 0xa0
pcmpeqd xmm4, xmm8
pshufd xmm4, xmm4, 0xf5
pand xmm4, xmm7
pshufd xmm6, xmm6, 0xf5
por xmm4, xmm6
pxor xmm4, xmm5
packssdw xmm3, xmm4
packssdw xmm2, xmm3
packsswb xmm1, xmm2
movaps xmmword [rsp + 0xf0], xmm1
movd eax, xmm0
test al, 1
jne 0x14000aa95
jmp 0x14000aaa9
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
movd eax, xmm0
shr eax, 8
test al, 1
jne 0x14000aac5
jmp 0x14000aadd
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 1
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14000aaf9
jmp 0x14000ab15
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 2
mov dl, 0x3e
xor dl, 0x3e
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xf0]
movd eax, xmm0
shr eax, 0x18
test al, 1
jne 0x14000ab31
jmp 0x14000ab5b
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
mov rdx, rcx
and rdx, 3
xor rdx, 0xffffffffffffffff
add rcx, 3
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14000ab75
jmp 0x14000ab8d
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 4
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 2
shr eax, 8
test al, 1
jne 0x14000abaa
jmp 0x14000abd8
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
movabs rdx, 0x72e9d2e73c503548
movabs r8, 0x72e9d2e73c50354d
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14000abf2
jmp 0x14000ac20
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
mov rdx, rcx
and rdx, 6
xor rdx, 0xffffffffffffffff
add rcx, 6
add rcx, 1
add rcx, rdx
mov dl, 0xd0
xor dl, 0xd0
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 3
shr eax, 8
test al, 1
jne 0x14000ac3d
jmp 0x14000ac59
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 7
mov dl, 0x27
xor dl, 0x27
mov byte [rax + rcx], dl
mov eax, dword [0x140272690]
imul eax, dword [0x140272694]
mov ecx, 0x34c064f1
xor edx, edx
div ecx
mov ecx, 0x17ce77e1
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x131c5fcb
xor edx, 0x51738279
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x426fddb2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x426fddb2
or eax, 0x426fddb2
imul eax, edx
add eax, ecx
mov ecx, 0x46c6537a
xor ecx, 0xb5a23fdb
cmp eax, ecx
jae 0x14000b207
movaps xmm0, xmmword [rsp + 0xf0]
mov eax, dword [0x140272698]
mov ecx, dword [0x14027269c]
or eax, ecx
mov ecx, 0x8541ccd9
imul rax, rcx
shr rax, 0x3f
or eax, 0x6a4f5fb4
xor eax, 0xab792973
pextrw ecx, xmm0, 4
mov byte [rsp + 0x3f], cl
cmp eax, 0x92f1dde9
jb 0x14000acc4
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14000ad16
jmp 0x14000ad44
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
movabs rdx, 0x3e6c0e358df2d28b
movabs r8, 0x3e6c0e358df2d283
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 4
shr eax, 8
test al, 1
jne 0x14000ad61
jmp 0x14000ad79
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 9
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14000ad93
jmp 0x14000adc1
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
movabs rdx, 0xec67f1f5da9f87d8
movabs r8, 0xec67f1f5da9f87d2
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 5
shr eax, 8
test al, 1
jne 0x14000adde
jmp 0x14000ae1b
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
movabs rdx, 0x555303e805208e30
movabs r8, 0x555303e805208e3b
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
add rcx, 0xb
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14000ae35
jmp 0x14000ae4d
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 0xc
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 6
shr eax, 8
test al, 1
jne 0x14000ae6a
jmp 0x14000ae82
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
or rcx, 0xd
mov byte [rax + rcx], 0
mov ecx, dword [0x1402726a0]
mov eax, dword [0x1402726a4]
xor eax, 0xc21338b6
or ecx, eax
mov eax, ecx
and eax, 0x8563505
mov edx, 0x6c816d40
xor edx, 0x64d75845
or ecx, edx
add eax, ecx
mov ecx, 0xec31790e
xor edx, edx
div ecx
and eax, 0xfe00c692
cmp eax, 0x8ea268ef
ja 0x14000b210
movaps xmm0, xmmword [rsp + 0xf0]
mov eax, dword [0x1402726a8]
mov ecx, dword [0x1402726ac]
xor ecx, 0x1d8fa003
xor edx, edx
div ecx
shr eax, 1
imul rax, rax, 0x11e1545f
shr rax, 0x3b
add eax, 0xb32f599f
imul rax, rax, 0x5d78513b
shr rax, 0x3e
pextrw ecx, xmm0, 7
mov byte [rsp + 0x3e], cl
cmp eax, 0xc92a42a3
je 0x14000aec4
mov al, byte [rsp + 0x3e]
test al, 1
jne 0x14000af24
jmp 0x14000af9f
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0xb8]
and rcx, rcx
movabs rdx, 0x725e91e2b373fb88
movabs r8, 0x8da16e1d4c8c0477
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xe
movabs r8, 0xc12f48875184d408
movabs r9, 0xc12f48875184d406
xor r8, r9
movabs r9, 0xb30720fc7c853a59
movabs r10, 0x4cf8df03837ac5a6
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xf0]
pextrw eax, xmm0, 7
shr eax, 8
test al, 1
jne 0x14000afbc
jmp 0x14000b0c8
mov r8d, dword [0x1402726b0]
or r8d, dword [0x1402726b4]
and r8d, 0xa8d9abfb
xor r8d, 0x8e19625c
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa96dedc6
mov r9d, 0x5e06b32d
xor r9d, 0xf76b5eeb
mov ecx, 0x605ce1b5
xor ecx, 0x9fa31e4a
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x6e4c6a1b
and ecx, 0xa96dedc6
mov edx, 0x4097b13b
xor edx, 0x2edbdb20
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xcea8873c
ja 0x14000b219
mov r9, qword [rsp + 0xb8]
mov ecx, dword [0x1402726b8]
mov edx, dword [0x1402726bc]
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, edx
and ecx, eax
mov edx, 0xfdbca51d
xor edx, 0x631a757c
mov eax, ecx
and eax, edx
xor ecx, 0x9ea6d061
or eax, ecx
mov ecx, 0x46fb38f
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x220]
xor ecx, ecx
sub ecx, eax
mov eax, 0x77056fe9
xor eax, 0x77056fe9
mov r8d, 0xa55cb5bc
xor r8d, 0x975ec2aa
sub eax, r8d
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xe8dc2b9
xor ecx, 0xc3080d3d
mov r8, r9
and r8, 0xf
xor r9, 0xf
or r8, r9
mov byte [rdx + r8], 0
cmp eax, ecx
jae 0x14000b032
jmp 0x14000b0c8
mov rdx, qword [rsp + 0x108]
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0xe0]
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm5, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0xb8]
add rax, 0x10
movaps xmm8, xmmword [0x140281370]
movaps xmmword [rsp + 0x20], xmm8
paddq xmm7, xmm8
paddq xmm6, xmm8
paddq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm3, xmm8
paddq xmm2, xmm8
paddq xmm1, xmm8
paddq xmm0, xmm8
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x198], rax
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1c0], xmm5
movaps xmmword [rsp + 0x1d0], xmm4
movaps xmmword [rsp + 0x1e0], xmm3
movaps xmmword [rsp + 0x1f0], xmm2
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x210], xmm0
jne 0x14000a7c1
jmp 0x14000b19f
mov rax, qword [rsp + 0x220]
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm13, xmmword [rsp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x2b0]
and al, 0xa0
add al, byte [rax]
add byte [rdi + rcx + 0x28], al
mov ah, 0x24
mov al, 2
add byte [rax], al
movaps xmm15, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
ret
ja 0x14000b1e8
invalid
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 - 0x55], al
cld
invalid
fdiv dword [rax + 0x10e9dadd]
invalid