Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x11d75b5a
add edx, 1
inc eax
dec eax
popal
and eax, edx
not eax
not eax
mov edi, 0
mov ecx, esi
sub ebx, eax
not ebx
mov edx, ecx
and ebx, eax
sub ebx, 0x9953a3ac
mov esi, edx
sub eax, 0xb80bb7d2
mov eax, ebx
mov eax, ebx
inc edi
mov eax, ebx
mov eax, ebx
cmp edi, 0x100b982
jne 0xa789c6
sub eax, 0x2f96208a
mov ebx, 0xdc04148d
add eax, 0x5e8954a0
sub eax, 0x3566a690
mov ebx, 0xa78796
mov edi, eax
add eax, 1
sub eax, 0xa7e98630
mov esi, 0xa7898a
dec edi
or edi, edi
not edi
mov ecx, dword [ebx]
and edi, edi
and edi, edx
and ecx, 0xff
add eax, 1
not edi
add eax, edx
xor dword [esi], ecx
mov eax, edi
sub edi, 0x5c662105
inc esi
or edi, edx
add edi, eax
inc ebx
and edx, edi
add eax, edx
sub edi, 0x4ead6836
cmp esi, entry0
jl 0xa78a27
and edi, edi
sub eax, edi
or edx, eax
sub edi, edx
inc eax
not esi
sub esi, 0x1a1c63fa
mov ebx, 0xa7898e
or esi, esi
inc edx
and edi, esi
mov ebx, dword [ebx]
sub edx, ecx
not edx
mov ebx, dword [ebx]
or edx, edi
mov edi, esi
sub esi, 0x6438986
push ebx
inc ecx
dec esi
sub ecx, 0x64251830
mov ebx, 0xa7898a
mov ecx, 0x64f31320
or ecx, esi
mov ebx, dword [ebx]
or edi, ecx
dec edx
mov ebx, dword [ebx]
mov edx, edi
sub edi, ecx
add edx, edi
sub esp, 4
mov dword [esp], 0xa78992
inc edx
mov ecx, 0xf57c6008
call ebx
inc esi
mov esi, edx
sub esi, 1
pop ebx
mov ecx, edx
sub esi, 0xf90e8704
push 0xa7899f
mov edx, ecx
or ecx, esi
sub esi, ecx
push eax
mov ecx, 0x11fa5734
sub edx, 0xbcfbfaed
call ebx
sub edi, 0x3b0538aa
inc edi
dec ecx
sub esp, 4
mov dword [esp], 0x40
add esi, 1
add edx, edx
mov edx, edi
push 0x3000
add edi, edi
dec esi
push 0x20000a6a
mov esi, 0x5abab3d0
inc edi
mov edi, 0xaea3dee
push 0
or esi, edi
and edx, esi
call eax
add ecx, esi
inc ecx
add eax, 0x200009e8
and ecx, esi
and edi, edx
add ecx, 0x7d38f014
mov ebx, 0xcace00d4
mov edi, ecx
sub esi, 0xc6a66bd3
mov dword [eax], ebx
add edx, ecx
sub ecx, 0x1911a77c
mov ebx, dword [eax]
add edx, ecx
and esi, esi
or esi, edx
cmp ebx, 0xcace00d4
je 0xa78b6f
mov ebx, 0
mov dword [ebx], edx
dec esi
and edx, esi
inc edi
mov ecx, 0xa7decce0
or ecx, edi
and edx, edx
inc edx
not edx
mov ebx, section..reltc
mov eax, 0xccdaed8
inc eax
mov edi, 0xa78795
add eax, 0xe7de0477
add eax, 0x6c11e19a
or edx, eax
mov esi, 0
sub eax, edx
add eax, eax
add edx, eax
mov ecx, 0xa78796
or edx, eax
dec edx
lea ecx, [esi + ecx]
add eax, eax
add eax, edx
mov ecx, dword [ecx]
dec eax
mov edx, eax
and ecx, 0xff
inc eax
mov eax, edx
inc esi
mov eax, 0x94462082
inc edx
sub edx, 0x6f42b98e
cmp esi, 0x1f4
jne 0xa78bdf
mov esi, 0
add eax, eax
add edx, 1
sub eax, 0xf0d8b1df
sub edx, eax
mov eax, edx
xor dword [ebx], ecx
and edx, eax
inc eax
add ebx, 2
add edx, 0xdd41eae5
and edx, eax
cmp ebx, edi
jl 0xa78ba8
mov edx, eax
sub edx, eax
and edx, edx
add eax, 0xccab006a
mov ecx, section..reltc
dec esi
sub esi, edi
dec edi
mov eax, section..reltc
sub esi, edi
add esi, esi
mov edx, 0xa78795
not esi
add esi, esi
mov ebx, 0
mov esi, 0x2a290fe1
not edi
sub edi, 1
mov bl, byte [eax]
not esi
sub edi, esi
mov esi, 0x45fdf47a
mov byte [ecx], bl
inc edi
not esi
and edi, edi
inc ecx
dec esi
dec esi
or edi, edi
add eax, 2
mov esi, 0x874f4d1d
add esi, esi
cmp eax, edx
jle 0xa78c45
sub edi, 0x6ff40b3f
sub edi, esi
sub esi, 0x1dcd8c73
dec edx
add edx, 0x63d450d5
dec eax
sub esp, 4
mov dword [esp], 0x8dc6a0
or eax, eax
add eax, edx
ret