Function at 0x1400fcf30
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x90
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
call fcn.1400fcc3e
lea rcx, [rsp + 0x88]
mov edx, 8
call fcn.1400fd880
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
sub rdx, r8
mov qword [rsp + 0x78], rdx
cmp rdx, 1
jl 0x1400fd845
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rdx, rax
add rdx, rcx
mov qword [rsp + 0x50], rdx
mov al, byte [rax + rcx]
mov byte [rsp + 0x5b], al
movzx ecx, al
mov dword [rsp + 0x5c], ecx
cmp al, 0xff
jle 0x1400fcfbb
mov ecx, dword [rsp + 0x5c]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
jmp 0x1400fd845
mov ecx, dword [0x1401ce9d8]
xor ecx, 0xcea7b0d3
mov r8d, dword [0x1401ce9dc]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0x72ed52e
mov edx, 0x7437f9fc
xor edx, 0x73192cd2
xor ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc2dd24bb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc2dd24bb
or eax, 0xc2dd24bb
imul eax, edx
add eax, ecx
mov ecx, 0xdb9b0e2e
xor ecx, 0x70e51893
xor edx, edx
div ecx
cmp eax, 0x9940e68c
jae 0x1400fd856
mov rcx, qword [rsp + 0x78]
mov edx, dword [0x1401ce9e0]
xor edx, 0x4047e17
mov r8d, dword [0x1401ce9e4]
mov r9d, edx
and r9d, r8d
mov eax, 0xe38ef310
xor eax, 0xe38ef312
imul eax, r9d
add edx, r8d
sub edx, eax
mov eax, 0x57b0bc
xor eax, 0xc0a6edc6
and edx, eax
mov eax, edx
and eax, 0xc7a244b8
or edx, 0xc7a244b8
add eax, edx
and eax, 0xe778b9b0
cmp rcx, 1
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xdc423c6f
je 0x1400fd040
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x1400fd845
jmp 0x1400fd0b8
mov rax, qword [rsp + 0x78]
movabs rcx, 0xd538244484f7d6c8
movabs rdx, 0xd538244484f7d6cb
xor rcx, rdx
cmp rax, rcx
jbe 0x1400fd408
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x84], 0
lea rcx, [rsp + 0x84]
mov r8d, 4
call fcn.1400fdaf0
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x44], ecx
mov edx, 0x74a8d23c
xor edx, 0x74a812dc
mov eax, 0xf16a64c
xor eax, 0xf0e959b3
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0x6b12b387
xor edx, 0x94ed4c78
xor ecx, edx
mov r8d, 0xffffffff
xor r8d, 0xc0c0c0f8
mov edx, 0xffffffff
xor edx, 0x35bfc792
or ecx, r8d
or edx, 0x35bfc792
xor ecx, 0xffffffff
and ecx, edx
mov dword [rsp + 0x48], ecx
cmp eax, 0x80c0
jne 0x1400fd1fb
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x5c]
shl eax, 6
and eax, 0x7c0
mov r8, rdx
and r8, 1
shl r8, 1
xor rdx, 1
add rdx, r8
mov dl, byte [rcx + rdx]
mov cl, dl
xor cl, 0xff
mov r8b, 0x1a
xor r8b, 0xe5
xor dl, r8b
and cl, dl
mov dl, 0x3f
or dl, 0x3f
xor dl, 0xff
or cl, dl
mov dl, 0xe0
xor dl, 0x1f
xor cl, dl
movzx r8d, cl
mov ecx, 0xff972e55
xor ecx, 0x68d1aa
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov dword [rsp + 0x40], eax
cmp eax, 0x7f
jbe 0x1400fd403
mov ecx, dword [rsp + 0x40]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
jmp 0x1400fd403
mov eax, dword [rsp + 0x44]
and eax, 0xc0c0f0
cmp eax, 0x8080e0
jne 0x1400fd33a
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x5c]
mov ecx, 0xa7c4651e
xor ecx, 0xa7c46512
shl r9d, cl
mov ecx, r9d
add ecx, 1
mov r8d, 0x5d16ee51
xor r8d, 0xa2e911ae
xor r9d, r8d
or r9d, 0xf000
add r9d, ecx
xor ecx, ecx
mov r8d, ecx
sub r8, rdx
xor ecx, ecx
sub rcx, 1
add r8, rcx
xor ecx, ecx
sub rcx, r8
mov r8b, byte [rax + rcx]
mov cl, r8b
xor cl, 0xff
mov r10b, 0xff
xor r10b, 0x3f
or cl, r10b
and r8b, 0x3f
mov r10b, 0x78
xor r10b, 0x87
xor r8b, r10b
xor cl, 0xff
xor r8b, 0xff
or cl, r8b
movzx r8d, cl
mov ecx, 0x4010083c
xor ecx, 0x4010083a
shl r8d, cl
mov ecx, r8d
or ecx, r9d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
mov r10d, 0x89a5a693
xor r10d, 0x765a596c
xor r9d, r10d
and r8d, r9d
or ecx, r8d
xor ecx, 0xffffffff
mov al, byte [rax + rdx + 2]
xor al, 0xff
mov r8b, 0xff
xor r8b, 0x3f
mov dl, 0xff
xor dl, 0x7c
or al, r8b
or dl, 0x7c
mov r8b, 0xc
xor r8b, 0xf3
xor al, r8b
and al, dl
movzx edx, al
mov eax, ecx
or eax, edx
mov dword [rsp + 0x3c], eax
cmp eax, 0x800
setb al
mov edx, 0x8de4e32e
xor edx, 0x8de41b2e
and ecx, edx
mov edx, 0x961648ea
xor edx, 0x961690ea
cmp ecx, edx
sete cl
or al, cl
test al, 1
jne 0x1400fd403
mov ecx, dword [rsp + 0x3c]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
jmp 0x1400fd403
mov eax, dword [rsp + 0x48]
cmp eax, 0x808080f0
jne 0x1400fd403
mov rdx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x5c]
mov ecx, 0xd462b964
xor ecx, 0xd462b976
shl r8d, cl
mov rcx, qword [rsp + 0x60]
mov eax, 0x6f75c3dc
xor eax, 0x6f69c3dc
and r8d, eax
mov al, byte [rcx + rdx + 1]
mov r9b, 0xce
xor r9b, 0xf1
and al, r9b
movzx eax, al
shl eax, 0xc
or eax, r8d
mov r8, rdx
and r8, 2
movabs r10, 0x158b0cb4968368e3
movabs r9, 0x158b0cb4968368e1
xor r10, r9
mov r9, rdx
or r9, r10
add r8, r9
mov cl, byte [rcx + r8]
and cl, 0x3f
movzx r8d, cl
mov ecx, 0xe8fce3d4
xor ecx, 0xe8fce3d2
shl r8d, cl
mov rcx, qword [rsp + 0x60]
or eax, r8d
mov cl, byte [rcx + rdx + 3]
and cl, 0x3f
movzx ecx, cl
or eax, ecx
mov dword [rsp + 0x38], eax
add eax, 0xffff0001
cmp eax, 0x100001
jae 0x1400fd403
mov ecx, dword [rsp + 0x38]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
jmp 0x1400fd845
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov al, byte [rax + rcx + 1]
movzx ecx, al
mov dword [rsp + 0x34], ecx
mov cl, al
xor cl, 0xc0
xor cl, 0xff
mov dl, 0x5e
xor dl, 0x9e
or al, dl
and al, cl
mov cl, 0xad
xor cl, 0x2d
cmp al, cl
jne 0x1400fd845
mov cl, byte [rsp + 0x5b]
mov dl, 0xff
xor dl, 0xe0
mov al, cl
xor al, dl
and al, cl
cmp al, 0xc0
jne 0x1400fd5e2
mov edx, dword [0x1401ce9e8]
mov eax, dword [0x1401ce9ec]
xor eax, 0x78efea5f
xor edx, eax
mov eax, 0xcbfcc54c
xor eax, 0x366dcd27
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0xfd91086b
and edx, eax
mov eax, 0x9ab8c6a6
xor eax, 0x9ab8c6a4
imul eax, edx
sub eax, ecx
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4d65f240
or ecx, edx
mov edx, 0x17757238
xor edx, 0x5a108078
mov r8d, 0x466103b5
xor r8d, 0xb04f1f5
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xc9ac5bda
xor eax, 0x787f27a8
and eax, edx
mov edx, 0xffffffff
xor edx, 0xb1d37c72
and ecx, edx
or eax, ecx
cmp eax, 0x20ae13
jbe 0x1400fd85f
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x5c]
mov eax, dword [0x1401ce9f0]
xor eax, dword [0x1401ce9f4]
mov ecx, 0x883c1a81
xor ecx, 0x340a5f02
imul eax, ecx
mov ecx, 0xe9a397bb
xor ecx, 0x81ef2816
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x684cbfad
add eax, 1
add eax, ecx
sub eax, 0xa7d3f573
mov ecx, 0xd365a2c4
xor ecx, 0x443b369a
mov dword [rsp + 0x28], ecx
mov ecx, 0x10355356
xor ecx, 0x10355350
shl r8d, cl
mov ecx, dword [rsp + 0x28]
and r8d, 0x7c0
xor edx, 0xffffffff
mov r10d, 0x1f41b767
xor r10d, 0x1f41b758
mov r9d, 0x2d9b705d
xor r9d, 0xd2648fa2
xor r10d, r9d
mov r9d, 0xffffffff
xor r9d, 0x2257aca8
or edx, r10d
or r9d, 0x2257aca8
xor edx, 0xffffffff
and edx, r9d
or edx, r8d
mov dword [rsp + 0x2c], edx
cmp edx, 0x7f
seta dl
mov byte [rsp + 0x33], dl
cmp eax, ecx
jae 0x1400fd85f
mov al, byte [rsp + 0x33]
test al, 1
jne 0x1400fd5cc
jmp 0x1400fd845
mov ecx, dword [rsp + 0x2c]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
jmp 0x1400fd845
mov cl, byte [rsp + 0x5b]
mov rax, qword [rsp + 0x78]
sub rax, 3
sete al
and cl, 0xf0
sub cl, 0xe0
sete cl
and al, cl
test al, 1
jne 0x1400fd60a
jmp 0x1400fd845
mov eax, dword [0x1401ce9f8]
mov edx, dword [0x1401ce9fc]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0xa36eaf03
xor ecx, 0x4d842c59
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xf8284e70
mov edx, 0xd3cd885d
xor edx, 0x2be5c62d
mov r8d, 0xc648bd66
xor r8d, 0x39b74299
xor edx, r8d
and eax, edx
sub eax, ecx
and eax, 0xcf70566e
mov ecx, 0xe587bc2e
xor ecx, 0x75503ebf
cmp eax, ecx
ja 0x1400fd868
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov eax, dword [0x1401cea00]
mov r10d, dword [0x1401cea04]
mov r9d, 0x7e932d35
xor r9d, 0x816cd2ca
mov r8d, eax
xor r8d, r9d
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, eax
and r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
imul eax, eax, 0x78a1989d
imul eax, eax, 0xf0da66d4
sub eax, 0x22bb603d
movabs r8, 0xb4572685c7174bcf
movabs r9, 0xb4572685c7174bcf
xor r8, r9
sub r8, rdx
xor edx, edx
sub rdx, 2
add r8, rdx
movabs rdx, 0xced6e7b95f3b4822
movabs r9, 0xced6e7b95f3b4822
xor rdx, r9
sub rdx, r8
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x26], cl
mov dl, 0xba
xor dl, 0x7a
and cl, dl
cmp cl, 0x80
sete cl
mov byte [rsp + 0x27], cl
cmp eax, 0xe56dc504
jbe 0x1400fd670
mov al, byte [rsp + 0x27]
test al, 1
jne 0x1400fd743
jmp 0x1400fd845
mov cl, byte [rsp + 0x26]
mov esi, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x5c]
shl r11d, 0xc
and r11d, 0xf000
shl esi, 6
or esi, esi
xor esi, 0xffffffff
mov eax, 0xfc0
or eax, 0xfc0
xor eax, 0xffffffff
or esi, eax
xor esi, 0xffffffff
mov eax, 0x6400355c
xor eax, 0x9bffcaa3
mov edx, esi
xor edx, eax
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x2fdaaab3
mov eax, edx
and eax, 0x2fdaaab3
and esi, r9d
mov r10d, r8d
and r10d, 0x2fdaaab3
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xf04a1358
xor r8d, 0xdf90b9eb
or r8d, r9d
and edx, r8d
or eax, edx
mov dl, 0xd0
xor dl, 0xef
and cl, dl
movzx r8d, cl
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
mov ecx, eax
add ecx, r8d
mov r8d, 0x4f9adfa3
xor r8d, 0x4f9adfa2
add ecx, r8d
add ecx, edx
mov dword [rsp + 0x20], ecx
mov edx, 0x66f8e95d
xor edx, 0x66f8e15d
cmp ecx, edx
setb cl
and eax, 0xf800
mov edx, 0x83ee9e9f
xor edx, 0x83ee469f
cmp eax, edx
sete dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1400fd845
mov ecx, dword [rsp + 0x20]
call fcn.1400fda10
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
add rsp, 0x90
pop rsi
ret
xor dword [rbp - 0x1e16a1d0], edi
idiv edi
jmp qword [rbp - 0x16996201]
movsd dword [rdi], dword [rsi]
call [rbp - 0x36c169a]
invalid
adc dh, dh
invalid