Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x79aa0656
mov eax, esi
mov esi, 0x3f826a47
popal
mov esi, eax
or eax, esi
mov edx, 0
mov eax, esi
dec ebx
dec ecx
mov edi, eax
sub ebx, ecx
or ecx, ecx
or ebx, ebx
mov esi, edi
add ecx, ecx
mov ecx, 0x556a43cb
sub ecx, 1
inc edx
mov ebx, 0xc453f5d6
sub ecx, ebx
cmp edx, 0x100121b
jne 0xa789c3
add ebx, 0x2e9ad17d
sub ecx, ebx
add esi, eax
sub eax, 0xdb134bbd
mov ecx, 0xa78796
dec eax
or eax, esi
mov ebx, 0xa7898a
or edi, eax
mov esi, edi
mov edx, dword [ecx]
dec edi
mov esi, 0xcc47c88b
and edx, 0xff
add edi, esi
not eax
xor dword [ebx], edx
or eax, eax
sub esi, eax
mov eax, edi
inc ebx
sub edi, eax
add esi, eax
inc ecx
mov edi, 0x4118ec40
dec edi
sub eax, 1
cmp ebx, entry0
jl 0xa78a13
add esi, 1
dec edi
inc eax
dec edi
mov ebx, edi
mov ebx, edi
mov edx, 0xa7898e
and ecx, ecx
add edi, 0x2f9e5b22
mov edx, dword [edx]
and edi, ebx
not ebx
or edi, ecx
mov edx, dword [edx]
or edi, ebx
sub edi, esi
sub esp, 4
mov dword [esp], edx
mov ebx, 0x8856051b
mov ebx, ecx
mov edx, 0xa7898a
mov esi, ebx
not edi
mov edi, ecx
mov edx, dword [edx]
mov ebx, 0x327ec69b
inc edi
add edi, 0x2dc5d0d9
mov edx, dword [edx]
and esi, edi
inc ebx
or edi, edi
sub esp, 4
mov dword [esp], 0xa78992
mov edi, ebx
and esi, edi
call edx
and esi, ebx
dec esi
and ebx, esi
mov edx, dword [esp]
add esp, 4
not ebx
dec ecx
push 0xa7899f
and ebx, ecx
dec ebx
push eax
inc ebx
sub ecx, ebx
call edx
sub ecx, 0x93b28cd
sub esi, 0xad5b8d84
push 0x40
not edi
add ebx, 0xa8dd54de
push 0x3000
and esi, ebx
add ebx, 1
push 0x200007d6
inc ecx
and ecx, esi
mov esi, ecx
push 0
mov esi, ecx
sub edi, 0x3c7f8586
not ebx
call eax
not ecx
or esi, ebx
add eax, 0x20000741
inc esi
not ebx
mov edx, 0x31848b7b
and edi, esi
or esi, edi
or ebx, ebx
mov dword [eax], edx
mov ebx, 0xe694c48a
sub edi, 0x80c12b49
inc edi
mov edx, dword [eax]
dec esi
add edi, 1
cmp edx, 0x31848b7b
je 0xa78b4b
mov ebx, 0
mov eax, dword [ebx]
not esi
add ecx, 0x7d6cd047
mov edi, 0x4080474c
inc ebx
sub esi, eax
or eax, eax
mov eax, esi
mov edi, section.UPX1
sub eax, 0x9a65dfbb
mov eax, esi
mov edx, 0xa78795
add eax, eax
sub eax, esi
and eax, eax
mov ebx, 0
add eax, 1
mov esi, eax
sub esi, 0x292f29e9
mov ecx, 0xa78796
sub esi, eax
add esi, eax
not eax
lea ecx, [ecx + ebx]
mov esi, eax
dec esi
mov ecx, dword [ecx]
mov esi, 0x6a85a8f
dec eax
mov eax, 0x2c45471c
and ecx, 0xff
mov eax, 0xed6ccf86
not esi
inc ebx
or eax, esi
or eax, esi
or esi, esi
cmp ebx, 0x1f4
jne 0xa78bc9
mov ebx, 0
add esi, eax
mov eax, esi
sub eax, esi
add eax, eax
inc esi
xor dword [edi], ecx
dec esi
not esi
add edi, 2
sub eax, esi
and eax, eax
cmp edi, edx
jl 0xa78b8a
add esi, 0xdd102126
mov eax, 0x969a407a
or esi, esi
inc esi
dec eax
mov esi, section.UPX1
mov ecx, 0x9003814f
and ebx, ebx
and ecx, ebx
mov edi, section.UPX1
dec ecx
sub ecx, 1
mov eax, 0xa78795
mov ebx, ecx
and ebx, ebx
mov ecx, ebx
mov edx, 0
or ebx, ecx
inc ecx
inc ecx
mov dl, byte [edi]
or ecx, ebx
not ecx
sub ecx, 0x5c38a21
mov byte [esi], dl
sub ecx, 0xc0ba1c79
mov ecx, 0x869c5d51
add ebx, 1
inc esi
not ebx
sub ebx, 1
add ebx, 0x3806938
add edi, 2
mov ebx, ecx
inc ebx
cmp edi, eax
jle 0xa78c26
sub ecx, 0xb08a3c72
mov ecx, ebx
sub eax, 1
dec eax
push 0x8dc6a0
and esi, eax
not eax
mov esi, 0x2d4d1979
ret