Function at 0x425590
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x260
mov esi, esp
push eax
sub esp, 0x1fc
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x118], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x90], eax
mov esp, eax
push eax
sub esp, 0x1fc
mov dword [esi + 0x9c], esp
push eax
mov dword [esi + 0x11c], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x6c], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x120], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
push eax
sub esp, 0xa8
mov dword [esi + 0x80], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xdc], eax
mov esp, eax
push eax
mov dword [esi + 0xf0], esp
push eax
mov dword [esi + 0x70], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 8], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xac], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x58], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x114], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xe0], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0xd0], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x124], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0x128], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x8c], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xa8], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x94], esp
sub esp, 0x10
mov dword [esi + 0x130], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x12c], eax
mov esp, eax
push eax
sub esp, 0x2c
mov dword [esi + 0xf4], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x134], eax
mov esp, eax
push eax
mov dword [esi + 0x98], esp
sub esp, 0x2c
mov dword [esi + 0xec], esp
push eax
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0x50], esp
sub esp, 0x30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xc8], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x84], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x100], eax
mov esp, eax
push eax
sub esp, 0x344
mov dword [esi + 0x78], esp
sub esp, 0xdc
mov dword [esi + 0xa4], esp
sub esp, 0xc
mov dword [esi + 0xe4], esp
push eax
mov dword [esi + 0xf8], esp
sub esp, 0xc
mov dword [esi + 0xe8], esp
push eax
mov dword [esi + 0xfc], esp
sub esp, 0x30
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x138], eax
mov esp, eax
push 0x1000
call fcn.00436470
add esp, 4
mov ebx, eax
mov dword [esi + 0xb0], 0xbb748668
mov dword [esi + 0xb4], 0x81d0ddad
mov word [esi + 0xb8], 0x4d6e
mov dword [esi + 0xba], 0
mov word [esi + 0xbe], 0
mov dword [esi + 0x140], 0
mov eax, dword [esi + 0x140]
cmp eax, 0xf
ja 0x425852
nop
nop
nop
nop
mov eax, dword [esi + 0x140]
mov ecx, dword [esi + 0x140]
movzx edx, byte [esi + ecx + 0xb0]
lea ecx, [eax + edx]
add ecx, 0x64b5d80d
add eax, 0x64b5d80d
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
add al, 0xa5
mov ecx, dword [esi + 0x140]
mov byte [esi + ecx + 0xb0], al
inc dword [esi + 0x140]
mov eax, dword [esi + 0x140]
cmp eax, 0x10
jb 0x425800
mov dword [esi + 0x7c], edi
mov eax, dword [str.ef99facce46168e5a3dce272e6cf7dd6]
mov dword [esi + 0x10], eax
mov dword [esi + 0x20], 0x20424c6a
mov dword [esi + 0x24], 0xe000b0b
mov dword [esi + 0x28], 0xaf8fc0f
mov dword [esi + 0x2c], 0x10104f8
mov word [esi + 0x30], 0xb1ca
mov byte [esi + 0x32], 0x92
mov dword [esi + 0x33], 0
mov dword [esi + 0x37], 0
mov dword [esi + 0x3b], 0
mov dword [esi + 0x3f], 0
mov byte [esi + 0x43], 0
mov dword [esi + 0x140], 0
mov eax, dword [esi + 0x140]
cmp eax, 0x23
ja 0x425902
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x140]
mov eax, dword [esi + 0x140]
movzx edx, byte [esi + eax + 0x20]
lea eax, [ecx + edx]
add eax, 0xc7f599f0
add ecx, 0xc7f599f0
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x70
mov ecx, dword [esi + 0x140]
mov byte [esi + ecx + 0x20], al
inc dword [esi + 0x140]
mov eax, dword [esi + 0x140]
cmp eax, 0x24
jb 0x4258c0
mov ecx, dword [str.Z05cIW__Blue]
mov dword [esi + 0x140], 0x1658b9bb
mov dword [esi + 0x144], 0xb51d
mov dword [esi + 0x148], 0x7fb25b1f
mov dword [esi + 0x14c], 0x1b4ead73
mov dword [esi + 0x150], 0x6a1f1c05
mov dword [esi + 0x154], 0x10091212
mov dword [esi + 0x158], 0x56b81a12
mov dword [esi + 0x15c], 0x2a33499c
mov dword [esi + 0x160], 0x6979582d
mov dword [esi + 0x164], 0x2e3b7794
mov dword [esi + 0x168], 0x93782d24
mov dword [esi + 0x16c], 0x8f274c59
mov dword [esi + 0x170], 0x798a7a88
mov dword [esi + 0x174], 0x9d6a7774
mov dword [esi + 0x178], 0x5a568175
mov dword [esi + 0x17c], 0x5f7e97a0
mov dword [esi + 0x180], 0
mov word [esi + 0x184], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x45
ja 0x425a00
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
mov edx, dword [esi + 0x5c]
movzx edx, byte [esi + edx + 0x140]
lea edi, [eax + 0x44]
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
add al, 0x68
mov edx, dword [esi + 0x5c]
mov byte [esi + edx + 0x140], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x46
jb 0x4259d0
movzx edx, byte [esi + 0x140]
mov dword [esi + 0xd4], ebx
test dl, dl
je 0x425a2b
lea eax, [esi + 0x141]
mov ebx, dword [esi + 0xd4]
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x425a20
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, dword [esi + 0x6c]
je 0x425a4b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x425a40
mov byte [ebx], 0
movzx ecx, byte [esi + 0x20]
test cl, cl
je 0x425a6d
lea eax, [esi + 0x21]
mov edx, dword [esi + 0x10]
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x425a60
jmp 0x425a70
mov edx, dword [esi + 0x10]
mov byte [ebx], 0
movzx ecx, byte [edx]
test cl, cl
je 0x425a8b
inc edx
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x425a80
mov byte [ebx], 0
movzx eax, byte [esi + 0xb0]
test al, al
je 0x425aab
lea ecx, [esi + 0xb1]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425aa0
mov byte [ebx], 0
push 0
call fcn.0043a320
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x44566c]
mov ecx, 0x61b828ae
xor ecx, dword [0x445674]
add ecx, edx
inc ecx
jmp ecx