Function at 0x4a7e85
Capabilities:
Packed with generic packer

Disassembly:
inc ecx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4a7eec
jb 0x4a7ef2
jb 0x4a7e91
add byte [edx], al
add byte [edx], ch
add byte [eax], dl
int3
add al, byte [eax]
sub eax, 0x4a881000
dec edx
add byte [0x45746547], cl
outsb dx, byte [esi]
jne 0x4a7f69
jb 0x4a7f60
je 0x4a7f70
jb 0x4a7f06
add al, ah
jne 0x4a7f51
dec edx
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x4a7f], bl
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add ah, ch
or dword [edx], 7
inc edi
je 0x4a7f6f
je 0x4a7f8d
insd dword es:[edi], dx
add eax, dword [eax]
jo 0x4a7f88
dec edx
add byte [eax], cl
add byte [edx], al
or byte [eax + 0x4a7f], bl
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax + edx + 0x10040], bl
add eax, 0x65646e49
js 0x4a7f50
add byte [edx], al
add byte [ebp], al
adc ah, cl
dec esi
add byte [edi], al
push ebx
je 0x4a7fa5
inc ebp
add byte [eax], dl
int3
je 0x4a7fc3
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [eax + 0x4a7f], bl
cwde
jg 0x4a7fb6
add byte [eax], al
add byte [ebx + edx*2], al
add al, 0x53
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax + edx + 0x10040], bl
add eax, 0x65646e49
js 0x4a7f86
add byte [edx], cl
jo 0x4a7fe3
dec edx
add byte [edx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
push esi
popal
insb byte es:[edi], dx
jne 0x4a7ff7
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
pushfd
jg 0x4a7fe5
add byte [edi], al
sbb eax, 0x73694c54
je 0x4a7fe0
ja 0x4a8019
jae 0x4a7feb
inc esp
popal
imul ebp, dword [ecx + edi*2 + 0x48], 0x542e7469
push ebp
jo 0x4a8017
popal
je 0x4a801b
inc esi
imul ebp, dword [ebp + 0x3e], 0x4a76c0
jbe 0x4a8008
invalid
xchg esp, eax
jb 0x4a800c
add byte [eax], al
add byte [ebx], bl
push ebx
jns 0x4a803c
add byte [eax], al
sbb edx, dword [ebx + 0x79]
jae 0x4a803e
je 0x4a8030
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x4a803c
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x4a7fe2
add byte [ebx], al
add byte [edx], al
or eax, dword [eax + 0x2004a]
add ch, byte [esi]
or byte [edx], 2
add eax, dword [eax]
add cl, byte [ebx]
or byte [edx], 2
add byte [edx], al
or byte cs:[edx], 2
add byte [edx], al
dec esi
or byte [edx], 2
add byte [edx], al
add byte [edx], al
add byte [ecx], al
add byte [0x210020], al
and byte [eax], al
and dword [eax], eax
add eax, 0x6d657449
jae 0x4a800c
add byte [eax + edx - 0x7c9fffc0], bl
dec edx
add byte [ebx + eax*4 + 0x4a], ch
add byte [ecx], al
adc byte [eax], al
pushal
or dword [edx], 0x6c
or dword [edx], 1
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4308ffff], al
popal
jo 0x4a808b
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
arpl word [ecx + 0x74], bp
jns 0x4a7fcb
adc byte [eax], al
or byte [eax], al
add bh, bh
pushfd
or dword [edx], 1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4305ffff], al
outsd dx, dword [esi]
jne 0x4a80bb
inc eax
add byte [eax], cl
add byte [eax], al
call [ebx + eax*4 + 0x1004a]
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
je 0x4a7fff
jae 0x4a809b
add byte [eax], dl
add byte [eax], al
call dword [eax]
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f08ffff], al
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
je 0x4a80d8
jns 0x4a8072
add byte [eax], al
int3
add al, bh
add byte [eax + 0x76], ch
dec edx
add byte [eax], dh
add byte [eax + 0xc004061], ah
pop esi
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
adc byte [eax], al
sbb byte [eax], al
add byte [eax], al
or al, 0x46