Function at 0x1401badfc
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x100
jae 0x1401badfe
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax], dl
jmp 0x1401badd7
mov dword [rsp + 0x20], 0
jmp 0x1401bae12
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x100
jae 0x1401bae2b
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rax], 0
jmp 0x1401bae08
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x20], 0
jmp 0x1401bae4f
invalid
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jae 0x1401bae84
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov byte [rdx + rcx], al
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
div ecx
mov dword [rsp + 0x38], eax
jmp 0x1401bae45
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x20], 0
add byte [rax], al
add bl, ch
invalid
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jae 0x1401baedd
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
invalid
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x20]
add ecx, 4
mov ecx, ecx
mov rdx, qword [rsp + 0x48]
mov byte [rdx + rcx], al
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
add bh, dh
int1
mov dword [rsp + 0x38], eax
jmp 0x1401bae99
invalid
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
jmp 0x1401baef9
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x100
jae 0x1401baf77
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
add eax, ecx
xor edx, edx
mov ecx, 0x100
div ecx
mov eax, edx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x30]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x24]
mov byte [rcx + rax], dl
jmp 0x1401baeef
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x3c], 0
jmp 0x1401baf9b
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x3c], eax
jae 0x1401bb07f
mov eax, dword [rsp + 0x20]
inc eax
xor edx, edx
mov ecx, 0x100
div ecx
mov eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 0x100
div ecx
mov eax, edx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x30]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x24]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + rcx]
add eax, ecx
xor edx, edx
mov ecx, 0x100
add bh, dh
int1
mov eax, edx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
movsx ecx, byte [rsp + 0x2c]
xor eax, ecx
mov ecx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x68]
mov byte [rdx + rcx], al
jmp 0x1401baf91
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x30]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x48]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x58
ret