Function at 0x45733f
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.00438ae4
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 0x457523
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x10
jne 0x457518
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0044e76f
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 0x4573ed
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 0x45740a
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jae 0x45740a
jmp 0x45740e
xor eax, eax
jmp 0x457411
xor eax, eax
inc eax
cmp eax, 0
jne 0x4573e2
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jne 0x45742a
mov eax, dword [0x5720cc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
xor al, 1
cmp eax, 0
je 0x457449
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
jne 0x457449
jmp 0x45744d
xor eax, eax
jmp 0x457450
xor eax, eax
inc eax
cmp eax, 0
je 0x457502
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
push eax
call fcn.0044e23a
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c000]
cmp eax, edx
je 0x45749e
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c008]
cmp eax, edx
je 0x45749e
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c010]
cmp eax, edx
je 0x45749e
xor eax, eax
jmp 0x4574a1
xor eax, eax
inc eax
cmp eax, 0
je 0x4574b0
mov eax, dword [0x5720e4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c004]
cmp eax, edx
je 0x4574db
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c00c]
cmp eax, edx
je 0x4574db
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56c014]
cmp eax, edx
je 0x4574db
xor eax, eax
jmp 0x4574de
xor eax, eax
inc eax
cmp eax, 0
je 0x4574ed
mov eax, dword [0x5720f8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x56bfc0]
cmp eax, edx
jne 0x457502
mov eax, dword [0x5720cc]
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.0042f4f0
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 0x457398
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