Function at 0x1400f4e20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
call fcn.1400dd2c0
mov qword [rsp + 0x70], rax
mov ecx, 0x926b
mov edx, 0x40ed
call fcn.140065320
mov cx, ax
mov rax, qword [rsp + 0x70]
mov word [rsp + 0x7e], cx
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x1400f520f
mov rcx, qword [rsp + 0x60]
mov ax, word [rsp + 0x7e]
mov dl, al
call fcn.1400df3b4
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jne 0x1400f4f70
mov eax, dword [0x140251800]
or eax, dword [0x140251804]
xor eax, 0x4d5fd9a0
mov r8d, 0xffffffff
xor r8d, 0xa902b7a1
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd08d377f
xor r8d, 0x2f72c880
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa902b7a1
or eax, 0xa902b7a1
imul eax, edx
add eax, ecx
or eax, 0xe4dbe352
cmp eax, 0x1a78305e
jb 0x1400f5218
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140251808]
xor eax, dword [0x14025180c]
mov r8d, 0xe47744b5
xor edx, edx
div r8d
mov r8d, 0x96864db7
xor edx, edx
div r8d
mov edx, 0xc1ee259f
xor edx, 0xbcdb8209
sub eax, edx
mov cl, byte [rcx]
mov byte [rsp + 0x3f], cl
cmp eax, 0x594f36c2
jb 0x1400f4f1e
mov al, byte [rsp + 0x3f]
mov byte [rsp + 0x3e], al
jmp 0x1400f518b
mov eax, dword [0x140251810]
mov ecx, 0x50d60f4
xor ecx, 0x170948c6
xor eax, ecx
mov ecx, dword [0x140251814]
mov edx, 0x6ca19274
xor edx, 0x1e759b3d
xor ecx, edx
imul eax, ecx
mov ecx, 0xc220b173
xor ecx, 0x6c8d54d5
sub eax, ecx
add eax, 0x6af12620
mov ecx, 0xc6221376
xor ecx, 0x688ff6d0
add eax, ecx
mov ecx, eax
xor ecx, 0xd159f958
xor ecx, 0xffffffff
or eax, 0xd159f958
and eax, ecx
xor eax, 0x6acfc115
cmp eax, 0x1ec3cbc8
je 0x1400f5221
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov r8d, dword [0x140251818]
mov r9d, dword [0x14025181c]
xor r9d, 0x72eae49e
mov edx, r8d
xor edx, r9d
xor r9d, 0xffffffff
and r8d, r9d
shl r8d, 1
sub r8d, edx
mov r10d, 0xbb30b0ac
xor r10d, 0xd3869756
mov edx, 0x64a65c5f
xor edx, 0x9b59a3a0
xor r10d, edx
mov r9d, r8d
and r9d, r10d
mov edx, r8d
or edx, r10d
mov r10d, 0x468e9a6a
xor r10d, 0xb9716595
xor edx, r10d
imul edx, r9d
mov r9d, r8d
and r9d, 0x68b627fa
or r8d, 0x68b627fa
imul r8d, r9d
add r8d, edx
mov r9d, 0x6f785208
xor r9d, 0xa3d4d4a2
mov edx, 0x929b2f2a
xor edx, 0x6d64d0d5
xor r9d, edx
mov edx, r8d
xor edx, r9d
and edx, r8d
or edx, 0xd174f1e4
mov dword [rsp + 0x38], edx
mov rax, qword [rax]
mov rdx, qword [rax + rcx*8 + 8]
lea rcx, [rsp + 0x80]
call fcn.1401566d0
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3d], cl
cmp eax, 0xade44ea4
jbe 0x1400f4fda
mov cl, byte [rsp + 0x3d]
mov al, 1
test cl, 1
mov byte [rsp + 0x3e], al
jne 0x1400f50d9
jmp 0x1400f518b
mov cx, 0xfc9a
xor cx, 0xf6a5
call fcn.1400623e7
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x3e], al
jne 0x1400f518b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jge 0x1400f5155
mov ecx, 0x8c91
mov edx, 0x5e60
call fcn.140065320
mov cx, ax
mov rax, qword [rsp + 0x70]
mov word [rsp + 0x2e], cx
mov cl, byte [rax]
mov dl, 0x64
xor dl, 0x64
mov al, 1
cmp cl, dl
mov byte [rsp + 0x3e], al
jne 0x1400f518b
mov rcx, qword [rsp + 0x60]
mov ax, word [rsp + 0x2e]
mov dl, al
call fcn.1400df3b4
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
call fcn.1400f4d2c
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov dl, byte [rax]
add rcx, 1
mov al, 1
cmp dl, 0
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x3e], al
je 0x1400f4ea9
mov rax, qword [rsp + 0x70]
mov cl, byte [rsp + 0x3e]
mov byte [rsp + 0x2d], cl
mov byte [rax], 0
mov rcx, qword [rsp + 0x80]
call fcn.140156330
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x1400f51f9
mov al, byte [rsp + 0x2d]
mov rcx, qword [rsp + 0x70]
mov byte [rcx], al
cmp al, 0
jne 0x1400f51f9
mov ecx, 0xe53c
mov edx, 0x37bc
call fcn.140065320
mov cx, ax
mov rax, qword [rsp + 0x70]
mov word [rsp + 0x2a], cx
mov al, byte [rax]
mov cl, 0xf2
xor cl, 0xf2
cmp al, cl
je 0x1400f51fe
jmp 0x1400f520f
jmp 0x1400f520f
mov rcx, qword [rsp + 0x60]
mov ax, word [rsp + 0x2a]
mov dl, al
call fcn.1400df3b4
nop
add rsp, 0x88
ret
rcr dword [rsi], 1
pop rdi
push rbp
jmp 0x1400f4f1e
or dword [rax + rcx*8], 0xffffffec
jmp 0x1400f4fda