Function at 0x140043a48
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 0x1400438d9
mov eax, dword [rsp + 0x20]
and al, 0x20
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax], dl
jmp 0x1400438b2
mov dword [rsp + 0x20], 0
jmp 0x1400438ed
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x100
jae 0x140043906
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rax], 0
jmp 0x1400438e3
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x20], 0
jmp 0x14004392a
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jae 0x14004395f
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
add byte [rcx], al
add byte [rax], al
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 0x140043920
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x20], 0
jmp 0x14004397e
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jae 0x1400439b8
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 0x100
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x20]
add ecx, 4
mov ecx, ecx
mov rdx, qword [rsp + 0x48]
and al, 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 0x140043974
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
jmp 0x1400439d4
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x100
jae 0x140043a52
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]
and al, 0x24
mov byte [rcx + rax], dl
jmp 0x1400439ca
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x3c], 0
jmp 0x140043a76
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x3c], eax
jae 0x140043b5a
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 byte [rcx], al
add byte [rax], al
div ecx
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 0x140043a6c
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