Function at 0x447f0c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x24
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
test esi, esi
lea esi, [esi - 1]
je 0x447f73
mov ecx, dword [esp + 0x2c]
movzx ebx, byte [esi + ecx]
cmp bl, 0x80
jb 0x447f41
lea ecx, [esi + 1]
cmp dword [esp + 0x28], ecx
jae 0x447f8b
jmp 0x4480c9
movzx eax, bl
call fcn.0044e770
xor al, 1
je 0x447f1f
lea ebx, [esi + 1]
cmp dword [esp + 0x28], ebx
jb 0x4480f1
lea eax, [esi + 1]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esp, 0x24
ret 8
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esp, 0x24
xor eax, eax
ret 8
lea edi, [esi + 1]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
test ebx, ebx
lea ebx, [ebx - 1]
je 0x4480a3
cmp ebx, dword [esp + 0x28]
jae 0x448119
mov esi, dword [esp + 0x2c]
movzx ecx, byte [esi + ebx]
cmp cl, 0x7f
ja 0x447fd7
mov byte [esp + 0x22], cl
movzx eax, byte [esp + 0x22]
call fcn.0044e7e8
test al, al
jne 0x447f9e
jmp 0x4480a3
test ebx, ebx
je 0x4480a3
mov dl, cl
and dl, 0xc0
cmp dl, 0x80
jne 0x4480a3
mov dl, cl
and edx, 0x3f
mov esi, edx
lea edx, [ebx - 1]
cmp edx, dword [esp + 0x28]
jae 0x448141
mov ecx, dword [esp + 0x2c]
add ecx, ebx
movzx eax, byte [ecx - 1]
mov edx, eax
and dl, 0xe0
cmp dl, 0xc0
jne 0x44803c
mov byte [esp + 0x21], al
mov al, byte [esp + 0x21]
and eax, 0x1f
shl eax, 6
add eax, esi
call fcn.0044e7e8
test al, al
je 0x4480a3
dec ebx
jmp 0x447f9e
cmp ebx, 1
je 0x4480a3
mov cl, al
and cl, 0xc0
cmp cl, 0x80
jne 0x4480a3
lea edx, [ebx - 2]
cmp edx, dword [esp + 0x28]
jae 0x448169
mov byte [esp + 0x21], al
mov ecx, dword [esp + 0x2c]
add ecx, ebx
movzx edx, byte [ecx - 2]
mov byte [esp + 0x20], dl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4480a3
mov al, byte [esp + 0x20]
mov cl, byte [esp + 0x21]
and eax, 0xf
and ecx, 0x3f
shl ecx, 6
shl eax, 0xc
add ecx, esi
add eax, ecx
call fcn.0044e7e8
test al, al
je 0x4480a3
add ebx, 0xfffffffe
jmp 0x447f9e
lea edx, [ebx + 1]
cmp dword [esp + 0x28], edx
jb 0x448191
lea eax, [ebx + 1]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esp, 0x24
ret 8
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc9c
mov dword [esp], 0x482490
call fcn.0041bd28
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xca1
mov dword [esp], 0x482490
call fcn.0041bd28
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xcb7
mov dword [esp], 0x482490
call fcn.0041bd28
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xcc3
mov dword [esp], 0x482490
call fcn.0041bd28
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xccf
mov dword [esp], 0x482490
call fcn.0041bd28
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xcde
mov dword [esp], 0x482490
call fcn.0041bd28
int3