Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2437aa29
add esi, 0x9e123eee
not esi
popal
and ebx, esi
not ebx
not esi
mov ecx, 0
mov edx, esi
inc eax
not eax
mov eax, 0x5ceda44c
mov ebx, edx
add edi, 0xee5ddc11
or eax, eax
mov esi, ebx
not edi
sub eax, 0x735982d9
add edi, 0x98abfc0e
add ecx, 1
add edi, edi
mov edi, 0xecf8b5d5
cmp ecx, 0x1007d01
jne 0xa789c6
add eax, eax
sub edi, 1
add edi, eax
dec ebx
sub esi, ebx
mov ecx, 0xa78796
sub edx, ebx
add eax, edx
mov esi, 0xa7898a
inc eax
or edx, ebx
mov edi, dword [ecx]
sub edx, 0x1c74af8c
sub edx, 0x2c065e60
add eax, 0x58ab1ba6
and edi, 0xff
mov edx, 0xf29522e
sub edx, ebx
mov edx, eax
xor dword [esi], edi
or edx, eax
add ebx, edx
inc esi
sub eax, 0xd485dc48
add eax, 0x68066ad2
inc ecx
not ebx
sub edx, 0x25492bef
cmp esi, entry0
jl 0xa78a21
mov edx, 0xbf805c0
add eax, 1
inc ebx
dec eax
add eax, eax
not ebx
add ebx, 0xc1d7bc5b
add edx, 0x17e2fbbb
mov ecx, 0xa7898e
add edi, 1
not ebx
mov ecx, dword [ecx]
and ebx, edi
sub ebx, esi
mov ecx, dword [ecx]
and edi, edx
sub edx, edi
mov edx, 0x614007ab
push ecx
dec ebx
sub edi, edx
add edi, edi
mov ecx, 0xa7898a
mov edx, 0x44a19cab
and edx, edi
mov ecx, dword [ecx]
add edx, 1
or edx, edi
mov ecx, dword [ecx]
sub ebx, 0xdcf93d9d
sub edx, 0xf2c2d48c
push 0xa78992
sub ebx, 0xe5546f58
add ebx, 0x4584ba22
or edi, edx
call ecx
mov edi, 0xce5bae2b
mov edx, 0xa5a968a8
add esi, edx
pop ecx
add esi, 0x8c07e67a
mov ebx, edi
dec ebx
sub esp, 4
mov dword [esp], 0xa7899f
inc edx
and edx, edx
add edx, 0xef58580e
sub esp, 4
mov dword [esp], eax
mov esi, 0x331371c1
sub ebx, 0x11d5891
or esi, edi
call ecx
sub esi, 0x2caa58f9
add esi, 0x176db6a1
push 0x40
mov ebx, edi
not esi
add edx, 1
sub esp, 4
mov dword [esp], 0x3000
or ebx, esi
not edi
not edi
push 0x200004dd
not esi
add edx, ebx
sub esp, 4
mov dword [esp], 0
and edi, ebx
add ebx, 0xdc6bd14c
call eax
mov ebx, esi
mov ebx, 0xb5dabc72
add ebx, esi
add eax, 0x20000459
or edx, ebx
mov edi, edx
mov ecx, 0xd44aae34
add esi, edx
mov edx, edi
mov dword [eax], ecx
dec esi
not ebx
mov ecx, dword [eax]
sub ebx, esi
mov edi, 0x81172d7d
sub edi, 0x8f0fe0a8
cmp ecx, 0xd44aae34
je 0xa78bab
mov ecx, 0
mov byte [ecx], al
add esi, 1
mov esi, edx
mov edx, 0x4cc6e1f8
and esi, edx
not edx
sub ebx, esi
inc esi
sub ebx, esi
mov edi, section.UPX1
and ebx, esi
sub esi, ebx
mov eax, 0xa78795
not ebx
sub ebx, esi
mov ecx, 0
mov esi, ebx
not ebx
sub ebx, esi
mov edx, 0xa78796
inc esi
or ebx, ebx
lea edx, [ecx + edx]
dec ebx
sub esi, 0x93225564
and ebx, esi
mov edx, dword [edx]
mov esi, 0x4a4806ce
add ebx, ebx
and edx, 0xff
mov esi, 0x30d84464
mov ebx, 0x3701ed7c
inc ebx
inc ecx
not ebx
mov esi, ebx
mov esi, 0x12726f79
cmp ecx, 0x1f4
jne 0xa78c23
mov ecx, 0
or esi, ebx
sub esi, 1
sub ebx, 0xe9ec55c9
and ebx, ebx
sub ebx, 0xd88d8a2
add esi, ebx
xor dword [edi], edx
or ebx, ebx
mov esi, 0x4218b87b
or esi, ebx
add edi, 2
inc ebx
mov esi, 0x51ee81f1
cmp edi, eax
jl 0xa78bde
dec ebx
inc esi
inc ebx
and esi, ebx
not ebx
mov edx, section.UPX1
sub eax, ebx
mov eax, ebx
mov edi, section.UPX1
inc eax
sub eax, 0xd1142e26
mov esi, 0xa78795
add ebx, 1
sub ebx, 0x30120b80
and eax, ebx
mov ecx, 0
and eax, eax
or ebx, eax
sub ebx, 0x4432563
mov cl, byte [edi]
add ebx, 0xb189dd6f
or ebx, eax
mov byte [edx], cl
inc eax
not ebx
inc edx
sub eax, ebx
not ebx
sub eax, 0xeb03c504
add edi, 2
or eax, ebx
sub ebx, 0x36f0705
cmp edi, esi
jle 0xa78c98
add ebx, 1
add eax, 1
add ebx, eax
sub esi, 1
sub esi, ebx
push 0x8dc6a0
mov ebx, 0x911d76a8
sub ebx, esi
sub esi, ebx
ret