Function at 0x657731
Capabilities:
Execute anti-debugging instructions

Disassembly:
bsf edi, esi
call 0x657682
xchg ebx, edi
call 0x657731
ja 0x657711
jbe 0x657717
dec edi
jne 0x657729
push edx
jae 0x65772d
popal
jb 0x657730
add byte [edx - 0x78d7db84], cl
lds esp, [esi - 0x46]
cmc
fimul dword [ebp - reloc.WINMM.dll_midiStreamOut]
out 0x66, al
mov esi, dword [esp + 3]
jmp 0x6576a7
pop word [esp + 5]
clc
bswap ebp
mov dword [esp + 6], ebx
lea esp, [esp + 7]
jmp 0x657742
lea eax, [edx*4]
shr ecx, cl
sub esp, 3
lea esp, [esp + 0xf]
and al, 0xf
add esp, 0xf
neg edx
jmp 0x6576f4
popal
insd dword es:[edi], dx
push ebx
je 0x65779d
outsd dx, dword [esi]
jo 0x657730
push 0xfffffffffffffff9
mov word [esp + 0x1f], di
std
xchg dword [esp + 0x16], edx
mov dword [esp + 2], eax
jmp 0x65770a
not bh
inc bx
push dword [esp + 2]
std
push word [esp + 4]
rdtsc
jmp 0x657a8b
cpuid
mov si, di
lea ebp, [edi*4]
mov ch, 0x30
mov ebp, eax
jmp 0x6577d9
rdtsc
inc al
cpuid
lea esi, [esi*4]
cpuid
rdtsc
jmp 0x657774
insd dword es:[edi], dx
imul esp, dword [ecx + ebp*2 + 0x53], 0x61657274
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x657811
add byte [edi - 0x2a], cl
mov dword [esp + 2], ebx
xchg dword [esp + 1], ebp
pop bx
pop ebx
mov edx, ecx
mov eax, 0x4523dffa
jmp 0x65778a
rdtsc
pop si
sbb dh, dl
call fcn.006577c3
rcl edx, 0xa
lea ebx, [ebp*4]
cpuid
jmp 0x657823
mov edi, ebp
dec bl
bsf ecx, esi
push di
rdtsc
push word [esp + 1]
jmp 0x657884
mov di, 0x4dc0
and edx, 0x486f94d5
mov di, cx
inc dx
bswap edi
dec esi
jmp 0x65780d
inc ecx
btr esi, edx
xchg dword [esp + 4], ebx
dec bp
lea esp, [esp + 1]
bswap esi
jmp 0x6577af
std
cpuid
pop word [esp + 4]
mov bl, 0xf7
xchg dl, al
pop dword [esp + 1]
jmp 0x6578b0
mov edx, esi
mov word [esp + 0xe], dx
bsr bx, ax
pop ebp
bt di, bp
mov dh, 0x44
jmp 0x657850
push ax
pop word [esp + 1]
sub esp, 0x11
lea ebp, [edx + edi]
mov esi, edx
mov word [esp + 1], si
jmp 0x657866
xchg word [esp + 5], bp
pop bx
sub dh, 0x57
lea ebp, [ecx + ebx]
jmp 0x657954
mov di, word [esp + 6]
pop ax
and bl, dh
mov word [esp], bp
bswap ecx
jmp 0x65789a
clc
mov bl, ah
bt si, bp
xchg bx, ax
mov word [esp + 2], sp
xchg di, bx
jmp 0x65783b
mov edx, dword [esp + 1]
call fcn.006578f5
pop dword [esp + 3]
not bp
xchg edi, esi
not esi
mov byte [esp + 5], dl
xchg word [esp + 2], si
jmp 0x6579b5
cmp dx, 0x7bd0
xchg dword [esp], eax
rdtsc
mov ah, byte [esp + 4]
push word [esp + 3]
lea ecx, [ecx + esi]
jmp 0x6578c9
xchg bx, ax
xchg byte [esp + 4], ch
xchg cl, ah
pop ebp
lea eax, [esp + 0xea]
call fcn.0065799f
mov dword [esp + 1], edx
rdtsc
lea ebp, [edi + ebp]
mov bx, 0x6b48
mov bh, 0xd2
push word [esp + 0xa]
jmp 0x657a0c
xchg byte [esp + 8], bh
mov ecx, 0xd13ff54b
push word [esp + 0xa]
mov byte [esp + 8], dh
push dword [esp + 9]
jmp 0x657a5a
push dword [esp]
xchg dword [esp], edi
lea edx, [edx*4]
sub esp, 0x1a
jmp 0x657a6d
mov ebx, dword [esp + 0x10]
sub esp, 3
std
cpuid
lea eax, reloc.WINMM.dll_midiStreamOut
pop esi
jmp 0x657a44
pop ecx
pop word [esp + 0x24]
push word [esp + 0x21]
mov word [esp + 0xd], bp
mov ebx, 0xc89a624e
popal
jmp 0x657cda
lea ecx, [ebx + 0x2f]
xchg dl, cl
xchg esi, ebx
mov dh, ah
lea esp, [esp + 3]
bt eax, ebx
jmp 0x657984
lea esp, [esp + 0x19]
lea ecx, [ebp*4]
bsr bx, cx
jmp 0x657adf
pushfd
mov byte [esp + 0x22], cl
or ch, 5
mov bl, 0x33
mov byte [esp + 7], al
setge bl
jmp 0x657aa0
ror bp, cl
shl ebx, 0x1e
mov word [esp + 4], ax
xchg dl, ah
bsr ecx, ecx
jmp 0x657b05
xchg ecx, ebp
mov edi, dword [esp + 9]
cpuid
mov bh, ah
cld
add esp, 8
jmp 0x657ac9
rcl di, 6
rol ax, cl
push dword [esp + 0x19]
lea eax, [edx + ebp]
jmp 0x657c64
push di
mov ebp, dword [esp + 0xd]
xchg dx, ax
sub esp, 0x1a
stc
btr bx, sp
jmp 0x657aef
push word [esp]
xchg byte [esp + 0xb], dl
bsf edi, edx
mov al, 0x54
setns ah
push word [esp + 0x1b]
jmp 0x657ab6
lea ebx, [eax*4]
mov ah, dl
ror ax, cl
call fcn.00657b36
mov word [esp], bp
pop cx
mov word [esp], cx
mov byte [esp], cl
rol edx, 0x16
pop ax
jmp 0x657be0
lea esp, [esp + 0x45]
mov eax, 0x9b773480
mov ebp, 0x2f8bfeb6
mov bx, 0x8ce6
mov ch, byte [esp]
bswap ebp
jmp 0x657b50
not bx
lea eax, reloc.WINMM.dll_midiStreamOut
push ecx
push word [esp + 2]
pop ebp
call fcn.00657bb4
mov byte [esp + 8], ah
xchg byte [esp + 0x2a], dl
rdtsc
bsf si, si
pop dx
jmp 0x657c3b
pop ebp
mov di, 0xc6e1
pop dword [esp + 0x1e]
mov esi, 0x99aebc33
mov si, ax
dec bx
jmp 0x657c93
mov cx, 0x63ab
mov dword [esp + 0x2a], ecx
mov cl, ah
bsf cx, cx
rcr bh, 5
sub esp, 0x12
jmp 0x657b85
lea ebx, [esi + edi]
cmc
add esp, 5
sub esp, 0xb
dec eax
push dword [esp + 0xa]
jmp 0x657cba
mov dword [esp + 8], esp
push si
mov al, 0x40
xchg bh, al
xchg si, ax
not ecx
jmp 0x657c7d
pop dword [esp + 0x1a]
popal
mov dx, ax
xchg dword [esp], eax
cpuid
clc
jmp 0x6580eb
lea ecx, [esi*4]
stc
mov dl, byte [esp + 0x2d]
lea ebp, reloc.WINMM.dll_midiStreamOut
xchg byte [esp + 0xc], bl
pop dword [esp + 0xd]
jmp 0x657ca4
mov word [esp], cx
pushal
xchg ah, al
not di
mov ebp, 0xb3ee3dee
mov bl, al
jmp 0x657b1f
pushal
rdtsc
ror ax, 3
mov word [esp + 9], di
mov dx, word [esp + 0x2e]
mov dl, bh
call fcn.00657cf0
scasb al, byte es:[edi]
push word [esp + 3]
mov cx, 0x8eb5
push dword [esp + 3]
mov ebp, edi
btr edx, esp
mov ah, 0x57
jmp 0x657d06
push word [esp + 4]
bsf esi, esi
xchg dword [esp + 4], edx
btr edi, ebp
bswap edi
neg cl
jmp 0x657d1f