Function at 0xa843d2
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
add al, 0x89
cmp al, 0x24
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x2c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edi, ecx
mov ecx, dword [ebp + 0x10]
push edi
xchg edi, ecx
pop ecx
xchg dword [esp], edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x46]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
lea eax, [ebp - 0x108]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xd]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, ebp
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, ebp
mov ebp, dword [esp]
xchg ebp, eax
mov eax, esp
push ebp
xchg ebp, eax
pop eax
leave
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7a]
dec ecx
jp 0xa8430a
dec esp
and al, 4
dec ecx
jp 0xa8430a
dec esp
and al, 4
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
lea esp, [esp - 4]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x3e]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
mov dword [esp], esi
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x44]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg esi, edx
mov edx, dword [ebp + 8]
push esi
xchg esi, edx
pop edx
xchg dword [esp], esi
push ebp
mov ebp, esp
leave
lea esp, [esp - 4]
lea ecx, [ecx]
mov dword [esp], edi
push ebp
mov ebp, esp
leave
xchg edi, ecx
mov ecx, dword [ebp + 0xc]
push edi
xchg edi, ecx
pop ecx
xchg dword [esp], edi
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x4e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
pushfd
add ebp, 0x57
popfd
lea ebp, [ebp - 0x57]
lea esp, [esp - 4]
push eax
mov eax, ebx
pop eax
mov dword [esp], edi
mov ecx, ecx
xchg edi, ecx
mov ecx, eax
push edi
xchg edi, ecx
pop ecx
xchg edx, eax
mov edx, dword [esp]
push eax
xchg edx, eax
pop edx
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x2b]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg ebx, esi
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, esi
mov esi, dword [esp]
xchg esi, eax
mov eax, dword [esp + 4]
push esi
xchg esi, eax
pop eax
lea esi, [esi + 0x27]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x58]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], esi
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x35]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], esi
pushfd
add ebp, 0x61
popfd
lea ebp, [ebp - 0x61]
xchg esi, ebx
mov ebx, dword [esp]
push esi
xchg esi, ebx
pop ebx
lea esp, [esp + 4]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x28]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
call 0xa844c3
lea esi, [esi]
xchg esi, edi
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, edi
mov edi, dword [esp]
xchg edi, ecx
mov ecx, dword [esp + 4]
push edi
xchg edi, ecx
pop ecx
lea edi, [edi + 9]
pushfd
add ebp, 0xd
popfd
lea ebp, [ebp - 0xd]
xchg dword [esp + 4], edi
pushfd
add ebp, 8
popfd
lea ebp, [ebp - 8]
mov dword [esp + 4], edi
mov ecx, ecx
xchg edi, eax
mov eax, dword [esp]
push edi
xchg edi, eax
pop eax
lea esp, [esp + 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 8]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffffcbe
xchg dword [esp], eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x16]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, ecx
mov ecx, dword [esp]
xchg ecx, eax
mov eax, dword [esp + 4]
push ecx
xchg ecx, eax
pop eax
lea ecx, [ecx + 0x2b]
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], ecx
push eax
mov eax, ecx
pop eax
mov dword [esp + 4], ecx
push ebp
mov ebp, esp
leave
xchg ecx, eax
mov eax, dword [esp]
push ecx
xchg ecx, eax
pop eax
lea esp, [esp + 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
mov edi, edi
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, eax
mov ecx, dword [esp + 4]
push eax
xchg ecx, eax
pop ecx
lea eax, [eax + 0x3e]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 7]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
pushfd
add ebp, 9
popfd
lea ebp, [ebp - 9]
mov dword [esp + 4], eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
mov ebx, dword [esp]
push eax
xchg ebx, eax
pop ebx
lea esp, [esp + 4]
push ebp
mov ebp, esp
leave
xchg dword [esp], eax
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x30]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5f]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add ebp, 0x2b
lea edi, [edi]
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x32]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
lea ebp, [ebp - 0x2b]
mov ecx, ecx
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x5f]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edx, ecx
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, ecx
mov ecx, dword [esp]
xchg ecx, edx
mov edx, dword [esp + 4]
push ecx
xchg ecx, edx
pop edx
lea ecx, [ecx + 0x3c]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xf]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ecx
pushfd
add ebp, 9
popfd
lea ebp, [ebp - 9]
mov dword [esp + 4], ecx
pushfd
add ebp, 0x23
popfd
lea ebp, [ebp - 0x23]
xchg ecx, eax
mov eax, dword [esp]
push ecx
xchg ecx, eax
pop eax
lea esp, [esp + 4]
lea eax, [eax]
jmp fcn.00a7516c