Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8960d4c1
mov edx, 0xcc7849c
and ecx, edx
popal
and ecx, ecx
add ecx, ecx
sub edx, ecx
mov ebx, 0
mov edx, eax
or ecx, edi
and edi, ecx
add ecx, edi
mov esi, edx
dec edi
inc edi
mov eax, esi
and ecx, edi
or ecx, ecx
inc ebx
add edi, edi
not ecx
cmp ebx, 0x1002d7c
jne 0xa789c5
or ecx, ecx
or ecx, edi
dec edi
sub edx, ecx
add ecx, ecx
mov ecx, edx
mov ebx, 0xa78796
add eax, edx
add ecx, eax
mov ecx, 0xf784aa61
mov edi, 0xa7898a
and edx, eax
sub eax, ecx
sub ecx, 0x8866cdcd
mov esi, dword [ebx]
add eax, eax
mov edx, eax
mov eax, 0x33902173
and esi, 0xff
inc edx
or eax, edx
sub ecx, edx
xor dword [edi], esi
not edx
sub ecx, 1
not eax
add edi, 1
not ecx
sub eax, 0xf6089d19
inc ebx
sub ecx, 0x133d813f
not eax
mov ecx, edx
cmp edi, entry0
jl 0xa78a10
mov edx, 0xaf1108cb
add ecx, 1
or edx, edx
sub ecx, 0x3003c573
add edx, ecx
dec eax
not ebx
not ecx
mov edx, 0xa7898e
inc edi
inc edi
sub ebx, esi
mov edx, dword [edx]
sub edi, 1
and esi, ebx
mov edx, dword [edx]
not ebx
add edi, ebx
push edx
sub edi, 0x190e79c3
mov ebx, 0x97729370
add ebx, 1
mov edx, 0xa7898a
and esi, esi
or edi, esi
mov edx, dword [edx]
dec esi
add ebx, ebx
sub ecx, 0xd5deca81
mov edx, dword [edx]
not ecx
add esi, edi
sub esi, ebx
sub esp, 4
mov dword [esp], 0xa78992
add ecx, edi
sub edi, ebx
call edx
add ebx, 0x43e64ced
and ecx, ecx
or esi, ecx
pop edx
mov edi, 0x813fe5e8
add edi, ebx
and edi, ebx
push 0xa7899f
sub ecx, esi
dec esi
push eax
add ecx, edi
add edi, 1
call edx
sub esi, edi
and edi, edi
push 0x40
sub ecx, edi
add esi, 0x2ae45823
mov edi, 0x2a1548bd
push 0x3000
not esi
dec esi
sub esp, 4
mov dword [esp], 0x2000067b
add ebx, 0xd76e975d
and ecx, edi
push 0
or esi, ecx
mov edi, 0x3bb98cdc
call eax
not esi
mov edi, 0xc8384c02
add esi, edi
add eax, 0x200005de
add ecx, ecx
add esi, 1
dec ebx
mov edx, 0xe8564c94
mov edi, 0x80a234db
sub ecx, esi
not esi
mov dword [eax], edx
and edi, ecx
sub ecx, 0x2ca7c9a7
mov edx, dword [eax]
sub ebx, ecx
and ebx, edi
inc edi
cmp edx, 0xe8564c94
je 0xa78b73
mov eax, 0
mov dword [eax], ebx
sub ecx, 0xb0ebd48a
mov ebx, 0xf74de75b
add ebx, 0xdfdb5039
sub edi, 1
add ecx, 0xd7b6dc2c
add ecx, 0x1bea0131
inc edx
sub edx, 0x29b2946d
sub ecx, 1
mov eax, section..text
add ecx, ecx
add edx, 0xa77d489b
mov esi, 0xa78795
dec ecx
mov ecx, edx
add ecx, 0x791d0265
mov edi, 0
add ecx, 0xac50745e
mov edx, ecx
sub ecx, 0xad4ac8cb
mov ebx, 0xa78796
mov edx, 0xd5a64bb5
and edx, ecx
lea ebx, [edi + ebx]
mov ecx, edx
mov edx, 0x83729edc
or ecx, ecx
mov ebx, dword [ebx]
inc ecx
not ecx
mov edx, ecx
and ebx, 0xff
sub edx, ecx
not ecx
dec ecx
inc edi
dec ecx
add edx, edx
cmp edi, 0x1f4
jne 0xa78c0c
mov edi, 0
dec edx
sub edx, 1
add ecx, 0x44939736
sub edx, 0xfacc7b8b
xor dword [eax], ebx
not ecx
dec ecx
add eax, 2
and ecx, edx
add edx, 0xb0742510
cmp eax, esi
jl 0xa78bd1
inc ecx
mov ecx, 0x6988966d
sub ecx, 0x4cc2e82d
add ecx, 0x3d104a4b
dec edx
mov ecx, section..text
sub edi, 1
and edi, edi
mov esi, section..text
dec edi
sub edi, eax
dec eax
mov ebx, 0xa78795
inc eax
mov edi, 0x6945ccc6
mov edx, 0
inc edi
add edi, edi
mov dl, byte [esi]
sub eax, 1
add edi, 0x25cc63cc
sub eax, edi
mov byte [ecx], dl
add eax, 0x689ea8cb
mov eax, 0xc904e9cb
not edi
inc ecx
add edi, 0x4621b0bb
add edi, edi
mov edi, 0x226362c0
add esi, 2
inc edi
not edi
cmp esi, ebx
jle 0xa78c76
dec edi
inc edi
dec edx
mov ecx, 0x9aea13b5
push 0x8dc6a0
not edx
add ecx, 0x5d029e2c
ret