Function at 0x4411c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
sub edi, 1
mov esi, eax
mov ebx, edi
mov eax, 1
sub esp, 0x7cc
add ebx, esi
mov dword [esp + 0x38], ecx
mov ecx, edi
lea ebp, [esp + 0x380]
shl eax, cl
lea ecx, [ebx*4]
mov dword [esp + 4], 0
sub eax, 1
mov dword [esp], ebp
mov dword [esp + 0x30], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x7e0]
mov eax, dword [esp + 0x7e4]
mov edi, dword [ecx]
mov ecx, edi
shr ecx, 3
add eax, ecx
mov ecx, edi
and ecx, 7
movzx edx, byte [eax]
mov esi, ecx
shr esi, 5
and esi, 1
mov ebx, esi
shl esi, cl
xor ebx, 1
mov dword [eax + 4], esi
shl ebx, cl
lea ecx, [edi + 1]
or edx, ebx
mov ebx, dword [esp + 0x7e0]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [ebx], ecx
mov ebx, ecx
and ecx, 7
shr ebx, 3
add ebx, dword [esp + 0x7e4]
lea eax, [edx - 2]
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
movzx esi, byte [ebx]
je 0x44128b
mov edx, eax
xor eax, eax
mov ecx, dword [esp + 0x7e0]
or esi, eax
add edi, 5
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x2c]
mov dword [ebx], esi
mov dword [ecx], edi
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
mov dword [esp + edi*4 + 0x380], esi
mov dword [esp + 0x380], 1
jae 0x4412dd
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
lea eax, [ebp + eax*4]
add edx, ebp
mov dword [eax], 1
add eax, 4
cmp edx, eax
jne 0x4412d0
mov eax, dword [esp + 0x7e4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7e0]
mov ecx, edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, ebp
call fcn.004408f0
mov ebp, dword [esp + 0x34]
test ebp, ebp
je 0x441493
mov eax, dword [esp + 0x7e0]
mov edi, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
mov ebp, dword [eax]
movzx eax, word [esp + edi*2 + 0x160]
mov dword [esp + 0x38], eax
movzx eax, byte [esp + edi + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
jmp 0x44137c
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
movzx esi, word [esp + ecx*2 + 0x160]
mov eax, ebp
movzx ebx, byte [esp + ecx + 0x50]
shr eax, 3
add eax, dword [esp + 0x7e4]
mov ecx, ebp
and ecx, 7
xor edi, edi
shld edi, esi, cl
shl esi, cl
test cl, 0x20
movzx edx, byte [eax]
je 0x4413ad
mov edi, esi
xor esi, esi
or edx, esi
mov dword [eax + 4], edi
add ebp, ebx
mov dword [eax], edx
mov eax, dword [esp + 0x7e0]
mov ecx, ebp
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
and ecx, 7
xor ebx, ebx
mov dword [eax], ebp
mov eax, ebp
shr eax, 3
add eax, dword [esp + 0x7e4]
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
add ebp, dword [esp + 0x44]
movzx edx, byte [eax]
mov dword [eax + 4], edi
xor edi, edi
mov ebx, ebp
mov ecx, ebp
or edx, esi
shr ebx, 3
add ebx, dword [esp + 0x7e4]
mov dword [eax], edx
mov eax, dword [esp + 0x7e0]
and ecx, 7
mov edx, dword [esp + 0x4c]
mov dword [eax], ebp
mov eax, dword [esp + 0x48]
movzx esi, byte [ebx]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
add ebp, dword [esp + 0x40]
or esi, eax
mov eax, dword [esp + 0x7e0]
mov dword [ebx + 4], edx
mov dword [ebx], esi
mov dword [eax], ebp
mov eax, dword [esp + 0x2c]
add eax, 1
cmp dword [esp + 0x34], eax
jne 0x441370
mov ebx, ebp
mov ecx, ebp
xor eax, eax
shr ebx, 3
add ebx, dword [esp + 0x7e4]
and ecx, 7
xor edx, edx
test cl, 0x20
sete al
setne dl
add ebp, 1
shl eax, cl
shl edx, cl
movzx esi, byte [ebx]
mov dword [ebx + 4], edx
or esi, eax
mov eax, dword [esp + 0x7e0]
mov dword [ebx], esi
mov dword [eax], ebp
add esp, 0x7cc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x7e0]
mov ebp, dword [eax]
jmp 0x441450