Function at 0x140018574
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xb0]
mov rbx, rcx
mov rcx, qword [rbx]
mov rbx, qword [rbx + 8]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rbx
mov rbx, rdx
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov qword [rbp - 0x90], rax
mov qword [rbp - 0x88], rdx
lea rax, str.startsWith
mov qword [rbp - 0x58], rax
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_pure_strutils.nim
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov word [rbp - 0x40], 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.nimFrame_10
mov byte [rbp - 1], 0
mov qword [rbp - 0x50], 0x38
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_std_private_strimpl.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x90]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x50], 0x39
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x50], 0x3a
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x50], 0x658
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_pure_strutils.nim
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0x3c
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_std_private_strimpl.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x20]
cmp rax, qword [rbp - 0x10]
jg 0x140018680
mov qword [rbp - 0x50], 0x64b
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_pure_strutils.nim
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0x3c
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_std_private_strimpl.nim
mov qword [rbp - 0x48], rax
mov byte [rbp - 1], 1
jmp 0x1400187ad
nop
mov qword [rbp - 0x50], 0x3d
mov byte [rbp - 0x11], 0
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x10]
setle al
mov byte [rbp - 0x11], al
cmp byte [rbp - 0x11], 0
jne 0x140018730
cmp qword [rbp - 0x10], 0
js 0x1400186b6
mov rax, qword [rbp - 0x80]
cmp qword [rbp - 0x10], rax
jl 0x1400186cf
mov rax, qword [rbp - 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400187ad
cmp qword [rbp - 0x10], 0
js 0x1400186e3
mov rax, qword [rbp - 0x90]
cmp qword [rbp - 0x10], rax
jl 0x1400186ff
mov rax, qword [rbp - 0x90]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400187ad
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x10]
add rax, rdx
add rax, 8
movzx edx, byte [rax]
mov rcx, qword [rbp - 0x88]
mov rax, qword [rbp - 0x10]
add rax, rcx
add rax, 8
movzx eax, byte [rax]
cmp dl, al
setne al
mov byte [rbp - 0x11], al
jmp 0x140018731
nop
movzx eax, byte [rbp - 0x11]
xor eax, 1
test al, al
jne 0x140018768
mov qword [rbp - 0x50], 0x64b
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_pure_strutils.nim
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0x3d
lea rax, str._home_megatech_.choosenim_toolchains_nim_2.0.8_lib_std_private_strimpl.nim
mov qword [rbp - 0x48], rax
mov byte [rbp - 1], 0
jmp 0x1400187ad
nop
mov qword [rbp - 0x50], 0x3e
mov ecx, 0
mov rax, qword [rbp - 0x10]
add rax, 1
jno 0x140018785
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x68]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400187a0
call sym.raiseOverflow
jmp 0x1400187ad
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x10], rax
jmp 0x140018634
call sym.popFrame_10
movzx eax, byte [rbp - 1]
add rsp, 0xb8
pop rbx
pop rbp
ret