Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xadd8a80c
add edi, eax
mov eax, edi
sub eax, 0x82b483fd
popal
add edi, eax
or eax, eax
sub eax, edi
mov ebx, 0
mov edx, ecx
mov esi, 0x36051abe
sub esi, edi
mov eax, edx
sub esi, edi
inc edi
mov ecx, eax
mov edi, 0x80d9c1d0
not edi
add esi, esi
inc ebx
and esi, edi
not edi
not esi
cmp ebx, 0x100c8c3
jne 0xa789c8
add edi, edi
not edi
add esi, edi
dec edi
inc edi
add edi, edi
mov ebx, 0xa78796
dec ecx
dec edi
not ecx
mov edx, 0xa7898a
not ecx
or edi, esi
mov eax, dword [ebx]
dec ecx
or esi, esi
and eax, 0xff
not edi
mov edi, ecx
add edi, edi
xor dword [edx], eax
or esi, edi
or ecx, esi
inc edx
dec edi
mov esi, 0x5024f018
inc ebx
mov esi, 0x7fecfc75
and edi, edi
cmp edx, entry0
jl 0xa78a10
sub esi, edi
mov esi, 0xef38a3f2
mov edi, esi
inc esi
mov ecx, 0x2f0c350a
and edi, esi
inc edi
dec ecx
sub edi, 0x8b636d3a
mov esi, 0xa7898e
not edx
not ecx
mov esi, dword [esi]
mov ebx, edi
and edx, edx
inc ebx
mov esi, dword [esi]
mov ecx, ebx
inc edx
inc edx
sub esp, 4
mov dword [esp], esi
not ecx
mov ebx, 0x18f74983
mov esi, 0xa7898a
add edi, 1
not edi
inc ebx
mov esi, dword [esi]
not ecx
mov ecx, edi
or edi, edx
mov esi, dword [esi]
mov ecx, ebx
or ebx, ecx
push 0xa78992
mov ecx, edx
add edi, 0xf718f15a
call esi
not edx
add ecx, edi
sub ecx, ebx
pop esi
inc ebx
mov edx, 0xad6853a4
push 0xa7899f
mov ebx, edi
mov ebx, ecx
add edi, edi
push eax
add edi, edx
add ecx, edx
mov ecx, 0x13b0b0ee
call esi
add edx, edi
inc edi
push 0x40
add edx, 1
not ebx
and edi, edx
sub esp, 4
mov dword [esp], 0x3000
or edx, ecx
not ebx
add ecx, edx
push 0x20000477
sub edx, edi
inc ebx
add ecx, ebx
sub esp, 4
mov dword [esp], 0
inc edx
not ebx
sub edx, ebx
call eax
sub ecx, ebx
and edi, edx
and edx, edi
add eax, 0x200003cb
sub edx, ebx
not edi
mov esi, 0x1c24e5a8
dec edx
inc edx
mov dword [eax], esi
sub ebx, edi
add ebx, 1
mov edx, 0x9762b1a7
mov esi, dword [eax]
mov ebx, edx
not edx
cmp esi, 0x1c24e5a8
je 0xa78b45
mov eax, 0
mov cl, byte [eax]
not ecx
sub ebx, 0x9ec15353
inc ecx
and edi, ebx
not ecx
add edi, 0x449d781f
or edi, eax
sub eax, edi
mov edx, section..pdata
add eax, 0x7db54e81
sub edi, eax
mov edi, 0x533bf698
mov ebx, 0xa78795
or edi, edi
mov edi, eax
mov ecx, 0
or edi, eax
sub edi, eax
mov esi, 0xa78796
or edi, edi
add edi, 0x16168394
and edi, edi
lea esi, [esi + ecx]
and edi, edi
and edi, edi
mov esi, dword [esi]
dec eax
not eax
not eax
and esi, 0xff
sub eax, 0x5ea55785
mov eax, edi
inc ecx
dec eax
mov edi, eax
cmp ecx, 0x1f4
jne 0xa78bbc
mov ecx, 0
sub eax, edi
mov eax, 0xc205ad4c
sub eax, 1
sub eax, 0x9b759fd1
not edi
xor dword [edx], esi
mov edi, 0xdd95bf12
mov eax, 0x177dd5
add edx, 2
and eax, edi
sub edi, 1
cmp edx, ebx
jl 0xa78b80
not edi
or edi, eax
mov edi, 0xa28e1564
sub eax, 0x7cda1e5e
dec edi
add eax, 0x1c243a7f
mov edx, section..pdata
sub edi, ecx
inc ecx
dec ecx
mov eax, section..pdata
not edi
or ecx, edi
mov esi, 0xa78795
add ecx, 0x39bc6fa2
inc edi
mov edi, 0x2cef8245
mov ebx, 0
mov edi, 0xfc3fd61c
mov ecx, 0xed3bdcfc
mov bl, byte [eax]
add edi, 0x2cbccbae
not edi
sub ecx, edi
mov byte [edx], bl
sub ecx, edi
and edi, edi
add edx, 1
and edi, edi
mov ecx, edi
add eax, 2
sub ecx, 0x9dc1d411
add edi, 0x6bfbd884
add ecx, 0x3b75059b
cmp eax, esi
jle 0xa78c3b
sub edi, ecx
sub ecx, 0x276b320e
mov edi, ecx
inc edi
add eax, eax
push 0x8dc6a0
mov edi, 0xe5566989
and edi, edi
ret