Function at 0x1400fc160
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov eax, dword [0x141dcf038]
mov ecx, dword [0x141dcf03c]
add eax, ecx
add eax, 0xa35ae9b4
xor eax, 0x13670844
and eax, 0x1bef29c5
cmp eax, 0xcc3fd71
jne 0x1400fc1a0
xor eax, eax
call fcn.1400f07c0
sub rsp, rax
nop word [rax + rax]
mov ecx, dword [0x141dcf040]
and ecx, dword [0x141dcf044]
xor ecx, 0x6700d04
and ecx, 0x66750d15
xor ecx, 0x820e739c
xor eax, eax
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x84ac7a0
jb 0x1400fc1a0
xor eax, eax
test al, al
jne 0x1400fc215
mov eax, dword [0x141dcf048]
xor edx, edx
div dword [0x141dcf04c]
imul eax, eax, 0x5e46b1ec
xor eax, 0x2a3aa70c
imul rcx, rax, 0x2644463
shr rcx, 0x37
mov eax, 0x30
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x58905d56
jbe 0x1400fc224
mov eax, 0x30
call fcn.1400f07c0
sub rsp, rax
jmp 0x1400fc1d9
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov rdi, rsp
mov eax, dword [0x141ddc4fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x40], 0
jne 0x1400fc33e
mov eax, dword [0x141ddc4fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x40], 0xffffffffffffffff
mov rcx, qword [0x140103600]
mov rsi, qword [rax + 0x58]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf050]
sub eax, dword [0x141dcf054]
cmp eax, 0x161b510e
je 0x1400fc290
mov eax, dword [0x141ddc4fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x48]
mov ecx, 0x9aa57331
nop word cs:[rax + rax]
mov edx, dword [0x141dcf058]
and edx, dword [0x141dcf05c]
and edx, 0x300f6ae9
add edx, 0xc315916e
mov r8, rdx
imul r8, rcx
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x19
cmp edx, 0x3990b0c3
ja 0x1400fc2d0
cmp rsi, rax
jne 0x1400fc337
mov eax, dword [0x141dcf078]
xor eax, dword [0x141dcf07c]
imul eax, eax, 0x7e682957
add eax, 0x33835023
or eax, 0x25215b06
cmp eax, 0x53afdfe4
jae 0x1400fc430
jmp 0x1400fc463
xor ecx, ecx
jmp 0x1400fc4af
mov dword [rdi], 0
mov byte [rdi + 4], 0
lea rax, [0x141dbacc0]
mov qword [rsi], rax
mov qword [rsi + 8], 1
mov qword [rsi + 0x20], 0
mov eax, dword [0x141dcf060]
sub eax, dword [0x141dcf064]
add eax, 0x75bce3cb
imul rax, rax, 0x784fad3b
shr rax, 0x3d
or eax, 0x27e317b1
cmp eax, 0xbbb93a06
jbe 0x1400fc3c0
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.1400893a0
mov rcx, rax
call fcn.1400897c0
add rsp, 0x20
mov ecx, 7
int 0x29
nop dword [rax + rax]
mov eax, dword [0x141dcf068]
sub eax, dword [0x141dcf06c]
imul r14d, eax, 0x1ea625d8
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.1400893a0
mov rcx, rax
call fcn.1400897c0
add rsp, 0x20
mov ecx, 7
int 0x29
cmp r14d, 0xbc68f777
je 0x1400fc3c0
nop word [rax + rax]
mov eax, dword [0x141dcf070]
add eax, dword [0x141dcf074]
imul eax, eax, 0x7dc3e783
add eax, 0xf63c28e6
cmp eax, 0xdfcbc561
jb 0x1400fc410
ud2
mov edi, dword [0x141dcf080]
sub edi, dword [0x141dcf084]
or edi, 0x3908991
add edi, 0xed5f9846
or edi, 0xe9b0639f
sub rsp, 0x20
call fcn.14008b890
add rsp, 0x20
cmp edi, 0x5f2638fd
jne 0x1400fc472
sub rsp, 0x20
call fcn.14008b890
add rsp, 0x20
jmp 0x1400fc430
mov eax, dword [0x141ddc4fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x40]
inc rcx
nop
mov eax, dword [0x141dcf088]
xor edx, edx
div dword [0x141dcf08c]
add eax, 0xc3744441
and eax, 0x30010416
cmp eax, 0x728376e
je 0x1400fc490
mov eax, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov rdx, qword [rax + 0x50]
mov r8, rsi
shl r8, 4
lea r9, [rax + 0x90]
mov qword [rdx + r8], r9
lea r9, [0x14008bd40]
mov qword [rdx + r8 + 8], r9
inc rsi
mov qword [rax + 0x58], rsi
mov qword [rax + 0x40], rcx
mov byte [rax + 0x98], 1
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret