Function at 0x457da8
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.004390c5
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 0x457f8c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x10
jne 0x457f81
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0044f111
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 0x457e56
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 0x457e73
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jae 0x457e73
jmp 0x457e77
xor eax, eax
jmp 0x457e7a
xor eax, eax
inc eax
cmp eax, 0
jne 0x457e4b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jne 0x457e93
mov eax, dword [0x57789c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
xor al, 1
cmp eax, 0
je 0x457eb2
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
jne 0x457eb2
jmp 0x457eb6
xor eax, eax
jmp 0x457eb9
xor eax, eax
inc eax
cmp eax, 0
je 0x457f6b
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
push eax
call fcn.0044ebdc
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717d0]
cmp eax, edx
je 0x457f07
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717d8]
cmp eax, edx
je 0x457f07
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717e0]
cmp eax, edx
je 0x457f07
xor eax, eax
jmp 0x457f0a
xor eax, eax
inc eax
cmp eax, 0
je 0x457f19
mov eax, dword [0x5778b4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717d4]
cmp eax, edx
je 0x457f44
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717dc]
cmp eax, edx
je 0x457f44
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x5717e4]
cmp eax, edx
je 0x457f44
xor eax, eax
jmp 0x457f47
xor eax, eax
inc eax
cmp eax, 0
je 0x457f56
mov eax, dword [0x5778c8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x571790]
cmp eax, edx
jne 0x457f6b
mov eax, dword [0x57789c]
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.0042f873
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 0x457e01
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