Function at 0x425b90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x5f0
mov esi, esp
push eax
sub esp, 0x28
mov dword [esi + 0x100], esp
push eax
mov dword [esi + 0xd0], esp
push eax
mov dword [esi + 0x40], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xc8], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x90], eax
mov esp, eax
push eax
sub esp, 0x14
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x344
mov dword [esi + 0x8c], esp
sub esp, 0xdc
mov dword [esi + 0xc4], esp
sub esp, 0xc
mov dword [esi + 0xd4], esp
push eax
mov dword [esi + 0x104], esp
sub esp, 0xc
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0x108], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xcc], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xdc], eax
mov esp, eax
push 0x1000
call fcn.00408c20
add esp, 4
mov dword [esi + 0x130], 0xbbf4e688
mov dword [esi + 0x134], 0xa1505d4d
mov word [esi + 0x138], 0xed8e
mov dword [esi + 0x13e], 0
mov dword [esi + 0x13a], 0
mov dword [esi + 0x1e0], 0
mov ecx, dword [esi + 0x1e0]
cmp ecx, 0x11
ja 0x425ce6
nop
mov edi, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e0]
movzx ecx, byte [esi + ecx + 0x130]
lea edx, [edi + ecx]
add edx, 0x764a8dbd
add edi, 0x764a8dbd
and edi, ecx
add edi, edi
sub edx, edi
mov dword [esi + 0x3e0], edx
mov edx, dword [esi + 0x3e0]
add dl, 0xd5
mov ecx, dword [esi + 0x1e0]
mov byte [esi + ecx + 0x130], dl
inc dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e0]
cmp ecx, 0x12
jb 0x425c90
mov dword [esi + 0x44], ebx
mov dword [esi + 0xb8], eax
mov eax, dword [str.ecf1236909c49a73c6a1502a1f7614b9]
mov dword [esi + 0x1e0], 0xa0424c6a
mov dword [esi + 0x1e4], 0x8e808b8b
mov dword [esi + 0x1e8], 0x8af8fc8f
mov dword [esi + 0x1ec], 0x818184f8
mov word [esi + 0x1f0], 0x31ca
mov byte [esi + 0x1f2], 0x12
mov dword [esi + 0x1f3], 0
mov dword [esi + 0x1f7], 0
mov byte [esi + 0x1fb], 0
mov dword [esi + 0x48], 0
mov ecx, dword [esi + 0x48]
cmp ecx, 0x1b
ja 0x425db0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x48]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx - 0x4298e1d0]
add ecx, 0x30
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x3e0], edi
mov ecx, dword [esi + 0x3e0]
mov edx, ecx
or edx, 0xaf
and ecx, 0xaf
add ecx, edx
inc cl
mov edx, dword [esi + 0x48]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
cmp ecx, 0x1c
jb 0x425d60
mov ecx, dword [str.MhMcwl__SPAX]
mov dword [esi + 0x3e0], 0x66b4edeb
mov dword [esi + 0x3e4], 0x6464d169
mov dword [esi + 0x3e8], 0x8fdaab6f
mov dword [esi + 0x3ec], 0x93bed9b3
mov dword [esi + 0x3f0], 0x828f9069
mov dword [esi + 0x3f4], 0x747d7272
mov dword [esi + 0x3f8], 0xc6e48a72
mov dword [esi + 0x3fc], 0x827ba5c8
mov dword [esi + 0x400], 0x45558c81
mov dword [esi + 0x404], 0x7e835730
mov dword [esi + 0x408], 0x3b447178
mov dword [esi + 0x40c], 0x3f8c8c56
mov dword [esi + 0x410], 0x55224d4a
mov dword [esi + 0x414], 0x9525750
mov dword [esi + 0x418], 0x42462529
mov dword [esi + 0x41c], 0xf2e574c
mov word [esi + 0x420], 0
mov byte [esi + 0x422], 0
mov dword [esi + 0x94], 0
mov edx, dword [esi + 0x94]
cmp edx, 0x42
ja 0x425ed5
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x94]
movzx edi, byte [esi + edi + 0x3e0]
lea ebx, [edx + 0x5e]
and ebx, edi
add edx, edi
add ebx, ebx
sub edx, ebx
add edx, 0x5f5a975e
mov dword [esi + 0x48], edx
mov edx, dword [esi + 0x48]
mov edi, edx
or edi, 0x6d
and edx, 0x6d
add edx, edi
inc dl
mov edi, dword [esi + 0x94]
mov byte [esi + edi + 0x3e0], dl
inc dword [esi + 0x94]
mov edx, dword [esi + 0x94]
cmp edx, 0x43
jb 0x425e80
movzx edx, byte [esi + 0x3e0]
mov ebx, dword [esi + 0xb8]
test dl, dl
je 0x425f0b
lea edi, [esi + 0x3e1]
mov ebx, dword [esi + 0xb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x425f00
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x425f2b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x425f20
mov byte [ebx], 0
movzx ecx, byte [esi + 0x1e0]
test cl, cl
je 0x425f4b
lea edx, [esi + 0x1e1]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x425f40
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x425f6b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x425f60
mov byte [ebx], 0
movzx eax, byte [esi + 0x130]
test al, al
je 0x425f8b
lea ecx, [esi + 0x131]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425f80
mov byte [ebx], 0
push 0
call fcn.00438b40
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x443114]
mov ecx, 0xbadd9ba4
xor ecx, dword [0x44311c]
add ecx, edx
inc ecx
jmp ecx