Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4077928
add ecx, 1
mov edi, ecx
popal
sub ecx, 0xb0f6ebf
dec ecx
mov eax, 0
mov edx, ecx
add esi, edi
add edi, esi
mov ebx, edx
add edi, esi
add esi, 0x6cf9b56d
sub edi, 0x23fac302
mov ecx, ebx
sub edi, 0x82342b6f
not edi
inc eax
sub edi, 0x5baf5601
add edi, 0x154667b2
cmp eax, 0x100367c
jne 0xa789c7
inc edi
dec esi
or edi, edi
mov ecx, edi
mov ecx, 0xa78796
or esi, edx
dec eax
mov ebx, 0xa7898a
add esi, 0x1108fa56
add edx, eax
mov edi, dword [ecx]
not esi
not edx
and esi, eax
and edi, 0xff
sub esi, edx
add eax, eax
not esi
xor dword [ebx], edi
sub edx, eax
mov eax, 0x86aeda55
sub eax, esi
inc ebx
mov esi, edx
add eax, 0xee488260
inc ecx
add eax, eax
mov eax, 0xf0e8ba3d
mov edx, 0x9a6b1afe
cmp ebx, entry0
jl 0xa78a1b
and edx, edx
and eax, edx
add esi, 0x5af97868
not edx
dec edx
and esi, ecx
mov edi, 0xa7898e
sub esi, ebx
or esi, edx
sub ecx, 0x23d1ac57
mov edi, dword [edi]
dec ecx
add ecx, esi
mov edi, dword [edi]
not ecx
not ebx
mov ecx, ebx
push edi
add ebx, ebx
add ebx, 0x8f9c84bd
mov ecx, ebx
mov edi, 0xa7898a
sub ecx, 1
sub ecx, 0x5e8b8512
mov edi, dword [edi]
and esi, edx
and ebx, ecx
mov edi, dword [edi]
and ecx, ecx
mov edx, 0x7c4cf12f
dec ecx
push 0xa78992
or ecx, ecx
add ebx, esi
call edi
mov edx, ecx
sub esi, 0x37ba6038
pop edi
not esi
mov ebx, 0x6fe6fdc7
mov ecx, 0x931746cc
push 0xa7899f
mov esi, edx
sub edx, ecx
or edx, ebx
push eax
and edx, esi
or esi, edx
or edx, ecx
call edi
or ebx, esi
or esi, ecx
sub esi, 0x2ea232d8
sub esp, 4
mov dword [esp], 0x40
and ebx, ebx
mov ebx, edx
dec edx
push 0x3000
not esi
or edx, edx
push 0x20000776
sub ebx, 0x6cf72454
add ecx, 0xa8cf35a7
push 0
sub edx, 1
sub esi, 0xda70c933
not edx
call eax
mov edx, 0x7615e9b3
not ebx
add eax, 0x200006c6
add esi, 0x3365c6f5
add ecx, ebx
mov edi, 0xa7ce78f2
not edx
not esi
mov dword [eax], edi
or ebx, edx
add ebx, 1
mov edi, dword [eax]
mov ebx, edx
sub ebx, 0xfbfbb959
dec ecx
cmp edi, 0xa7ce78f2
je 0xa78b71
mov eax, 0
mov byte [eax], bl
inc esi
or ebx, ecx
sub ecx, esi
sub esi, ecx
or ecx, ebx
or edi, edi
sub ecx, edi
mov eax, section..rsrc
not ecx
sub edi, 0x30d4ae47
or ecx, ecx
mov ebx, 0xa78795
mov edi, 0x21b4d1f3
mov ecx, edi
not edi
mov edx, 0
not edi
inc edi
mov esi, 0xa78796
not edi
add edi, 0xf4a710eb
not edi
lea esi, [esi + edx]
sub edi, ecx
sub ecx, 0x5e0d4550
mov edi, 0xe6ca1482
mov esi, dword [esi]
or ecx, edi
mov edi, 0x28dfbeda
not ecx
and esi, 0xff
add ecx, ecx
not edi
add edx, 1
mov edi, 0x6c0c1486
add ecx, ecx
not edi
cmp edx, 0x1f4
jne 0xa78bf3
mov edx, 0
or ecx, edi
or ecx, edi
add edi, ecx
or ecx, edi
inc ecx
xor dword [eax], esi
sub edi, 1
add ecx, edi
not ecx
add eax, 2
and ecx, ecx
add ecx, 0xf351f916
inc edi
cmp eax, ebx
jl 0xa78ba3
dec edi
mov edi, 0x3920cae7
inc edi
and ecx, ecx
mov ecx, section..rsrc
add eax, 0xa69ce988
or eax, edx
mov esi, section..rsrc
dec eax
add edx, eax
mov edi, 0xa78795
or edx, edx
sub eax, 0x9636d0a4
mov ebx, 0
add eax, eax
inc edx
sub edx, eax
mov bl, byte [esi]
mov edx, eax
sub edx, 0xa342f37e
or eax, eax
mov byte [ecx], bl
not edx
add eax, edx
dec edx
add ecx, 1
not edx
add eax, edx
add eax, 0xea178edd
add esi, 2
add edx, 0x5d8b1ba9
or eax, eax
cmp esi, edi
jle 0xa78c54
sub edx, 0x1c799c79
sub edx, eax
mov edi, 0x227a988f
inc edi
not edi
sub esp, 4
mov dword [esp], 0x8dc6a0
not ecx
and ecx, ecx
or ecx, edi
ret