Function at 0x140031aa0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
xchg r11, rcx
mov qword [rsp + 8], r11
xchg rcx, r11
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r13
push r14
nop
push 0x6162627c
mov qword [rsp], r15
sub rsp, 0x40
mov rbx, r8
xchg rdx, r12
mov rsi, r12
xchg r12, rdx
xchg rbp, r13
mov rbp, rcx
xchg rbp, r13
xchg rsi, rdx
mov rsi, qword [rcx]
xchg rsi, rdx
mov r15, rsi
sub r15, rdx
xchg rbp, rax
mov rbp, qword [rcx + 8]
xchg rbp, rax
sub rax, rdx
sar rax, 1
sar rax, 1
sar rax, 2
movabs r14, 0xfffffff7fb8b834
sub r14, 0x566dcb78
add r14, 0x1e0a2966
sub r14, 0x208d86e9
add r14, 0x4cf6f09b
add r14, 0x7fffffff
add r14, 0xc41802c
cmp rax, r14
je 0x140031dfb
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg rcx, rdx
mov rcx, rdx
xchg rdx, rcx
shr rdx, 1
xchg r11, r14
mov rax, r11
xchg r14, r11
sub rax, rdx
cmp rcx, rax
ja 0x140031b96
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg r14, rcx
mov qword [rsp + 0x20], rcx
xchg rcx, r14
xchg rbp, r14
mov rdx, rbp
xchg rbp, r14
xchg rcx, rsi
mov rsi, r13
xchg rcx, rsi
call fcn.1400539a0
mov r12, rax
xchg r15, rax
mov qword [rsp + 0x38], r15
xchg r15, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
xchg r12, rcx
mov qword [rsp + 0x30], r12
xchg r12, rcx
mov byte [rax], 0x38
add byte [rax], 0x42
sub byte [rax], 0xe
sub byte [rax], 0x39
xor byte [rax], 7
sub byte [rax], 0x18
add byte [rax], 0x2a
add byte [rax], 0x28
sub byte [rax], 0x6e
lea rdi, [rax + 8]
xor ecx, ecx
xchg r8, rcx
mov qword [rdi], r8
xchg rcx, r8
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg r14, rdi
mov rcx, r14
xchg r14, rdi
call fcn.140054410
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 5
add byte [rax], 0x6a
sub byte [rax], 0x28
sub byte [rax], 0x2a
sub byte [rax], 0x10
sub byte [rax], 8
mov qword [rdi], rbx
mov qword [rsp + 0x98], rax
xchg r9, rbx
mov rbx, qword [r13 + 8]
xchg rbx, r9
xchg rsi, rax
mov rsi, qword [r13]
xchg rsi, rax
xchg r15, r12
mov rdx, r15
xchg r15, r12
cmp rsi, r9
jne 0x140031cbe
cmp rax, r9
je 0x140031d78
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov byte [rax], r8b
xchg r9, r8
mov qword [rax + 8], r9
xchg r9, r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x89500fe
sub rax, 0x89500ee
cmp rax, r9
jne 0x140031c85
jmp 0x140031d78
xor r8d, r8d
cmp rax, rsi
je 0x140031d09
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg r15, rcx
mov r15, qword [rax + 8]
xchg r15, rcx
xchg rcx, rbp
mov qword [rdx + 8], rbp
xchg rbp, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
sub rax, 0x4de71510
add rax, 0x4de71520
cmp rax, rsi
jne 0x140031ccf
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x140031d78
lea rcx, [rsi + 8]
sub r15, rsi
lea r9, [r15 + r12]
lea r10, [r15 + r12]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
mov rax, qword [rcx]
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x61
sub byte [rcx - 8], 0x1f
add byte [rcx - 8], 0x23
sub byte [rcx - 8], 0x42
add byte [rcx - 8], 0x56
sub byte [rcx - 8], 0x52
add byte [rcx - 8], 0xe
sub byte [rcx - 8], 0x35
xchg r9, r8
mov qword [rcx], r9
xchg r9, r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031d2d
mov r9, r14
xchg r10, r8
mov r10, qword [rsp + 0x28]
xchg r8, r10
xchg r15, r12
mov rdx, r15
xchg r12, r15
xchg rdi, rcx
mov rdi, r13
xchg rcx, rdi
call fcn.140052b30
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
xchg qword [rsp], r14
add rsp, 8
push rbx
push rcx
push rax
push rcx
xchg qword [rsp + 0x20], r13
pop rcx
pop rax
pop rcx
pop rbx
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rdi, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f900
int3