Function at 0x8ed1f1
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov dword [esp + 5], esi
and ebp, esp
mov ebx, dword [esp + 6]
mov dword [esp], edi
jmp 0x8ed148
mov ecx, 0xd1eedff6
dec ax
xchg ebp, esi
pop word [esp]
xchg edx, eax
push word [esp + 6]
jmp 0x8ed106
mov al, bh
neg di
sub esp, 0x13
rdtsc
mov dword [esp + 0xf], ebx
jmp 0x8ed15c
mov edx, 0xfb18a3bd
pop esi
mov dx, 0x9e75
mov dword [esp], edx
sete ch
rdtsc
jmp 0x8ed132
mov al, byte [esp + 6]
lea edi, [esp + ecx]
neg di
pop dword [esp + 1]
mov ah, byte [esp]
mov ebx, esi
jmp 0x8ed1ae
setne ch
xchg dword [esp + 2], edi
lea esi, [esi + esi]
pop word [esp + 5]
mov dl, dh
neg edx
jmp 0x8ed11c
std
mov si, word [esp + 2]
mov dl, byte [esp + 0xd]
mov ch, byte [esp + 0xd]
std
jmp 0x8ed1da
mov di, word [esp + 4]
rcl edi, cl
lea edi, [eax + edx]
xchg di, si
add eax, esi
xor bp, 0x8330
jmp 0x8ed197
lea esi, [ebx*4]
neg esi
pop dx
mov dl, byte [esp + 0xb]
jmp 0x8ed224
xchg byte [esp + 0x12], al
btc edi, ebp
lea eax, [edi + ebp]
clc
sub esp, 0x11
jmp 0x8ed1c4
mov eax, dword [esp + 2]
mov eax, 0x3365ef1b
pop word [esp + 0xe]
pop bx
pop dword [esp + 1]
jmp 0x8ed182
popal
mov dx, 0x6e67
bsr di, si
mov di, bp
push dword [esp + 4]
pop ecx
jmp 0x8ed268
neg ch
xchg ch, dl
mov dword [esp + 0x1b], ebx
push word [esp + 4]
mov bx, 0x241d
xchg dword [esp + 1], edi
jmp 0x8ed20a
cpuid
mov ch, dl
rcl bh, cl
push word [esp + 3]
rdtsc
jmp 0x8ed293
mov dword [esp + 4], ecx
xchg dword [esp + 4], ebp
mov ebp, dword [esp + 9]
stc
pop dword [esp]
jmp 0x8ed23b
sete ah
xchg cx, bx
push esi
xchg dx, ax
lea eax, [ecx*4]
bsr edi, ebp
jmp 0x8ed251
lea ecx, [esi*4]
xchg byte [esp + 6], ah
setae dh
jmp 0x8ed33d
xchg byte [esp + 3], bl
xchg byte [esp], cl
mov word [esp + 3], si
cpuid
not bl
rcr ebx, 0x1a
jmp 0x8ed27d
mov ch, byte [esp]
dec al
add esp, 2
mov bh, byte [esp + 1]
stc
lea esp, [esp + 1]
call fcn.008ed30b
mov byte [esp + 3], ch
pop word [esp + 3]
call 0x8ed362
stc
mov bx, 0x2951
mov bl, byte [esp + 0xe]
mov dx, word [esp + 2]
setae bl
jmp 0x8ed39a
xchg ebx, eax
ret
bswap edx
std
xchg word [esp + 3], di
bsf edx, edx
push word [esp + 3]
jmp 0x8ed3c7
mov ebp, dword [esp + 3]
xchg byte [esp + 2], ah
neg si
xchg byte [esp + 4], ah
rdtsc
xchg byte [esp + 9], dl
jmp 0x8ed384
mov bp, di
push word [esp + 4]
bswap ecx
mov dx, 0x2603
push dword [esp + 4]
xchg dx, bp
call fcn.008ed3b1
lahf
sbb ecx, dword [ebx - 0x806e212]
jl 0x8ed3fc
jne 0x8ed370
and ecx, ecx
push 0x244c8766
add ah, byte [esi - 0x79]
push esp
and al, 7
call fcn.008ed378
invalid
mov ch, 0x89
xchg si, ax
btr cx, ax
setp cl
lea ebx, [ecx + ebx]
jmp 0x8ed6a6
rol ebx, 0x1f
not ax
mov ebx, ebp
mov di, dx
xchg ecx, ebp
xchg edi, eax
jmp 0x8ed466
and dx, di
pop esi
mov dword [esp + 0x15], ebx
xchg edi, ebx
lea esp, [esp + 0xd]
mov word [esp + 5], bp
jmp 0x8ed43b
xchg si, ax
rdtsc
xchg ecx, ebx
ror ecx, cl
xor bh, cl
not ecx
jmp 0x8ed4a1
mov bl, 0x59
setge bl
setge cl
mov dh, cl
mov eax, ebx
clc
jmp 0x8ed451
lea edx, [ecx*4]
mov dl, byte [esp + 0xf]
dec bx
jmp 0x8ed4b7
push word [esp + 4]
not ch
mov dx, bp
pop word [esp + 1]
cmc
xchg dword [esp + 7], edx
jmp 0x8ed48b
btc bx, bx
mov dword [esp + 6], esp
mov dword [esp + 3], ecx
mov bl, 0x60
btc bp, bp
mov dl, bl
jmp 0x8ed52e
pop edx
push word [esp]
sub esp, 0x1f
xchg dword [esp + 4], ebp
pop word [esp + 0x1b]
bts ax, bx
jmp 0x8ed47c
adc eax, edi
shl ebp, 0x18
bsf dx, bp
xchg dword [esp], edi
stc
rdtsc
jmp 0x8ed50d
cld
mov dword [esp], esp
mov bx, word [esp + 1]
pop edi
mov ecx, edx
push ecx
jmp 0x8ed4e8
xchg dx, bx
mov bh, byte [esp + 4]
xchg cx, bx
lea esi, reloc.WINMM.dll_midiStreamStop
mov ax, 0xa83c
btc eax, ecx
jmp 0x8ed546
xchg byte [esp + 2], dh
lea esp, [esp + 0xa]
xchg ecx, esi
pop word [esp + 2]
bswap ebp
mov bx, word [esp + 4]
jmp 0x8ed4fe
neg edi
pop si
rol bp, cl
sub esp, 0x15
cpuid
call fcn.008ed5d2
jmp 0xc79edd6
lea eax, reloc.WINMM.dll_midiStreamStop
mov dl, 0x50
mov ebp, dword [esp]
dec ecx
sete dh
std
jmp 0x8ed4d1
push word [esp + 6]
pop word [esp + 2]
mov dl, byte [esp + 5]
mov si, 0x5850
mov edi, dword [esp + 6]
bsf cx, sp
jmp 0x8ed56c
mov word [esp + 0xf], si
xchg edi, eax
add esp, 0x1b
xchg dword [esp], eax
xchg word [esp + 2], ax
push word [esp + 4]
jmp 0x8ed669