Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf03d6a99
sub edi, 0x93504251
and esi, edi
sub esi, 0xbab72c9
popal
and esi, edi
add esi, 1
mov edi, 0
mov eax, edx
not ebx
and ecx, ebx
mov ebx, ecx
mov esi, eax
not ebx
and ebx, ebx
mov ecx, 0x2a142381
mov edx, esi
dec ecx
inc ebx
inc edi
mov ecx, 0x2990ff20
add ebx, 0x88e44123
or ecx, ebx
cmp edi, 0x1002f18
jne 0xa789ce
or ebx, ebx
mov ecx, ebx
sub esi, edi
and esi, esi
sub esi, 0xe04d9330
mov edx, 0xa78796
sub edi, ecx
dec ecx
add edi, 0xa9aaae8a
mov eax, 0xa7898a
mov edi, 0x89d99d43
mov edi, ebx
mov esi, dword [edx]
mov edi, 0x5baa1968
add edi, ecx
add ebx, edi
and esi, 0xff
add ecx, 1
not ecx
xor dword [eax], esi
mov ebx, 0x200fddc1
not edi
inc eax
not ebx
add ebx, ebx
inc edx
or ecx, ebx
sub edi, ecx
not ebx
cmp eax, entry0
jl 0xa78a27
sub ecx, edi
add ecx, edi
add ebx, 1
mov ebx, 0x51333ea7
sub edi, 0x84bec560
mov esi, ebx
mov ecx, ebx
or ecx, ebx
mov edi, 0xa7898e
mov ebx, esi
add esi, ebx
inc esi
mov edi, dword [edi]
mov ebx, esi
sub esi, 0x87a601f8
mov edi, dword [edi]
dec ecx
not ecx
add ebx, 0x47636453
push edi
add edx, ecx
mov edx, 0x9f7eda0c
mov edi, 0xa7898a
mov edx, 0xfdc27e09
mov edx, 0xedeca5f6
sub edx, 0xede51cb8
mov edi, dword [edi]
and edx, ebx
and edx, ecx
mov edi, dword [edi]
inc edx
sub ecx, ebx
mov ecx, 0xdff91bb4
push 0xa78992
mov edx, esi
add edx, 0x2495e7f0
call edi
mov ebx, 0x90b94c4a
mov edx, 0xe94b7813
dec edx
pop edi
sub edx, esi
sub ecx, esi
push 0xa7899f
sub esi, ebx
sub ebx, ecx
dec ecx
sub esp, 4
mov dword [esp], eax
add ecx, 0xc8c1fb7b
mov ebx, 0x13ca4a2
call edi
inc ebx
mov esi, ebx
sub ecx, 0xc8fb1b51
push 0x40
not ecx
sub ebx, esi
push 0x3000
not ecx
inc esi
mov esi, ebx
sub esp, 4
mov dword [esp], 0x20000abc
or ecx, edx
add ecx, 0xb2486409
push 0
inc ebx
sub ecx, edx
and esi, edx
call eax
add ebx, 0xe54db2e1
sub ebx, esi
dec esi
add eax, 0x20000a0f
and esi, ebx
mov edx, esi
mov edx, ebx
mov edi, 0xbb24921a
and ecx, edx
sub ecx, 0x79d40963
mov dword [eax], edi
dec ebx
not esi
or ecx, edx
mov edi, dword [eax]
mov ebx, esi
mov ecx, edx
cmp edi, 0xbb24921a
je 0xa78b7c
mov edx, 0
mov cl, byte [edx]
or ebx, edx
or ecx, ecx
or edx, ebx
add ecx, 0xb01ec384
or esi, edi
not esi
sub esi, edi
mov edx, section.UPX1
not edi
mov edi, esi
mov esi, edi
mov ecx, 0xa78795
add esi, edi
add edi, 0x4016b250
mov ebx, 0
add edi, edi
inc edi
mov eax, 0xa78796
sub edi, 0xbdad42dc
and esi, edi
sub edi, 0x4aac0d40
lea eax, [eax + ebx]
add esi, 0x3fdd4234
sub esi, edi
mov esi, 0x6ec2bc86
mov eax, dword [eax]
sub esi, edi
sub esi, 1
sub edi, esi
and eax, 0xff
sub esi, edi
sub edi, 0xcc49da37
inc ebx
sub edi, esi
inc edi
sub esi, 0x996b01e3
cmp ebx, 0x1f4
jne 0xa78c02
mov ebx, 0
add edi, esi
mov esi, 0xefe8bc57
sub esi, edi
sub esi, 0x79707e40
xor dword [edx], eax
not edi
add esi, 0x81954bf7
add esi, 0x64f672
add edx, 2
add esi, 0xf1a5463
add edi, esi
cmp edx, ecx
jl 0xa78bae
sub esi, edi
or edi, esi
add esi, esi
add edi, 1
mov esi, section.UPX1
add edx, 1
mov edx, ecx
add edx, edx
mov ebx, section.UPX1
add ecx, 0x56bb9006
dec ecx
mov edi, 0xa78795
mov ecx, edx
sub edx, ecx
mov eax, 0
add ecx, 1
dec edx
not edx
mov al, byte [ebx]
sub ecx, edx
and edx, ecx
mov byte [esi], al
mov ecx, 0xb7f5a1fd
or edx, edx
sub edx, 0xfce1c6a
inc esi
sub edx, ecx
and edx, ecx
add ebx, 2
and ecx, edx
and ecx, ecx
cmp ebx, edi
jle 0xa78c75
mov edx, ecx
add edx, edx
or edx, edx
not edi
dec edi
sub edi, esi
push 0x8dc6a0
dec edi
not esi
add esi, 0x4a86e5f2
ret