Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1f0e8d72
add eax, ecx
mov eax, 0xd00de11b
dec eax
popal
add ecx, ecx
not eax
sub ecx, 0x59ee9480
mov edi, 0
mov ebx, ecx
add esi, eax
add esi, esi
sub eax, 0xec983da
mov edx, ebx
sub eax, 0xa9869f63
not esi
sub esi, eax
mov ecx, edx
or esi, eax
mov eax, esi
mov esi, 0x13fafd88
inc edi
sub eax, 0xddc0e41
dec esi
sub eax, 0x22699060
cmp edi, 0x100dc05
jne 0xa789ca
add eax, 0x744e6eb5
add eax, eax
add eax, ecx
add ecx, ecx
mov ebx, 0xa78796
sub edi, edx
sub eax, edi
or edi, eax
mov ecx, 0xa7898a
add edx, eax
sub edx, 0x22a0722a
not edx
mov esi, dword [ebx]
or eax, eax
add eax, edi
sub eax, 1
and esi, 0xff
and edi, edx
add edx, edi
xor dword [ecx], esi
sub edi, eax
or eax, edx
add edi, eax
inc ecx
mov edi, 0xeeb8b8a2
mov edx, eax
add eax, edi
add ebx, 1
mov edx, 0xedd70262
or edx, edx
inc edi
cmp ecx, entry0
jl 0xa78a2d
sub edx, 0x1b2ce6e2
sub eax, 0x43dacce2
mov edx, eax
and edx, edi
or ecx, ebx
add ebx, 1
sub edi, 1
mov edx, 0xa7898e
mov ecx, edi
inc ecx
inc edi
mov edx, dword [edx]
dec ebx
dec edi
and edi, ecx
mov edx, dword [edx]
add ecx, esi
mov edi, 0x547094e8
mov edi, 0x6addcfc0
push edx
not edi
not edi
not ebx
mov edx, 0xa7898a
and esi, esi
or edi, ebx
mov edx, dword [edx]
mov esi, edi
inc ecx
mov edx, dword [edx]
mov edi, esi
inc esi
sub ecx, 0x6a1e98de
sub esp, 4
mov dword [esp], 0xa78992
add ebx, ebx
add edi, 0x3753e2bb
call edx
add edi, 1
sub edi, ecx
mov edx, dword [esp]
add esp, 4
sub esi, 1
and ebx, esi
push 0xa7899f
not ecx
mov edi, 0x250597b7
mov edi, ebx
sub esp, 4
mov dword [esp], eax
sub ecx, edi
dec edi
call edx
dec ebx
mov ebx, 0x1d22556d
mov ebx, 0x7dc6e0c
sub esp, 4
mov dword [esp], 0x40
mov edi, 0xaf42cc5e
sub ecx, esi
sub esi, 1
push 0x3000
add edi, esi
add esi, 1
sub edi, 0xd5bcbaed
push 0x200009be
add edi, 0x94392304
or ecx, esi
or esi, ecx
sub esp, 4
mov dword [esp], 0
inc ebx
add ecx, 0x8603e1ac
sub esi, 1
call eax
sub esi, 1
inc ecx
add eax, 0x20000938
mov ecx, ebx
sub ebx, 0xa9c2e860
mov ebx, 0x8266aa3d
mov edx, 0x32bf23c6
and ebx, ebx
or ebx, ecx
not esi
mov dword [eax], edx
or edi, ebx
mov ecx, ebx
mov edx, dword [eax]
dec ebx
add ebx, ebx
cmp edx, 0x32bf23c6
je 0xa78ba9
mov edx, 0
mov ecx, dword [edx]
mov ecx, esi
add edi, 0xd548ef96
mov ecx, 0x8a8a3c83
sub ebx, edi
and esi, edi
and eax, eax
not eax
mov edx, section.UPX1
mov ecx, 0xd8c4c2a2
or eax, eax
mov eax, 0x8621875
mov esi, 0xa78795
dec ecx
and ecx, eax
mov ebx, 0
and ecx, eax
mov eax, ecx
mov edi, 0xa78796
sub ecx, eax
mov ecx, 0x50959be7
lea edi, [ebx + edi]
mov eax, ecx
sub eax, 0x9c16d04
and eax, eax
mov edi, dword [edi]
and ecx, eax
sub ecx, eax
and eax, ecx
and edi, 0xff
mov ecx, 0x1d5a1f26
add eax, 1
inc ebx
mov eax, 0xf7c50751
inc eax
or ecx, eax
cmp ebx, 0x1f4
jne 0xa78c28
mov ebx, 0
and ecx, ecx
not eax
sub ecx, eax
sub eax, 0x7e29ab75
sub ecx, eax
xor dword [edx], edi
mov eax, 0xe65ea2db
mov eax, 0xd1921ef6
and ecx, eax
add edx, 2
inc eax
sub ecx, 0x4cd7ae8e
sub ecx, eax
cmp edx, esi
jl 0xa78be0
sub eax, ecx
sub eax, 1
add ecx, eax
add ecx, 0x422687a5
and eax, ecx
add eax, eax
mov esi, section.UPX1
sub ecx, edi
add edi, ecx
mov eax, section.UPX1
dec ecx
sub ecx, 0xf67192de
mov edx, 0xa78795
not edi
not ecx
mov ecx, edi
mov ebx, 0
mov edi, ecx
mov ecx, 0x3b127998
mov ecx, 0x6f9d3294
mov bl, byte [eax]
and ecx, edi
inc edi
mov byte [esi], bl
mov ecx, 0xfc1319d
or edi, edi
inc esi
or ecx, ecx
sub edi, ecx
add eax, 2
or ecx, edi
not ecx
mov edi, 0x8bab7576
cmp eax, edx
jle 0xa78ca0
or ecx, edi
dec edi
sub ecx, 0xcafd541c
mov ecx, 0x3ef1780d
add ecx, 0x63c8192
sub esp, 4
mov dword [esp], 0x8dc6a0
sub eax, ecx
sub ecx, eax
ret