Function at 0x698980
Capabilities:
Execute anti-debugging instructions

Disassembly:
pop eax
bsr edx, edx
rol ebx, cl
add esp, 8
mov dl, byte [esp + 1]
jmp 0x6989ca
cpuid
btc edx, ebp
mov word [esp + 0xa], cx
mov ch, 0x93
mov word [esp + 3], sp
seto bl
jmp 0x698947
mov di, dx
setnp bh
mov dh, 0x3b
shl bp, 6
mov ecx, ebp
jmp 0x69895d
sub ch, dl
mov ah, byte [esp]
cpuid
lea edi, [eax*4]
jmp 0x6989f4
push word [esp + 1]
rol eax, 1
bsf si, sp
push word [esp + 1]
push dword [esp + 3]
add esp, 9
jmp 0x698990
mov word [esp], dx
mov byte [esp], al
push word [esp]
xchg dword [esp], ecx
pop cx
rdtsc
jmp 0x6989a6
mov dl, 0x97
xchg word [esp + 7], dx
push word [esp + 0xe]
mov dword [esp + 9], eax
jmp 0x698b76
sub esp, 0x15
mov ecx, dword [esp + 0x15]
mov dx, 0xc2ce
lea eax, [ebx*4]
jmp 0x6989de
pop bx
mov edi, dword [esp + 0xe]
std
mov ah, byte [esp + 0x15]
sub esp, 0xb
call fcn.00698a3a
dec bh
mov di, 0xe8ee
or ebx, 0xb917a539
mov dh, byte [esp + 0xe]
cpuid
jmp 0x698b55
mov bx, 0x3fea
bswap ecx
mov eax, dword [esp + 0xb]
bt si, di
mov ecx, esi
jmp 0x698c0b
xchg dword [esp + 0x12], edx
mov al, 0x6b
mov byte [esp + 0x10], bl
xchg word [esp + 8], cx
sub esp, 0
lea edi, reloc.WINMM.dll_midiStreamStop
jmp 0x698b3f
sub esp, 0x10
lea ebp, reloc.WINMM.dll_midiStreamStop
rdtsc
lea esp, [esp + 0xd]
mov edi, dword [esp + 8]
lea esi, reloc.WINMM.dll_midiStreamStop
jmp 0x698afa
xchg cx, si
dec bp
and bl, cl
btr ax, sp
stc
cpuid
jmp 0x698bd9
push bp
xchg byte [esp + 0x18], dl
push word [esp + 0xf]
xchg ch, dl
lea esp, [esp + 0x1c]
push word [esp + 2]
jmp 0x698b95
rol ch, cl
mov dword [esp], esi
xchg ah, bh
bswap ecx
pop word [esp + 1]
pushal
jmp 0x698bf1
add ebp, 0x95cd1bb4
mov byte [esp + 4], ch
neg edi
setl dh
neg ecx
mov edx, 0x13f1ff32
jmp 0x698bc3
sub esp, 9
not bh
mov di, 0x9a08
lea edi, [ebx*4]
mov ebp, dword [esp + 0x1e]
jmp 0x698c3c
btr ax, cx
shr cl, 2
push dword [esp + 0x11]
xchg ecx, edx
xchg word [esp + 1], bx
lea ebx, [eax*4]
jmp 0x698bab
xchg dword [esp], eax
mov ah, bl
xchg dword [esp], edx
mov dword [esp], ecx
cpuid
jmp 0x698cdd
push cx
xchg word [esp + 6], bp
mov ebx, dword [esp + 0x1a]
pop dword [esp + 0x24]
mov si, word [esp + 0x1e]
lea esp, [esp + 0x26]
jmp 0x698c26
sub esp, 0x1c
cld
push word [esp + 9]
bswap esi
bswap ebx
popal
jmp 0x698cbb
pushfd
pop word [esp]
mov eax, ebx
clc
lea esp, [esp]
lea eax, reloc.WINMM.dll_midiStreamStop
jmp 0x698c7c
not bh
bsf bx, di
mov ch, dl
rdtsc
mov dh, bl
mov ebx, dword [esp]
jmp 0x698d1a
xchg bx, bp
lea esp, [esp + 4]
mov bl, 0x4f
dec si
cpuid
mov dh, ah
jmp 0x698ca5
mov word [esp], cx
not dh
rdtsc
mov edx, dword [esp]
xchg bp, di
mov di, 0xa443
jmp 0x698c92
std
mov dx, word [esp]
call fcn.00698cf1
pop di
not ah
mov cx, bp
setp bh
mov ah, ch
inc bl
jmp 0x698d4c
mov esi, esp
push word [esp + 1]
bts esi, edx
pop dword [esp]
jmp 0x698d74
mov ax, word [esp]
mov bx, word [esp]
rdtsc
rdtsc
mov dword [esp], esp
mov bl, 0x2e
jmp 0x698db1
std
inc cx
mov esi, 0x6f5c12d7
bsf bp, ax
jmp 0x698dc5
pop word [esp]
xchg dx, bx
pop dx
bsf cx, dx
bts ebp, esi
mov edi, eax
jmp 0x698d9b
lea edx, [eax*4]
inc si
push edx
push bp
add esp, 0
pop dx
jmp 0x6992c6
pop dword [esp]
cmc
lea esp, [esp]
push word [esp + 3]
neg bl
rdtsc
jmp 0x698e8f
push word [esp + 0x18]
sub esp, 0xb
mov word [esp + 0x18], si
mov ecx, dword [esp + 0x12]
popal
mov byte [esp + 4], ch
jmp 0x698df4
inc ebp
lea ebp, [ecx + edx]
mov si, 0x5a69
rdtsc
cpuid
mov al, cl
jmp 0x698e0a
pop ebx
setnp dh
mov edx, dword [esp + 2]
not ax
mov cl, dl
push dword [esp + 6]
jmp 0x698e6f
mov word [esp + 5], sp
mov cx, bp
bt esi, edi
rdtsc
lea edi, [ebx*4]
xchg word [esp + 5], bp
jmp 0x698e3a
lea esp, [esp + 8]
mov ch, 0x4e
call fcn.00698ea5
test dword [ecx], ecx
cdq
clc
or esp, edi
and eax, 0xaa5f38aa
dec eax
inc ebp
iretd
mov ax, di
push dword [esp + 1]
setno dh
xchg word [esp + 7], bp
rcr ecx, 2
rdtsc
jmp 0x698e54
bsr edx, eax
lea ecx, [esi*4]
mov byte [esp + 9], dh
lea ebp, [ecx + ebx]
xchg bp, ax
neg di
jmp 0x698e2a
sub esp, 0x18
xchg word [esp + 1], si
neg dl
neg bp
push word [esp + 8]
mov word [esp + 6], ax
jmp 0x698ebc
xchg word [esp + 1], bp
stc
and dx, 0xdceb
mov dx, word [esp + 1]
mov ah, 0xb8
std
jmp 0x699180