Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6094620d
sub ecx, 0x883418c8
or eax, ecx
popal
add eax, ecx
dec ecx
mov eax, 0x17f81f01
mov ebx, 0
mov edx, esi
sub ecx, 0x165e2a52
and ecx, ecx
dec ecx
mov edi, edx
add eax, 0xd3ac5200
sub ecx, eax
not eax
mov esi, edi
mov ecx, 0xab288a2c
dec ecx
mov eax, 0x19a4cd9b
inc ebx
sub eax, ecx
sub eax, ecx
sub ecx, eax
cmp ebx, 0x100ed96
jne 0xa789c8
sub eax, 0x3fa571db
sub ecx, eax
or ecx, ecx
sub ecx, eax
add ecx, 0xbf17f100
mov ecx, 0xa78796
mov edx, eax
dec ebx
mov edi, 0xa7898a
mov ebx, 0x35d4fbc
inc eax
mov esi, dword [ecx]
sub ebx, 1
sub ebx, 0x8d24cd70
and eax, edx
and esi, 0xff
or ebx, ebx
inc ebx
xor dword [edi], esi
sub ebx, 1
or ebx, eax
add edi, 1
mov ebx, 0xb68128dd
sub edx, 1
inc ecx
add ebx, edx
mov ebx, 0x324e18f9
cmp edi, entry0
jl 0xa78a24
sub eax, 0x16c951f3
add eax, 1
sub ebx, 0xc22bc49b
sub eax, 1
inc eax
add edi, 0x93806a90
mov edi, esi
mov ecx, 0xa7898e
mov edi, 0xa8f58aff
mov edx, edi
mov edx, 0x5c40f189
mov ecx, dword [ecx]
add ebx, 0x5a296a13
add edx, edi
and edx, edx
mov ecx, dword [ecx]
add edx, esi
mov edi, 0xe3116de0
mov esi, 0xf2b6310b
push ecx
not ebx
mov ebx, edi
mov ecx, 0xa7898a
dec edx
inc esi
mov ebx, 0xdfd0bcad
mov ecx, dword [ecx]
add esi, 0x9aacb845
mov edx, 0x2c46e5c3
mov ecx, dword [ecx]
inc esi
add edi, 0xbc725d65
not esi
push 0xa78992
sub edx, 0x9b456e5b
sub edi, ebx
call ecx
sub edx, esi
mov edi, 0x467a14f
add edi, edi
pop ecx
add edi, edi
inc edi
push 0xa7899f
and ebx, edx
or ebx, esi
push eax
inc edx
or edx, edi
add edi, 0x5a8dd6c9
call ecx
and ebx, edi
and ebx, esi
sub edx, 0x363bc4b
push 0x40
mov ebx, edx
add edi, esi
push 0x3000
sub esi, ebx
add esi, edi
push 0x20000e39
or edi, edx
sub esi, 0x2442ae12
add edi, edx
push 0
mov esi, edi
and edi, esi
sub edx, 0xec988c1a
call eax
add edi, esi
sub ebx, esi
add eax, 0x20000da5
and edi, ebx
and edx, ebx
mov ecx, 0x5c943d03
mov edx, 0x975c42ef
sub ebx, edi
add esi, esi
mov dword [eax], ecx
sub edx, 0x7ca7abc8
sub edi, edx
mov ecx, dword [eax]
not esi
mov ebx, 0x2a0fe67d
add ebx, 0x529a4061
cmp ecx, 0x5c943d03
je 0xa78b92
mov edx, 0
mov cl, byte [edx]
sub edx, 1
and edx, ebx
add esi, 1
mov ebx, edi
and eax, ecx
mov eax, ecx
mov esi, section.UPX1
mov ecx, eax
add ecx, 0x2515dbd4
sub ecx, 0x4b5c6399
mov edx, 0xa78795
sub ecx, 0x6d7054c5
add eax, ecx
mov ebx, 0
add eax, ecx
or eax, ecx
mov ecx, 0x6c4d1af5
mov edi, 0xa78796
add eax, 0x7abda1ea
add eax, 0x83ab116c
lea edi, [ebx + edi]
mov ecx, 0x177c9a7f
sub ecx, 0x2af18351
or eax, eax
mov edi, dword [edi]
dec ecx
mov eax, ecx
and edi, 0xff
add eax, 0xed070aca
add eax, 0x8d752036
add ebx, 1
dec ecx
dec ecx
cmp ebx, 0x1f4
jne 0xa78c21
mov ebx, 0
or eax, ecx
add ecx, 1
mov eax, 0x19909d12
mov eax, ecx
xor dword [esi], edi
add eax, 1
dec ecx
add esi, 2
or eax, ecx
sub ecx, 0x25b3ddd7
mov ecx, eax
cmp esi, edx
jl 0xa78bd4
add eax, 0x5fad7d48
mov ecx, eax
and eax, ecx
mov ecx, eax
mov ecx, section.UPX1
add ebx, 0x2d82bc21
dec ebx
sub edi, 0x835adee0
mov esi, section.UPX1
dec ebx
add ebx, edi
inc edi
mov eax, 0xa78795
sub ebx, 0x94607432
sub edi, ebx
and ebx, edi
mov edx, 0
add edi, 1
sub edi, ebx
dec ebx
mov dl, byte [esi]
add edi, edi
inc ebx
mov byte [ecx], dl
add edi, 0x7fa2e9b9
and edi, ebx
not ebx
inc ecx
or edi, edi
add edi, 0x9dda7a7e
add esi, 2
and edi, edi
mov edi, 0x9f7f1d8d
sub edi, ebx
cmp esi, eax
jle 0xa78c95
mov ebx, 0xa9ac88cd
and edi, edi
or eax, eax
not ecx
mov ecx, eax
push 0x8dc6a0
and ecx, eax
and eax, ecx
ret