Function at 0x14014c1d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rcx
mov ecx, dword [0x140259028]
mov edx, dword [0x14025902c]
mov eax, ecx
xor eax, edx
mov r8d, 0x5d27f36f
xor r8d, 0xa2d80c90
xor eax, r8d
or ecx, edx
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x7870eb04
mov r8d, 0xffffffff
xor r8d, 0x7870eb04
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x7870eb04
or ecx, 0x7870eb04
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0xaf5214ee
xor edx, 0x50adeb11
xor eax, edx
mov edx, 0x51651ed
or edx, 0x51651ed
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0x51651ed
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xab4e7039
xor edx, 0x54b18fc6
xor ecx, edx
and eax, ecx
mov ecx, eax
and ecx, 0x5f97a456
xor ecx, 0xffffffff
add eax, 0x5f97a456
add eax, 1
add eax, ecx
mov ecx, 0x9a8c9b64
xor ecx, 0x19880898
cmp eax, ecx
jae 0x14014c99e
mov eax, dword [0x140259030]
mov ecx, dword [0x140259034]
sub eax, ecx
mov ecx, eax
xor ecx, 0x5bc1a530
and eax, 0x243e5acf
add eax, eax
sub eax, ecx
imul ecx, eax, 0x376073ef
mov edx, ecx
and edx, 0x2a0419ae
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx + 0x2a0419ae]
mov dword [rbp], eax
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.140149d50
add rsp, 0x20
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.140149600
mov rcx, qword [rbp - 8]
mov eax, dword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 7], cl
cmp eax, 0xb51e88a2
jae 0x14014c2a2
mov al, byte [rbp + 7]
test al, 1
jne 0x14014c38e
jmp 0x14014c998
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
mov word [rcx], 0x5fe
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x14014c998
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x48], rax
mov ecx, 0xb6
sub rsp, 0x20
call fcn.140068928
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rcx], edx
cmp byte [rax], 0
jne 0x14014c998
mov cx, 0x9c49
xor cx, 0x9d46
sub rsp, 0x20
call fcn.140068809
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov dx, ax
mov rax, qword [rbp - 8]
mov word [rcx + 4], dx
mov al, byte [rax]
mov cl, 0x98
xor cl, 0x98
cmp al, cl
jne 0x14014c998
mov ecx, 0xba
sub rsp, 0x20
call fcn.140068809
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov dx, ax
mov rax, qword [rbp - 8]
mov word [rcx + 6], dx
mov al, byte [rax]
mov cl, 0x2a
xor cl, 0x2a
cmp al, cl
jne 0x14014c998
mov ecx, 0x7e0
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x51], cl
mov al, byte [rax]
mov cl, 0x25
xor cl, 0x25
cmp al, cl
jne 0x14014c998
mov eax, dword [0x140259038]
xor eax, 0x2225ff2c
mov ecx, dword [0x14025903c]
sub eax, 0x90c08e2a
sub eax, ecx
add eax, 0x90c08e2a
add eax, 0xd9d76034
mov ecx, 0x7396bd83
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x548dc054
mov r8d, 0xffffffff
xor r8d, 0x548dc054
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x548dc054
or eax, 0x548dc054
imul eax, edx
add eax, ecx
mov ecx, 0x8992d769
xor ecx, 0x7a0b06b7
cmp eax, ecx
je 0x14014c9a7
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x51]
mov edx, dword [0x140259040]
xor edx, dword [0x140259044]
add edx, 0xfe515797
mov r8d, 0x69d0848c
xor r8d, 0xacef4408
add edx, r8d
sub edx, 0xfe515797
mov r10d, 0xffffffff
xor r10d, 0x3f103fd8
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
mov r10d, 0x838a4605
xor r10d, 0x7c75b9fa
xor r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x3f103fd8
mov r10d, 0xd18b793a
xor r10d, 0xee9b46e2
or edx, r10d
imul edx, r9d
add edx, r8d
sub edx, 0x38c74aa8
mov dword [rbp - 0x58], edx
mov byte [rax + 8], cl
mov ecx, 0x43
sub rsp, 0x20
call fcn.140068bb0
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x58]
mov byte [rbp - 0x53], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x52], cl
cmp eax, 0xe1e0d4ff
je 0x14014c4fb
mov al, byte [rbp - 0x52]
test al, 1
jne 0x14014c5c6
jmp 0x14014c998
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x53]
mov byte [rax + 9], cl
mov ecx, 0x14d
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x59], cl
mov al, byte [rax]
mov cl, 0x38
xor cl, 0x38
cmp al, cl
jne 0x14014c998
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x59]
mov byte [rax + 0xa], cl
mov cx, 0x224a
xor cx, 0x2917
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x5a], cl
cmp byte [rax], 0
jne 0x14014c998
mov eax, dword [str.fi]
mov ecx, dword [0x14025904c]
mov edx, 0x260811b4
xor edx, 0x4cf55372
sub eax, edx
add eax, ecx
add eax, 0x6afd42c6
mov ecx, 0x650bf122
xor ecx, 0xe061876
or eax, ecx
add eax, 0x51b17d06
and eax, 0xd3ab6f1a
cmp eax, 0x4a4022ee
je 0x14014c9b0
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x5a]
mov edx, dword [0x140259050]
mov r10d, dword [0x140259054]
mov r9d, r10d
xor r9d, 0xffffffff
mov r8d, edx
and r8d, r9d
mov r9d, edx
xor r9d, r10d
add edx, r9d
sub edx, r8d
add edx, 0xe8930ecf
mov r8d, 0x6d72f877
xor r8d, 0xe3dd8015
xor edx, r8d
xor edx, 0x6f46271d
mov dword [rbp - 0x60], edx
mov byte [rax + 0xb], cl
mov ecx, 0x75a
sub rsp, 0x20
call fcn.140068bb0
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x60]
mov byte [rbp - 0x5c], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x5b], cl
cmp eax, 0x6d190b3b
je 0x14014c66e
mov al, byte [rbp - 0x5b]
test al, 1
jne 0x14014c6ff
jmp 0x14014c998
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x5c]
mov byte [rax + 0xc], cl
mov ecx, 0x153
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x61], cl
cmp byte [rax], 0
jne 0x14014c998
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x61]
mov byte [rax + 0xd], cl
mov cx, 0xf27c
xor cx, 0xf652
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x62], cl
mov al, byte [rax]
mov cl, 0xe2
xor cl, 0xe2
cmp al, cl
jne 0x14014c998
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x62]
mov byte [rax + 0xe], cl
mov ecx, 0x74b
sub rsp, 0x20
call fcn.140068bb0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x63], cl
cmp byte [rax], 0
jne 0x14014c998
mov r9, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp - 0x50]
mov r10b, byte [rbp - 0x63]
mov byte [rdx + 0xf], r10b
mov qword [rcx], r8
mov qword [rcx + 8], rax
mov r8d, 4
sub rsp, 0x20
call fcn.14014ba40
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x68], ecx
cmp byte [rax], 0
jne 0x14014c998
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x68]
test eax, eax
setne al
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
test rcx, rcx
sete cl
or al, cl
test al, 1
jne 0x14014c803
jmp 0x14014c893
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402696e8]
mov qword [rcx], rax
lea rax, [0x1402689d8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140268a88]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140268a90]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xb5da9e21f8291219
movabs rdx, 0x4a2561de143439cd
xor rax, rdx
lea rdx, [0x1402689d8]
lea r8, [0x140268a6f]
lea r9, [0x1402689f2]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400127b0
add rsp, 0x30
jmp 0x14014c998
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14014a3e0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x78], rcx
cmp byte [rax], 0
jne 0x14014c998
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
sub rsp, 0x30
mov r8, rsp
mov dword [r8 + 0x28], 5
mov dword [r8 + 0x20], 0
xor r8d, r8d
mov r9d, r8d
mov r8, r9
call rax
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 8]
mov al, byte [rax]
test al, al
sete al
test ecx, ecx
sets cl
and al, cl
test al, 1
jne 0x14014c920
jmp 0x14014c998
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402696e8]
mov qword [rcx], rax
lea rax, [0x1402689d8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140268a88]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140268a90]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402689d8]
lea r8, [0x140268a6f]
lea r9, [0x1402689f2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffd59b9248
call fcn.1400127b0
add rsp, 0x30
lea rsp, [rbp + 0x10]
pop rbp
ret
cmp al, 0xb
invalid
lea edx, [rsi + 0x4be993a9]
sti
invalid
cmc
mov dl, 0x41
shr ecx, cl
mov ch, 0xfc
invalid