Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe554132d
mov ecx, 0xe67604f6
dec eax
popal
not eax
or eax, ecx
mov edx, 0
mov eax, esi
and edi, edi
dec edi
and ecx, ecx
mov ebx, eax
sub ecx, 0x6cec9ab8
mov edi, 0x8b939cfa
or edi, ecx
mov esi, ebx
and edi, ecx
inc ecx
inc edx
inc edi
sub edi, ecx
or edi, ecx
cmp edx, 0x1009055
jne 0xa789c2
dec edi
not ecx
sub eax, 0x18380aa3
inc eax
mov ecx, 0xa78796
sub eax, edi
mov ebx, eax
add edi, ebx
mov edx, 0xa7898a
and ebx, edi
add eax, 1
mov esi, dword [ecx]
add ebx, edi
add eax, 0xb431abb2
and esi, 0xff
not ebx
mov eax, edi
mov eax, 0x385e0533
xor dword [edx], esi
inc eax
not eax
dec edi
inc edx
or edi, eax
mov eax, ebx
add ecx, 1
mov eax, ebx
sub eax, 1
cmp edx, entry0
jl 0xa78a11
inc ebx
not ebx
or eax, ebx
or edi, eax
not eax
or ebx, edi
mov edx, esi
sub esi, 0x8e49df7a
mov ecx, 0xa7898e
and edi, edx
dec ebx
mov ecx, dword [ecx]
sub edx, edi
add edi, ebx
mov ecx, dword [ecx]
not edi
not esi
and ebx, edi
push ecx
mov edi, 0x5da8bedb
and edi, esi
mov ebx, esi
mov ecx, 0xa7898a
not ebx
or ebx, edx
mov ecx, dword [ecx]
mov esi, 0x679a10ab
sub esi, edi
add esi, esi
mov ecx, dword [ecx]
mov edx, ebx
mov ebx, edi
add ebx, ebx
push 0xa78992
dec esi
or esi, edi
call ecx
add edx, 1
mov edx, 0xdd1f70eb
add edi, 1
mov ecx, dword [esp]
add esp, 4
dec esi
and edi, ebx
push 0xa7899f
not esi
and esi, esi
push eax
inc edi
mov ebx, 0x7090e438
sub edi, 0x6a98d0b0
call ecx
mov edi, 0x128efd3a
inc edi
add edi, 0xf508b047
push 0x40
sub esi, ebx
sub ebx, esi
sub esp, 4
mov dword [esp], 0x3000
and ebx, edx
add edi, ebx
push 0x20000478
sub edi, edx
sub edx, 0xf75bd2b8
add edx, 1
push 0
sub esi, edx
or esi, ebx
call eax
or edx, ebx
sub edx, edi
mov edi, ebx
add eax, 0x200003d7
mov edx, ebx
or esi, esi
mov ecx, 0x6ad51690
mov ebx, edx
add edi, edx
mov dword [eax], ecx
not ebx
sub esi, 0xed2980c1
mov ecx, dword [eax]
sub edx, 0x7a71d227
add ebx, edx
mov edx, esi
cmp ecx, 0x6ad51690
je 0xa78b59
mov edx, 0
mov ecx, dword [edx]
add edi, edx
dec ebx
or esi, esi
add esi, 0x396742fb
add ebx, edx
add ebx, 0x271045
sub ecx, eax
sub ecx, 0x169f610
add eax, 0x1f58baae
mov ebx, section..rdata
not eax
not eax
sub ecx, 1
mov edx, 0xa78795
dec eax
sub ecx, 0x6444955d
sub eax, 0x993b47d8
mov esi, 0
not ecx
sub eax, ecx
add ecx, eax
mov edi, 0xa78796
mov ecx, 0xccab35bc
or eax, ecx
and ecx, ecx
lea edi, [edi + esi]
mov eax, ecx
sub ecx, eax
mov edi, dword [edi]
mov eax, 0xf6683c14
or ecx, ecx
and edi, 0xff
dec ecx
not eax
add esi, 1
add eax, ecx
not ecx
and eax, eax
cmp esi, 0x1f4
jne 0xa78be6
mov esi, 0
mov ecx, eax
or ecx, eax
and eax, eax
sub ecx, 0x3ed91dad
xor dword [ebx], edi
inc eax
mov eax, 0x68d022a4
not ecx
add ebx, 2
sub eax, ecx
mov ecx, 0x1b69bd99
cmp ebx, edx
jl 0xa78ba6
add eax, 0x59bdc2d7
add ecx, ecx
sub ecx, eax
sub ecx, 0x5dcbda41
dec ecx
sub ecx, eax
mov ebx, section..rdata
add esi, ecx
or ecx, ecx
mov edi, section..rdata
dec esi
or ecx, ecx
mov edx, 0xa78795
dec esi
and ecx, esi
mov eax, 0
not esi
or ecx, esi
sub esi, ecx
mov al, byte [edi]
dec esi
inc ecx
mov byte [ebx], al
inc esi
add ecx, 0x95da4d44
not esi
inc ebx
sub ecx, esi
add ecx, 0x23904385
dec esi
add edi, 2
mov esi, ecx
and ecx, esi
sub esi, 1
cmp edi, edx
jle 0xa78c48
or esi, esi
mov esi, ecx
add ecx, ecx
sub eax, ecx
mov eax, 0xd6a8fbcf
push 0x8dc6a0
mov eax, 0xcb4ed783
not eax
mov eax, 0xf06e5628
ret