Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6c6b77c5
sub ebx, ecx
and ecx, ecx
popal
sub ecx, 1
sub ebx, 0x1bd5643b
add ebx, ecx
mov edi, 0
mov ecx, ebx
mov edx, eax
sub eax, edx
and edx, edx
mov esi, ecx
mov edx, eax
sub eax, edx
mov ebx, esi
or edx, edx
inc edx
inc edi
dec edx
mov eax, 0x90f8c875
cmp edi, 0x10066a4
jne 0xa789ca
mov edx, 0xe447d496
add eax, eax
sub edx, eax
and ecx, ecx
sub ebx, 0x35e7fa43
mov esi, 0xa78796
inc eax
not ebx
mov ecx, 0xa7898a
inc eax
mov ebx, 0xb2f10391
mov eax, ebx
mov edx, dword [esi]
add ebx, 0x125f398c
mov eax, 0x7de9612c
or edi, ebx
and edx, 0xff
add eax, 0x98347737
dec ebx
xor dword [ecx], edx
sub edi, 0xd3240512
not ebx
inc ecx
mov edi, 0x9db82563
mov ebx, 0x98c37e5c
inc esi
add ebx, 0x88b52646
or edi, eax
cmp ecx, entry0
jl 0xa78a16
inc edi
or edi, eax
add edi, 0x998ecfe4
sub edi, 0x7858d98e
add edi, 0xe80ba5a6
add edx, ebx
dec edx
mov edi, edx
mov ecx, 0xa7898e
inc edx
mov ebx, 0x99f181e5
mov ecx, dword [ecx]
add edx, 0xa20e3499
add esi, 0x3f0eb050
not ebx
mov ecx, dword [ecx]
mov edx, edi
sub edx, esi
push ecx
not edx
add esi, edi
mov ecx, 0xa7898a
or esi, edi
sub edx, esi
sub esi, ebx
mov ecx, dword [ecx]
and ebx, ebx
not edi
dec esi
mov ecx, dword [ecx]
mov edi, esi
add edi, edx
push 0xa78992
and edi, ebx
or ebx, edx
or edx, edi
call ecx
not edi
add ebx, 0x19df37fd
not edx
pop ecx
dec ebx
add edi, esi
push 0xa7899f
mov ebx, esi
sub esi, edx
add edx, 0xf3be8144
push eax
mov edx, 0x893c781f
mov edx, esi
not edi
call ecx
not ebx
add ebx, 0x4366b4e2
push 0x40
mov edx, edi
mov edi, edx
sub esi, 0xe5a89f7d
push 0x3000
mov edi, ebx
add edx, edx
add esi, 0xceb62ce2
push 0x200000a8
add edi, 0xb89845f9
inc edx
sub esp, 4
mov dword [esp], 0
add ebx, 1
or esi, edi
call eax
sub esi, edi
sub edx, 0x693a3b41
add ebx, edx
add eax, 0x20000006
mov edx, 0xd0d7668a
and edx, ebx
mov ecx, 0x236fc1f4
add edi, 0xc50753c4
add ebx, esi
and esi, esi
mov dword [eax], ecx
add esi, 0xa5e4abcb
mov edx, edi
inc edx
mov ecx, dword [eax]
not edx
not edx
cmp ecx, 0x236fc1f4
je 0xa78b76
mov ebx, 0
mov byte [ebx], cl
add edx, 0x679edc38
sub edi, 1
sub edx, ebx
and edx, esi
and ebx, ecx
dec ebx
mov edx, section.UPX1
add ecx, 0xb681966e
add ebx, 1
inc ebx
mov eax, 0xa78795
not ebx
add ecx, 0x657a161f
mov esi, 0
inc ecx
and ecx, ebx
add ecx, ebx
mov edi, 0xa78796
and ecx, ebx
sub ebx, ecx
lea edi, [esi + edi]
sub ecx, 0x3988aad8
add ecx, 0x4e49d47f
dec ecx
mov edi, dword [edi]
sub ecx, 0x2f7e3ae4
mov ebx, 0x3a6c7ea
and edi, 0xff
and ebx, ebx
or ebx, ebx
dec ecx
inc esi
add ebx, 0xe8e10012
mov ebx, ecx
cmp esi, 0x1f4
jne 0xa78bf9
mov esi, 0
add ecx, 0x71d842f9
dec ebx
dec ebx
sub ecx, ebx
xor dword [edx], edi
and ebx, ebx
not ebx
mov ebx, ecx
add edx, 2
add ebx, 0x6030c4e0
add ecx, ebx
sub ecx, ebx
cmp edx, eax
jl 0xa78bb2
mov ebx, 0xb73ad6d
sub ebx, 0x1a162212
not ecx
not ecx
add ebx, ebx
dec ecx
mov eax, section.UPX1
dec edi
sub ecx, 0xfdfd42dc
mov ebx, section.UPX1
add edi, 1
sub edi, 1
mov esi, 0xa78795
mov edi, 0xf0f28533
mov ecx, edi
mov edx, 0
sub ecx, edi
or ecx, ecx
mov dl, byte [ebx]
sub edi, 0x5d96d7c1
mov ecx, edi
mov edi, 0x663aba40
mov byte [eax], dl
or ecx, edi
and edi, ecx
dec ecx
add eax, 1
mov edi, 0x66c47af
sub edi, 0x701dcb10
and ecx, ecx
add ebx, 2
inc ecx
not ecx
cmp ebx, esi
jle 0xa78c67
mov edi, ecx
not edi
add edi, 0x4e5668da
mov ecx, 0x3ec48030
sub ecx, 0x493129ca
mov ebx, ecx
sub esp, 4
mov dword [esp], 0x8dc6a0
and ecx, ebx
dec ebx
sub ecx, 1
ret