Function at 0x14014a7c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x58], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.140149d50
add rsp, 0x20
mov qword [rbp - 0x48], rax
movabs rdx, 0xe846d70be8c716ee
movabs rax, 0xe846d70be8c716e6
xor rdx, rax
lea rcx, [rbp + 8]
sub rsp, 0x20
call fcn.140149ea6
call fcn.1400b428e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x14014adf9
mov rcx, qword [rbp - 0x40]
mov qword [rbp], 0
mov edx, 0x28
mov r8, rbp
mov rax, qword [0x140269788]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x5c], ecx
mov al, byte [rax]
mov cl, 0xb5
xor cl, 0xb5
cmp al, cl
jne 0x14014adf9
mov eax, dword [rbp - 0x5c]
cmp eax, 0
je 0x14014aa0b
mov eax, dword [0x140258f98]
mov ecx, dword [0x140258f9c]
xor ecx, 0x7dace161
mov edx, 0xabd45100
xor edx, 0x542baeff
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0x37e3d617
xor edx, 0x396d4f16
mov r8d, 0x42586217
xor r8d, 0xbda79de8
xor edx, r8d
or eax, ecx
mov ecx, 0x3815e2ad
xor ecx, 0x369b7bac
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xcc93f2f9
xor ecx, 0x1914b26d
imul eax, ecx
mov edx, 0x8d0de946
xor edx, 0x7bdc8f62
mov ecx, 0x575b3140
xor ecx, 0xa8a4cebf
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf6d16624
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x8687ceb2
add eax, ecx
mov ecx, 0x917827bf
xor ecx, 0xff5e69ae
cmp eax, ecx
jbe 0x14014adff
mov eax, dword [0x140258fa0]
mov ecx, dword [0x140258fa4]
add eax, 0x61d5728f
add eax, ecx
sub eax, 0x61d5728f
mov ecx, 0xa92985df
xor edx, edx
div ecx
and eax, 0x3aa0b195
mov ecx, eax
and ecx, 0x2dd9c7a3
mov edx, 0xad1a3d42
xor edx, 0xad1a3d40
imul ecx, edx
xor eax, 0x2dd9c7a3
add eax, ecx
mov dword [rbp - 0x60], eax
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, 0xf0d794042937624b
movabs rdx, 0xf286bfbf808dcc2
xor rax, rdx
lea rdx, [0x1402689d8]
lea r8, [0x140268a13]
lea r9, [0x1402689f2]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400127b0
mov eax, dword [rbp - 0x60]
add rsp, 0x30
cmp eax, 0x17dd99c3
jb 0x14014a927
jmp 0x14014adf9
mov eax, dword [0x140258fa8]
mov edx, dword [0x140258fac]
mov r8d, 0x37232baa
xor r8d, 0xc8dcd455
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
sub eax, 0xa5d1f85b
mov ecx, eax
xor ecx, 0x293cbcdf
xor ecx, 0xffffffff
and ecx, 0x293cbcdf
shl ecx, 1
sub ecx, 0x293cbcdf
sub eax, ecx
mov ecx, 0xc1b25ca3
xor ecx, 0x3e4da35c
mov edx, eax
xor edx, ecx
and edx, 0x93e85768
mov r8d, 0xffffffff
xor r8d, 0x93e85768
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x93e85768
mov r8d, 0xb1c5c5ef
xor r8d, 0x222d9287
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x2d3e6
jbe 0x14014ae08
mov r11d, dword [0x140258fb0]
mov r10d, dword [0x140258fb4]
mov eax, 0xd22dd47
xor eax, 0xf2dd22b8
mov ecx, r11d
xor ecx, eax
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xd452e260
xor edx, 0xacd0449c
mov eax, 0x9245791b
xor eax, 0x6dba86e4
xor edx, eax
mov eax, ecx
and eax, 0x7882a6fc
and r11d, edx
mov r9d, r8d
and r9d, 0x7882a6fc
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x7882a6fc
and ecx, edx
or eax, ecx
mov ecx, 0x97281ff7
xor edx, edx
div ecx
mov ecx, 0x8d237c37
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x58]
mov edx, 0x8c6e6029
xor edx, 0x4944a3dc
add ecx, edx
mov edx, 0x108bbc9c
xor edx, 0xd7be7a42
sub ecx, edx
sub ecx, 0xc52ac3f5
mov dword [rbp - 0x74], ecx
mov rcx, qword [rax]
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x38]
sub rsp, 0x20
call fcn.14014a3e0
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x74]
mov qword [rbp - 0x70], rdx
mov cl, byte [rcx]
mov dl, 0x40
xor dl, 0x40
cmp cl, dl
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x450e696e
je 0x14014aaa5
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14014aba3
jmp 0x14014adf9
mov rdx, qword [rbp - 0x70]
xor eax, eax
mov ecx, eax
lea r8, [rbp + 8]
sub rsp, 0x20
call fcn.1400ac151
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x78], ecx
mov al, byte [rax]
mov cl, 0xd0
xor cl, 0xd0
cmp al, cl
jne 0x14014adf9
mov eax, dword [rbp - 0x78]
cmp eax, 0
jne 0x14014ac81
movabs rcx, 0x132248613c5f541a
movabs rax, 0x132248613c5f545a
xor rcx, rax
movabs rdx, 0xd5f98bbfe247833e
movabs rax, 0xd5f98bbfe2478336
xor rdx, rax
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, [0x140268a13]
lea r9, [0x1402689f2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffaaebb0b5
call fcn.1400127b0
add rsp, 0x30
jmp 0x14014adf9
movabs rdx, 0xd2242c6ec2ea6c8f
movabs rax, 0xd2242c6ec2ea6c83
xor rdx, rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140149ea6
add rsp, 0x20
mov rax, qword [rbp + 8]
mov qword [rbp - 0x10], rax
mov dword [rbp - 8], 2
lea rcx, [rbp - 0x20]
mov edx, 0x10
sub rsp, 0x20
call fcn.140149ea6
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
mov dword [rbp - 0x20], 1
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x1c], rax
mov eax, dword [rbp - 8]
mov dword [rbp - 0x14], eax
mov edx, 0x10
sub rsp, 0x20
call fcn.140149ea6
add rsp, 0x20
mov eax, 0x65346a21
xor eax, 0x65346a21
mov dword [rbp - 0x24], eax
xor eax, eax
mov cl, al
xor cl, 0
sub rsp, 0x20
and cl, 1
call fcn.1400a4e50
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x7c], ecx
cmp byte [rax], 0
jne 0x14014adf9
mov edx, dword [rbp - 0x7c]
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp]
sub rsp, 0x30
mov rax, rsp
lea r9, [rbp - 0x24]
mov qword [rax + 0x28], r9
mov qword [rax + 0x20], r8
lea r8, [rbp - 0x20]
mov r9d, 0x10
call fcn.1400ac315
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov al, byte [rax]
test al, al
sete al
test ecx, ecx
sete cl
and al, cl
test al, 1
jne 0x14014ad81
jmp 0x14014adf9
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, [0x140268a13]
lea r9, [0x1402689f2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x60466f09
call fcn.1400127b0
add rsp, 0x30
dec dword [rax - 0x7d]
invalid
lea rsp, [rbp + 0x10]
pop rbp
ret
ja 0x14014adf4
retf
jg 0x14014ae55
mov ebp, edx
jmp 0x14014aaa5
lea rcx, [rbp - 0x10]
call fcn.140149f40
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x28]
mov al, byte [rax]
test al, al
setne al
or al, cl
test al, 1
jne 0x14014aecd
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x20]
sub rsp, 0x20
call fcn.14014a7c0
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14014aecd
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140149f40
add rsp, 0x20
mov rsp, rbp
pop rbp
ret