Function at 0x1400fc510
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
movzx eax, byte [0x141ddc4f8]
mov eax, dword [0x141dcf090]
or eax, dword [0x141dcf094]
or eax, 0x4c248c0
and eax, 0x4eac8c1
cmp eax, 0x71a0e3ed
jne 0x1400fc550
mov edx, 0x38
xor ecx, ecx
call fcn.1400c0a10
nop word cs:[rax + rax]
mov eax, dword [0x141dcf098]
imul eax, dword [0x141dcf09c]
xor eax, 0x900864e1
add eax, 0x150c4b0f
imul rsi, rax, 0x2017ad7f
shr rsi, 0x3c
mov edx, 0x38
xor ecx, ecx
call fcn.1400c0a10
cmp esi, 0x55e4478d
je 0x1400fc550
mov rcx, rax
nop dword [rax]
mov eax, dword [0x141dcf0a0]
sub eax, dword [0x141dcf0a4]
add eax, 0x5ff395b3
cmp eax, 0x65d06c9e
ja 0x1400fc590
test rcx, rcx
je 0x1400fc759
mov eax, dword [0x141dcf0b8]
xor edx, edx
div dword [0x141dcf0bc]
add eax, 0x67d4d73e
imul rax, rax, 0x5f958e37
shr rax, 0x3e
cmp eax, 0xfe679155
jbe 0x1400fc5e0
mov qword [rcx], 1
nop dword [rax]
mov eax, dword [0x141dcf0c0]
or eax, dword [0x141dcf0c4]
xor eax, 0x1d8ca6ea
add eax, 0x6faccae9
or eax, 0x9b20b54d
mov qword [rcx], 1
cmp eax, 0x93f20af
jb 0x1400fc5e0
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 2
mov rdx, qword [0x141ddc4c0]
mov eax, dword [0x141dcf0c8]
or eax, dword [0x141dcf0cc]
imul eax, eax, 0x7b4a8b26
xor eax, 0x6100979
and eax, 0xce941dfb
cmp eax, 0x60d6e7fd
jb 0x1400fc620
nop word cs:[rax + rax]
cmp rdx, 0xffffffffffffffff
je 0x1400fc703
mov eax, dword [0x141dcf0d0]
add eax, dword [0x141dcf0d4]
xor eax, 0x8fe04e
add eax, 0xe46b6a7b
cmp eax, 0xe81bcabe
jbe 0x1400fc690
lea r8, [rdx + 1]
mov rax, rdx
lock cmpxchg qword [0x141ddc4c0], r8
nop word [rax + rax]
mov eax, dword [0x141dcf0d8]
imul eax, dword [0x141dcf0dc]
add eax, 0x4f0d98d1
imul r10, rax, 0x3a709df3
shr r10, 0x3c
or r10d, 0x2ad40598
lea r8, [rdx + 1]
mov rax, rdx
lock cmpxchg qword [0x141ddc4c0], r8
sete r9b
cmp r10d, 0x42f61d15
ja 0x1400fc690
mov rdx, rax
test r9b, r9b
je 0x1400fc650
mov eax, dword [0x141dcf0f0]
add eax, dword [0x141dcf0f4]
or eax, 0x8111d649
add eax, 0xbbb5b737
cmp eax, 0xf089a5ac
jbe 0x1400fc7ac
jmp 0x1400fc7f4
mov eax, dword [0x141dcf0e0]
add eax, dword [0x141dcf0e4]
or eax, 0xfeafdfbb
and eax, 0xfeafffff
cmp eax, 0x47a75027
jae 0x1400fc730
ud2
mov eax, dword [0x141dcf0e8]
xor edx, edx
div dword [0x141dcf0ec]
xor eax, 0x6d2c45b3
imul eax, eax, 0xd5f0ac94
and eax, 0xb61d5b3c
ud2
mov eax, dword [0x141dcf0a8]
and eax, dword [0x141dcf0ac]
add eax, 0x5609b4ed
or eax, 0x7926ecd0
cmp eax, 0x4e698046
jne 0x1400fc778
ud2
mov eax, 0xb72507fb
nop dword [rax]
mov ecx, dword [0x141dcf0b0]
sub ecx, dword [0x141dcf0b4]
and ecx, 0xcc74b8a1
add ecx, 0x92a5d4fe
imul rcx, rax
shr rcx, 0x3f
ud2
ud2
mov eax, dword [0x141dcf0f8]
or eax, dword [0x141dcf0fc]
or eax, 0x7faeedff
mov edx, 0xc25cb553
imul rdx, rax
mov qword [rcx + 0x28], r8
mov byte [rcx + 0x30], 0
mov eax, dword [0x141ddc4fc]
mov r9, qword gs:[0x58]
mov rax, qword [r9 + rax*8]
shr rdx, 0x3f
mov qword [rax + 0x88], r8
cmp edx, 0x37416f80
jne 0x1400fc818
mov qword [rcx + 0x28], r8
mov byte [rcx + 0x30], 0
mov eax, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov qword [rax + 0x88], r8
jmp 0x1400fc7ac
cmp qword [rax + 0x90], 0
jne 0x1400fc7aa
mov eax, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov qword [rax + 0x90], rcx
nop dword [rax]
mov eax, dword [0x141dcf100]
xor edx, edx
div dword [0x141dcf104]
or eax, 0xffffbf2b
cmp eax, 0x88c75a27
jb 0x1400fc840
add rsp, 0x20
pop rsi
ret