Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa6927baf
and ecx, esi
sub ecx, 0xb286e1f
and ecx, esi
popal
dec esi
not esi
mov edi, 0
mov ecx, ebx
not edx
add esi, esi
sub edx, 0x9e3801d5
mov eax, ecx
mov esi, edx
add edx, edx
add esi, 0x51e6bc8f
mov ebx, eax
not esi
not esi
sub esi, edx
add edi, 1
inc edx
or esi, edx
cmp edi, 0x1006fa6
jne 0xa789c5
not edx
mov esi, edx
add esi, 0xc4e84699
and ecx, esi
sub ecx, esi
mov esi, 0xa78796
not edi
not edi
sub edi, ecx
mov edx, 0xa7898a
not ebx
add ecx, ebx
mov eax, dword [esi]
dec edi
mov ebx, 0xf16c0ea3
add ecx, 0x593337d9
and eax, 0xff
sub ebx, 0x89c9776a
add edi, ecx
sub edi, 0x7f8544da
xor dword [edx], eax
or ebx, edi
dec ebx
inc edx
mov edi, 0xeb54d319
sub ebx, 0x36216a80
inc esi
and ecx, edi
mov ebx, ecx
or ebx, edi
cmp edx, entry0
jl 0xa78a1c
not ecx
not ecx
add ebx, ebx
mov ecx, 0xff737462
sub edx, edi
add ebx, 1
mov esi, 0xa7898e
inc ecx
mov ebx, edx
sub ecx, 0xc5ea9476
mov esi, dword [esi]
dec ebx
dec edi
mov esi, dword [esi]
and edi, ebx
sub ecx, 0x414752d4
or edi, edi
push esi
sub ecx, 0xa542193b
sub ebx, ecx
sub ebx, 1
mov esi, 0xa7898a
sub ecx, edx
mov ebx, 0x33de84a9
mov esi, dword [esi]
sub edx, ecx
sub edi, 1
mov esi, dword [esi]
or edx, edi
add edi, edx
sub esp, 4
mov dword [esp], 0xa78992
mov ebx, 0x3dd76ebd
sub edi, ebx
dec ecx
call esi
sub ebx, 0xadc464a
sub edx, ecx
pop esi
add ecx, 0x8e6f5d5c
not ecx
sub esp, 4
mov dword [esp], 0xa7899f
mov ecx, 0x587978c
not ecx
push eax
not ecx
not edi
call esi
add edi, 0xdeb67e7c
and edx, edx
mov edi, 0xe20a5b30
sub esp, 4
mov dword [esp], 0x40
inc edi
mov ecx, ebx
sub esp, 4
mov dword [esp], 0x3000
inc edx
sub edi, 0xb939a3dd
and edx, ecx
push 0x20000134
sub ecx, ebx
sub ebx, ecx
mov ecx, edx
push 0
sub ecx, 0x265e0b0
add edi, ebx
add edx, ebx
call eax
and edi, ecx
mov ecx, 0xf715ef5
sub ebx, 0x509749dd
add eax, 0x200000c4
dec ebx
add edx, edi
mov esi, 0xa4ea934d
and ecx, ebx
and edi, edx
mov dword [eax], esi
mov edi, 0xe17ea044
sub edx, edi
and ecx, ecx
mov esi, dword [eax]
mov edx, 0x11942068
or ecx, edi
mov edx, ecx
cmp esi, 0xa4ea934d
je 0xa78b88
mov ecx, 0
mov ebx, dword [ecx]
mov ecx, ebx
mov edx, 0xfe9b059e
dec ecx
mov ebx, 0xdc5d8629
inc edi
mov esi, 0xf9ea8803
add esi, ecx
mov eax, section.UPX1
add esi, 0x807bd91c
add ecx, esi
mov edx, 0xa78795
or ecx, esi
sub esi, 1
not esi
mov edi, 0
sub esi, 1
sub esi, 0x3e9014c8
mov ebx, 0xa78796
and ecx, esi
add ecx, 0xff5c3cf8
add ecx, 0x727102ea
lea ebx, [edi + ebx]
and esi, esi
sub ecx, 0xf737e6cb
and esi, ecx
mov ebx, dword [ebx]
and ecx, esi
add esi, 0xb236afa2
and ecx, ecx
and ebx, 0xff
not ecx
mov ecx, esi
inc edi
and ecx, esi
mov ecx, esi
mov ecx, 0x80d7876c
cmp edi, 0x1f4
jne 0xa78c17
mov edi, 0
dec ecx
mov ecx, esi
or esi, ecx
mov ecx, 0x16fffe8f
xor dword [eax], ebx
add esi, esi
and ecx, ecx
add eax, 2
and ecx, esi
and esi, esi
and ecx, esi
cmp eax, edx
jl 0xa78bca
mov esi, ecx
add ecx, 1
mov ecx, 0x938ebfa0
mov ecx, esi
mov edi, section.UPX1
inc ebx
or ebx, ebx
mov ecx, section.UPX1
dec ebx
dec esi
mov eax, 0xa78795
sub ebx, esi
sub esi, 1
inc ebx
mov edx, 0
not ebx
not ebx
sub ebx, 0x591b599a
mov dl, byte [ecx]
add ebx, ebx
or ebx, esi
mov byte [edi], dl
dec ebx
and ebx, esi
inc edi
dec ebx
add ebx, 0x69261d54
inc ebx
add ecx, 2
sub ebx, 0x4b423e4c
inc esi
cmp ecx, eax
jle 0xa78c76
dec ebx
add ebx, 0x1a78f682
dec esi
mov ecx, 0x4b0f5b70
not esi
push 0x8dc6a0
inc esi
add ecx, 1
ret