Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa0672fb
and esi, ecx
add esi, esi
popal
dec ecx
sub esi, 0xd90f894
mov eax, 0
mov edx, ebx
sub esi, ecx
dec ecx
mov edi, edx
sub esi, 0xc49b10d
add esi, esi
mov ebx, edi
add esi, ecx
or esi, ecx
dec ecx
inc eax
inc esi
or ecx, ecx
cmp eax, 0x100204d
jne 0xa789c3
dec esi
and esi, esi
dec ecx
not esi
mov eax, 0xa78796
add edi, ecx
not edi
mov edx, 0xa7898a
or edi, ecx
sub edi, 0x85a482b5
mov esi, dword [eax]
dec ebx
mov edi, 0xdad42dec
and esi, 0xff
dec edi
or edi, ebx
or ebx, edi
xor dword [edx], esi
mov ecx, edi
and edi, ecx
add ebx, 0xf50f24d
inc edx
add ecx, ebx
add ebx, 1
inc edi
inc eax
inc ebx
mov ebx, 0x80c1c897
mov ebx, ecx
cmp edx, entry0
jl 0xa78a05
sub ecx, 0x9b8509c6
mov edi, ecx
inc edi
add ebx, ecx
mov ecx, 0x6864db54
inc ebx
sub edi, 0xbde812c6
and ecx, esi
mov ebx, 0xa7898e
mov edi, 0xa554ac2a
or esi, esi
sub ecx, 0xae40a435
mov ebx, dword [ebx]
inc ecx
mov edx, 0x66f29f1c
mov ebx, dword [ebx]
and ecx, esi
inc edi
dec edi
push ebx
dec esi
sub edx, edi
mov ebx, 0xa7898a
add esi, 0x23a01da6
mov ecx, 0x67a0b4df
add ecx, edi
mov ebx, dword [ebx]
inc edi
or ecx, esi
sub ecx, 0x3b087894
mov ebx, dword [ebx]
and edx, esi
not edx
push 0xa78992
and edx, edx
add edi, 1
sub edi, ecx
call ebx
add edi, 0xc67af749
add edx, 0xf3c9129f
mov edi, edx
pop ebx
sub edi, esi
and ecx, esi
dec edi
push 0xa7899f
not edx
or ecx, edx
dec edx
sub esp, 4
mov dword [esp], eax
sub edx, 0x8069088b
or edi, edi
call ebx
not esi
or edi, ecx
sub edi, 0xf21a2427
push 0x40
not esi
sub ecx, edx
sub esp, 4
mov dword [esp], 0x3000
sub esi, edi
sub esi, ecx
push 0x200002a2
add ecx, edi
mov edi, 0xf8dd523b
not esi
push 0
sub esi, edi
or esi, edi
or esi, edi
call eax
add esi, 1
add ecx, 0x5cbe8411
add ecx, edi
add eax, 0x200001e3
mov ecx, 0x2a20304e
add esi, 0xe7d2ae42
sub edi, ecx
mov ebx, 0xcb33f06e
add esi, 1
add edx, 0xdc6edc5d
sub edx, edi
mov dword [eax], ebx
and edx, edx
dec esi
and edi, ecx
mov ebx, dword [eax]
or edx, edx
sub edx, 0x175605dd
cmp ebx, 0xcb33f06e
je 0xa78b72
mov eax, 0
mov dword [eax], ebx
or edx, edx
or esi, ecx
sub esi, 0x9ef6a646
add edx, 0x3f180d7f
mov ecx, 0x98ab9bbb
or edi, edx
add ecx, esi
add esi, 0xa5408301
mov ebx, section.UPX1
mov ecx, 0x518f4e50
and ecx, esi
sub esi, ecx
mov eax, 0xa78795
inc esi
add esi, 0xd63b7682
mov edi, 0
and esi, esi
mov ecx, esi
not ecx
mov edx, 0xa78796
not esi
mov ecx, esi
lea edx, [edx + edi]
add esi, esi
not ecx
mov esi, ecx
mov edx, dword [edx]
add ecx, 0x84983b66
not esi
and ecx, ecx
and edx, 0xff
or esi, ecx
or ecx, esi
inc edi
add esi, ecx
inc esi
cmp edi, 0x1f4
jne 0xa78bef
mov edi, 0
sub ecx, esi
not esi
dec esi
and esi, esi
xor dword [ebx], edx
mov esi, ecx
sub ecx, 1
not ecx
add ebx, 2
mov esi, ecx
inc ecx
add esi, 0xa07e4601
cmp ebx, eax
jl 0xa78bb6
mov esi, 0xf5d95fce
add esi, 0x4e8441e8
mov ecx, 0x5848d409
mov ecx, 0x75f635d0
add ecx, esi
mov ebx, section.UPX1
or eax, eax
add edi, edi
mov esi, section.UPX1
and edi, edi
sub eax, 0x81d2cd30
mov edx, 0xa78795
sub eax, 0xb1f69834
or eax, edi
mov ecx, 0
add edi, 0xfd390140
inc eax
mov cl, byte [esi]
mov eax, edi
or eax, edi
mov byte [ebx], cl
and eax, edi
add edi, 0xb3b75631
and edi, eax
add ebx, 1
sub edi, eax
and eax, eax
mov eax, edi
add esi, 2
not edi
sub eax, 0x16209d8a
cmp esi, edx
jle 0xa78c5f
sub edi, eax
mov eax, edi
not edi
add ecx, 0x8d8d4d27
mov esi, 0x93703199
mov esi, ecx
sub esp, 4
mov dword [esp], 0x8dc6a0
or esi, ecx
add ecx, 0x67496def
and esi, esi
ret