Function at 0x449f60
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [ebp - 0x24], edi
cmp dword [edi + 0x20], 0
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], edx
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xc], eax
jne 0x449f9c
push esi
call fcn.0044a350
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov byte [edi + 0x31], 1
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x20], ebx
jle 0x44a1be
lea ebx, [ebx]
cmp dword [edi + 0x20], 1
mov ebx, dword [eax + ebx*4]
mov dword [ebp - 0x10], ebx
jne 0x44a0ae
mov eax, dword [edi + 0x2c]
lea ecx, [edx + edx*2]
mov dword [ebp - 0x10], eax
mov eax, dword [esi]
push ecx
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, dword [ebp + 0xc]
call esi
mov edx, eax
test edx, edx
je 0x44a06b
mov ecx, dword [ebp - 8]
lea eax, [ecx + ecx*2]
test eax, eax
jle 0x44a1a6
cmp dword [ebp - 0x10], 0xff
je 0x44a073
lea ecx, [eax - 1]
mov eax, 0xaaaaaaab
lea edi, [edx + 2]
mul ecx
mov ecx, dword [ebp - 0x10]
lea esi, [ebx + 1]
mov eax, edx
shr eax, 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x44a020
movzx eax, byte [edi - 1]
lea esi, [esi + 4]
imul eax, eax, 0xff
lea edi, [edi + 3]
cdq
idiv ecx
movzx ecx, byte [edi - 3]
mov bh, al
imul eax, ecx, 0xff
movzx ecx, byte [edi - 5]
mov byte [esi - 4], bh
mov byte [esi - 2], 0xff
cdq
idiv dword [ebp - 0x10]
mov bl, al
imul eax, ecx, 0xff
mov ecx, dword [ebp - 0x10]
mov byte [esi - 5], bl
cdq
idiv ecx
sub dword [ebp - 0x14], 1
mov byte [esi - 3], al
jne 0x44a020
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
jmp 0x44a1a8
lea esi, [edx + 1]
lea edx, [eax - 1]
mov eax, 0xaaaaaaab
mul edx
lea ecx, [ebx + 1]
shr edx, 1
inc edx
mov ah, byte [esi + 1]
lea ecx, [ecx + 4]
mov bl, byte [esi]
lea esi, [esi + 3]
mov al, byte [esi - 4]
mov byte [ecx - 3], al
mov byte [ecx - 4], bl
mov byte [ecx - 5], ah
mov byte [ecx - 2], 0
sub edx, 1
jne 0x44a086
mov edx, dword [ebp - 8]
jmp 0x44a1a8
test edx, edx
jle 0x44a1ab
mov ecx, dword [edi + 0x2c]
mov dword [ebp - 0x14], ecx
mov byte [ebp - 1], 0
cmp ecx, 0xff
je 0x44a14d
mov dword [ebp - 0x18], edx
nop
push esi
mov ecx, edi
call fcn.0044a350
push esi
mov ecx, edi
call fcn.00449f00
push esi
mov ecx, edi
mov bh, al
call fcn.0044a350
push esi
mov ecx, edi
call fcn.00449f00
push esi
mov ecx, edi
mov bl, al
call fcn.0044a350
movzx ecx, bh
imul eax, ecx, 0xff
mov ecx, edi
push esi
cdq
idiv dword [ebp - 0x14]
mov byte [ebp - 2], al
movzx eax, bl
imul eax, eax, 0xff
cdq
idiv dword [ebp - 0x14]
mov byte [ebp - 3], al
call fcn.00449f00
movzx eax, al
imul eax, eax, 0xff
mov ecx, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
mov byte [ebp - 4], al
mov eax, dword [ebp - 4]
mov dword [ecx], eax
add ecx, 4
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x10], ecx
jne 0x44a0d0
mov edx, dword [ebp - 8]
jmp 0x44a1a8
mov dword [ebp - 0x18], edx
push esi
mov ecx, edi
call fcn.0044a350
push esi
mov ecx, edi
call fcn.00449f00
push esi
mov ecx, edi
mov bh, al
call fcn.0044a350
push esi
mov ecx, edi
call fcn.00449f00
push esi
mov ecx, edi
mov bl, al
call fcn.0044a350
push esi
mov ecx, edi
mov byte [ebp - 2], bh
mov byte [ebp - 3], bl
call fcn.00449f00
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], al
mov eax, dword [ebp - 4]
mov dword [ecx], eax
add ecx, 4
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x10], ecx
jne 0x44a150
mov edx, dword [ebp - 8]
jmp 0x44a1a8
mov edx, ecx
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp + 0xc]
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, dword [ebp - 0x20]
jl 0x449fb0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8