Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x967718f6
add ecx, 0xd82fd88
not eax
or ecx, ecx
popal
not eax
or ecx, eax
mov ebx, 0
mov edi, edx
sub ecx, 1
dec ecx
add ecx, esi
mov eax, edi
sub esi, 0xc5600a80
or esi, ecx
and ecx, esi
mov edx, eax
add ecx, ecx
mov ecx, esi
add ebx, 1
and ecx, esi
add esi, 0xcf89305
dec ecx
cmp ebx, 0x1008f88
jne 0xa789c6
and ecx, ecx
not esi
mov ecx, 0xaab51e84
inc eax
mov ecx, eax
mov ebx, 0xa78796
not edx
not eax
mov edi, eax
mov ecx, 0xa7898a
add edi, edx
sub edi, 0xe5b92d24
not edx
mov esi, dword [ebx]
add eax, eax
mov edx, 0xd1256575
or eax, edx
and esi, 0xff
not edx
sub edi, edx
xor dword [ecx], esi
sub edi, 0x14b6538f
or edx, eax
add ecx, 1
mov edi, edx
add edi, edx
and edx, eax
inc ebx
not eax
not eax
cmp ecx, entry0
jl 0xa78a24
dec edx
sub eax, edx
mov edi, eax
add eax, 1
not eax
add edi, 1
or esi, esi
mov ebx, 0xa7898e
sub ecx, 0x556b5274
or ecx, esi
mov ebx, dword [ebx]
dec edx
dec ecx
sub esi, 0x3ab4d3da
mov ebx, dword [ebx]
and edi, edi
or edi, edx
not esi
push ebx
sub edi, 0xa024c00a
mov esi, ecx
sub edx, edi
mov ebx, 0xa7898a
mov edi, 0x2b47e78
mov edx, 0xb66f7607
dec edi
mov ebx, dword [ebx]
sub edi, 0x56dcee93
inc ecx
add esi, 1
mov ebx, dword [ebx]
not ecx
sub edi, 1
push 0xa78992
add edx, 0x98c6f23f
and edi, ecx
mov ecx, 0xa2539d37
call ebx
or edi, edx
add edi, 0x1c57d541
not edi
pop ebx
dec esi
dec edx
push 0xa7899f
inc esi
mov ecx, edx
push eax
sub esi, ecx
inc edi
call ebx
add ecx, 0xb7b33c7e
or edi, esi
and edi, edi
push 0x40
dec ecx
or ecx, edx
push 0x3000
sub edi, edx
inc edi
sub esp, 4
mov dword [esp], 0x200007af
add ecx, esi
or edi, edx
inc edi
push 0
not edx
and edx, esi
dec ecx
call eax
add edx, 0xbe0e0ec1
add edi, 0xd573d2bc
mov esi, 0xc3d796db
add eax, 0x2000071d
not edx
not edi
mov ebx, 0x21a65d9c
sub esi, ecx
dec esi
add ecx, 0x3c1138f3
mov dword [eax], ebx
or esi, edx
add edi, 1
mov ebx, dword [eax]
dec edi
add esi, ecx
add edx, 1
cmp ebx, 0x21a65d9c
je 0xa78b79
mov edx, 0
mov al, byte [edx]
and ecx, ecx
and esi, esi
sub esi, edi
sub edx, edi
inc edx
not edi
add ecx, 1
mov eax, 0xae946f06
mov ebx, section..pdata
add eax, ecx
and eax, ecx
mov esi, 0xa78795
dec ecx
dec ecx
mov edi, 0
sub eax, 0xd37d44af
sub eax, ecx
mov edx, 0xa78796
sub ecx, 1
mov ecx, eax
sub eax, 0x45640f37
lea edx, [edi + edx]
mov eax, ecx
add ecx, 0xb74619a4
sub eax, ecx
mov edx, dword [edx]
or ecx, ecx
or ecx, ecx
add ecx, eax
and edx, 0xff
add eax, ecx
or eax, ecx
inc edi
or eax, ecx
sub ecx, 0xeab54926
cmp edi, 0x1f4
jne 0xa78bf4
mov edi, 0
or ecx, ecx
add eax, 0x1406063e
add ecx, 0xcb91e241
sub ecx, eax
add ecx, 1
xor dword [ebx], edx
add ecx, ecx
add ecx, ecx
mov ecx, eax
add ebx, 2
mov eax, 0xd02ea487
add eax, 0xf3667a35
add eax, eax
cmp ebx, esi
jl 0xa78bac
inc eax
or ecx, ecx
or ecx, ecx
mov ecx, 0x4fe12d88
sub eax, ecx
mov eax, ecx
mov ecx, section..pdata
mov edx, eax
mov edx, eax
mov edi, section..pdata
mov edx, eax
sub edx, 1
sub edx, 0x98fe7211
mov esi, 0xa78795
inc edx
add eax, 0x113edc77
inc edx
mov ebx, 0
not eax
mov edx, eax
add eax, edx
mov bl, byte [edi]
add edx, 1
add edx, edx
mov eax, edx
mov byte [ecx], bl
mov edx, 0x410d66a8
inc edx
add eax, edx
add ecx, 1
sub edx, eax
or eax, edx
add edi, 2
not edx
inc eax
add edx, eax
cmp edi, esi
jle 0xa78c6f
dec edx
sub edx, eax
not eax
sub eax, 1
and eax, eax
add eax, 1
push 0x8dc6a0
not ecx
sub ecx, 0xa5ee054f
dec ecx
ret