Function at 0x408226
Capabilities:
Encrypt data using rc4 prga

Disassembly:
add byte [eax - 0x75], cl
lodsb al, byte [esi]
and al, 0xb8
add al, byte [eax]
add byte [ebx + ecx*4 - 0x1f], cl
xor ecx, ecx
cmp word [edi], 0x2a
dec ebp
mov ebp, ecx
dec ebp
mov edi, eax
jne 0x4080eb
inc ecx
mov dh, 1
dec eax
add edi, 2
jmp 0x4080ee
inc esp
mov dh, cl
movzx eax, word [edi]
mov esi, ecx
dec esp
mov eax, edi
cmp ax, 0x20
je 0x40811e
cmp esi, 0xff
jae 0x408118
cmp ax, cx
je 0x408118
dec eax
add edi, 2
inc esi
mov ax, word [edi]
cmp ax, 0x20
jne 0x4080fc
cmp word [edi], 0x20
jne 0x408173
mov ebx, 0x100
dec ecx
mov ecx, esp
dec eax
mov edx, ebx
call 0x3f25fc
xor eax, eax
dec eax
add edi, 2
mov edx, esi
dec esp
mov ecx, edi
inc cx
mov dword [esp + edx*2], eax
movzx eax, word [edi]
inc ebp
xor esp, esp
inc ebp
mov eax, esp
inc ecx
lea edx, [esp + 0xa]
cmp ax, 0x20
je 0x40817d
inc esp
cmp eax, edx
jae 0x40816d
inc cx
cmp eax, esp
je 0x40816d
dec eax
add edi, 2
inc ecx
inc eax
mov ax, word [edi]
cmp ax, 0x20
jne 0x408152
cmp word [edi], 0x20
je 0x40817d
mov eax, 0xb
jmp 0x40834d
dec eax
lea eax, [esp + 0x20]
dec eax
lea ecx, [esp + 0x20]
dec esp
sub ecx, eax
dec eax
lea eax, [edx + 0x7ffffff4]
dec ecx
cmp eax, esp
je 0x4081ae
inc ecx
movzx eax, word [ecx + ecx]
inc cx
cmp eax, esp
je 0x4081ae
mov word [ecx], ax
dec eax
add ecx, 2
dec eax
sub edx, 1
jne 0x40818a
dec ecx
cmp edx, esp
jne 0x4081b7
dec eax
sub ecx, 2
inc sp
mov dword [ecx], esp
inc ecx
mov eax, eax
dec eax
lea ecx, [esp + 0x20]
inc sp
mov dword [esp + eax*2 + 0x20], esp
call fcn.0040f3ea
dec eax
add edi, 2
inc cx
mov dword [edi], eax
movzx eax, word [edi]
inc ecx
mov esi, esp
dec esp
mov eax, edi
cmp ax, 0x20
je 0x408208
cmp esi, ebx
jae 0x4081fe
inc cx
cmp eax, esp
je 0x4081fe
dec eax
add edi, 2
inc esi
mov ax, word [edi]
cmp ax, 0x20
jne 0x4081e5
cmp word [edi], 0x20
jne 0x408173
dec eax
mov edx, ebx
dec ecx
mov ecx, ebp
call 0x3f25fc
mov edx, esi
dec eax
add edi, 2
inc bp
mov dword [ebp + edx*2], esp
inc ecx
mov edx, esp
dec esp
mov eax, edi
inc sp
cmp dword [edi], esp
je 0x40823f
inc edx
dec eax
add edi, 2
cmp edx, ebx
jb 0x408225
inc sp
cmp dword [edi], esp
jne 0x408173
dec eax
lea eax, [esp + 0x40]
dec eax
lea ecx, [esp + 0x40]
dec esp
sub eax, eax
dec eax
lea eax, [ebx + 0x7ffffefe]
dec ecx
cmp eax, esp
je 0x408270
inc ecx
movzx eax, word [eax + ecx]
inc cx
cmp eax, esp
je 0x408270
mov word [ecx], ax
dec eax
add ecx, 2
dec eax
sub ebx, 1
jne 0x40824c
dec ecx
cmp ebx, esp
jne 0x408279
dec eax
sub ecx, 2
mov eax, edx
inc sp
mov dword [ecx], esp
inc sp
mov dword [esp + eax*2 + 0x40], esp
inc ebp
cmp dh, ah
je 0x4082c7
inc sp
cmp dword [esp + 0x40], esp
jne 0x40829b
or dword [ebp], 0xffffffff
jmp 0x40834a
dec ebp
cmp ebp, esp
je 0x4082b2
dec eax
lea edx, [esp + 0x40]
dec esp
mov eax, ebp
dec ecx
mov ecx, ebp
call fcn.0040a288
jmp 0x4082b9
or dword [ebp], 0xffffffff
inc ecx
mov eax, esp
inc ecx
cmp eax, esp
jne 0x40834d
jmp 0x40834a
dec eax
or ecx, 0xffffffff
xor eax, eax
dec eax
lea edi, [esp + 0x40]
repne scasw ax, word es:[edi]
dec esp
lea eax, [esp + 0x40]
inc ecx
mov edx, esp
dec eax
not ecx
dec eax
lea edi, [ecx - 1]
inc ecx
mov ecx, esp
inc ecx
cmp edi, esp
jbe 0x408347
inc cx
cmp dword [eax], 0x30
jb 0x408306
inc cx
cmp dword [eax], 0x39
ja 0x408306
inc ecx
movzx eax, word [eax]
add edx, edx
lea edx, [eax + edx*8 - 0x30]
jmp 0x408338
inc cx
cmp dword [eax], 0x41
jb 0x408320
inc cx
cmp dword [eax], 0x46
ja 0x408320
inc ecx
movzx eax, word [eax]
add edx, edx
lea edx, [eax + edx*8 - 0x37]
jmp 0x408338
inc cx
cmp dword [eax], 0x61
jb 0x408344
inc cx
cmp dword [eax], 0x66
ja 0x408344
inc ecx
movzx eax, word [eax]
add edx, edx
lea edx, [eax + edx*8 - 0x57]
inc ecx
dec ecx
add eax, 2
cmp ecx, edi
jb 0x4082ec
jmp 0x408347
inc ecx
mov edx, esp
mov dword [ebp], edx
inc ecx
mov eax, esp
dec eax
mov ecx, dword [esp + 0x240]
dec eax
xor ecx, esp
call fcn.0040f394
dec eax
mov ebx, dword [esp + 0x298]
dec eax
add esp, 0x250
inc ecx
pop edi
inc ecx
pop esi
inc ecx
pop ebp
inc ecx
pop esp
pop edi
pop esi
pop ebp
ret