Function at 0x18009fd70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1f8
lea rbp, [rsp + 0x30]
mov rdi, rsp
mov ecx, 0x7e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x218]
lea rcx, [0x18018b063]
call fcn.18006aad2
xorps xmm0, xmm0
movsd qword [rbp + 8], xmm0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0x44], 0
mov dword [rbp + 0x64], 0
mov dword [rbp + 0xa4], 0
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1e0]
mov qword [rax], rcx
mov rax, qword [rbp + 0x1e0]
movzx eax, byte [rax]
inc eax
cdqe
lea rcx, [0x18014de40]
movzx eax, byte [rcx + rax]
and eax, 8
test eax, eax
je 0x18009fe16
mov rax, qword [rbp + 0x1e0]
inc rax
mov qword [rbp + 0x1e0], rax
jmp 0x18009fde3
lea rcx, [rbp + 0x1e0]
call fcn.18009e140
mov dword [rbp + 0x84], eax
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
cmp eax, 0x30
jne 0x18009fe57
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax + 1]
cmp eax, 0x78
je 0x18009fe5f
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax + 1]
cmp eax, 0x58
je 0x18009fe5f
xorps xmm0, xmm0
jmp 0x1800a00b9
mov rax, qword [rbp + 0x1e0]
add rax, 2
mov qword [rbp + 0x1e0], rax
jmp 0x18009fe84
mov rax, qword [rbp + 0x1e0]
inc rax
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
cmp eax, 0x2e
jne 0x18009feb2
cmp dword [rbp + 0xa4], 0
je 0x18009fea3
jmp 0x18009ff65
mov dword [rbp + 0xa4], 1
jmp 0x18009ff60
mov rax, qword [rbp + 0x1e0]
movzx eax, byte [rax]
inc eax
cdqe
lea rcx, [0x18014de40]
movzx eax, byte [rcx + rax]
and eax, 0x10
test eax, eax
je 0x18009ff5e
cmp dword [rbp + 0x24], 0
jne 0x18009fef5
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
cmp eax, 0x30
jne 0x18009fef5
mov eax, dword [rbp + 0x44]
inc eax
mov dword [rbp + 0x44], eax
jmp 0x18009ff4b
mov eax, dword [rbp + 0x24]
inc eax
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0x1e
jg 0x18009ff43
movsd xmm0, qword [rbp + 8]
mulsd xmm0, qword [0x180151538]
movsd qword [rbp + 0x1b8], xmm0
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
mov ecx, eax
call fcn.18006c521
cvtsi2sd xmm0, eax
movsd xmm1, qword [rbp + 0x1b8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 8], xmm0
jmp 0x18009ff4b
mov eax, dword [rbp + 0x64]
inc eax
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0xa4], 0
je 0x18009ff5c
mov eax, dword [rbp + 0x64]
dec eax
mov dword [rbp + 0x64], eax
jmp 0x18009ff60
jmp 0x18009ff65
jmp 0x18009fe73
mov eax, dword [rbp + 0x24]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x18009ff7b
xorps xmm0, xmm0
jmp 0x1800a00b9
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1e0]
mov qword [rax], rcx
mov eax, dword [rbp + 0x64]
shl eax, 2
mov dword [rbp + 0x64], eax
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
cmp eax, 0x70
je 0x18009ffb7
mov rax, qword [rbp + 0x1e0]
movsx eax, byte [rax]
cmp eax, 0x50
jne 0x1800a0092
mov dword [rbp + 0xc4], 0
mov rax, qword [rbp + 0x1e0]
inc rax
mov qword [rbp + 0x1e0], rax
lea rcx, [rbp + 0x1e0]
call fcn.18009e140
mov dword [rbp + 0xe4], eax
mov rax, qword [rbp + 0x1e0]
movzx eax, byte [rax]
inc eax
cdqe
lea rcx, [0x18014de40]
movzx eax, byte [rcx + rax]
and eax, 2
test eax, eax
jne 0x1800a000c
xorps xmm0, xmm0
jmp 0x1800a00b9
mov rax, qword [rbp + 0x1e0]
movzx eax, byte [rax]
inc eax
cdqe
lea rcx, [0x18014de40]
movzx eax, byte [rcx + rax]
and eax, 2
test eax, eax
je 0x1800a005a
imul eax, dword [rbp + 0xc4], 0xa
mov rcx, qword [rbp + 0x1e0]
movsx ecx, byte [rcx]
lea eax, [rax + rcx - 0x30]
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x1e0]
inc rax
mov qword [rbp + 0x1e0], rax
jmp 0x1800a000c
cmp dword [rbp + 0xe4], 0
je 0x1800a0071
mov eax, dword [rbp + 0xc4]
neg eax
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xc4]
mov ecx, dword [rbp + 0x64]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x64], eax
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1e0]
mov qword [rax], rcx
cmp dword [rbp + 0x84], 0
je 0x1800a00ac
movsd xmm0, qword [rbp + 8]
xorps xmm0, xmmword [0x180151550]
movsd qword [rbp + 8], xmm0
mov edx, dword [rbp + 0x64]
movsd xmm0, qword [rbp + 8]
call fcn.18006a217
lea rsp, [rbp + 0x1c8]
pop rdi
pop rbp
ret