Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf7a3d5f5
and edx, ecx
inc ecx
dec edx
popal
and ecx, edx
sub ecx, edx
mov esi, 0
mov ecx, eax
not edi
inc edx
mov ebx, ecx
inc edx
add edi, 0xfbb3400f
and edx, edi
mov eax, ebx
not edi
sub edi, 0xb1937b42
sub edx, 0x6788a1c9
inc esi
mov edi, edx
not edx
cmp esi, 0x10002c3
jne 0xa789c0
add edi, 0x5897a1e9
mov edi, 0x26f1fa79
mov edx, ecx
and edx, edx
mov edx, 0xa78796
mov ecx, 0x2f345ad5
sub ecx, ebx
sub esi, 0x7ffda446
mov eax, 0xa7898a
add ecx, 0x140fa405
mov esi, ecx
mov ebx, 0xe872fe6c
mov edi, dword [edx]
add ecx, 1
add ebx, 0x8c77c1c2
mov ecx, esi
and edi, 0xff
add ebx, 0xdaf43792
dec ebx
add ebx, 0x26757581
xor dword [eax], edi
inc ecx
sub esi, 0x2fd1e5c9
inc eax
sub ebx, 0x70141134
add ebx, ecx
add edx, 1
sub ebx, esi
dec ecx
cmp eax, entry0
jl 0xa78a24
inc ebx
and esi, ebx
mov esi, ecx
add ebx, 0x5cf776b8
add ebx, ecx
inc ebx
sub ebx, edx
add edi, 0x23ebbb5f
mov esi, 0xa7898e
dec ecx
inc ebx
dec edx
mov esi, dword [esi]
dec ebx
and edx, edi
mov esi, dword [esi]
sub edx, 0x1448e5bd
and edx, ecx
push esi
and edi, edi
sub edx, ecx
mov ecx, edi
mov esi, 0xa7898a
or edi, edx
and edx, edx
add ecx, 0xdd104e2a
mov esi, dword [esi]
and ecx, ebx
sub ecx, edi
mov esi, dword [esi]
add edi, edx
mov edi, ecx
sub ecx, 0x69b85593
sub esp, 4
mov dword [esp], 0xa78992
dec ebx
add edi, edi
call esi
not ecx
dec edx
pop esi
or edx, ecx
add edi, edi
push 0xa7899f
sub ecx, edi
mov ecx, ebx
dec ebx
sub esp, 4
mov dword [esp], eax
and ebx, edx
or edx, ebx
inc edi
call esi
and ebx, edx
and edi, ecx
or edx, edi
push 0x40
sub edi, edx
sub ebx, edx
sub esp, 4
mov dword [esp], 0x3000
or ebx, ecx
or edx, ecx
sub esp, 4
mov dword [esp], 0x2000040d
add ebx, 0xd8537e37
mov ecx, ebx
sub ebx, 0x544645c2
sub esp, 4
mov dword [esp], 0
and edx, edx
mov ebx, 0x1f2aae13
inc ecx
call eax
not ecx
add edx, 1
dec edx
add eax, 0x200003a5
add edi, 0xb26534b9
mov edx, ebx
add edi, ecx
mov esi, 0xfb098824
sub ecx, ebx
sub ebx, 1
mov dword [eax], esi
not ecx
sub edi, edx
dec edx
mov esi, dword [eax]
mov ebx, edi
mov edx, edi
cmp esi, 0xfb098824
je 0xa78b7c
mov ebx, 0
mov dword [ebx], eax
sub ebx, 0x914f6f54
add ecx, edx
add edi, edx
inc edi
or ecx, edi
sub edx, ecx
add edx, edx
mov eax, section..text
add edx, 0xcf4682d4
and edx, edx
mov ebx, 0xa78795
sub ecx, 0x3832779c
dec edx
mov esi, 0
add ecx, 0x1d88f667
mov edx, ecx
or edx, ecx
mov edi, 0xa78796
and ecx, ecx
mov ecx, 0x4fdab174
lea edi, [edi + esi]
sub edx, ecx
add edx, edx
add ecx, 1
mov edi, dword [edi]
mov ecx, 0xd0a94673
mov ecx, 0x3d2fef15
dec ecx
and edi, 0xff
inc ecx
sub ecx, 1
mov edx, ecx
inc esi
or edx, edx
mov ecx, 0xfc0c11d4
not edx
cmp esi, 0x1f4
jne 0xa78c01
mov esi, 0
and edx, edx
mov edx, 0xb0d9891a
not ecx
mov ecx, 0x665f9935
add edx, ecx
not ecx
xor dword [eax], edi
sub ecx, 0x364f4736
mov ecx, 0xc9924cb
or edx, edx
add eax, 2
inc ecx
add ecx, 0x7639a5c
cmp eax, ebx
jl 0xa78bb5
mov ecx, 0xeaff7d8a
mov ecx, edx
add ecx, ecx
not ecx
sub edx, 0xc0f8803c
mov edi, section..text
add eax, 0x2e274352
or ecx, ecx
mov ecx, eax
mov esi, section..text
sub eax, ecx
add ecx, 0xcffabfbd
mov ebx, 0xa78795
or ecx, ecx
sub ecx, eax
mov edx, 0
and ecx, eax
and ecx, ecx
add ecx, 0x4d88c13
mov dl, byte [esi]
dec eax
add eax, 0x372f3c63
and eax, ecx
mov byte [edi], dl
or ecx, eax
dec eax
inc edi
or ecx, ecx
sub eax, ecx
add esi, 2
and eax, eax
add eax, ecx
add ecx, ecx
cmp esi, ebx
jle 0xa78c7c
dec ecx
mov ecx, eax
and edx, edx
and edx, edx
push 0x8dc6a0
add ecx, 0x23efe02b
mov edx, ecx
mov ecx, edx
ret