Function at 0x1400e0a70
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
xchg rbx, rbp
mov qword [rsp + 0x10], rbp
xchg rbx, rbp
push rdi
nop
add rsp, 0x3aec8008
sub rsp, 0x3aec8028
xchg rdx, rdi
mov rdx, rdi
xchg rdx, rdi
mov rbx, rcx
test rcx, rcx
mov dword [rsp - 0x34], ecx
je 0x1400e0edf
test rdx, rdx
je 0x1400e0edf
xchg rdx, rdx
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x1400e0edf
xchg r15, r15
lea rax, [rcx*8]
mov qword [rsp + 0x30], rsi
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x21
add byte [rcx + rbx + 0x50], 0x45
sub byte [rcx + rbx + 0x50], 0x43
add byte [rcx + rbx + 0x50], 0x5d
mov rax, qword [rbx + 0x48]
inc rax
mov qword [rbx + 0x48], rax
mov dword [rsp - 0x1c], 0x44785c05
cmp rax, 0x70
jbe 0x1400e0b86
cmp rax, 0x80
jae 0x1400e0b59
mov rbp, rbp
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x38
sub byte [rax + rbx + 0x50], 0x1e
add byte [rax + rbx + 0x50], 0x4e
sub byte [rax + rbx + 0x50], 0x68
xchg r10, rax
mov r10, qword [rbx + 0x48]
xchg r10, rax
inc rax
xchg r9, rax
mov qword [rbx + 0x48], r9
xchg r9, rax
cmp rax, 0x80
mov rsi, rsi
jb 0x1400e0b23
lea rsi, [rbx + 0x50]
xchg r11, rbx
mov rcx, r11
xchg r11, rbx
xchg rsi, rdx
mov rsi, rdx
xchg rdx, rsi
call fcn.1400df5c0
xchg rdi, rdi
xor eax, eax
xchg rsi, rax
mov qword [rbx + 0x48], rsi
xchg rsi, rax
jmp 0x1400e0b9f
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x24], 0x3a273faa
mov byte [rax + rbx + 0x50], 2
xor byte [rax + rbx + 0x50], 0x76
sub byte [rax + rbx + 0x50], 0x1c
sub byte [rax + rbx + 0x50], 0x1f
sub byte [rax + rbx + 0x50], 0x39
mov rax, qword [rbx + 0x48]
inc rax
mov rdi, rdi
xchg rdx, rax
mov qword [rbx + 0x48], rdx
xchg rdx, rax
cmp rax, 0x78
mov dword [rsp - 0x10], 0x56a973b0
jb 0x1400e0b9f
movzx eax, byte [rbx + 7]
xchg rsi, rcx
mov rdx, rcx
xchg rcx, rsi
mov byte [rbx + 0xc8], al
mov dword [rsp - 0x34], 0x292a37b0
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
mov dword [rsp - 0xc], 0x2d7c44cd
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
mov rdi, rdi
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
xchg rbp, rbp
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov dword [rsp - 0x10], edi
mov byte [rbx + 0xcf], al
call fcn.1400df5c0
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
xchg r15, r15
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov rdx, rdx
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
xchg r15, r15
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov dword [rsp - 0x3c], ecx
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov r8, r8
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov dword [rsp - 0x14], 0x67d14184
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
xchg rdi, rdi
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
mov r10, r10
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
xchg rcx, rcx
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
xchg rbp, rbp
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
xchg rdi, rdi
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov r10, r10
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
xchg rbx, rbx
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov dword [rsp - 0x38], 0x154cb4c6
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
mov dword [rsp - 0x3c], 0x598c10bd
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
mov dword [rsp - 0x2c], ecx
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov dword [rsp - 0x38], 0x4a75bef3
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov dword [rsp - 0x24], ebp
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
xchg r11, r11
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov dword [rsp - 0x3c], 0x684b34a5
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov rsi, rsi
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
mov dword [rsp - 0x18], 0x7c126b97
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
mov rdx, rdx
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
mov dword [rsp - 0x14], ebx
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov dword [rsp - 0x28], edi
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov dword [rsp - 0x34], 0x433efc87
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov dword [rsp - 0x34], esp
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
xchg rcx, rsi
mov rcx, qword [rsp + 0x30]
xchg rsi, rcx
mov byte [rdi + 0x30], al
xchg r15, r15
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov dword [rsp - 0x38], 0x2a9ae7f0
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
mov dword [rsp - 0x1c], esp
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
xchg rsp, rsp
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
xchg rsp, rsp
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov r8, r8
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov dword [rsp - 0x2c], 0x51a47d87
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov dword [rsp - 0x1c], ebx
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
xchg rdx, rdx
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov dword [rsp - 0x18], 0x3be834e5
add rsp, 0x20
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x40bda6df
add eax, 0x365dae14
sub eax, 0x582b9a86
add eax, 0x4cf11bec
sub eax, 0x6be0d658
sub rsp, 0xffffffffffffffe0
mov r12, r12
pop rdi
ret