Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb0e0cd1f
sub edx, 0x92b22448
or edx, edx
add ecx, edx
popal
mov ecx, 0x535441c7
add edx, 1
mov edx, 0
mov ecx, eax
and edi, esi
sub edi, 0xc6550a15
dec edi
mov ebx, ecx
mov edi, 0x852c7be5
dec esi
mov eax, ebx
not esi
inc edi
inc edx
and edi, esi
and esi, esi
cmp edx, 0x10058b8
jne 0xa789cd
or edi, esi
sub edi, 0x6c35c838
add edi, 0xdfe8745f
sub ecx, 0x53d56343
or ecx, ecx
add ecx, ecx
mov eax, 0xa78796
not ecx
add esi, ecx
mov edx, 0xa7898a
dec ecx
sub ebx, 1
or ecx, esi
mov edi, dword [eax]
inc ecx
sub ecx, 1
dec ecx
and edi, 0xff
or esi, esi
and ecx, ebx
or ebx, ebx
xor dword [edx], edi
sub ebx, 1
sub ecx, esi
sub ebx, 0xeff44880
inc edx
add esi, 0xee197c30
not ebx
add eax, 1
and ebx, esi
add ecx, 0x9258fe60
sub ecx, 0x2900ebd7
cmp edx, entry0
jl 0xa78a25
add esi, 0xdc78189a
add ecx, ecx
add ecx, esi
add esi, ebx
add ebx, 0x81c2621b
mov ebx, edi
mov esi, 0xa7898e
not ecx
inc edx
mov esi, dword [esi]
mov ebx, 0x6eb7969c
inc edi
mov esi, dword [esi]
add ebx, 0x7dcef93b
mov edx, ecx
and ebx, edx
sub esp, 4
mov dword [esp], esi
mov edx, 0x2a30bde4
mov edi, ecx
sub edx, edi
mov esi, 0xa7898a
sub ecx, 0xbb665f08
sub ecx, 1
and ebx, ecx
mov esi, dword [esi]
add ecx, ebx
add ebx, 0xf94948b9
mov esi, dword [esi]
sub edx, 1
add edx, 0x6d01991f
or edx, ebx
push 0xa78992
mov edi, ecx
add ebx, edi
call esi
not edi
sub edx, 0xfdd88c10
not edx
pop esi
add ebx, 0x728e4ff0
sub edx, edi
or ebx, edi
sub esp, 4
mov dword [esp], 0xa7899f
or ebx, ebx
sub ecx, 0x2345a40e
dec edx
push eax
not edi
sub edi, edx
call esi
and edi, edi
add ecx, ecx
push 0x40
and ebx, edx
sub ecx, edi
push 0x3000
sub edi, ecx
sub edi, 1
push 0x20000d3e
not ebx
sub edx, edi
mov edi, 0xe9490969
push 0
mov edx, ebx
add edx, edx
call eax
inc ecx
not edi
sub ebx, edx
add eax, 0x20000c9b
add ebx, edx
add ebx, ecx
mov esi, 0xed4e37d9
sub ecx, 0x372f56ea
or edi, edi
mov dword [eax], esi
inc ebx
mov edi, edx
mov esi, dword [eax]
not ecx
add edx, 0xb9f22e0f
mov ecx, ebx
cmp esi, 0xed4e37d9
je 0xa78b89
mov ecx, 0
mov dword [ecx], edx
not ecx
and edx, edi
add edi, 0x74f60ea6
sub edi, 0x9a65dae8
mov ebx, 0x32ee949f
sub edx, 0x237ee811
mov ecx, 0xa41c0dd8
mov eax, section..reltc
mov ecx, edx
add ecx, 0x292c6ecf
mov edi, 0xa78795
mov edx, ecx
dec ecx
add edx, ecx
mov ebx, 0
inc edx
add edx, 0x673da4d
add edx, ecx
mov esi, 0xa78796
sub edx, 0xe8817167
add ecx, edx
lea esi, [ebx + esi]
inc ecx
add ecx, 0xb6e007d4
mov esi, dword [esi]
sub ecx, edx
add edx, edx
sub edx, ecx
and esi, 0xff
add ecx, 0x46abf9b8
sub ecx, edx
and edx, ecx
inc ebx
add ecx, ecx
and edx, edx
cmp ebx, 0x1f4
jne 0xa78c0f
mov ebx, 0
not edx
add edx, ecx
not ecx
and ecx, ecx
inc edx
xor dword [eax], esi
inc ecx
add ecx, 0x37aa66fb
add eax, 2
or ecx, ecx
add ecx, ecx
sub edx, 1
cmp eax, edi
jl 0xa78bce
and ecx, edx
not ecx
dec edx
sub edx, ecx
mov edx, 0x90f82eab
mov edi, section..reltc
add eax, esi
add eax, esi
sub eax, esi
mov ebx, section..reltc
sub eax, esi
mov eax, esi
mov ecx, 0xa78795
add esi, esi
add eax, eax
sub eax, 0x1067b425
mov edx, 0
add esi, esi
or esi, esi
inc esi
mov dl, byte [ebx]
add eax, 0x71db3eb0
sub eax, 0xbbfc3795
mov byte [edi], dl
add eax, 0x98f8b4c8
add esi, 0xa163d9ee
or esi, esi
inc edi
mov eax, esi
sub esi, 1
sub eax, 1
add ebx, 2
and eax, esi
mov eax, 0x5b1c06cb
sub eax, esi
cmp ebx, ecx
jle 0xa78c72
or esi, esi
sub eax, 0x65e54946
mov esi, eax
sub edx, 0xc3018d14
sub ecx, 0xa3d39805
sub ecx, 0xacaddd62
push 0x8dc6a0
add edx, edx
inc edx
ret