Function at 0x887794
Capabilities:
Execute anti-debugging instructions

Disassembly:
rdtsc
xchg dword [esp + 4], edx
push word [esp + 1]
mov esi, eax
jmp 0x8877af
lea ecx, [edx + edi]
and bx, 0xfce2
pop word [esp + 3]
cpuid
rdtsc
xchg byte [esp + 3], dl
jmp 0x887755
setno bh
jmp 0x88776b
mov cl, ch
rdtsc
setnp bh
cpuid
xchg edi, ebx
jmp 0x887823
mov byte [esp + 6], bh
xchg word [esp + 9], dx
xchg byte [esp + 6], al
rdtsc
mov ch, byte [esp + 5]
lea ecx, reloc.oleaut32.dll_SysFreeString
jmp 0x887799
lea edi, [edi*4]
pop dword [esp]
not eax
shr ch, 5
pop word [esp + 1]
jmp 0x8877fb
mov ebx, eax
sub bp, 0x6ee0
pop bx
sub esp, 2
setns ch
pop word [esp + 1]
jmp 0x8877ca
lea esi, [esi*4]
mov byte [esp + 2], ah
rdtsc
cld
pop word [esp]
lea edx, [ebp + 0xef]
jmp 0x887856
lea edi, [ebp*4]
mov ebp, dword [esp + 7]
mov bl, bh
btr ebx, esp
mov esi, ecx
setns ch
jmp 0x8877e5
rol di, cl
neg di
inc dx
inc ecx
mov byte [esp], ch
call fcn.0088783a
pop dword [esp + 0x1a]
lea ebp, [esi - 0x1d]
cpuid
mov byte [esp + 0x1d], ch
lea esp, [esp + 9]
mov dx, 0x469b
jmp 0x887891
mov dword [esp + 8], esi
push dword [esp + 6]
mov bh, byte [esp + 0xa]
btr edx, esp
bsf di, si
neg ah
jmp 0x8879a2
mov byte [esp + 7], ch
xor dl, ch
lea esp, [esp + 3]
not edx
pushal
cmc
jmp 0x88796f
xchg dword [esp + 0x13], ebx
cld
xchg di, cx
btr edi, esp
mov esi, dword [esp + 4]
jmp 0x8878ca
xchg dword [esp + 0xd], ecx
mov ecx, 0x60562332
mov cl, ch
lea edi, [ecx + ebx]
inc ebp
xchg dh, al
jmp 0x8878e2
pop dword [esp + 0x1c]
pop si
call fcn.00887922
neg ecx
pushal
lea esp, [esp + 0x4f]
cld
not ebx
mov bl, bh
jmp 0x88798c
btr ebx, esp
xchg esi, eax
push edx
mov ebx, esi
mov al, 0x76
pop ebx
jmp 0x8879ea
rdtsc
bsr ax, bp
btc ebp, ebx
cpuid
lea eax, [esp + ebx]
lea eax, reloc.oleaut32.dll_SysFreeString
jmp 0x8878f9
lea edx, [eax - 0xd1]
add esp, 0x15
lea edx, [edx*4]
jmp 0x887b0f
mov ebx, 0xb649d43c
rdtsc
mov word [esp + 0x12], dx
pop dx
jmp 0x8879bb
bsf si, si
mov si, word [esp]
clc
mov bp, word [esp]
pushal
lea edx, [edx + edi]
jmp 0x8879d1
setne dh
bsr di, bp
mov dx, word [esp]
mov bh, byte [esp + 1]
cpuid
jmp 0x887aae
ror bh, 3
setno bh
lea eax, [esi + 0xf5]
add esp, 1
xchg byte [esp], cl
jmp 0x887a19
pop word [esp]
xchg byte [esp], bl
xchg ah, bl
inc ebp
rcl dx, cl
lea ebx, [esp + edx]
jmp 0x887a30
bswap ebp
rcr ah, 1
mov ax, word [esp]
mov bx, word [esp]
clc
bswap eax
jmp 0x887a8d
mov bx, di
cmc
lea esp, [esp + 1]
add eax, ebp
bswap ebx
lea ebp, [esp + ebp]
jmp 0x887a5a
xchg bh, cl
not bp
push esp
pop ebp
mov cx, word [esp]
rdtsc
jmp 0x887af6
lea esi, reloc.oleaut32.dll_SysFreeString
not edi
mov edx, esi
setle dh
mov bl, bh
cmc
jmp 0x887a7c
mov dl, dh
call fcn.00887ad7
dec ebp
jecxz 0x887b73
push ss
in eax, 0x44
mov ch, 0x24
mov edx, 0xd1dd2cdd
push eax
ror dword [edx - 0x1b], cl
adc al, 0x66
mov edi, ebx
mov di, bx
cpuid
mov cl, 0x62
pop edx
mov edx, eax
mov edi, 0x4f3e056a
jmp 0x887a48
stc
sub esp, 2
add esp, 2
call 0x887b66
jnp 0x887b66
push dword [esp + 4]
lea esp, [esp + 1]
je fcn.00887b8d
add al, 0x8d
and al, 1
lea esp, [esp + 8]
jmp 0x887bc9
push ebp
inc edi
rol byte [esi + 0x21], 1
sar byte [ecx - 0x25], 1
dec ebp
frstor dword [edi + edx*2 - reloc.oleaut32.dll_SysFreeString]
push dword [esp]
lea esp, [esp + 7]
cmc
clc
jmp 0x887b59
popfd
lea esp, [esp + 4]
call fcn.00887ba8
pop word [esp + 1]
lea esp, [esp + 1]
pushal
mov byte [esp + 3], dh
jmp 0x887c12