Function at 0x140086ed0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x180
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rcx
mov rax, qword [0x14028d330]
mov qword [rsp + 0xf8], rax
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rcx
mov ecx, dword [rax]
call fcn.14000efc9
movaps xmm0, xmmword [0x140284f60]
movaps xmm1, xmmword [0x140284f70]
movaps xmm2, xmmword [0x140284f80]
movaps xmm3, xmmword [0x140284f90]
xor eax, eax
mov qword [rsp + 0x108], rax
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x140], xmm0
jmp 0x140086f84
mov rax, qword [rsp + 0x108]
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmm2, xmmword [rsp + 0x130]
movaps xmm3, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd8], rax
mov eax, dword [0x140275f40]
xor edx, edx
div dword [0x140275f44]
mov ecx, 0x282d7780
xor ecx, 0xff649c77
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x9b8949a1
add eax, ecx
sub eax, 0xdbdd9e8c
mov ecx, 0xc82e18cb
xor ecx, 0xc0a17066
cmp eax, ecx
jbe 0x14008798a
movaps xmm5, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
mov eax, dword [0x140275f48]
xor eax, 0x36b8cfea
mov ecx, dword [0x140275f4c]
add eax, ecx
imul eax, eax, 0xe52bd068
add eax, 0xb5faa22b
and eax, 0x4635858b
movaps xmm6, xmmword [0x140284fa0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x140284fa0]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x140284fb0]
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 + 0x70], xmm1
movd ecx, xmm0
mov byte [rsp + 0x8f], cl
cmp eax, 0x701674f1
jae 0x14008798a
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x140087150
jmp 0x140087168
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
mov dl, 0x92
xor dl, 0x92
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0x70]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140087181
jmp 0x140087199
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
or rcx, 1
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x70]
pextrw eax, xmm0, 2
test al, 1
jne 0x1400871b0
jmp 0x140087295
mov eax, dword [0x140275f50]
xor edx, edx
div dword [0x140275f54]
mov ecx, eax
mov eax, ecx
and eax, 0xea80d956
shl eax, 1
mov edx, 0xd728017e
xor edx, 0x3da8d828
xor ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x57bddf87
mov edx, 0xffffffff
xor edx, 0x57bddf87
and ecx, edx
or eax, ecx
imul eax, eax, 0x909f0427
cmp eax, 0x42bc7736
je 0x140087993
mov rdx, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xd8]
mov eax, dword [0x140275f58]
xor eax, 0x439bb184
add eax, dword [0x140275f5c]
add eax, 0xd34f3610
mov r8d, 0xfe1fba28
xor r8d, 0xf5067650
mov ecx, eax
and ecx, r8d
shl ecx, 1
add eax, 0xb19cc78
sub eax, ecx
sub eax, 0xcdf20622
mov ecx, 0x81a890f3
xor ecx, 0xbe6925a3
sub eax, ecx
mov ecx, 0x9bc3a4fe
xor ecx, 0x5631a2dc
add eax, ecx
mov ecx, 0x622d3d3b
xor ecx, 0xc8f145e4
mov r8, r9
and r8, 2
xor r9, 2
or r8, r9
mov r9b, 0x25
xor r9b, 0x25
mov byte [rdx + r8], r9b
cmp eax, ecx
je 0x140087203
jmp 0x140087295
movaps xmm0, xmmword [rsp + 0x70]
pextrw eax, xmm0, 3
test al, 1
jne 0x1400872ac
jmp 0x1400872da
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
movabs rdx, 0xc32c1a6c38ff261a
movabs r8, 0xc32c1a6c38ff2619
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x70]
pextrw eax, xmm0, 4
test al, 1
jne 0x1400872f1
jmp 0x1400873a4
mov rax, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xd8]
movabs rcx, 0x8bcd0cf6f797c282
movabs rdx, 0x7432f30908683d7d
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
mov r9, 0xffffffffffffffff
xor r9, 4
mov r8, 0xffffffffffffffff
movabs rcx, 0xb8822b04413cd0a6
xor r8, rcx
movabs r10, 0xb8822b04413cd0a6
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0xb8822b04413cd0a6
mov r10, r9
and r10, r11
mov r11, r8
and r11, 4
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
movabs r9, 0xfb165752f9795b69
movabs r10, 0x4e9a8ad0686a496
xor r9, r10
xor rdx, r9
movabs r9, 0xb8822b04413cd0a6
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
mov r8d, dword [0x140275f60]
mov eax, dword [0x140275f64]
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, 1
sub eax, ecx
sub r8d, eax
xor r8d, 0x68bea415
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf9b61d5
mov edx, 0xffffffff
xor edx, 0xf9b61d5
and r8d, edx
mov ecx, 0xad362736
xor ecx, 0xcc5a8afc
mov r9d, 0x84468cbf
xor r9d, 0x7bb97340
xor ecx, r9d
and ecx, 0xf9b61d5
and edx, 0x616cadca
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0xd4e4e9ad
cmp eax, 0x3bef8858
jbe 0x14008799c
movaps xmm0, xmmword [rsp + 0x70]
mov r10d, dword [0x140275f68]
mov r9d, dword [0x140275f6c]
mov ecx, r10d
not ecx
mov edx, r9d
not edx
mov eax, ecx
and eax, 0x9080f461
and r10d, 0x6f7f0b9e
mov r8d, edx
and r8d, 0x9080f461
and r9d, 0x6f7f0b9e
or eax, r10d
or r8d, r9d
xor eax, r8d
or ecx, edx
not ecx
or eax, ecx
mov edx, eax
and edx, 0xc1f05194
and eax, 0x4000
xor edx, 0x2202e642
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2 - 0x7e9977fe]
pextrw ecx, xmm0, 5
mov byte [rsp + 0x6f], cl
cmp eax, 0x32c68d6b
je 0x14008799c
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x1400874aa
jmp 0x1400874c2
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
or rcx, 5
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x70]
pextrw eax, xmm0, 6
test al, 1
jne 0x1400874d9
jmp 0x14008750b
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
movabs rdx, 0xc83c5fc26b11a0ca
movabs r8, 0xc83c5fc26b11a0cc
xor rdx, r8
or rcx, rdx
mov dl, 0xae
xor dl, 0xae
mov byte [rax + rcx], dl
mov eax, dword [0x140275f70]
sub eax, dword [0x140275f74]
mov ecx, 0xfc421953
xor edx, edx
div ecx
xor eax, 0x2cdbef4d
imul eax, eax, 0xab0f351f
mov ecx, 0x8d86448b
xor ecx, 0xaebd77da
cmp eax, ecx
jb 0x1400879a5
movaps xmm0, xmmword [rsp + 0x70]
mov ecx, dword [0x140275f78]
mov eax, dword [0x140275f7c]
mov edx, ecx
not edx
or edx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx - 0x63b3460]
not eax
and eax, 0xe94cc760
xor eax, 0xdea47768
pextrw ecx, xmm0, 7
mov byte [rsp + 0x6e], cl
cmp eax, 0xbffbc978
jae 0x1400879a5
mov al, byte [rsp + 0x6e]
test al, 1
jne 0x140087591
jmp 0x1400875c3
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
mov r8, 0xffffffffffffffff
xor r8, 7
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 7
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
mov rax, qword [rsp + 0xd8]
add rax, 8
movaps xmm4, xmmword [0x140284fc0]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0x108], rax
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x140], xmm0
jne 0x140086f84
jmp 0x140087640
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x100]
add rcx, 0x60
mov qword [rsp + 0x60], rcx
movabs rcx, 0x14e297da65426524
movabs rdx, 0x14e297da65426524
xor rcx, rdx
cmp rax, rcx
jge 0x1400876b9
mov rcx, qword [rsp + 0xe0]
movabs rdx, 0x6213a1f933664fb9
movabs rax, 0x6213a1f933664fb9
xor rdx, rax
movabs r8, 0x8293fd16d7de1078
movabs rax, 0xfd6c02e92821ef87
xor r8, rax
call fcn.14001a720
jmp 0x140087960
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0xe0]
movabs rax, 0x93e98c0f9e3454ca
movabs rdx, 0x6c1673f061cbab35
xor rax, rdx
mov rdx, rcx
xor rdx, rax
movabs rax, 0x99e6a728df64511d
movabs r8, 0x99e6a728df64511e
xor rax, r8
and rax, rdx
movabs r8, 0xff861acf7edb7b89
movabs rdx, 0xff861acf7edb7b8a
xor r8, rdx
movabs rdx, 0x38629de3ae585145
movabs r9, 0xc79d621c51a7aeba
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
imul rdx, rax
mov r8, rcx
and r8, 3
mov rax, rcx
or rax, 3
imul rax, r8
add rax, rdx
mov qword [rsp + 0x48], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140284fd0]
mulsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x58], xmm1
ucomisd xmm0, xmm1
jne 0x140087792
jp 0x140087792
jmp 0x1400877e1
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x58]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x40]
movsd xmm2, qword [0x140284fd8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400877e1
call fcn.14000f24b
jmp 0x1400878fa
mov rax, qword [rsp + 0x48]
mov ecx, 2
cqo
idiv rcx
mov rdx, rax
mov rcx, rdx
add rcx, 4
mov qword [rsp + 0x38], rcx
movabs r8, 0xee0a751f07a5155
movabs rax, 0xf11f58ae0f85aeaa
xor r8, rax
mov rax, rdx
xor rax, r8
movabs r8, 0x6d30e944ca4039a1
movabs r9, 0x92cf16bb35bfc65e
xor r8, r9
xor rax, r8
movabs r8, 0xebb194a09750d033
movabs r9, 0x144e6b5f68af2fcc
xor r8, r9
and r8, rax
movabs rax, 0x3517568777e7ec17
movabs r9, 0x3517568777e7ec15
xor rax, r9
imul rax, r8
movabs r8, 0x93f33239bc52ab8a
movabs r9, 0x6c0ccdc643ad5475
xor r8, r9
sub rax, r8
sub rdx, rax
movabs r8, 0x3679d010a8e4dfa4
movabs rax, 0xc9862fef571b205b
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0xdc117723c4243630
movabs rdx, 0xdc117723c4243630
xor rcx, rdx
cmp rax, rcx
jge 0x1400878eb
call fcn.14000f24b
jmp 0x1400878fa
mov rcx, qword [rsp + 0x38]
call fcn.140059f24
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
cmp byte [rax], 0
jne 0x140087960
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xe8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x14008794e
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x140087960
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xe8]
call fcn.14004802b
mov rax, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
add rsp, 0x180
pop rsi
ret
stc
xchg esp, eax
pop rsp
sub eax, 0xfff683e9
call rdi
xlatb
xor byte [rdx], cl
jmp 0x140087203
invalid
movsb byte [rdi], byte [rsi]
fstp qword [rcx - 0x46f17]
jmp qword [rsi - 0x70]