Function at 0x7104d0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov ecx, esi
mov esi, ebp
bswap ecx
pushfd
cpuid
inc cx
jmp 0x710259
cpuid
mov di, word [esp + 1]
jmp 0x71023a
pop dword [esp]
mov byte [esp + 2], al
xchg byte [esp + 3], bh
mov edx, dword [esp]
mov di, word [esp]
push word [esp]
jmp 0x7102a5
clc
cmc
add esp, 2
push word [esp + 1]
bsf si, dx
pop di
jmp 0x7102b8
mov cl, bh
clc
setb bh
xchg word [esp + 4], ax
lea esi, [edi + edi]
setge bl
jmp 0x71028f
clc
xchg dword [esp], esi
lea esp, [esp]
mov edx, esi
xchg word [esp + 2], bx
lea esp, [esp + 1]
jmp 0x71043d
mov ax, si
push word [esp + 4]
lea eax, [eax*4]
add esp, 3
push dword [esp + 2]
inc dh
call fcn.00710356
sub esp, 6
rcr bh, 3
mov dl, 0x24
lea eax, [edx*4]
call 0x71041c
les esi, [edi + 0x66]
push dword [esp + 1]
lea ecx, [eax*4]
call 0x7103f5
jmp 0x7104b8
xchg dword [esp], edx
mov word [esp + 0x11], bx
mov word [esp + 2], si
not esi
cmc
bsr si, di
jmp 0x710466
dec ecx
setg ah
mov edx, edi
mov dl, ch
push word [esp + 1]
mov ecx, dword [esp + 1]
jmp 0x7103d8
neg cx
call fcn.00710490
ja 0x7104bb
jbe 0x7104c1
dec edi
jne 0x7104d3
push edx
jae 0x7104c8
je 0x710465
or al, 0x88
insb byte es:[edi], dx
and al, 9
mov byte [esp + 9], ch
cpuid
lea esp, [esp + 1]
lea esp, [esp + 0x12]
mov di, dx
push esi
jmp 0x710450
not bp
mov word [esp + 2], cx
neg dh
sub esp, 0xf
pop dword [esp + 0x12]
fiadd word [ebx + 0x448f0fec]
and al, 0x12
adc cl, byte [edi]
mov byte [0xffff51e9], al
dec dword [edi]
rdtsc
invalid
add al, 0xad
add byte [eax], al
cpuid
jmp 0x710421
add al, 0xad
add byte [eax], al
add byte [eax], al
mov bh, byte [esp + 0x2b]
jmp 0x710516
pop cx
push word [esp + 0x35]
mov si, dx
not dx
bswap esi
jmp 0x71052b
lea esi, [esp - 0xb]
mov edx, eax
mov edx, dword [esp + 0x30]
mov edx, 0x286f932c
bswap ebx
mov bl, 0x90
jmp 0x710500
mov dh, 0xa3
bsf ebx, edx
push dword [esp + 5]
mov byte [esp + 0xd], bh
jmp 0x710667
mov bx, ax
lea ebp, [eax*4]
btr ax, cx
inc edx
jmp 0x71058b
cpuid
bt esi, edx
setge al
bsf ebx, eax
xchg ecx, ebp
lea eax, [esi*4]
jmp 0x71055f
mov dl, byte [esp]
mov di, dx
mov edx, 0xb30aaef7
cpuid
mov cl, byte [esp]
mov esi, ebp
jmp 0x7105c0
xchg bp, bx
pop bp
popal
dec bp
setae ch
xchg bp, di
jmp 0x710575
and bx, sp
rdtsc
rdtsc
sub esp, 0x1d
mov byte [esp + 0x13], ah
xchg word [esp + 0x1a], bx
jmp 0x710618
mov al, cl
inc al
mov dx, word [esp + 0x11]
setno ah
mov ecx, dword [esp + 0x14]
adc edx, 0x723186c1
jmp 0x7105b0
bsr ebx, edi
bswap ebp
pop ax
sub esp, 0x19
xchg edi, ebx
sbb ecx, 0x73220984
jmp 0x710642
mov ebx, dword [esp + 0x16]
xchg ecx, eax
xchg word [esp + 0xd], cx
setg ch
rcr bh, cl
sbb esi, edi
jmp 0x7105ff
lea eax, reloc.WINMM.dll_midiOutPrepareHeader
adc esi, 0x51429810
xchg bh, al
pushal
jmp 0x710709
sub esp, 0xe
lea esp, [esp + 0x42]
btr si, dx
mov ecx, ebp
not si
bswap ebx
jmp 0x71062c
mov dword [esp + 2], esp
xchg dword [esp + 6], ecx
mov di, word [esp + 0xc]
mov bp, word [esp]
mov bx, bp
lea esp, [esp + 0x1b]
jmp 0x7105e7
rdtsc
bsf ecx, esp
mov si, word [esp + 4]
mov byte [esp + 0x14], ch
jmp 0x7106c7
xchg word [esp + 0xa], ax
cpuid
mov ah, byte [esp + 0xb]
xchg bx, si
rol bh, 7
bsf di, dx
jmp 0x710684
inc di
dec dl
rdtsc
mov dh, cl
xchg ebp, edx
jmp 0x7106f0
pop word [esp + 0x11]
std
xchg bx, bp
mov dword [esp], edx
cpuid
setge bl
jmp 0x7106b1
lea esp, [esp + 3]
xchg edx, eax
mov eax, dword [esp + 0x12]
mov ax, di
jmp 0x710758
lea edx, [ecx*4]
xchg dword [esp + 7], ebp
xchg byte [esp + 0x13], dh
bsf ax, di
jmp 0x7106da
pop dword [esp + 0x16]
rdtsc
mov byte [esp + 0x15], dh
shr cl, 0
mov al, 0x76
pop ecx
jmp 0x71069a
mov cl, bl
setp ah
mov dh, ah
lea esp, [esp + 3]
push dword [esp + 0xa]
jmp 0x710a3a
bsr ebx, esi
pop si
mov ecx, ebx
bts ebx, edi
mov bh, byte [esp + 0x10]
bsf si, ax
jmp 0x71071e
mov word [esp + 1], dx
cpuid
mov ebx, eax
lea esp, [esp]
lea edx, [ebx*4]
cld
jmp 0x710734
mov ecx, dword [esp + 2]
sub esp, 0x1f
mov dh, byte [esp + 0x20]
bsr ax, si
mov ax, word [esp + 0x1b]
xchg byte [esp + 0x2d], cl
jmp 0x7107aa
lea ecx, [esp + 0x86]
lea edx, [ecx + 0x93]
rdtsc
push dword [esp + 2]
pop cx
shl dl, cl
jmp 0x71076e
mov byte [esp + 0x30], dl
xchg dword [esp + 0xf], edi
rol dl, cl
xchg ecx, edx
sub esp, 0
pop bp
jmp 0x7107fd
xchg dword [esp + 0xc], ebp
xchg word [esp + 0xb], bx
lea eax, [edi - 0xba]
bsr eax, esp
cld
rdtsc
jmp 0x710791
pop ax
rdtsc
pop word [esp + 0x21]
cpuid
cld
mov dl, 0x28
jmp 0x710812
not ebx
push word [esp + 0x2b]
or dh, bl
xchg esi, ecx
mov di, 0xb54b
mov dword [esp + 0x1b], ecx
jmp 0x7107e7
mov dword [esp + 0x29], ebp
xchg byte [esp + 5], ch
cld
mov edx, dword [esp + 2]
push dword [esp + 0x26]
mov edx, dword [esp + 0x23]
jmp 0x7109dd
bts bx, si
mov dword [esp + 3], ecx
xchg dword [esp + 7], edx
inc dx
inc ax
sub esp, 5
jmp 0x7107d0
inc edi
mov ebx, edx
rdtsc
mov bh, byte [esp]
cpuid
call fcn.007108f2
xchg cl, bh
mov bp, 0x948e
lea edi, [esi*4]
jmp 0x7109be
lea esp, [esp + 8]
mov byte [esp + 6], ah
xchg byte [esp + 7], al
xchg word [esp + 4], ax
call fcn.00710a07
dec eax
popal
jo 0x710a2c
imul edi, dword [edx + 0x65], reloc.WINMM.dll_midiOutPrepareHeader
xchg bx, bp
inc edi
cpuid
mov byte [esp + 3], bh
pushal
lea esp, [esp + 0x54]
jmp 0x71096c
int 0xf
xor dword [edx + reloc.WINMM.dll_midiOutPrepareHeader], ecx
imul ebp, dword [esi + 0x65], 0x66006f54
bsr esi, esp
bsr si, sp
std
mov esi, dword [esp + 0xf]
lea eax, [edx + edx]
xchg word [esp + 9], di
lea esp, [esp + 4]
jmp 0x71083a