Function at 0x200d9920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x2018f520
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rcx
mov rax, qword [0x20562ac8]
xor rax, rsp
mov qword [rsp + 0x50], rax
call fcn.20192160
mov rcx, qword [0x20522590]
mov edx, dword [0x205223d0]
mov r12d, 0x8594
sub r12d, eax
sub edx, r12d
movsxd rax, edx
add rax, rcx
call qword [case.0x200c7fcc.0]
mov esi, eax
mov rcx, qword [0x20522600]
mov eax, dword [0x20522444]
sub eax, r12d
cdqe
add rax, rcx
lea rdx, [rsp + 0x48]
mov ecx, esi
mov r8d, 0x867ce711
call qword [case.0x200c7fcc.0]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [0x205224b0]
mov eax, dword [0x205223e8]
sub eax, r12d
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0x73ffaa0c
lea rbx, [rsp + 0x40]
lea r9, [rsp + 0x48]
mov rcx, rdi
mov r8, rbx
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [0x20522518]
mov eax, dword [0x2052244c]
sub eax, r12d
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0x3ed0059d
mov ecx, esi
mov r9, rbx
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
mov rcx, qword [0x20522570]
mov eax, dword [0x2052241c]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov r8, rbx
mov r9d, 0x1a0ab600
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018f6ef
mov edx, dword [rsp + 0x40]
mov rcx, qword [0x20522550]
mov eax, dword [0x20522448]
sub eax, r12d
cdqe
add rax, rcx
lea rdi, [rsp + 0x48]
mov ecx, esi
mov r8, rdi
mov r9d, 0xb409e70a
call qword [case.0x200c7fcc.0]
mov r13, qword [rsp + 0x48]
test al, 1
jne 0x2018f874
lea rbx, [rsp + 0x47]
lea r14, [rsp + 0x40]
nop dword [rax + rax]
mov rcx, qword [0x205224e8]
mov eax, dword [0x20522414]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov rdx, rbx
mov r8, r14
mov r9d, 0x92e1bd91
call qword [case.0x200c7fcc.0]
movzx eax, byte [rsp + 0x47]
movzx ecx, byte [rsp + 0x40]
lock cmpxchg byte [0x20521dc8], cl
je 0x2018f6fb
mov rcx, qword [0x205225d0]
mov edx, dword [0x2052242c]
sub edx, r12d
movsxd r9, edx
add r9, rcx
mov ecx, esi
mov edx, eax
mov r8d, 0x54c8c240
mov rax, r9
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018f680
jmp 0x2018f874
lea rsi, [0x204118f8]
jmp 0x2018ff67
xor ebp, ebp
nop dword [rax]
mov rcx, qword [0x20522530]
mov eax, dword [0x20522424]
sub eax, r12d
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0x7abed71c
mov ecx, esi
mov edx, ebp
mov r8, r14
mov r9, rdi
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [0x205224b8]
mov eax, dword [0x20522480]
sub eax, r12d
cdqe
add rax, r8
mov dword [rsp + 0x20], 0xe8c9c3b7
mov r8, r14
mov r9, rdi
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [0x205224e0]
mov eax, dword [0x205223dc]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0x320b23c6
mov r8d, esi
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
movzx r15d, byte [rsp + 0x47]
mov rdx, qword [0x20522500]
mov eax, dword [0x205223c8]
sub eax, r12d
cdqe
add rax, rdx
mov dword [rsp + 0x20], 0x2952457c
mov edx, esi
mov r8, rbx
mov r9, r14
call qword [case.0x200c7fcc.0]
movzx ecx, byte [rsp + 0x47]
movzx edx, byte [rsp + 0x40]
mov r8, qword [0x205224f0]
mov dword [0x2052210c], 0xbcfc38cc
mov eax, dword [0x205223f0]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0xc0f341d7
mov r8d, r15d
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
mov r8, qword [0x20522498]
mov eax, dword [0x20522460]
sub eax, r12d
cdqe
add rax, r8
mov dword [rsp + 0x20], 0xf9b9ba2f
mov r8d, esi
mov r9, r14
call qword [case.0x200c7fcc.0]
mov ebp, dword [rsp + 0x40]
test al, 1
je 0x2018f700
mov rcx, qword [0x20522568]
mov eax, dword [0x2052240c]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, 0x33dd156
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x205224d8]
mov eax, dword [0x205223d4]
sub eax, r12d
cdqe
add rax, rcx
lea rdx, [rsp + 0x47]
lea r8, [rsp + 0x40]
mov ecx, esi
mov r9d, 0x7299d8af
call qword [case.0x200c7fcc.0]
movzx ecx, byte [rsp + 0x47]
movzx edx, byte [rsp + 0x40]
mov r8, qword [0x205225c0]
mov eax, dword [0x2052247c]
sub eax, r12d
cdqe
add rax, r8
mov r8d, 0xf19462eb
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018fa6e
lea r14, [rsp + 0x47]
lea rbx, [rsp + 0x40]
nop
mov rcx, qword [0x205224a0]
mov eax, dword [0x205223e4]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov rdx, r14
mov r8, rbx
mov r9d, 0x57a5d818
call qword [case.0x200c7fcc.0]
movzx edx, byte [rsp + 0x47]
movzx ecx, byte [rsp + 0x40]
mov r8, qword [0x20522608]
mov eax, dword [0x205223f8]
sub eax, r12d
cdqe
add rax, r8
mov r8, r14
mov r9d, 0xff42c7c7
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018f970
movzx edx, byte [rsp + 0x47]
mov rcx, qword [0x20522520]
mov eax, dword [0x20522438]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov r8d, 0xf84a099c
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018f8e0
jmp 0x2018fa6e
xor ebp, ebp
lea r14, [rsp + 0x47]
nop word [rax + rax]
mov rcx, qword [0x20522508]
mov eax, dword [0x20522478]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, ebp
mov r8, rbx
mov r9d, 0xafb15c19
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov rdx, qword [0x20522598]
mov eax, dword [0x20522420]
sub eax, r12d
cdqe
add rax, rdx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0x6c0f9cbc
mov edx, esi
mov r8d, ebp
mov r9, r14
call qword [case.0x200c7fcc.0]
movzx r8d, byte [rsp + 0x47]
movzx edx, byte [rsp + 0x40]
mov rcx, qword [0x20522540]
mov eax, dword [0x2052246c]
sub eax, r12d
cdqe
add rax, rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], 0x3dab5312
mov ecx, esi
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov ebp, dword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov rcx, qword [0x205225e8]
mov eax, dword [0x20522470]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, ebp
mov r8d, 0x5bb521bb
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018f980
mov rcx, qword [0x20522510]
mov eax, dword [0x20522464]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, 0x4954639
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x205225a8]
mov eax, dword [0x20522450]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, 0xfb971406
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018fcf5
lea rbx, [rsp + 0x47]
lea r14, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, qword [0x205225f0]
mov eax, dword [0x20522440]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov rdx, rbx
mov r8, r14
mov r9d, 0x5e78b8fa
call qword [case.0x200c7fcc.0]
movzx edx, byte [rsp + 0x47]
movzx ecx, byte [rsp + 0x40]
mov r8, qword [0x205225a0]
mov eax, dword [0x20522458]
sub eax, r12d
cdqe
add rax, r8
mov r8, rbx
mov r9d, 0xb7de667c
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018fb40
movzx edx, byte [rsp + 0x47]
mov rcx, qword [0x205225e0]
mov eax, dword [0x205223f4]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov r8d, 0xc0e4eecb
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018fab0
jmp 0x2018fcf5
xor ebp, ebp
nop word cs:[rax + rax]
mov rcx, qword [0x20522538]
mov eax, dword [0x20522434]
sub eax, r12d
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0x5618d88e
mov ecx, esi
mov edx, ebp
mov r8, r14
mov r9, rdi
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [0x205224f8]
mov eax, dword [0x205223fc]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0x5e79904
mov r8d, esi
mov r9, r14
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [0x20522588]
mov eax, dword [0x205223c0]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0x5a81f458
mov r8d, esi
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, qword [0x205224c0]
mov eax, dword [0x20522408]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0x6cd71b44
mov r8d, esi
mov r9, rbx
call qword [case.0x200c7fcc.0]
movzx r8d, byte [rsp + 0x47]
movzx ecx, byte [rsp + 0x40]
movzx edx, byte [rsp + 0x48]
mov r9, qword [0x205225d8]
mov eax, dword [0x205223d8]
sub eax, r12d
cdqe
add rax, r9
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], 0x7e8a0bdf
mov r9d, ebp
call qword [case.0x200c7fcc.0]
movzx ecx, byte [rsp + 0x47]
mov rdx, qword [rsp + 0x48]
mov r8, qword [0x20522548]
mov eax, dword [0x20522404]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x28], 0xa59cb34b
mov r8d, esi
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov ebp, dword [rsp + 0x40]
mov rcx, qword [0x20522578]
mov eax, dword [0x20522400]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, ebp
mov r8d, 0x953cdad9
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018fb50
mov rcx, qword [0x20522610]
mov eax, dword [0x2052243c]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, 0x92f04079
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x20522580]
mov eax, dword [0x20522454]
sub eax, r12d
cdqe
add rax, rcx
lea rdx, [rsp + 0x47]
lea r8, [rsp + 0x40]
mov ecx, esi
mov r9d, 0x176ef923
call qword [case.0x200c7fcc.0]
movzx ecx, byte [rsp + 0x47]
movzx edx, byte [rsp + 0x40]
mov r8, qword [0x205224d0]
mov eax, dword [0x205223ec]
sub eax, r12d
cdqe
add rax, r8
mov r8d, 0x74e4d2db
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018ff5c
lea r14, [rsp + 0x47]
lea rbx, [rsp + 0x40]
nop
mov rcx, qword [0x205225b0]
mov eax, dword [0x205223c4]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov rdx, r14
mov r8, rbx
mov r9d, 0x366375f0
call qword [case.0x200c7fcc.0]
movzx edx, byte [rsp + 0x47]
movzx ecx, byte [rsp + 0x40]
mov r8, qword [0x20522558]
mov eax, dword [0x205223cc]
sub eax, r12d
cdqe
add rax, r8
mov r8, r14
mov r9d, 0x8ca6d429
call qword [case.0x200c7fcc.0]
test al, 1
jne 0x2018fdf0
movzx edx, byte [rsp + 0x47]
mov rcx, qword [0x205225c8]
mov eax, dword [0x20522418]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov r8d, 0x8409339d
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018fd60
jmp 0x2018ff5c
xor ebp, ebp
lea r14, [rsp + 0x47]
nop word [rax + rax]
mov rcx, qword [0x205225b8]
mov eax, dword [0x20522468]
sub eax, r12d
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0xcee25548
mov ecx, esi
mov edx, ebp
mov r8, rbx
mov r9, rdi
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
mov r8, qword [0x20522560]
mov eax, dword [0x205223e0]
sub eax, r12d
cdqe
add rax, r8
mov dword [rsp + 0x20], 0x45aa3d87
mov r8d, esi
mov r9, rbx
call qword [case.0x200c7fcc.0]
mov ecx, dword [rsp + 0x40]
mov rdx, qword [0x205225f8]
mov eax, dword [0x20522430]
sub eax, r12d
cdqe
add rax, rdx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0x2ab658ab
mov edx, esi
mov r8d, ebp
mov r9, rbx
call qword [case.0x200c7fcc.0]
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, qword [0x20522490]
mov eax, dword [0x2052245c]
sub eax, r12d
cdqe
add rax, r8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], 0xbf55773c
mov r8d, esi
mov r9, r14
call qword [case.0x200c7fcc.0]
movzx r8d, byte [rsp + 0x47]
movzx edx, byte [rsp + 0x40]
movzx ecx, byte [rsp + 0x48]
mov r9, qword [0x20522528]
mov eax, dword [0x20522474]
sub eax, r12d
cdqe
add rax, r9
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0x4e263186
mov r9d, ebp
call qword [case.0x200c7fcc.0]
mov ebp, dword [rsp + 0x40]
mov rcx, qword [0x205224a8]
mov eax, dword [0x20522428]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, ebp
mov r8d, 0x8d08f42d
call qword [case.0x200c7fcc.0]
test al, 1
je 0x2018fe00
mov rcx, qword [0x205224c8]
mov eax, dword [0x20522410]
sub eax, r12d
cdqe
add rax, rcx
mov ecx, esi
mov edx, 0xf7fa32d
call qword [case.0x200c7fcc.0]
lea rax, [0x20418aa0]
mov rsi, qword [rax + r13*8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.203c9080
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret