Function at 0x420830
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe30
mov esi, esp
push 0x1000
call fcn.00431ad0
add esp, 4
mov dword [esi + 0x64], eax
mov dword [esi + 0x820], 0xd3828c6a
mov dword [esi + 0x824], 0xbdcef1c5
mov word [esi + 0x828], 0x6988
mov dword [esi + 0x82a], 0
mov word [esi + 0x82e], 0
mov dword [esi + 0x200], 0
mov eax, dword [esi + 0x200]
cmp eax, 0xf
ja 0x4208df
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x200]
movzx ecx, byte [esi + ecx + 0x820]
lea edx, [eax + 0x10]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add al, 0xa0
mov ecx, dword [esi + 0x200]
mov byte [esi + ecx + 0x820], al
inc dword [esi + 0x200]
mov eax, dword [esi + 0x200]
cmp eax, 0x10
jb 0x4208a0
mov eax, dword [str.default]
mov dword [esi + 0x550], 0x183a2c42
mov dword [esi + 0x554], 0xeee8e3e3
mov dword [esi + 0x558], 0xf2e0dcef
mov dword [esi + 0x55c], 0x19191420
mov word [esi + 0x560], 0xc9e2
mov byte [esi + 0x562], 0xaa
mov dword [esi + 0x563], 0
mov dword [esi + 0x567], 0
mov dword [esi + 0x56b], 0
mov dword [esi + 0x56f], 0
mov byte [esi + 0x573], 0
mov dword [esi + 0x200], 0
mov ecx, dword [esi + 0x200]
cmp ecx, 0x23
ja 0x4209a0
mov ecx, dword [esi + 0x200]
mov edx, dword [esi + 0x200]
movzx edx, byte [esi + edx + 0x550]
lea edi, [ecx + 0x74]
add ecx, edx
and edi, edx
add edi, edi
sub ecx, edi
add cl, 0x48
mov edx, dword [esi + 0x200]
mov byte [esi + edx + 0x550], cl
inc dword [esi + 0x200]
mov ecx, dword [esi + 0x200]
cmp ecx, 0x24
jb 0x420960
mov ecx, dword [str.LnGw8n__vlad]
mov dword [esi + 0x200], 0x36446d63
mov dword [esi + 0x204], 0x24246931
mov dword [esi + 0x208], 0x4f72532f
mov dword [esi + 0x20c], 0x2b5e715b
mov dword [esi + 0x210], 0x3a2f2821
mov dword [esi + 0x214], 0xd4dd2a2a
mov dword [esi + 0x218], 0x9674d2da
mov dword [esi + 0x21c], 0xdad3b580
mov dword [esi + 0x220], 0x95a5ccd9
mov dword [esi + 0x224], 0xdecba788
mov dword [esi + 0x228], 0x93b4d9c0
mov dword [esi + 0x22c], 0x9fc0d0a5
mov dword [esi + 0x230], 0x859a8682
mov dword [esi + 0x234], 0x51ba8788
mov dword [esi + 0x238], 0x8a96a5b1
mov dword [esi + 0x23c], 0x4fae878c
mov dword [esi + 0x240], 0
mov dword [esi + 0x244], 0
mov dword [esi + 0x248], 0
mov dword [esi + 0xa20], 0
mov edx, dword [esi + 0xa20]
cmp edx, 0x4b
ja 0x420ad3
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 0xa20]
mov edx, dword [esi + 0xa20]
movzx ebx, byte [esi + edx + 0x200]
lea edx, [edi + ebx]
add edx, 0xafc84f6a
add edi, 0xafc84f6a
and edi, ebx
add edi, edi
sub edx, edi
mov edi, edx
or edi, 0x19
and edx, 0x19
add edx, edi
inc dl
mov edi, dword [esi + 0xa20]
mov byte [esi + edi + 0x200], dl
inc dword [esi + 0xa20]
mov edx, dword [esi + 0xa20]
cmp edx, 0x4c
jb 0x420a80
movzx edx, byte [esi + 0x200]
mov ebx, dword [esi + 0x64]
test dl, dl
je 0x420afb
lea edi, [esi + 0x201]
mov ebx, dword [esi + 0x64]
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x420af0
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x420b1b
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 0x420b10
mov byte [ebx], 0
movzx ecx, byte [esi + 0x550]
test cl, cl
je 0x420b3b
lea edx, [esi + 0x551]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x420b30
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x420b5b
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 0x420b50
mov byte [ebx], 0
movzx eax, byte [esi + 0x820]
test al, al
je 0x420b7b
lea ecx, [esi + 0x821]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420b70
mov byte [ebx], 0
push 0
call fcn.00435330
add esp, 4
xor ecx, ecx
mov dword [esi + 0x78], eax
test eax, eax
setne cl
mov eax, dword [ecx*4 + 0x4405e4]
mov ecx, 0xf7c60a48
xor ecx, dword [0x4405ec]
add eax, ecx
inc eax
jmp eax