Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8928e97f
mov ecx, 0x427bdc8a
not ebx
popal
inc ecx
or ebx, ebx
mov edi, 0
mov eax, ebx
sub edx, 0xd03cada2
and ecx, ecx
inc edx
mov esi, eax
inc edx
and ecx, edx
mov ebx, esi
add edx, ecx
add edx, ecx
inc edi
sub ecx, 0xb84433f5
sub ecx, 0x2c10daf7
cmp edi, 0x1002e47
jne 0xa789c2
inc edx
and ecx, edx
not ecx
add ebx, 0x20225384
sub ebx, ecx
mov ebx, 0xa78796
add ecx, 1
mov ecx, edi
inc ecx
mov eax, 0xa7898a
mov ecx, 0xf152fe3
or edi, edx
mov esi, dword [ebx]
add edi, ecx
not ecx
and esi, 0xff
inc edi
sub edi, 0x72309a5c
inc edx
xor dword [eax], esi
add edx, edx
and ecx, ecx
sub edx, 0x24095eb2
inc eax
dec edi
sub edx, ecx
mov edx, 0x61a4a742
inc ebx
not edi
mov edi, edx
cmp eax, entry0
jl 0xa78a18
or edx, ecx
sub edx, ecx
not edx
mov ecx, 0x40b65aea
add edi, ecx
mov ecx, 0x70459372
sub edx, 0x246de7ba
mov esi, 0xb695af6b
mov edi, 0xa7898e
mov edx, ebx
sub edx, ebx
sub edx, 0xbe79bc47
mov edi, dword [edi]
inc esi
mov ebx, ecx
mov ecx, esi
mov edi, dword [edi]
add esi, ebx
add edx, edx
mov edx, ecx
push edi
add edx, 0x8f56b8cd
not ecx
sub ecx, 0xbe9f33b9
mov edi, 0xa7898a
add edx, 0xd09d1645
and esi, ecx
add esi, 0x4e7dd3fb
mov edi, dword [edi]
not ebx
not ebx
sub edx, 0xddae958e
mov edi, dword [edi]
or ebx, ebx
dec ecx
mov edx, 0xf65bc3da
sub esp, 4
mov dword [esp], 0xa78992
dec esi
add ebx, 0x402c17a4
mov edx, esi
call edi
mov esi, 0xc55fc132
inc ebx
pop edi
sub edx, ebx
sub edx, 0xbb04f262
push 0xa7899f
dec edx
or ecx, ebx
push eax
add esi, edx
sub ecx, esi
call edi
add esi, esi
and esi, esi
add esi, ebx
push 0x40
sub esi, edx
mov ecx, 0x9fb4e45f
push 0x3000
and esi, esi
add ebx, 0xcb59c117
and ecx, ebx
push 0x20000ecb
add esi, esi
inc esi
push 0
add esi, 0xb7fa0d16
add esi, 0x6489e737
inc edx
call eax
sub edx, 0x525dbd9a
add ebx, 0x4fd8cec3
add eax, 0x20000e3f
or edx, edx
or esi, ebx
dec edx
mov edi, 0xa91fcac4
dec ebx
sub ecx, 1
dec edx
mov dword [eax], edi
mov esi, ebx
mov ebx, 0x6c85018b
mov edi, dword [eax]
not esi
sub edx, 0x3a19ec52
inc edx
cmp edi, 0xa91fcac4
je 0xa78b7c
mov eax, 0
mov dword [eax], ecx
add esi, 0x8d90b824
sub edx, 0xee03b309
dec ecx
mov ebx, 0x9484069e
sub ecx, 0xd3b5d7c
add ebx, ebx
add ebx, 0xa7273c12
mov eax, section.UPX1
sub ecx, ebx
mov ecx, ebx
sub ebx, ecx
mov edi, 0xa78795
mov ebx, ecx
sub ecx, ebx
mov edx, 0
sub ebx, 0x9e96ab91
mov ecx, 0x294e5199
mov ecx, 0xcecf4761
mov esi, 0xa78796
add ebx, ebx
sub ecx, ebx
not ecx
lea esi, [esi + edx]
dec ecx
sub ebx, 0xca117a3a
mov esi, dword [esi]
inc ecx
mov ebx, ecx
not ebx
and esi, 0xff
add ecx, ebx
sub ecx, ebx
sub ecx, 1
add edx, 1
sub ebx, 0x85c307ba
add ebx, ebx
not ebx
cmp edx, 0x1f4
jne 0xa78c0e
mov edx, 0
mov ecx, ebx
sub ecx, 0xee6d855
or ebx, ecx
add ecx, 0x5d5bf6ed
mov ecx, ebx
xor dword [eax], esi
add ebx, ebx
add ebx, ecx
add eax, 2
or ecx, ebx
mov ecx, 0xfe898678
sub ecx, 0x381ada62
cmp eax, edi
jl 0xa78bc5
not ecx
and ecx, ebx
or ebx, ecx
dec ecx
not ebx
mov ecx, section.UPX1
not ebx
not edx
mov edi, section.UPX1
add edx, 0x9af71b71
dec ebx
mov esi, 0xa78795
not edx
sub ebx, 1
mov eax, 0
not edx
not edx
mov al, byte [edi]
sub edx, ebx
or ebx, ebx
add ebx, ebx
mov byte [ecx], al
and edx, ebx
not ebx
add ecx, 1
add edx, ebx
not edx
or edx, ebx
add edi, 2
add ebx, 0x891a8855
dec ebx
cmp edi, esi
jle 0xa78c75
mov ebx, edx
mov ebx, edx
add ebx, ebx
mov ebx, ecx
push 0x8dc6a0
and ebx, ecx
sub ecx, ebx
ret