Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x14754a9a
and ecx, ecx
not edx
add ecx, edx
popal
not ecx
or edx, ecx
mov edx, ecx
mov ecx, 0
mov esi, edx
add ebx, edi
or ebx, edi
mov edi, ebx
mov eax, esi
sub edi, 0xd2270c65
add ebx, 0x21e44dd0
mov edx, eax
add ebx, ebx
or ebx, ebx
inc ecx
sub ebx, edi
mov edi, ebx
cmp ecx, 0x100940f
jne 0xa789c4
not ebx
sub ebx, 0x8e4db8c
mov ecx, 0x8e6f7b63
sub ecx, 0xf4286282
mov esi, 0xa78796
add edi, ebx
mov edi, ebx
inc edi
mov edx, 0xa7898a
or ebx, ebx
sub ecx, ebx
add edi, 0x73f1f913
mov eax, dword [esi]
add ecx, edi
mov ecx, ebx
and eax, 0xff
or edi, ecx
sub edi, ecx
xor dword [edx], eax
sub edi, 0x3eb43ec4
sub ebx, edi
add edx, 1
add ecx, ebx
not edi
sub edi, 0x5121e6b7
add esi, 1
not edi
add edi, 0xfbc7b902
cmp edx, entry0
jl 0xa78a1d
or edi, ecx
inc ebx
inc ebx
sub edi, 0x6aefc723
mov ecx, 0x1c2d087a
sub edi, 0xc861d0f0
dec ebx
sub edx, 0x9b75b37
sub ebx, edx
mov esi, 0xa7898e
and edi, edx
not ebx
dec edx
mov esi, dword [esi]
sub ecx, 0xd6fa5393
inc edi
mov esi, dword [esi]
add ebx, 0x61291813
not ecx
mov ecx, 0x14d36eb4
push esi
sub ecx, edx
sub ebx, 0x754f1bea
mov esi, 0xa7898a
dec edi
sub edi, edx
add edi, 0xf8bc5d8f
mov esi, dword [esi]
mov ecx, edx
sub edi, 0x92559487
sub ecx, 0xd29d71d5
mov esi, dword [esi]
add edx, ebx
add edi, ebx
mov ebx, ecx
push 0xa78992
add edx, edi
sub edi, 0x1a326b17
sub ecx, 1
call esi
sub ecx, ebx
inc edx
inc ecx
pop esi
not edx
inc edx
sub edx, edi
push 0xa7899f
add ecx, ecx
or ebx, ecx
push eax
add edi, edx
add edx, ecx
call esi
mov edi, ebx
mov ebx, 0x2ca347c7
push 0x40
sub edx, ecx
not ecx
not edx
push 0x3000
not edx
add ecx, ebx
add ecx, ebx
sub esp, 4
mov dword [esp], 0x200008f5
mov ebx, edx
add edx, 0x78c8a074
or ebx, edx
push 0
dec edx
not edi
mov edx, ecx
call eax
add ebx, ebx
sub ebx, edx
add eax, 0x2000084f
sub ebx, ecx
sub ecx, 0xd095ad51
mov esi, 0x33f8a26f
dec edx
not ebx
sub edx, 0x816d4ade
mov dword [eax], esi
not edi
dec edx
mov esi, dword [eax]
mov edi, 0xec442375
add ebx, 0x4aebc77a
sub ebx, 0x91315903
cmp esi, 0x33f8a26f
je 0xa78b83
mov eax, 0
mov ecx, dword [eax]
sub ecx, 0x4a6f2d41
not ebx
inc edx
mov edx, edi
sub ecx, edi
or edx, ecx
sub ecx, edx
mov esi, section..data
mov edx, 0xf57bcd6b
and edx, edx
mov eax, 0xa78795
mov ecx, edx
inc ecx
mov edi, 0
sub edx, ecx
or edx, ecx
mov ebx, 0xa78796
and edx, edx
mov ecx, 0x9a7ee31b
lea ebx, [edi + ebx]
mov edx, ecx
and ecx, ecx
or edx, edx
mov ebx, dword [ebx]
mov edx, 0xf9deec7b
not edx
inc edx
and ebx, 0xff
mov edx, ecx
sub ecx, 0xecd6b6a7
inc edi
sub ecx, edx
add edx, 1
cmp edi, 0x1f4
jne 0xa78bf4
mov edi, 0
mov ecx, edx
mov ecx, edx
inc ecx
not ecx
xor dword [esi], ebx
inc ecx
sub ecx, edx
add ecx, edx
add esi, 2
add ecx, ecx
add ecx, edx
add edx, 0x4dbda6b6
cmp esi, eax
jl 0xa78bb1
inc edx
mov edx, 0x2d733692
and ecx, ecx
mov ecx, 0x2f78cd49
not ecx
add ecx, 0xd4a05639
mov eax, section..data
and edi, ebx
mov ebx, edi
and edi, edi
mov esi, section..data
not edi
not ebx
sub ebx, edi
mov edx, 0xa78795
sub ebx, 0x4b9c2272
sub ebx, edi
or ebx, edi
mov ecx, 0
sub ebx, 0x295872a1
mov ebx, 0xaa05db2d
mov edi, ebx
mov cl, byte [esi]
inc ebx
or edi, ebx
sub edi, 0x9bde74b5
mov byte [eax], cl
not ebx
sub ebx, edi
inc eax
sub edi, 0x5138ca46
not ebx
add esi, 2
not ebx
sub edi, 1
cmp esi, edx
jle 0xa78c66
or edi, edi
and ebx, edi
and ecx, edx
sub ecx, 0x36e1f5b5
sub esp, 4
mov dword [esp], 0x8dc6a0
add ecx, 1
and ecx, ecx
ret