Function at 0x66804e
Capabilities:
Execute anti-debugging instructions

Disassembly:
xchg dword [esp], ebx
setns dh
add esp, 4
jmp 0x66805d
btr edi, esp
xchg si, ax
lea ebx, [eax + ebx]
inc dl
lea edx, [ecx + edx]
sub esp, 4
jmp 0x66817e
lea esp, [esp + 5]
rdtsc
lea ebp, [edx + ebx]
sub esp, 2
xchg edx, ecx
not dx
jmp 0x668134
sub esp, 0x12
cpuid
inc eax
btr ebx, esp
xchg cx, di
mov byte [esp + 0xb], ch
jmp 0x6680c4
mov bp, bx
inc di
mov bx, word [esp]
inc bl
mov byte [esp], ch
xchg si, dx
jmp 0x6680e7
pop dword [esp + 2]
mov cx, word [esp + 4]
pop word [esp + 3]
lea ecx, [eax*4]
setp dh
clc
jmp 0x668162
mov byte [esp + 8], bh
bswap ebp
bsr di, cx
pop esi
bsf cx, ax
mov ch, byte [esp + 1]
jmp 0x668113
cpuid
add esp, 1
neg dh
xchg di, dx
sub esp, 0x1c
btc edi, ebx
jmp 0x668196
inc di
mov dl, dh
mov ah, byte [esp + 1]
rcr ch, 5
lea esp, [esp + 3]
and cx, 0x37ba
jmp 0x668149
mov dword [esp], ebp
add esp, 4
mov byte [esp], bh
xchg ch, dl
bsf di, ax
mov ax, 0x938d
jmp 0x668100
xor dl, ch
stc
cpuid
lea ecx, [esi + 5]
mov ah, byte [esp + 3]
mov dword [esp + 0x19], ecx
jmp 0x668294
mov al, 0xa6
inc ax
not si
mov dl, 0xa4
pop edx
push word [esp + 0x11]
jmp 0x668230
stc
mov dx, 0xd599
mov ebx, dword [esp + 0x17]
xchg ebp, eax
bsr bp, bp
mov dx, 0x5efd
jmp 0x6681c9
bsr bp, cx
xchg dword [esp + 0x12], ecx
mov ah, byte [esp + 1]
lea ebx, [edi + edi]
sub esp, 6
push dword [esp + 4]
jmp 0x668279
mov ecx, dword [esp + 0xd]
cpuid
xchg bp, si
setl bh
bsr cx, bp
jmp 0x6681fb
mov bp, 0xbc9d
mov cx, 0xd285
clc
bswap ecx
cmc
mov dword [esp], ebp
jmp 0x668219
bswap esi
xchg bx, si
push dword [esp + 7]
pop dword [esp]
mov cl, 0x22
mov dl, dh
jmp 0x6681e6
mov edx, eax
inc al
not esi
setbe ch
bsf cx, ax
mov bp, 0xd31d
jmp 0x6683e0
mov cl, 0xaa
mov cl, 0xb2
xchg dword [esp + 0x18], edx
setnp dh
mov word [esp + 0x15], dx
xchg word [esp + 0x1c], bx
jmp 0x668261
pop edx
add esp, 1
mov dword [esp + 4], ecx
mov word [esp + 4], sp
mov byte [esp + 0x13], ah
mov eax, esi
jmp 0x66824f
rcr bh, 3
cld
setbe bh
xchg byte [esp + 6], dl
xchg ah, bl
jmp 0x66830c
lea eax, reloc.WINMM.dll_midiStreamOut
lea esp, [esp + 0x19]
xchg di, ax
mov ax, bx
mov bh, byte [esp + 7]
inc dl
jmp 0x6682a9
pop eax
push dword [esp + 3]
push edx
call fcn.00668322
ja 0x668344
jbe 0x66834a
dec edi
jne 0x66835c
push eax
popal
jne 0x66835f
add dh, dl
pushal
mov bx, 0xa9d9
lea esp, [esp + 0x19]
xchg dword [esp + 3], edi
pop si
setne dh
jmp 0x6682d6
bsf dx, si
mov cx, word [esp + 8]
pop edi
pop word [esp + 1]
lea ebp, [edx + edx]
pop cx
jmp 0x6682ef
xchg byte [esp], cl
mov word [esp], di
mov bl, bh
stc
inc al
pop si
jmp 0x668375
add byte [eax + 0x66], ah
mov ecx, dword [esp + 0xc]
pushal
mov cx, word [esp + 0xc]
or al, 0xf
xor dword [edi - reloc.WINMM.dll_midiStreamOut], eax
jl 0x668378
rdtsc
xchg dword [esp], esi
xchg word [esp + 0x15], di
xchg dword [esp + 0xc], eax
adc eax, 0xc244487
jmp 0x6682bf
invalid
xchg ecx, edx
mov eax, ecx
jmp 0x6683bf
outsb dx, byte [esi]
add byte [ecx - 0xb], al
cmc
xor dl, ch
mov byte [esp], ch
setge dh
call fcn.0066835e
ja 0x6683e6
jbe 0x6683ec
dec edi
jne 0x6683fe
push edi
jb 0x6683f6
je 0x6683f4
add bl, al
jp 0x6683e8
xchg bx, dx
mov ebp, eax
mov ebp, dword [esp]
mov ch, byte [esp + 2]
xchg ebx, ebp
mov word [esp], dx
jmp 0x66832c
mov dword [esp], ebp
push dword [esp + 3]
pop dword [esp]
pop word [esp]
call fcn.00668433
les esi, [edi + 0x5e]
test eax, 0x8dd586c8
adc al, 0x14
xchg ch, dl
lea edx, [esp + edx]
lea ebp, [edx + ebx]
xchg ecx, edi
btc esi, ebx
mov cl, ch
jmp 0x6683a7
xchg dh, al
push dword [esp + 0x18]
mov bp, 0x77ed
xchg ebx, edi
in eax, dx
ja 0x668372
sti
popal
lea edi, [esi + edi]
jmp 0x668345
jmp dword [esi - 0x79]
xchg dword [esp + 2], eax
lea esp, [esp + 3]
mov bp, word [esp]
xchg ebp, esi
jmp 0x66855e
lea edi, [esi - 0x1d]
xchg byte [esp], cl
xchg dx, cx
xchg edx, ecx
not eax
xchg ecx, eax
jmp 0x66846a
rdtsc
mov esi, dword [esp]
mov ebp, 0x41116d98
xor edi, esi
ror bh, 3
lea ebp, [edx*4]
jmp 0x66843a
mov bl, bh
xchg ah, bl
rdtsc
mov di, 0x5a6f
mov ebp, 0xd932e5a0
cpuid
jmp 0x6684ab
add esp, 0
xchg bh, cl
mov eax, dword [esp]
btc edi, ebx
lea esp, [esp]
not dh
jmp 0x668452
rdtsc
mov ebx, dword [esp]
call fcn.00668532
push edi
push ebx
xor bl, byte [edi + 0x33]
xor ch, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ecx + 0x66], bh
mov esi, esp
mov si, sp
clc
mov esi, dword [esp]
setne bh
cpuid
rdtsc
jmp 0x668495
mov byte [esp], ah
btr ebx, esp
lea esp, [esp]
lea edi, [edi + ebp]
setnp dh
add esp, 0
jmp 0x668483
lea esp, [esp + 1]
inc di
lea ecx, [edi + edi]
xchg dh, al
add esp, 0
mov dl, dh
jmp 0x6684c3