Function at 0x64e34f
Capabilities:
Execute anti-debugging instructions

Disassembly:
push word [esp]
add esp, 0
lea edx, [edx*4]
push word [esp]
jmp 0x64e360
mov ah, byte [esp + 2]
pop edx
mov al, ah
mov ax, word [esp + 1]
rcl eax, 9
rdtsc
jmp 0x64e31e
mov si, 0xbef
xchg dh, al
bsr si, cx
push word [esp + 1]
jmp 0x64e336
pop word [esp + 2]
push word [esp + 1]
mov dh, byte [esp + 3]
inc dh
bswap esi
rdtsc
jmp 0x64e44a
mov ax, 0xa231
mov word [esp], bx
lea esp, [esp + 5]
bsf dx, ax
mov edx, 0xff37d784
call fcn.0064e3ab
clc
xchg word [esp + 0xb], ax
xchg word [esp + 0x17], ax
lea esp, [esp + 5]
lea esp, [esp + 0xf]
xchg byte [esp], al
jmp 0x64e459
bswap esi
push word [esp + 1]
sub si, 0xcd1a
xchg dh, dl
jmp 0x64e3d4
mov al, ah
lea esp, [esp + 1]
push esp
pop eax
mov dword [esp], eax
pop dx
jmp 0x64e433
stc
rdtsc
mov eax, 0x75a6522c
xchg byte [esp + 2], dh
btr eax, esp
mov dh, bh
jmp 0x64e554
clc
sub esp, 0x1c
lea esp, [esp + 0x17]
xchg byte [esp + 8], al
lea edx, [ecx + edi]
setnp dh
jmp 0x64e4f0
xchg byte [esp], dl
add esp, 0x12
push dword [esp]
pop ax
lea eax, [edx + edx]
and dh, bh
jmp 0x64e48c
not esi
xchg byte [esp + 0x14], dh
pop word [esp + 0x14]
xchg dword [esp + 0x10], edx
mov dh, bh
rdtsc
jmp 0x64e4a9
lea esp, [esp + 3]
mov eax, 0x5d7ed718
mov si, word [esp + 7]
call fcn.0064e4d6
mov ch, 0xa4
xlatb
or dword ds:[edi + reloc.WINMM.dll_midiStreamOut], eax
or dword [ebx - reloc.WINMM.dll_midiStreamOut], ecx
je 0x64e539
xchg esi, edx
pop dword [esp + 9]
mov esi, dword [esp + 0xd]
push dword [esp + 5]
mov dword [esp + 5], eax
add eax, 0x5244489
mov eax, esp
jmp 0x64e4c1
mov eax, 0x9239c69a
mov eax, ecx
sub esp, 0x10
sub esp, 0xa
mov byte [esp + 0x1c], ch
jmp 0x64e74e
or ecx, dword [ebp + reloc.WINMM.dll_midiStreamOut]
add byte [eax], al
xchg byte [esp], dh
lea eax, [ebp - 0xef]
jmp 0x64e51e
push esp
xchg byte [esp + 2], dh
btc esi, edi
mov esi, eax
pop dword [esp + 2]
sub esp, 0x14
jmp 0x64e508
xchg ah, dh
mov dh, byte [esp]
lea eax, [eax*4]
add esp, 0
call fcn.0064e5a4
xchg ah, dh
push dword [esp + 1]
mov esi, 0x87c6b0a8
mov word [esp + 2], sp
bswap edx
jmp 0x64e6b1
pop eax
mov dh, 0x98
lea edx, [edx + edi]
xchg byte [esp], al
bsr ax, cx
lea edx, [ecx*4]
jmp 0x64e5bc
push dword [esp + 0xa]
mov dword [esp + 1], ecx
mov dword [esp + 6], eax
xor dl, ch
bswap esi
lea eax, [eax + edi]
jmp 0x64e66e
stc
setbe dh
lea esi, [edx + ebx]
pop dword [esp + 5]
mov dword [esp + 0xe], ebp
jmp 0x64e645
push word [esp + 0x11]
mov word [esp + 4], dx
mov byte [esp + 0xf], bh
pop word [esp + 0xc]
not ah
xchg word [esp + 5], ax
jmp 0x64e5fe
mov edx, dword [esp + 3]
stc
sub esp, 0x10
pop dword [esp + 5]
mov si, word [esp + 8]
pop si
jmp 0x64e699
mov eax, 0x86096426
add esp, 0x18
sub esp, 0x1c
xchg dh, al
neg dh
not si
jmp 0x64e613
rcr dh, 7
xchg byte [esp + 0xa], dl
xchg esi, edx
xchg byte [esp + 6], dh
jmp 0x64e726
xchg dword [esp + 0x18], esi
inc edx
mov edx, 0x8cef6f4
lea eax, [edi*4]
jmp 0x64e682
xchg si, ax
rdtsc
mov edx, ecx
cmc
xchg dh, al
not si
jmp 0x64e629
xchg word [esp + 0x18], si
not eax
rcr si, cl
call fcn.0064e6df
pop eax
sub esp, 0x1c
xchg dword [esp + 0xc], esi
cld
pop eax
mov byte [esp + 9], dh
jmp 0x64e783
add esp, 0x19
pop esi
add esp, 0
add esp, 2
push esp
bsf ax, ax
jmp 0x64e5e8
bts eax, ebx
pop dword [esp + 0x26]
mov dx, ax
mov eax, 0xa238b402
btr edx, ebx
xchg dword [esp + 0xc], esi
jmp 0x64e7e3
mov dh, bh
and dh, bh
xchg dword [esp + 0xd], eax
xchg byte [esp + 8], dh
inc esi
sub esp, 0x14
jmp 0x64e762
mov eax, 0x83d0738
mov esi, 0x3636c100
rdtsc
pop edx
pop esi
jmp 0x64e85c
mov ax, word [esp + 0x1a]
mov si, word [esp + 0x21]
pop word [esp + 0xb]
jmp 0x64e795
not dh
pop edx
pop dword [esp + 4]
lea esi, [edx + ebx]
push dword [esp + 0x1d]
cmc
jmp 0x64e7ad
lea eax, [edx + ebx]
lea eax, [ecx*4]
lea eax, reloc.WINMM.dll_midiStreamOut
bswap esi
bts edx, ebx
lea eax, [esp + eax]
jmp 0x64e7c4
inc dh
add esp, 0
mov esi, dword [esp + 0x11]
mov ax, word [esp + 0x13]
mov edx, esi
xchg word [esp + 3], si
jmp 0x64e844
mov si, word [esp + 0xe]
xchg dword [esp + 0x17], edx
bt eax, edx
lea esi, reloc.WINMM.dll_midiStreamOut
pop word [esp + 0x13]
mov si, 0xa78f
jmp 0x64e7fd
push dword [esp + 2]
mov dword [esp + 0x19], ebp
mov ax, word [esp + 0x1a]
lea esp, [esp + 0x1b]
pop esi
jmp 0x64e8b0
push word [esp + 0xc]
not dx
neg dh
lea eax, [edx*4]
jmp 0x64e827
rdtsc
xchg byte [esp], al
inc dx
mov edx, eax
bswap esi
mov esi, 0x69715e88
jmp 0x64e8f6
xchg si, dx
mov dx, word [esp]
neg dh
mov dl, dh
shl dh, 3
mov edx, eax
jmp 0x64e88f
pop ax
mov dh, 0xc3
mov eax, dword [esp]
mov dh, byte [esp]
mov ax, bx
neg dx
jmp 0x64e9a3
btr eax, esp
mov dx, word [esp]
mov dx, word [esp]
mov dx, bx
not dh
mov dl, dh
jmp 0x64e8e0
neg ax
mov al, 0xee
mov dx, word [esp]
bt eax, edi
mov ax, di
jmp 0x64e958
pop word [esp]
lea esi, reloc.WINMM.dll_midiStreamOut
lea esi, [esi - 0xed]
and dx, 0x8e80
bts eax, ebx
bswap edx
jmp 0x64e925
mov eax, dword [esp]
mov word [esp], di
mov dh, byte [esp + 1]
mov eax, ebx
neg dh
mov dl, dh
jmp 0x64e98c
mov esi, eax
mov dx, 0xc151
bswap eax
push edx
not si
mov eax, dword [esp + 3]
jmp 0x64e93c
pop ax
mov edx, 0x91136d14
setg dh
call 0x64e9b2
cmp dword [ebx + reloc.WINMM.dll_midiStreamOut], esi
and dword ss:[esi + reloc.WINMM.dll_midiStreamOut], eax
xor dword [esi + reloc.WINMM.dll_midiStreamOut], esi
mov esp, 0x8ac8ebd0
test dword [esi + reloc.WINMM.dll_midiStreamOut], 0x1247487
jmp 0x64ec74
xchg dh, al
bswap edx
rdtsc
mov dh, 0xb0
cld
bsf dx, ax
jmp 0x64e97a
mov byte [esp + 3], ch
mov eax, 0x19974364
mov ah, byte [esp + 3]
cmc
cmc
clc
jmp 0x64ea44
inc al
mov dx, 0x5843
clc
inc dl
mov edx, 0x7ffdba10
inc si
jmp 0x64e9d7
rcl ax, cl
push esp
mov dx, word [esp]
xchg dword [esp], esi
mov esi, 0x59c2266c
mov esi, dword [esp + 4]
jmp 0x64e9ee
mov dword [esp], eax
mov edx, 0x46c71eb6
lea esp, [esp]
pop word [esp]
stc
inc dh
jmp 0x64ea69
push edx
cmc
inc al
mov dword [esp + 4], ecx
pop esi
xor dl, ch
jmp 0x64ea1e
pop si
lea eax, [esi + edi]
sub esp, 0x1c
lea esp, [esp + 0x41]
sub esp, 0x16
lea eax, [edx + ebp]
jmp 0x64eb2d
mov eax, dword [esp]
setle dh
mov al, ah
pushal
push esp
not ah
jmp 0x64ea51
cmc
mov dl, 0x74
mov dx, word [esp]
bswap esi
btr eax, esp
bsr si, cx
jmp 0x64ea08
mov dh, bh
mov dword [esp + 7], eax
mov ax, dx
mov eax, esp
mov esi, dword [esp + 0xc]
jmp 0x64eb15
xchg word [esp + 1], ax
sub esp, 0x10
xchg dword [esp + 2], edx
bsr dx, cx
pop eax
pop word [esp + 4]
jmp 0x64ea9c
bt eax, esp
mov dx, 0x3b51
mov eax, edi
lea edx, [ebx*4]
neg eax
bswap eax
jmp 0x64eab4
mov si, word [esp + 0x11]
push dword [esp]
call fcn.0064eaee
mov dword [esi], ecx
pushfd
sti
push ss
neg byte [edi]
xchg cx, ax
adc byte [ebx + 0x6604ec83], dl
mov edx, eax
sub esp, 4
mov dx, ax
add esp, 0xf
pop word [esp]
mov dword [esp + 3], esi
xchg si, ax
jmp 0x64ead8
mov eax, ecx
neg dx
not dh
setle ah
mov edx, dword [esp]
clc
jmp 0x64ea87
add esp, 3
neg dh
mov eax, edx
mov dh, ch
inc edx
mov dh, ch
jmp 0x64ebfe