Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4256e9fa
not ebx
or edx, ebx
popal
add edx, ebx
mov ebx, edx
add ebx, ebx
mov edx, 0
mov edi, ecx
dec eax
sub ebx, eax
add ebx, 0xd3dc96d1
mov esi, edi
add eax, ebx
dec eax
inc ebx
mov ecx, esi
dec ebx
add eax, 0xa244c6a5
inc edx
sub eax, ebx
sub ebx, eax
cmp edx, 0x1000819
jne 0xa789c2
mov eax, ebx
sub eax, ebx
mov ebx, edx
sub ebx, 0xb61f61a0
mov eax, 0xa78796
mov edi, edx
mov ecx, 0x772b66ac
mov esi, 0xa7898a
add edx, edx
dec edx
dec edi
mov ebx, dword [eax]
sub ecx, 0x4c92f980
or edx, ecx
sub ecx, 1
and ebx, 0xff
add ecx, 1
inc edx
xor dword [esi], ebx
sub edi, edx
add edi, ecx
inc esi
dec edi
dec ecx
inc eax
or ecx, edi
mov edx, 0x10848fe9
inc ecx
cmp esi, entry0
jl 0xa78a0e
mov edx, 0x4b54a6fc
sub ecx, 0x6a73f28c
not ecx
inc edi
add edi, 0xf90ae2bb
mov edx, ecx
mov ecx, 0x5a4b92bb
not ebx
mov edx, 0xa7898e
add edi, 1
add ebx, ecx
sub edi, ebx
mov edx, dword [edx]
not esi
mov ecx, edi
mov edx, dword [edx]
sub esi, ecx
inc ebx
sub esi, ecx
push edx
add esi, edi
add ebx, 0x4fcaf549
mov edx, 0xa7898a
add esi, 1
inc ebx
mov edx, dword [edx]
add edi, esi
add esi, esi
mov edx, dword [edx]
sub edi, ecx
sub edi, 0xd3e285c0
push 0xa78992
mov esi, ebx
add ebx, 1
sub esi, 0xde4b921e
call edx
and edi, esi
add esi, 0x9ff900be
mov edx, dword [esp]
add esp, 4
or esi, edi
mov ebx, 0xedde3a26
mov ecx, edi
push 0xa7899f
mov esi, ecx
add edi, 0xd5a912e1
push eax
sub edi, 0xf61a50c6
dec ecx
call edx
and ecx, ecx
mov ecx, 0xf8113b0
mov edi, 0xec3bd8bf
push 0x40
inc ebx
sub ebx, edi
push 0x3000
mov esi, ebx
inc edi
push 0x20000b32
add ebx, esi
sub esi, 0x70bd2c59
sub ecx, esi
push 0
mov esi, 0xbf7f7434
add esi, esi
call eax
mov ebx, 0x1fcccb5b
or ebx, ebx
sub ebx, 0xd83df4fa
add eax, 0x20000acb
not edi
add ecx, ecx
inc ecx
mov edx, 0x63224b5d
mov ecx, 0xa29f08de
sub edi, 1
mov dword [eax], edx
inc ebx
mov esi, 0xc19e4501
not ecx
mov edx, dword [eax]
dec edi
sub edi, esi
add esi, 0x4bed92c9
cmp edx, 0x63224b5d
je 0xa78b6f
mov ecx, 0
mov edx, dword [ecx]
mov ecx, ebx
mov ebx, 0xf007c182
inc ecx
sub esi, 0x8da34817
mov ebx, edx
sub ebx, edx
mov edi, section..rdata
not edx
dec edx
mov eax, 0xa78795
mov ebx, edx
add edx, 1
mov edx, ebx
mov ecx, 0
sub ebx, 0x893fd9c6
sub edx, 0x6b4c13ce
mov esi, 0xa78796
add edx, 0x70cb35de
add ebx, ebx
lea esi, [esi + ecx]
and ebx, ebx
and edx, edx
mov esi, dword [esi]
and ebx, ebx
add edx, 0x837eb350
add ebx, 0x870bf91c
and esi, 0xff
mov ebx, edx
inc edx
mov edx, 0x469dc904
inc ecx
inc edx
mov edx, ebx
cmp ecx, 0x1f4
jne 0xa78bec
mov ecx, 0
sub ebx, 0x96899501
sub ebx, 0x5e55d71e
add edx, edx
mov ebx, 0x9929f01c
not edx
xor dword [edi], esi
add ebx, ebx
add edx, ebx
add edi, 2
add ebx, 0xa8bccaed
inc ebx
cmp edi, eax
jl 0xa78ba9
dec ebx
inc ebx
mov ebx, edx
mov edx, 0x91c47c25
inc edx
mov edi, section..rdata
sub ecx, 0x9c947c50
sub eax, 0x2559debd
inc eax
mov ebx, section..rdata
sub eax, 0x34a9f18f
not ecx
mov esi, 0xa78795
mov eax, 0x5409b4cd
sub eax, 0x4f39cc1e
sub eax, 0x5313fced
mov edx, 0
add ecx, 0x4921770e
not eax
mov dl, byte [ebx]
add ecx, ecx
add eax, 0xa293de10
mov byte [edi], dl
add ecx, eax
or eax, eax
inc edi
add ecx, eax
mov eax, ecx
add ebx, 2
and ecx, eax
sub ecx, eax
cmp ebx, esi
jle 0xa78c68
add eax, 0x5659fccc
not ecx
inc eax
or ebx, edx
add ebx, 0xe729260f
sub edx, ebx
push 0x8dc6a0
sub ebx, 0xcda028b2
or edx, ebx
ret