Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf7f6cd22
add edi, 0x5dcfc3b3
dec ebx
popal
add ebx, 0xf8707fec
add ebx, 0x9d951ec
and ebx, ebx
mov eax, 0
mov edi, edx
inc esi
and esi, esi
or esi, esi
mov ebx, edi
add ecx, 0xfd5eea8f
inc esi
mov edx, ebx
and esi, esi
and ecx, esi
inc eax
or ecx, esi
not esi
cmp eax, 0x100b8af
jne 0xa789cd
add esi, 0x9313761d
sub ecx, esi
mov edi, 0x335dd271
mov edi, ebx
mov ecx, 0xa78796
sub eax, ebx
sub eax, 0x79c1c635
mov edi, 0xa7898a
sub edx, ebx
not eax
sub edx, eax
mov esi, dword [ecx]
add ebx, 0x4ed9433
sub edx, 0x743ca474
and esi, 0xff
sub ebx, edx
or ebx, edx
xor dword [edi], esi
dec edx
and edx, ebx
inc edi
dec edx
dec edx
sub eax, 0x1b3b1264
add ecx, 1
mov eax, 0x82392ec2
and eax, eax
cmp edi, entry0
jl 0xa78a1b
add ebx, ebx
dec ebx
sub ebx, 0x230a5d08
add edx, 1
dec edx
or eax, eax
add edi, 0x21afc0fc
inc ecx
dec ecx
mov edx, 0xa7898e
add edi, 1
add ebx, esi
mov edx, dword [edx]
not ebx
add ecx, ecx
mov edx, dword [edx]
dec esi
sub esi, ebx
push edx
sub esi, edi
and esi, ecx
mov esi, 0xdb7fbcbe
mov edx, 0xa7898a
or esi, ecx
sub ecx, 1
mov edx, dword [edx]
dec ecx
add ebx, edi
mov edx, dword [edx]
mov ecx, ebx
sub edi, ecx
sub esp, 4
mov dword [esp], 0xa78992
add edi, 0xd2b46426
mov edi, ecx
dec edi
call edx
mov ecx, 0xffba3acb
mov ebx, esi
pop edx
sub ecx, 0xdf7926ad
not ecx
dec ebx
push 0xa7899f
mov esi, 0x855869f0
mov esi, ebx
sub esi, 0x1d47e51e
push eax
dec esi
and ecx, ebx
call edx
add esi, 0x779df604
sub ebx, ecx
sub ebx, esi
sub esp, 4
mov dword [esp], 0x40
dec edi
inc edi
push 0x3000
and ebx, edi
sub esi, ecx
push 0x200006dd
mov ecx, esi
add ecx, 0xd9c85850
push 0
mov ebx, ecx
sub ecx, 0x23187515
call eax
dec ebx
mov ecx, 0xa64137a3
add eax, 0x2000065c
sub edi, 0x1d6d2d4b
or ebx, esi
mov edx, 0x1994c3cf
dec ebx
inc ebx
add edi, 0xf4dfaef4
mov dword [eax], edx
add edi, edi
dec ebx
mov edx, dword [eax]
sub ecx, 0x596b98c4
add esi, esi
sub ecx, esi
cmp edx, 0x1994c3cf
je 0xa78b68
mov ecx, 0
mov bl, byte [ecx]
mov ebx, 0xd2a42d46
dec edi
not esi
inc esi
add esi, ecx
sub edi, 0x2335c9fa
and edi, ebx
mov edx, section..reltc
add ebx, 1
add edi, 0xf0d42d1
mov ecx, 0xa78795
add ebx, edi
add ebx, edi
mov edi, ebx
mov esi, 0
inc edi
mov edi, ebx
mov eax, 0xa78796
add edi, ebx
mov edi, 0x64f71ece
mov edi, ebx
lea eax, [esi + eax]
dec ebx
or edi, ebx
mov eax, dword [eax]
or edi, edi
add edi, 0xe8678d2a
inc ebx
and eax, 0xff
mov edi, 0xb9773b7c
sub ebx, 0xe533d6e1
and ebx, edi
inc esi
inc ebx
sub edi, ebx
cmp esi, 0x1f4
jne 0xa78be2
mov esi, 0
dec ebx
dec ebx
mov ebx, edi
mov edi, 0xea85c15e
and edi, edi
xor dword [edx], eax
add ebx, 0xce17ceb3
mov edi, 0xe4ae6613
add edx, 2
or edi, ebx
dec edi
mov ebx, edi
cmp edx, ecx
jl 0xa78b9f
and edi, edi
and ebx, edi
dec ebx
or edi, ebx
mov esi, section..reltc
add edi, eax
mov eax, 0xedabcdba
add edi, eax
mov ecx, section..reltc
or eax, edi
sub edi, eax
dec edi
mov ebx, 0xa78795
sub eax, edi
add eax, eax
mov edx, 0
dec edi
or eax, edi
mov dl, byte [ecx]
inc eax
not edi
mov eax, 0xbbc1ca56
mov byte [esi], dl
add edi, eax
or edi, eax
inc esi
inc eax
not eax
sub edi, 0x930540b8
add ecx, 2
or edi, edi
and edi, eax
not eax
cmp ecx, ebx
jle 0xa78c3d
sub edi, 0x97bbe93d
sub eax, 0x271ac5bd
dec eax
add edi, 0x7fedec86
mov ebx, 0x7074badd
push 0x8dc6a0
add ebx, 1
and edi, ebx
add edi, 0x4f0de8a8
ret