Function at 0x40143c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
push rsi
dec rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov qword [rbp - 0x40], 2
mov rax, 0x1a
mov r10, qword [rbp - 0x40]
cqo
idiv r10
mov qword [rbp - 0xc0], rax
mov r10, qword [rbp - 0x40]
add r10, 6
mov qword [rbp - 0x58], r10
mov r10, qword [rbp - 0x40]
add r10, 8
mov qword [rbp - 0x68], r10
mov r10, qword [rbp - 0x58]
add r10, 5
mov qword [rbp - 0x90], r10
mov r10, qword [rbp - 0x40]
add r10, 6
mov qword [rbp - 0x80], r10
movabs r10, 0x5a3b
mov qword [rbp - 0xd0], r10
mov dword [rbp - 0x38], 0x622a7832
mov r10, qword [rbp - 0xd0]
movabs r9, 0xd4
mov r14, r10
imul r14, r9
mov r13d, 0x2c77
mov r10d, r13d
movabs r9, 0x7ec1
mov r13, r10
add r13, r9
movabs r10, 0
mov qword [rbp - 0x60], r10
add r14, qword [rbp - 0x60]
mov r10d, r13d
movabs r9, 0x46ec8
mov r13, r10
add r13, r9
movabs r10, 0x459
add r14, r10
mov r10d, dword [rbp - 0x38]
sub r10d, 1
mov dword [rbp - 0x38], r10d
mov edi, 0x1a9a
mov r10, qword [rbp - 0x40]
sub r10, 2
mov dword [rbp - 0x84], r10d
sub r14, rdi
mov eax, dword [rbp - 0x84]
mov r10, qword [rbp - 0x68]
add r10, qword [rbp - 0x40]
sub r10, 8
cqo
idiv r10
mov dword [rbp - 0x44], eax
mov r10d, edi
mov qword [rbp - 0x108], r10
mov rax, 0x1e
mov r10, qword [rbp - 0x68]
cqo
idiv r10
mov r10, qword [rbp - 0x108]
mov r11, r10
add r11, rax
jmp 0x4015a5
mov r10d, r11d
mov r10b, byte [r14 + r10]
mov byte [rbp - 0x31], r10b
movzx r10d, byte [rbp - 0x31]
mov r9d, dword [rbp - 0x38]
mov r8d, dword [rbp - 0x44]
add r9d, r8d
movzx r9d, r9b
xor r10d, r9d
mov byte [rbp - 0x31], r10b
mov r10d, r11d
mov r9b, byte [rbp - 0x31]
mov byte [r14 + r10], r9b
lea r11, [r11 + 1]
mov r10d, r13d
add r10d, edi
cmp r11d, r10d
jb 0x401570
mov rsi, 0x4ac135
mov r10d, dword [rbp - 0x84]
lea r10, [r10 + 1]
mov dword [rbp - 0x84], r10d
mov r12, 0x537000
add r12, qword [rbp - 0x60]
add rsi, qword [rbp - 0x60]
mov r10d, r10d
mov r9, qword [rbp - 0x90]
sub r9, 9
cmp r10, r9
jle 0x40152d
mov r10, qword [rbp - 0x58]
mov r15, r10
sub r15, 8
mov r10d, r15d
movabs r9, 0x3f8a0
cmp r10, r9
jge 0x40161d
mov r10d, r15d
mov r9b, byte [rsi + r10]
mov byte [r12 + r10], r9b
lea r15, [r15 + 1]
jmp 0x4015fa
mov qword [rbp - 0xa0], 0x4ed335
mov qword [rbp - 0xa8], 0x673000
mov r10, qword [rbp - 0x60]
add qword [rbp - 0xa8], r10
mov r10, qword [rbp - 0x60]
add qword [rbp - 0xa0], r10
mov qword [rbp - 0x50], 0x4fd135
movabs r10, 0x8000000
mov qword [rbp - 0xd8], r10
mov r10, qword [rbp - 0xc0]
add r10, qword [rbp - 0x80]
sub r10, 0x15
mov dword [rbp - 0x6c], r10d
mov r10d, dword [rbp - 0x6c]
mov r9, qword [rbp - 0xa0]
mov r10b, byte [r9 + r10]
mov byte [rbp - 0x31], r10b
mov r10d, dword [rbp - 0x6c]
mov r9, qword [rbp - 0xa8]
mov r8b, byte [rbp - 0x31]
mov byte [r9 + r10], r8b
mov r10d, r10d
lea r10, [r10 + 1]
mov dword [rbp - 0x6c], r10d
movabs r10, 0xe930
mov r9d, dword [rbp - 0x6c]
cmp r10, r9
jg 0x401675
movabs r10, 0x4fdf5d
mov qword [rbp - 0xb0], r10
add r10, qword [rbp - 0x60]
mov qword [rbp - 0xb0], r10
mov r10, qword [rbp - 0x50]
add r10, qword [rbp - 0x60]
mov qword [rbp - 0x50], r10
mov r10, qword [rbp - 0x50]
mov r10d, dword [r10]
mov dword [rbp - 0xe8], r10d
mov dword [rbp - 0xfc], 0x13d000
mov dword [rbp - 0x70], 0x33b
mov r10, qword [rbp - 0x40]
sub r10, 2
mov dword [rbp - 0x74], r10d
mov r10d, dword [rbp - 0x70]
movabs r9, 4
imul r10, r9
mov dword [rbp - 0x70], r10d
movabs r9, 0x314
add r10, r9
mov dword [rbp - 0x70], r10d
mov r10d, dword [rbp - 0x70]
mov r9, r12
sub r9, r10
mov qword [rbp - 0xc8], r9
mov r10, qword [rbp - 0x58]
imul r10, r10, 1
add r10, qword [rbp - 0x50]
mov r9d, dword [rbp - 0x74]
add r10, r9
mov qword [rbp - 0xe0], r10
mov r10w, word [r10]
mov word [rbp - 0xb2], r10w
movzx r10d, word [rbp - 0xb2]
mov r9, qword [rbp - 0x40]
mov rcx, r9
add rcx, 2
shl r10d, cl
mov word [rbp - 0x92], r10w
movzx r10d, word [rbp - 0x92]
mov dword [rbp - 0x10c], r10d
mov rax, 0x20
mov r10, qword [rbp - 0x58]
cqo
idiv r10
mov rcx, rax
movsxd r10, dword [rbp - 0x10c]
sar r10d, cl
mov word [rbp - 0x92], r10w
movzx r10d, word [rbp - 0xb2]
mov r9, qword [rbp - 0x58]
mov rcx, r9
add rcx, 4
sar r10d, cl
mov word [rbp - 0xe2], r10w
movzx r10d, word [rbp - 0xb2]
mov r10d, r10d
mov r9, qword [rbp - 0x80]
sub r9, 8
cmp r10, r9
je 0x4018de
mov r10, qword [rbp - 0xc8]
sub r10, qword [rbp - 0xd8]
mov qword [rbp - 0xf8], r10
mov r10d, dword [rbp - 0x74]
mov r9, qword [rbp - 0x40]
sub r9, 2
cmp r10, r9
je 0x401838
movzx r10d, word [rbp - 0x92]
mov r10d, r10d
mov r9, qword [rbp - 0x68]
sub r9, 0xa
cmp r10, r9
je 0x4018de
movzx r10d, word [rbp - 0xe2]
mov r10d, r10d
mov r9, qword [rbp - 0x80]
add r9, qword [rbp - 0x68]
sub r9, 8
cmp r10, r9
jne 0x4018a9
mov r10d, dword [rbp - 0xe8]
movzx r9d, word [rbp - 0x92]
add r10d, r9d
mov r10d, r10d
add r10, qword [rbp - 0xc8]
mov qword [rbp - 0xf0], r10
mov r9, qword [rbp - 0x90]
add r9, qword [rbp - 0x40]
sub r9, 0xf
shl r9, 3
mov r8, qword [rbp - 0x40]
add r8, qword [rbp - 0x58]
sub r8, 0xa
shl r8, 3
mov r8, qword [r8 + r10]
add r8, qword [rbp - 0xf8]
mov qword [r9 + r10], r8
mov r10d, dword [rbp - 0x74]
mov r9, qword [rbp - 0x40]
sub r9, 0
add r10, r9
mov dword [rbp - 0x74], r10d
mov r10, qword [rbp - 0x50]
mov r9, qword [rbp - 0xc0]
sub r9, 0xc
shl r9, 2
mov r10d, dword [r9 + r10]
cmp dword [rbp - 0x74], r10d
jae 0x4018de
jmp 0x401733
mov r10, qword [rbp - 0x50]
mov r9, qword [rbp - 0x58]
add r9, qword [rbp - 0x90]
sub r9, 0x14
shl r9, 2
mov r9d, dword [r9 + r10]
add r10, r9
mov qword [rbp - 0x50], r10
cmp qword [rbp - 0xb0], r10
jbe 0x401935
mov r9, qword [rbp - 0x80]
add r9, qword [rbp - 0x90]
sub r9, 0x15
mov r8, qword [rbp - 0x58]
add r8, qword [rbp - 0x68]
sub r8, 0x11
shl r8, 2
mov r10d, dword [r8 + r10]
cmp r9, r10
jne 0x4016e1
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
leave
movabs rax, 0x5514ae
add rax, 0x6352
push rax
ret