Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x81d59512
and ebx, ebx
mov ecx, ebx
sub ebx, 0xdcc0ea1a
popal
add ecx, ecx
sub ebx, 0xe4203fe9
and ecx, ecx
mov eax, 0
mov esi, ecx
add edi, 0xe12383c2
mov edi, 0x6df9dcc3
sub edi, ebx
mov edx, esi
and ebx, edi
add ebx, edi
mov ecx, edx
add ebx, 1
mov edi, 0x8d10c41f
inc eax
mov ebx, edi
add edi, 1
cmp eax, 0x100c35b
jne 0xa789cc
add ebx, 1
or edi, ebx
or ebx, ecx
and ebx, ebx
mov edx, 0xa78796
not ecx
add ebx, ebx
mov esi, 0xa7898a
add ecx, edi
add edi, edi
sub edi, 0x50b2cdd7
mov eax, dword [edx]
mov edi, 0xa70b0d17
sub ecx, 0x887984dd
and eax, 0xff
inc edi
and ecx, ebx
and ecx, ebx
xor dword [esi], eax
or edi, ebx
sub ecx, edi
inc edi
inc esi
and edi, ecx
or edi, ebx
sub edi, 0xd6378839
add edx, 1
mov edi, ecx
mov ebx, 0x571d210e
sub edi, 0x492769c8
cmp esi, entry0
jl 0xa78a27
mov ecx, 0x10d193b7
or ebx, edi
mov edi, ecx
sub edi, 0x32a94d2
not ebx
sub ecx, ebx
add esi, 1
mov edi, 0xa7898e
inc ebx
sub esi, 0x4c7ba9de
mov edi, dword [edi]
sub esi, edx
add edx, 0x1e29e969
mov edi, dword [edi]
mov edx, ecx
mov ecx, esi
not edx
push edi
sub ebx, ecx
sub esi, 0xafe7abb6
or ebx, edx
mov edi, 0xa7898a
mov ebx, 0xaf6ee064
and edx, ecx
add edx, 0xf2940d39
mov edi, dword [edi]
inc esi
not ecx
add edx, 0x827adb75
mov edi, dword [edi]
or esi, esi
dec ebx
sub esp, 4
mov dword [esp], 0xa78992
inc ecx
mov ebx, 0x87225eb8
call edi
mov ecx, esi
add ecx, esi
pop edi
sub esi, 0x8a413566
add esi, 1
mov esi, 0xda5e708b
sub esp, 4
mov dword [esp], 0xa7899f
add esi, edx
not ebx
push eax
and ecx, ebx
sub ebx, 0xfdf92ec7
add ecx, 0x94769081
call edi
dec edx
add esi, 1
push 0x40
not ebx
sub ebx, 0xadad7f16
push 0x3000
or ebx, esi
add ebx, ecx
not edx
push 0x20000b01
add ebx, 0x97acf3df
dec ebx
push 0
add ecx, 0x2a8ed94
inc edx
call eax
dec esi
and edx, ebx
add edx, esi
add eax, 0x20000a5c
sub esi, 0x47b050a
or esi, ebx
mov edi, 0x74ef0be9
sub esi, ecx
inc edx
mov dword [eax], edi
dec ecx
mov esi, 0xd8d9f08a
inc edx
mov edi, dword [eax]
add ebx, 1
mov ecx, 0x117d00a7
and edx, edx
cmp edi, 0x74ef0be9
je 0xa78b96
mov edx, 0
mov dword [edx], eax
mov ecx, 0x3b31a782
or edx, ecx
mov ebx, 0x5a48f0f7
inc edx
or ecx, ebx
dec edx
and ebx, ecx
inc ebx
mov ecx, ebx
mov edi, section.UPX1
sub ecx, ebx
or ebx, ecx
mov eax, 0xa78795
mov ecx, ebx
and ecx, ebx
dec ebx
mov edx, 0
mov ebx, ecx
mov ebx, ecx
mov esi, 0xa78796
or ebx, ebx
sub ecx, ebx
not ecx
lea esi, [edx + esi]
add ecx, ecx
mov ebx, 0x6f81266d
inc ebx
mov esi, dword [esi]
mov ecx, 0xee6cbaf6
or ecx, ecx
mov ecx, ebx
and esi, 0xff
not ebx
and ebx, ebx
or ecx, ebx
inc edx
add ecx, ebx
add ecx, 0xc35239a1
cmp edx, 0x1f4
jne 0xa78c0a
mov edx, 0
and ecx, ecx
add ebx, 0x90f93ffd
mov ebx, 0xb7ba5eb9
and ebx, ebx
inc ebx
xor dword [edi], esi
add ebx, 0x82f5e57e
not ecx
mov ecx, ebx
add edi, 2
sub ecx, 0xb8d9d1e6
add ebx, ecx
cmp edi, eax
jl 0xa78bc7
dec ecx
add ecx, 0x96f0668b
add ebx, 0x5b4b46e
add ecx, 0x6cef5479
dec ecx
mov esi, section.UPX1
sub ebx, 0xa6369109
or ecx, ecx
mov eax, section.UPX1
dec ebx
not ecx
mov edi, 0xa78795
not ecx
or ecx, ebx
add ebx, ebx
mov edx, 0
not ecx
mov ecx, 0x1ea1e11a
mov dl, byte [eax]
not ebx
inc ebx
mov byte [esi], dl
sub ecx, 0x3c72b507
add ecx, ebx
not ebx
inc esi
not ecx
sub ecx, 1
or ebx, ebx
add eax, 2
inc ecx
and ecx, ecx
cmp eax, edi
jle 0xa78c7c
inc ebx
add ebx, ebx
add ebx, 0xd6e60a82
inc ebx
add ebx, 0x989d0c58
push 0x8dc6a0
or ebx, ecx
sub ecx, 0x1757842
not ecx
ret