Function at 0x180001650
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov eax, 0x41
mov word [rsp + 0x48], ax
mov eax, 0x33
mov word [rsp + 0x4a], ax
mov eax, 0x43
mov word [rsp + 0x4c], ax
mov eax, 0x38
mov word [rsp + 0x4e], ax
mov eax, 0x32
mov word [rsp + 0x50], ax
mov eax, 0x31
mov word [rsp + 0x52], ax
mov eax, 0x37
mov word [rsp + 0x54], ax
mov eax, 0x30
mov word [rsp + 0x56], ax
xor eax, eax
mov word [rsp + 0x58], ax
mov dword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, 0x100
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, 0x100
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
jmp 0x180001720
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0x100
jge 0x18000175e
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x28]
mov byte [rcx + rax], dl
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x60]
mov eax, edx
mov eax, eax
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x68]
movzx eax, byte [rsp + rax*2 + 0x48]
mov byte [rdx + rcx], al
jmp 0x180001716
mov dword [rsp + 0x2c], 0
jmp 0x180001772
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x100
jge 0x1800017fb
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x68]
movzx ecx, byte [rdx + rcx]
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x24], eax
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x20], al
movsxd rax, dword [rsp + 0x2c]
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x30]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax], dl
jmp 0x180001768
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x3c], 0
jmp 0x180001817
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x3c], eax
jae 0x180001913
mov eax, dword [rsp + 0x38]
inc eax
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x24], eax
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x20], al
movsxd rax, dword [rsp + 0x38]
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x30]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax], dl
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
movsxd rcx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + rcx]
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax*2]
movsxd rcx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
mov ecx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x80]
mov word [rdx + rcx*2], ax
jmp 0x18000180d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x30]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x78
ret