Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x57717b49
mov edx, 0x91687c25
or ecx, ecx
sub ecx, edx
popal
and ecx, edx
dec ecx
or edx, ecx
mov edx, 0
mov eax, ebx
sub edi, esi
dec edi
not edi
mov ecx, eax
mov edi, 0xa542a02
add edi, 0x8253ef7e
mov ebx, ecx
mov edi, 0xebd6031d
sub esi, edi
add edx, 1
not edi
not esi
cmp edx, 0x10022bc
jne 0xa789c6
or edi, edi
not esi
add esi, esi
add edx, 0xd8a12f8c
or ecx, ecx
add edx, ecx
mov eax, 0xa78796
inc ecx
sub ecx, 0x23f86606
or edx, edi
mov esi, 0xa7898a
add edi, edx
add edx, 0xb267927e
sub ecx, 0xf75456c9
mov ebx, dword [eax]
or edx, edx
sub ecx, 1
and ebx, 0xff
add edi, 0xe14def35
not edi
or edx, edx
xor dword [esi], ebx
sub ecx, 1
sub ecx, edx
dec edx
inc esi
not ecx
mov edi, edx
add edx, edi
inc eax
sub edx, 0xddac9b06
add ecx, 1
inc edx
cmp esi, entry0
jl 0xa78a2a
or ecx, ecx
add edi, 0xde37667
sub edx, ecx
or edx, ecx
sub ecx, edi
and edx, esi
dec esi
add esi, ecx
mov ebx, 0xa7898e
mov edi, 0xc8d1b5cd
add edi, 0x4772ccc6
mov ebx, dword [ebx]
mov ecx, 0x8cbbbfb
not ecx
mov ebx, dword [ebx]
add edx, 0xb02afd35
not edx
sub ecx, esi
push ebx
not ecx
inc esi
dec edx
mov ebx, 0xa7898a
inc ecx
mov edx, ecx
sub esi, 0xc3bf1430
mov ebx, dword [ebx]
add esi, 0xe0973257
and edi, ecx
or ecx, ecx
mov ebx, dword [ebx]
add ecx, 0xf5072fcb
sub edx, 0x823f3303
push 0xa78992
add ecx, edx
or ecx, esi
sub edi, esi
call ebx
mov edi, esi
sub esi, 1
inc edi
pop ebx
sub edx, 0x34bf9aee
mov edx, esi
or edi, edi
push 0xa7899f
or esi, esi
dec edx
and edx, edx
push eax
sub edx, 0xe7bf21ab
add esi, ecx
call ebx
sub esi, edx
not ecx
push 0x40
mov edx, 0xb163c6a0
or esi, ecx
not esi
push 0x3000
mov edx, edi
sub edi, 0xfe928e10
sub edx, edi
push 0x20000cee
not ecx
or edi, edi
sub esp, 4
mov dword [esp], 0
mov edx, esi
add esi, esi
call eax
sub edi, 1
or edx, ecx
sub edi, 0xf746f4af
add eax, 0x20000c7c
add esi, 0x7ece0ce2
mov esi, 0xc790b4d1
add edx, edi
mov ebx, 0x26c26103
and ecx, ecx
mov ecx, esi
mov dword [eax], ebx
sub ecx, 0x413766b1
mov ecx, 0xdea2fb8f
or edx, edx
mov ebx, dword [eax]
or ecx, esi
sub edi, 1
cmp ebx, 0x26c26103
je 0xa78b97
mov edx, 0
mov ebx, dword [edx]
not edx
or esi, ecx
mov edi, edx
and esi, edi
or ecx, ecx
sub edx, ecx
and ecx, edx
mov ebx, section.UPX1
dec ecx
dec edx
add edx, edx
mov eax, 0xa78795
sub ecx, 0x5d48e5fc
mov ecx, 0xdd8b13ca
dec edx
mov edi, 0
and ecx, ecx
add ecx, ecx
mov esi, 0xa78796
mov edx, ecx
or edx, ecx
add edx, 0xc3752176
lea esi, [esi + edi]
mov ecx, edx
not edx
mov esi, dword [esi]
mov ecx, 0x8a1b0814
not ecx
sub edx, ecx
and esi, 0xff
add edx, edx
inc edx
inc edx
add edi, 1
mov ecx, edx
not ecx
cmp edi, 0x1f4
jne 0xa78c0a
mov edi, 0
sub ecx, edx
sub edx, 1
mov edx, 0xec63c92c
mov edx, ecx
mov edx, ecx
sub edx, 0x4e8451b8
xor dword [ebx], esi
mov edx, 0xc8cb40e5
or edx, ecx
or edx, ecx
add ebx, 2
sub edx, ecx
add ecx, ecx
sub ecx, 1
cmp ebx, eax
jl 0xa78bc8
dec edx
add edx, 0xa9818cad
sub ecx, 0xba5bb6e8
add edx, 1
add ecx, 0x204b63e
mov eax, section.UPX1
mov ebx, 0x144a5e34
mov edx, ebx
mov esi, section.UPX1
dec ebx
mov ebx, edx
add ebx, ebx
mov edi, 0xa78795
dec ebx
or edx, ebx
and ebx, ebx
mov ecx, 0
mov edx, ebx
mov edx, 0x453bf753
mov edx, ebx
mov cl, byte [esi]
add ebx, edx
sub edx, ebx
sub edx, 0x8ee840e1
mov byte [eax], cl
add ebx, 0xe1fa2418
add edx, edx
inc eax
or ebx, ebx
not ebx
sub ebx, edx
add esi, 2
sub edx, 1
mov edx, ebx
sub ebx, 1
cmp esi, edi
jle 0xa78c8b
or ebx, ebx
sub ebx, 0x47727b6f
add ecx, 0xfa1d65b9
add ecx, 1
add edx, edx
push 0x8dc6a0
mov ecx, edx
add edx, 0x9d217665
mov ecx, 0x1c722eac
ret