Function at 0x1024edf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
mov esi, ecx
mov dword [esp + 0x28], ecx
dec edi
mov ecx, dword [esp + 0x58]
mov eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], edi
test ecx, ecx
je 0x1024f0f1
jmp 0x1024ee20
movzx edx, byte [edi + esi]
dec ecx
mov dword [esp + 0x58], ecx
movzx ecx, byte [edi + eax]
mov eax, edx
imul eax, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x10], edx
sub eax, 0xffffff80
mov ebx, eax
sar ebx, 8
add ebx, eax
sar ebx, 8
mov dword [esp + 0x24], ebx
test ecx, ecx
je 0x1024ee61
mov eax, 0xff00
cdq
idiv ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x1024ee69
mov dword [esp + 0x18], 0
test edx, edx
je 0x1024ee81
mov eax, 0xff00
cdq
idiv dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x1024ee89
mov dword [esp + 0x1c], 0
xor eax, eax
test edi, edi
jle 0x1024f0c8
mov eax, dword [esp + 0x5c]
mov ebp, 0xff
sub ebp, ecx
mov dword [esp + 0x20], edi
mov ecx, 0xff
mov dword [esp + 0x2c], ebp
sub ecx, edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x34], ecx
dec eax
mov ecx, dword [esp + 0x14]
mov ebp, esi
sub ecx, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
movzx ecx, byte [ecx + ebp]
mov edi, ecx
mov dword [esp + 0x38], ecx
movzx ecx, byte [ebp]
imul edi, dword [esp + 0x18]
mov esi, ecx
imul esi, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
sar edi, 8
sar esi, 8
cmp eax, 0xa
ja case.default.0x1024eef3
jmp dword [eax*4 + 0x1024f0fc]
imul esi, edi
sub esi, 0xffffff80
mov ecx, esi
sar ecx, 8
add ecx, esi
sar ecx, 8
jmp 0x1024f05e
mov ecx, esi
imul ecx, edi
sub ecx, 0xffffff80
mov eax, ecx
sar eax, 8
add eax, ecx
mov ecx, esi
sar eax, 8
sub ecx, eax
add ecx, edi
jmp 0x1024f05e
lea eax, [esi + esi]
cmp esi, 0x7f
jg 0x1024ef49
imul eax, edi
sub eax, 0xffffff80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
jmp 0x1024f05e
lea ecx, [eax - 0xff]
mov edx, ecx
imul edx, edi
sub edx, 0xffffff80
mov eax, edx
sar eax, 8
add eax, edx
sar eax, 8
sub ecx, eax
add ecx, edi
jmp 0x1024f05e
cmp esi, edi
mov ecx, edi
cmovl ecx, esi
jmp 0x1024f05e
cmp esi, edi
mov ecx, edi
cmovg ecx, esi
jmp 0x1024f05e
mov ecx, 0xff
sub ecx, edi
test esi, esi
jg 0x1024ef94
xor ecx, ecx
jmp 0x1024f05e
cmp esi, ecx
jl 0x1024efa2
mov ecx, 0xff
jmp 0x1024f05e
imul eax, esi, 0x1fe
add eax, ecx
add ecx, ecx
cdq
idiv ecx
mov ecx, eax
jmp 0x1024f05e
mov eax, 0xff
sub eax, esi
test eax, eax
jg 0x1024efcb
mov ecx, 0xff
jmp 0x1024f05e
cmp eax, edi
jl 0x1024efd6
xor ecx, ecx
jmp 0x1024f05e
imul eax, eax, 0x1fe
lea ecx, [edi + edi]
add eax, edi
cdq
idiv ecx
mov ecx, 0xff
sub ecx, eax
jmp 0x1024f05e
lea eax, [edi + edi]
cmp edi, 0x7f
jg 0x1024f007
imul eax, esi
sub eax, 0xffffff80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
jmp 0x1024f05e
lea ecx, [eax - 0xff]
mov edx, ecx
imul edx, esi
sub edx, 0xffffff80
mov eax, edx
sar eax, 8
add eax, edx
sar eax, 8
sub ecx, eax
add ecx, esi
jmp 0x1024f05e
mov edx, edi
mov ecx, esi
call fcn.1024e650
mov ecx, eax
jmp 0x1024f05e
sub esi, edi
mov eax, esi
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
jmp 0x1024f05e
mov eax, esi
mov ecx, esi
imul eax, edi
sub eax, 0xffffff80
mov edx, eax
sar edx, 8
add edx, eax
sar edx, 7
and edx, 0xfffffffe
sub ecx, edx
add ecx, edi
jmp 0x1024f05e
mov ecx, edi
mov edx, dword [esp + 0x34]
imul edx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
imul esi, dword [esp + 0x30]
imul ecx, ebx
sub edx, 0xffffff80
mov eax, edx
sar eax, 8
sub esi, 0xffffff80
sub ecx, 0xffffff80
add eax, edx
mov ebx, ecx
sar eax, 8
sar ebx, 8
add ebx, ecx
mov ecx, dword [esp + 0x40]
sar ebx, 8
add bl, al
mov eax, esi
sar eax, 8
add eax, esi
sar eax, 8
add bl, al
mov eax, dword [esp + 0x3c]
mov byte [ebp], bl
inc ebp
dec dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
jne 0x1024eec6
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
sub cl, bl
add cl, byte [esp + 0x10]
mov byte [eax + esi], cl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x54]
add esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
test ecx, ecx
jne 0x1024ee20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret