Function at 0x14013c580
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
mov rbp, rsp
mov eax, dword [0x14159b438]
mov ecx, dword [0x14159b43c]
mov edx, eax
and edx, ecx
not eax
not ecx
or ecx, eax
not ecx
or ecx, edx
lea eax, [rcx - 0x297c4b0]
mov edx, eax
and edx, 0xaf0a424f
xor eax, 0x50f5bdb0
add eax, ecx
add eax, 0xfd683b50
sub eax, edx
mov ecx, eax
xor ecx, 0xd8a795dd
or eax, 0x27586a22
and eax, ecx
cmp eax, 0xb07a9e9a
ja 0x14013c63d
mov eax, dword [0x14159b440]
xor eax, dword [0x14159b444]
add eax, 0x108a8942
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf5c7b1b9
and ecx, 0xa384e46
imul ecx, edx
mov edx, eax
and edx, 0xa384e46
or eax, 0xa384e46
imul eax, edx
add eax, ecx
imul rcx, rax, 0xde0f39d
shr rcx, 0x3b
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x18ef4075
jne 0x14013c65c
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x14013c5d2
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x48]
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14013c680
cmp rcx, 0xffffffffffffffff
je 0x14013c899
lea r10, [rcx + 1]
lea r8, [rcx + rcx]
nop word cs:[rax + rax]
mov eax, dword [0x14159b448]
xor edx, edx
div dword [0x14159b44c]
and eax, 0x838bb06e
xor eax, 0x309906e
cmp eax, 0x1d882d59
je 0x14013c6a0
cmp r8, r10
cmove r8, r10
test rcx, rcx
cmovle r8, r10
cmp r8, 5
mov edi, 4
cmovae rdi, r8
xor edx, edx
mov rax, rdi
shr rax, 0x3b
sete dl
mov r8, rdi
shl r8, 4
shl rdx, 3
test rcx, rcx
je 0x14013c756
shl rcx, 4
mov eax, dword [0x1415acbd4]
mov r10, qword gs:[0x58]
mov rax, qword [r10 + rax*8]
mov rax, qword [rax + 0x50]
mov qword [r9], rax
nop word [rax + rax]
mov eax, dword [0x14159b450]
mov r10d, dword [str.fI_H]
mov r11d, eax
and r11d, r10d
or eax, r10d
add eax, r11d
or eax, 0xa165cfe8
imul eax, eax, 0x2b319734
cmp eax, 0xef5750f3
je 0x14013c720
mov qword [r9 + 0x10], rcx
mov eax, 8
jmp 0x14013c758
xor eax, eax
mov qword [r9 + 8], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.14020b2a0
add rsp, 0x20
cmp qword [rsi], 0
jne 0x14013c899
nop word cs:[rax + rax]
mov eax, dword [0x14159b460]
xor edx, edx
div dword [0x14159b464]
mov ecx, eax
xor ecx, 0x86014040
xor eax, 0x397abda3
mov edx, eax
and edx, 0x409c023c
and ecx, 0xbf63fdc3
imul ecx, edx
mov edx, eax
and edx, 0xbf63fdc3
or eax, 0xbf63fdc3
imul eax, edx
add eax, ecx
mov ecx, eax
or ecx, 0x2ce1af44
not eax
or eax, 0xd31e50bb
and eax, ecx
cmp eax, 0xcb1dc277
ja 0x14013c780
mov rax, qword [rsi + 8]
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x50], rax
mov eax, dword [0x14159b468]
mov ecx, dword [0x14159b46c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
add eax, 0xbb222b15
cmp eax, 0x55be68d5
jae 0x14013c830
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x48], rdi
mov eax, 0x843941b9
nop word cs:[rax + rax]
mov ecx, dword [0x14159b470]
mov edx, dword [0x14159b474]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
imul ecx, ecx, 0xfe05e1e4
add ecx, 0xa2df3334
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
mov edx, dword [0x1415acbd4]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov qword [rdx + 0x48], rdi
cmp ecx, 0xfd52055f
je 0x14013c840
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
test al, al
jne 0x14013c8de
mov eax, dword [0x14159b458]
mov ecx, dword [0x14159b45c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xf380a3ad
and eax, 0x8976f135
ud2
ud2