Function at 0x435400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
call fcn.00409610
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x20], esp
jmp 0x43541e
call fcn.00409610
mov byte [esi], 0
mov dword [ebp - 0x10], 0x5a781f06
mov eax, dword [ebp - 0x10]
add eax, 0xf9
movzx ecx, al
mov dword [ebp - 0x10], 0x5a781f06
mov eax, dword [ebp - 0x10]
shl eax, 8
add eax, 0xf900
movzx eax, ax
or eax, ecx
mov dword [ebp - 0x10], 0x5a781f06
mov ecx, dword [ebp - 0x10]
shl ecx, 0x10
add ecx, 0xf90000
mov dword [ebp - 0x10], 0x5a781f06
mov edx, dword [ebp - 0x10]
shl edx, 0x18
and ecx, 0xff0000
or eax, ecx
lea eax, [edx + eax - 0x7000000]
mov dword [ebp - 0x10], 0x5a781f05
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0x5a781f06
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0x5a781f07
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0x5a781f08
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0x5a781f09
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0x5a781f0a
mov ecx, dword [ebp - 0x10]
mov ecx, dword [0x44ac54]
cmp ecx, 0
jne 0x4354c7
jmp 0x435523
mov edx, dword [0x44ac58]
xor edi, edi
cmp dword [edx + edi*8], 0x8055d1e3
jne 0x4354e2
mov ecx, dword [edx + edi*8 + 4]
cmp ecx, eax
je 0x435523
jmp 0x4354eb
add edi, 1
cmp edi, ecx
je 0x435521
jmp 0x4354cf
mov eax, dword [0x44ac5c]
mov edx, 0xffffffff
sub esp, 0x18
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], ebx
call fcn.0043b040
add esp, 0x18
jmp 0x435523
jmp 0x435523
jmp 0x435525
cmp eax, 0
jl 0x43573e
mov ecx, dword [ebx]
mov dword [ebp - 0x14], 0x5a781f06
mov eax, dword [ebp - 0x14]
add eax, 0xf9
movzx edx, al
mov dword [ebp - 0x14], 0x5a781f06
mov eax, dword [ebp - 0x14]
shl eax, 8
add eax, 0xf900
movzx eax, ax
or eax, edx
mov dword [ebp - 0x14], 0x5a781f06
mov edx, dword [ebp - 0x14]
shl edx, 0x10
add edx, 0xf90000
mov dword [ebp - 0x14], 0x5a781f06
mov edi, dword [ebp - 0x14]
shl edi, 0x18
and edx, 0xff0000
or eax, edx
lea eax, [edi + eax - 0x7000000]
mov dword [ebp - 0x14], 0x5a781f05
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x5a781f06
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x5a781f07
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x5a781f08
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x5a781f09
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x5a781f0a
mov edx, dword [ebp - 0x14]
mov edx, dword [0x44ac54]
cmp edx, 0
jne 0x4355d1
jmp 0x43563a
mov ebx, dword [0x44ac58]
xor edi, edi
cmp dword [ebx + edi*8], 0xf7e539c
jne 0x4355ec
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x43563a
jmp 0x4355f5
add edi, 1
cmp edi, edx
je 0x435638
jmp 0x4355d9
mov eax, dword [0x44ac5c]
sub esp, 0x20
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x14
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 4
mov eax, dword [ebp - 0x20]
mov dword [esp + 0x1c], eax
call fcn.0043b040
add esp, 0x20
jmp 0x43563a
jmp 0x43563a
cmp eax, 0
jl 0x43564c
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [esi], al
mov dword [ebp - 0x18], 0x5a781f06
mov eax, dword [ebp - 0x18]
add eax, 0xf9
movzx ecx, al
mov dword [ebp - 0x18], 0x5a781f06
mov eax, dword [ebp - 0x18]
shl eax, 8
add eax, 0xf900
movzx eax, ax
or eax, ecx
mov dword [ebp - 0x18], 0x5a781f06
mov ecx, dword [ebp - 0x18]
shl ecx, 0x10
add ecx, 0xf90000
mov dword [ebp - 0x18], 0x5a781f06
mov edx, dword [ebp - 0x18]
shl edx, 0x18
and ecx, 0xff0000
or eax, ecx
lea eax, [edx + eax - 0x7000000]
mov dword [ebp - 0x18], 0x5a781f05
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a781f06
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a781f07
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a781f08
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a781f09
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a781f0a
mov ecx, dword [ebp - 0x18]
mov ecx, dword [0x44ac54]
cmp ecx, 0
je 0x43573e
mov edx, dword [0x44ac58]
xor edi, edi
cmp dword [edx + edi*8], 0xa3c1f363
jne 0x435706
mov ecx, dword [edx + edi*8 + 4]
cmp ecx, eax
je 0x43573e
jmp 0x435719
mov ebx, edi
shl ebx, 1
and ebx, 2
xor edi, 1
add edi, ebx
cmp edi, ecx
jb 0x4356f3
jmp 0x43573c
mov eax, dword [0x44ac5c]
xor edx, edx
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0043b040
add esp, 0xc
jmp 0x43573e
jmp 0x43573e
mov al, byte [esi]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret