Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x66eda1db
inc ecx
and edi, ecx
popal
mov edi, 0x23beb1af
sub edi, 1
add edi, 1
mov esi, 0
mov eax, ecx
dec edx
and ebx, ebx
sub edx, 1
mov edi, eax
dec ebx
or edx, edx
add ebx, ebx
mov ecx, edi
or ebx, edx
mov edx, 0xdf5e997d
not edx
inc esi
add edx, 0x2328e965
dec edx
not edx
cmp esi, 0x1004d25
jne 0xa789cc
sub ebx, 1
add ebx, ebx
not edi
dec ecx
mov esi, 0xa78796
add ebx, ebx
add ebx, ebx
add eax, 0x9fc60e50
mov ecx, 0xa7898a
add ebx, 0x23dc37c3
and eax, ebx
add eax, eax
mov edx, dword [esi]
and edi, ebx
sub eax, edi
or eax, ebx
and edx, 0xff
inc eax
or eax, eax
dec ebx
xor dword [ecx], edx
or ebx, ebx
sub eax, edi
not edi
inc ecx
add eax, edi
mov edi, 0x43b08589
not ebx
inc esi
dec eax
sub edi, ebx
add eax, 0xdd145559
cmp ecx, entry0
jl 0xa78a28
inc ebx
sub eax, edi
and ebx, eax
and ebx, ebx
and esi, edx
mov edi, 0x5b1e9c61
mov ebx, 0xa7898e
sub edi, ecx
inc esi
sub ecx, 0x6c5baf7a
mov ebx, dword [ebx]
add edi, 0x1c3f7d7e
or edi, ecx
add ecx, ecx
mov ebx, dword [ebx]
dec edi
mov edi, 0x3d0e7092
push ebx
dec edi
mov ecx, edi
mov ebx, 0xa7898a
mov edx, 0xc5ece65d
sub edi, 0xd4981970
add ecx, 0xa7cff93
mov ebx, dword [ebx]
add edx, edx
dec edi
mov ebx, dword [ebx]
add edi, 0xb5457929
add edi, 0x45ef289c
sub edi, 1
push 0xa78992
sub edx, 0x2177a93b
sub ecx, 0x655acaf8
inc esi
call ebx
mov ecx, 0x442b236
add ecx, 0x9ed7d36
inc esi
mov ebx, dword [esp]
add esp, 4
or ecx, ecx
add edx, esi
push 0xa7899f
inc ecx
inc edi
push eax
and esi, esi
or ecx, ecx
call ebx
mov ecx, esi
sub edi, 0xa7ab2389
sub edi, 0x3302f37
sub esp, 4
mov dword [esp], 0x40
and ecx, edi
or edx, esi
add edx, esi
sub esp, 4
mov dword [esp], 0x3000
dec edi
sub edx, 0x4ca94648
sub ecx, 0x698da8e
push 0x20000a99
or esi, edi
mov ecx, 0x39a4109b
add ecx, esi
sub esp, 4
mov dword [esp], 0
inc edi
dec edx
not edx
call eax
inc ecx
dec edx
inc edi
add eax, 0x20000a24
sub ecx, edx
sub edi, edx
add esi, 1
mov ebx, 0xb3b4b771
inc ecx
inc edi
mov esi, edx
mov dword [eax], ebx
not esi
add esi, 0x4ebfe07a
mov ebx, dword [eax]
add ecx, esi
sub ecx, 0xeabe8fd8
cmp ebx, 0xb3b4b771
je 0xa78b8f
mov edx, 0
mov ecx, dword [edx]
mov edi, edx
mov edx, 0x63bec28b
dec edi
and esi, esi
not ecx
or edi, edi
sub ecx, edi
mov eax, section.UPX1
add ecx, ecx
dec ecx
not ecx
mov edx, 0xa78795
or edi, edi
add ecx, edi
mov ecx, 0x14dbdbf4
mov esi, 0
and ecx, edi
mov edi, ecx
mov ebx, 0xa78796
inc edi
add edi, edi
lea ebx, [ebx + esi]
and ecx, edi
sub ecx, 0xb9a450b6
mov ebx, dword [ebx]
mov ecx, edi
add edi, edi
and ebx, 0xff
mov edi, ecx
sub ecx, 1
sub edi, ecx
inc esi
mov ecx, 0x5e17386f
add ecx, 1
cmp esi, 0x1f4
jne 0xa78c02
mov esi, 0
sub edi, ecx
mov edi, 0x5f7c7deb
add edi, 0x4b228b5
and edi, edi
sub edi, 0x256ef357
xor dword [eax], ebx
sub ecx, edi
add ecx, 0x8f80ef29
add edi, edi
add eax, 2
inc edi
inc ecx
cmp eax, edx
jl 0xa78bc0
inc ecx
mov edi, ecx
or ecx, ecx
sub edi, ecx
and edi, edi
mov eax, section.UPX1
sub edi, 1
sub edi, ebx
and ebx, ebx
mov edx, section.UPX1
sub ebx, edi
and edi, ebx
sub edi, 0x4c7e7a4
mov esi, 0xa78795
sub ebx, 0x498fdbf2
and ebx, ebx
not ebx
mov ecx, 0
sub ebx, 0x8a660919
and edi, ebx
mov cl, byte [edx]
not ebx
add ebx, 0x89664e68
mov byte [eax], cl
or ebx, edi
sub ebx, 0xc40b8c41
mov ebx, 0xdf7d5f38
inc eax
add edi, 0x19fe3c71
and ebx, ebx
add edx, 2
sub edi, ebx
add ebx, ebx
or ebx, edi
cmp edx, esi
jle 0xa78c76
dec edi
add edi, ebx
and ecx, edi
add ecx, 0x65235e5e
inc ecx
push 0x8dc6a0
add edi, 0xe57641dd
add ecx, edi
mov edi, ecx
ret