Function at 0x14007cff0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
mov rax, qword [0x1402c6150]
mov qword [rsp + 0xe8], rax
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rax]
call fcn.14000eaf8
movaps xmm0, xmmword [0x1402bdf50]
movaps xmm1, xmmword [0x1402bdf60]
movaps xmm2, xmmword [0x1402bdf70]
movaps xmm3, xmmword [0x1402bdf80]
xor eax, eax
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x130], xmm0
jmp 0x14007d0a5
mov rax, qword [rsp + 0xf8]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm5, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x70], xmm5
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0xa0], xmm2
mov qword [rsp + 0xb8], rax
movaps xmm6, xmmword [0x1402bdf90]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402bdf90]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402bdfa0]
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rsp + 0xc0], xmm1
movd eax, xmm0
test al, 1
jne 0x14007d1d4
jmp 0x14007d1e8
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14007d204
jmp 0x14007d21c
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 1
mov byte [rax + rcx], 0
mov ecx, dword [0x1402ab370]
mov eax, 0x57ab145e
xor eax, 0x97b4d5e5
xor ecx, eax
xor ecx, dword [0x1402ab374]
xor ecx, 0x7401e1c8
and ecx, 0xd6a52848
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xdfa2d333
mov edx, 0xffffffff
xor edx, 0xdfa2d333
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x169eca1d
je 0x14007da61
movaps xmm0, xmmword [rsp + 0xc0]
mov edx, dword [0x1402ab378]
mov ecx, dword [0x1402ab37c]
mov eax, edx
and eax, ecx
xor edx, ecx
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
or ecx, 0xceb065d9
xor ecx, 0x1851478c
and eax, 0x10410204
add eax, eax
sub eax, ecx
mov ecx, eax
imul rcx, rcx, 0x28b51bbb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
pextrw ecx, xmm0, 2
mov byte [rsp + 0x6f], cl
cmp eax, 0x80e3fd68
ja 0x14007d275
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14007d2ea
jmp 0x14007d3af
mov rax, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xb8]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 2
mov r9, 0xffffffffffffffff
movabs rcx, 0x3b1530078ef8b55a
xor r9, rcx
movabs r10, 0x3f4c71f17ed5ae1f
movabs rcx, 0x45941f6f02d1b45
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0xe1bccbc436b297ca
movabs r10, 0xdaa9fbc3b84a2290
xor r11, r10
mov r10, r8
and r10, r11
movabs r11, 0x7ecffc61feb1b587
movabs rdi, 0x7ecffc61feb1b585
xor r11, rdi
and r11, r9
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xfccffb1fff7b7cc2
movabs r10, 0xc7dacb187183c998
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0xf
xor dl, 0xf
mov byte [rax + rcx], dl
mov eax, dword [0x1402ab380]
mov ecx, dword [0x1402ab384]
mov edx, 0xa90ada7f
xor edx, 0x7ab1ff78
sub eax, edx
add eax, ecx
add eax, 0xd3bb2507
mov ecx, eax
xor ecx, 0x3a5fdadb
mov edx, 0xffffffff
xor edx, 0x3a5fdadb
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0x70e6c34
mov ecx, 0x6f9bab8
xor edx, edx
div ecx
mov ecx, 0xaa0c687
xor ecx, 0x937cb046
cmp eax, ecx
je 0x14007da6a
movaps xmm0, xmmword [rsp + 0xc0]
xor eax, eax
pextrw ecx, xmm0, 3
mov byte [rsp + 0x6e], cl
cmp eax, 0xc5b67892
jae 0x14007da6a
mov al, byte [rsp + 0x6e]
test al, 1
jne 0x14007d439
jmp 0x14007d451
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14007d46b
jmp 0x14007d4ed
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb8]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0x8e58a781570f064a
movabs r9, 0x8e58a781570f064e
xor r8, r9
movabs r9, 0xbecd0c1866d0013a
movabs r10, 0x4132f3e7992ffec5
xor r9, r10
xor r8, r9
and rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 4
and rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x28a6220530866f31
movabs r9, 0xd759ddfacf7990ce
xor r8, r9
xor rdx, r8
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14007d507
jmp 0x14007d641
mov edx, dword [0x1402ab390]
mov eax, 0x132b9281
xor eax, 0xeefc062
xor edx, eax
mov ecx, dword [0x1402ab394]
mov r8d, 0x42952497
xor r8d, 0xbd6adb68
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2543d591
xor ecx, 0xb3b31df3
and eax, ecx
xor ecx, ecx
sub ecx, 0xc354b88e
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3017b44e
xor edx, 0x8e972e12
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xbe809a5c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x774bd91d
xor r8d, 0xc9cb4341
mov edx, eax
and edx, r8d
or eax, 0xbe809a5c
imul eax, edx
add eax, ecx
cmp eax, 0xf11069a2
je 0x14007da73
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xb8]
mov ecx, dword [0x1402ab398]
xor ecx, 0x6cc721f2
mov r9d, dword [0x1402ab39c]
xor r9d, 0x8324deb
mov eax, ecx
and eax, r9d
shl eax, 1
xor ecx, r9d
add ecx, eax
or ecx, 0xc0c43535
mov eax, 0xbc3e4b07
xor eax, 0x3cbb54ee
imul ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x2011268b
mov eax, ecx
xor eax, r9d
and eax, ecx
mov ecx, 0xd1958fda
xor ecx, 0x845e6371
mov r10, 0xffffffffffffffff
xor r10, 5
mov r9, r8
and r9, r10
mov r10, r8
xor r10, 5
add r8, r10
sub r8, r9
mov byte [rdx + r8], 0
cmp eax, ecx
je 0x14007da73
jmp 0x14007d641
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14007d65b
jmp 0x14007d677
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 6
mov dl, 0x1d
xor dl, 0x1d
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14007d691
jmp 0x14007d6a9
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 7
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0xb8]
add rax, 8
movaps xmm4, xmmword [0x1402bdfb0]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x130], xmm0
jne 0x14007d0a5
jmp 0x14007d723
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xf0]
add rcx, 0x60
mov qword [rsp + 0x60], rcx
cmp rax, 0
jge 0x14007d766
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x14007da36
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 3
mov r8, 0xffffffffffffffff
xor r8, 3
mov rdx, rcx
and rdx, r8
imul rdx, rax
movabs rax, 0x1874ef5cd34f178a
movabs r8, 0x1874ef5cd34f1789
xor rax, r8
mov r8, rcx
and r8, rax
mov rax, rcx
or rax, 3
imul rax, r8
add rax, rdx
mov qword [rsp + 0x48], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402bdfc0]
mulsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x58], xmm1
ucomisd xmm0, xmm1
jne 0x14007d803
jp 0x14007d803
jmp 0x14007d852
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x58]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x40]
movsd xmm2, qword [0x1402bdfc8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14007d852
call fcn.14000ee80
jmp 0x14007d8ac
mov rax, qword [rsp + 0x48]
movabs rcx, 0x537797da8387ffa9
movabs rdx, 0x537797da8387ffab
xor rcx, rdx
cqo
idiv rcx
mov rcx, rax
mov rax, rcx
add rax, 4
mov qword [rsp + 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14007d89d
call fcn.14000ee80
jmp 0x14007d8ac
mov rcx, qword [rsp + 0x38]
call fcn.140051e20
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov al, byte [rax]
mov cl, 8
xor cl, 8
cmp al, cl
jne 0x14007da36
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xd8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x14007d906
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x14007da36
mov eax, dword [0x1402ab3a0]
add eax, dword [0x1402ab3a4]
mov ecx, 0x570bdfbf
xor ecx, 0x570bdfbf
sub ecx, eax
xor eax, eax
sub eax, 0xcde884a7
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0xebc843c2
add eax, 0x7d31a237
cmp eax, 0x4853ea9c
jb 0x14007da7c
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xd8]
mov r8d, dword [0x1402ab3a8]
mov eax, 0x575053d0
xor eax, 0x6fdc4b66
xor r8d, eax
or r8d, dword [0x1402ab3ac]
sub r8d, 0x26040164
add r8d, 0x8c18446
mov eax, 0x4b0d407f
xor eax, 0x6d09411b
add r8d, eax
mov r9d, 0x6ce7b822
xor r9d, 0x931847dd
mov eax, r8d
xor eax, r9d
mov r9d, 0x18f81e08
xor r9d, 0x1d874e07
mov r10d, 0x58bd105f
xor r10d, 0xa742efa0
xor r9d, r10d
and eax, r9d
or r8d, 0x57f500f
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xee25f521
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0xee25f521
mov r10d, 0xe315ea38
xor r10d, 0xd301f19
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x24], eax
mov eax, 0xdfb717e3
xor eax, 0x2c34941
mov dword [rsp + 0x20], eax
call fcn.140042a50
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
cmp eax, ecx
je 0x14007d941
invalid
jmp 0x14007da36
mov rax, qword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
ret
jae 0x14007d9f6
imul ebx, edi, 0xfff80be9
invalid
cmp eax, esp
invalid
cmpsb byte [rsi], byte [rdi]
adc dword [rbx], ebx
imul cl
sub al, 0xfb
invalid
invalid