Function at 0x14014db40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov eax, dword [0x1401e0d88]
xor eax, 0x2c810993
mov edx, dword [0x1401e0d8c]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0x5dd0a5c8
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf272cd25
xor edx, 0xa3cf6990
and edx, ecx
mov r8d, 0x6713c0ae
xor r8d, 0x36ae641b
mov ecx, 0xb15d7601
xor ecx, 0x4ea289fe
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x51bda4b5
or eax, 0x51bda4b5
imul eax, edx
add eax, ecx
mov ecx, 0x6cf67664
xor ecx, 0x7430f7eb
add eax, ecx
mov ecx, 0x90ee8d67
xor ecx, 0x9de3063e
sub eax, ecx
mov ecx, 0x7025148a
xor ecx, 0x68e39505
sub eax, ecx
cmp eax, 0x8995abb3
je 0x14014e34a
mov ecx, dword [0x1401e0d90]
mov eax, dword [0x1401e0d94]
or ecx, eax
mov edx, ecx
and edx, 0x602c9326
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx - 0x1fd36cda]
or eax, 0x23afdfab
mov dword [rbp + 0x34], eax
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.14014e5aa
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0x34]
add rcx, 0x60
mov qword [rbp + 0x38], rcx
mov rcx, qword [0x14025fcd0]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x47], cl
cmp eax, 0xa41a6d87
je 0x14014dbea
mov al, byte [rbp + 0x47]
test al, 1
jne 0x14014dcc1
jmp 0x14014dd57
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012010
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401ee790]
mov qword [rcx], rax
lea rax, [0x1401ede38]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401edee8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401edef0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x7fac2cc32f0b4622
movabs rdx, 0x7fac2cc3565571fc
xor rax, rdx
lea rdx, [0x1401ede38]
lea r8, [0x1401edef8]
lea r9, [0x1401ede53]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140011f4f
add rsp, 0x30
xor eax, eax
mov qword [rbp - 8], rax
jmp 0x14014e310
mov rcx, qword [rbp]
mov rax, qword [0x1401edf08]
mov qword [rcx], rax
mov rax, qword [0x1401edf10]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14002fe90
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov cl, byte [rcx]
mov dl, 0x8d
xor dl, 0x8d
cmp cl, dl
mov qword [rbp - 8], rax
jne 0x14014e310
mov ecx, 8
mov edx, 4
sub rsp, 0x20
call fcn.140012010
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov rdx, rax
mov qword [rbp - 0x28], rdx
mov dword [rdx + 4], 2
sub rsp, 0x20
call fcn.140069f00
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x18], rcx
mov al, byte [rax]
mov cl, 0x76
xor cl, 0x76
cmp al, cl
jne 0x14014df6f
mov rax, qword [rbp - 0x20]
add rax, 0xffffffff80000000
movabs rcx, 0x8e66833082b3649d
movabs rdx, 0x71997ccf82b3649d
xor rcx, rdx
cmp rax, rcx
jae 0x14014de41
mov rcx, qword [rbp - 0x20]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x14014df6f
mov rax, qword [rbp - 0x20]
cmp rax, 1
jge 0x14014de72
mov rdx, qword [rbp - 0x20]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14014df6f
mov rcx, qword [rbp - 0x10]
mov r11, qword [rbp - 0x18]
mov rax, qword [rbp - 0x20]
mov esi, eax
add r11, 8
mov rax, qword [0x1401eeaf0]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x1401eeaf0]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140094400
mov rax, qword [rbp + 0x38]
add rsp, 0x50
mov al, byte [rax]
mov cl, 0x21
xor cl, 0x21
cmp al, cl
jne 0x14014df6f
mov rcx, qword [rbp - 0x10]
mov rax, qword [0x1401eeaf0]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x1401eeaf0]
mov rax, qword [rax]
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
sub rsp, 0x50
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140094400
add rsp, 0x50
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.140083f01
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp rax, 0
je 0x14014dfba
mov rcx, qword [rbp - 0x18]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14014dfba
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x38]
cmp byte [rcx], 0
mov qword [rbp - 8], rax
jne 0x14014e310
mov rax, qword [0x14025fcd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x30], rcx
cmp qword [rax + 8], 0
je 0x14014e18f
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14014e5c0
add rsp, 0x20
mov rax, qword [0x14025fcd0]
mov qword [rbp - 0x40], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 1
jge 0x14014e153
mov eax, dword [0x1401e0d98]
mov ecx, 0x49c250f2
xor ecx, 0x7d91e975
xor eax, ecx
mov r8d, dword [0x1401e0d9c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4c653f41
xor edx, edx
div ecx
mov ecx, 0xa856d366
xor edx, edx
div ecx
mov ecx, 0xe3f32f0
xor ecx, 0x922ab7cc
sub eax, ecx
cmp eax, 0xec0d84d6
jae 0x14014e353
mov eax, dword [0x1401e0da0]
xor edx, edx
div dword [0x1401e0da4]
xor ecx, ecx
sub ecx, eax
mov eax, 0xb15f02b3
xor eax, 0xb15f02b3
mov edx, 0x366aa3c6
xor edx, 0x2db18a08
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xfea974e0
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x38]
mov ecx, 0x42d97aae
xor ecx, 0x6ae2d856
mov r8d, 0x15a3d0e7
xor r8d, 0xea5c2f18
xor ecx, r8d
mov r8d, 0x8d17003d
xor r8d, 0x8d17003d
mov r9d, 0x32ce270c
xor r9d, 0x32ce270d
sub r8d, r9d
sub ecx, r8d
sub eax, ecx
mov dword [rbp - 0x44], eax
mov eax, 0xbe837bb2
xor eax, 0xedc92665
mov dword [rbp - 0x48], eax
movabs rax, 0xf86a1821625a3f38
movabs rcx, 0x795e7de9da5c0c7
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012270
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, ecx
je 0x14014e084
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rax
jmp 0x14014e310
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x3991113b052b33b7
sub rsp, 0x20
call fcn.1400935e0
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 8], rax
jne 0x14014e310
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x10]
mov r8, qword [rax + 0x58]
mov qword [rdx], r8
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001b4f8
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140126530
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov dl, byte [rax]
mov byte [rbp - 0x4b], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400e6f5d
mov rcx, qword [rbp + 0x38]
mov al, byte [rbp - 0x4b]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x95
xor dl, 0x94
mov byte [rbp - 0x4a], dl
cmp cl, 0
mov byte [rbp - 0x49], al
je 0x14014e219
mov al, byte [rbp - 0x4a]
mov byte [rbp - 0x49], al
mov rax, qword [rbp + 0x38]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x59], cl
mov byte [rax], 0
mov rax, qword [0x14025fcd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x58], rcx
cmp qword [rax + 8], 0
je 0x14014e2ff
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14014e5c0
add rsp, 0x20
mov rax, qword [0x14025fcd0]
mov qword [rbp - 0x70], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
movabs rcx, 0xd56ee7076147e0a1
movabs rdx, 0xd56ee7076147e0a0
xor rcx, rdx
cmp rax, rcx
jge 0x14014e2c3
mov rdx, qword [rbp - 0x68]
movabs rax, 0x98c482e81c1c149d
movabs rcx, 0x673b7d17e3e3eb62
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012270
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp - 8], rax
jmp 0x14014e310
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x3991b220059b33b7
sub rsp, 0x20
call fcn.1400935e0
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 8], rax
jne 0x14014e310
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x38]
mov dl, byte [rbp - 0x59]
mov byte [rcx], dl
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp - 8]
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14002e55c
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14014e343
mov rax, qword [rbp + 0x38]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
lea rsp, [rbp + 0x48]
pop rsi
pop rbp
ret
in al, 0xd1
invalid
clc
jge 0x14014e3b6
jmp 0x14014e084