Function at 0x454442
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x24
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
push dword [ebp + 8]
call fcn.0043575f
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
xchg edx, eax
sub eax, edx
mov dword [ebp - 0x1c], eax
jmp 0x454626
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x10
jne 0x45461b
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0044b7ab
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x4544f0
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x10
jne 0x45450d
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jae 0x45450d
jmp 0x454511
xor eax, eax
jmp 0x454514
xor eax, eax
inc eax
cmp eax, 0
jne 0x4544e5
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jne 0x45452d
mov eax, dword [0x53d6f4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
xor al, 1
cmp eax, 0
je 0x45454c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
jne 0x45454c
jmp 0x454550
xor eax, eax
jmp 0x454553
xor eax, eax
inc eax
cmp eax, 0
je 0x454605
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
push eax
call fcn.0044b276
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x537628]
cmp eax, edx
je 0x4545a1
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x537630]
cmp eax, edx
je 0x4545a1
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x537638]
cmp eax, edx
je 0x4545a1
xor eax, eax
jmp 0x4545a4
xor eax, eax
inc eax
cmp eax, 0
je 0x4545b3
mov eax, dword [0x53d70c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x53762c]
cmp eax, edx
je 0x4545de
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x537634]
cmp eax, edx
je 0x4545de
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x53763c]
cmp eax, edx
je 0x4545de
xor eax, eax
jmp 0x4545e1
xor eax, eax
inc eax
cmp eax, 0
je 0x4545f0
mov eax, dword [0x53d720]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5375e8]
cmp eax, edx
jne 0x454605
mov eax, dword [0x53d6f4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov edx, eax
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, edx
push eax
push dword [ebp - 0x14]
call fcn.0042bf0d
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jb 0x45449b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
xchg edx, eax
sub eax, edx
mov edx, dword [ebp - 0x1c]
cmp eax, edx
seta al
xor ah, ah
cwde
leave
ret 0xc