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

Disassembly:
push rbp
push rdi
push rsi
sub rsp, 0x440
mov rbp, rsp
mov qword [rbp + 0x460], rcx
mov qword [rbp + 0x468], rdx
mov qword [rbp + 0x470], r8
mov byte [rbp + 0x478], r9b
mov byte [rbp + 0x43f], 1
mov rcx, qword [rbp + 0x460]
movzx rdx, byte [rbp + 0x43f]
call fcn.00717ec0
movzx rcx, byte [rbp + 0x43f]
mov byte [rcx + rbp + 0x24], al
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x41
jne 0x7183a0
nop
mov byte [rbp + 0x43f], 1
mov rcx, qword [rbp + 0x470]
lea rax, [0x0080e16f]
movzx rdx, byte [rbp + 0x43f]
movzx rdx, byte [rax + rdx]
call fcn.00717ec0
movzx rcx, byte [rbp + 0x43f]
mov byte [rcx + rbp + 0x404], al
mov rcx, qword [rbp + 0x470]
lea rax, [0x0080e16f]
movzx rdx, byte [rbp + 0x43f]
add edx, 0x1c
mov edx, edx
movzx rdx, byte [rax + rdx]
call fcn.00717ec0
movzx rcx, byte [rbp + 0x43f]
mov byte [rcx + rbp + 0x420], al
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x1d
jne 0x7183d8
nop
mov byte [rbp + 0x43f], 1
lea rcx, [rbp + 0x25]
movzx rdx, byte [rbp + 0x43f]
movzx rax, byte [rbp + 0x43f]
add rax, rax
lea rax, [rax + rax*2]
lea r8, [rbp + rax*8 + 0x75]
call fcn.00718290
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x11
jne 0x718453
nop
mov byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x20
ja 0x7184c4
movzx rax, byte [rbp + 0x43f]
lea rcx, [0x0080e09f]
movzx rdx, byte [rbp + 0x43f]
movzx rcx, byte [rcx + rdx]
movzx rcx, byte [rcx + rbp + 0x24]
mov byte [rax + rbp + 0x3a4], cl
jmp 0x7184f3
movzx rax, byte [rbp + 0x43f]
sub eax, 0x20
movsxd rax, eax
lea rcx, [0x0080e09f]
movzx rdx, byte [rbp + 0x43f]
movzx rcx, byte [rcx + rdx]
movzx rcx, byte [rcx + rbp + 0x24]
mov byte [rax + rbp + 0x3c4], cl
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x41
jne 0x718490
nop
mov byte [rbp + 0x43d], 1
cmp byte [rbp + 0x478], 0
je 0x71853d
lea rcx, [rbp + 0x3c5]
movzx rax, byte [rbp + 0x43d]
add rax, rax
lea rax, [rax + rax*2]
lea rdx, [rbp + rax*8 + 0x75]
lea r8, [rbp + 0x3e5]
call fcn.00717f90
jmp 0x71856e
lea rcx, [rbp + 0x3c5]
mov eax, 0x11
movzx rdx, byte [rbp + 0x43d]
sub eax, edx
movsxd rax, eax
add rax, rax
lea rax, [rax + rax*2]
lea rdx, [rbp + rax*8 + 0x75]
lea r8, [rbp + 0x3e5]
call fcn.00717f90
mov byte [rbp + 0x43f], 1
movzx rax, byte [rbp + 0x43f]
lea rax, [rax + rbp + 0x3e4]
movzx rcx, byte [rbp + 0x43f]
movzx rcx, byte [rcx + rbp + 0x3a4]
xor byte [rax], cl
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x21
jne 0x718575
nop
lea rdi, [rbp + 0x3a5]
lea rsi, [rbp + 0x3c5]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
lea rdi, [rbp + 0x3c5]
lea rsi, [rbp + 0x3e5]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
add byte [rbp + 0x43d], 1
cmp byte [rbp + 0x43d], 0x11
jne 0x71850b
nop
mov byte [rbp + 0x43f], 1
lea rax, str._a__b0
movzx rcx, byte [rbp + 0x43f]
movzx rax, byte [rax + rcx]
mov byte [rbp + 0x43e], al
cmp byte [rbp + 0x43e], 0x20
ja 0x718633
movzx rax, byte [rbp + 0x43f]
movzx rcx, byte [rbp + 0x43e]
movzx rcx, byte [rcx + rbp + 0x3c4]
mov byte [rax + rbp + 0x64], cl
jmp 0x718656
movzx rax, byte [rbp + 0x43f]
movzx rcx, byte [rbp + 0x43e]
sub ecx, 0x20
movsxd rcx, ecx
movzx rcx, byte [rcx + rbp + 0x3a4]
mov byte [rax + rbp + 0x64], cl
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x41
jne 0x7185f1
nop
mov byte [rbp + 0x43f], 1
mov rcx, qword [rbp + 0x468]
movzx rdx, byte [rbp + 0x43f]
movzx rax, byte [rbp + 0x43f]
movzx r8, byte [rax + rbp + 0x64]
call fcn.00717f10
add byte [rbp + 0x43f], 1
cmp byte [rbp + 0x43f], 0x41
jne 0x71866e
nop
lea rsp, [rbp + 0x440]
pop rsi
pop rdi
pop rbp
ret