Function at 0x508468
Capabilities:
Execute anti-debugging instructions

Disassembly:
add edx, 0x27af49d2
jmp 0x5083ba
pop eax
jmp 0x50672a
shl ah, 2
jmp 0x508436
je 0x508453
lea eax, [ebp + 0x71]
bts eax, eax
jmp 0x508459
lea eax, [ebp + 0x71]
bts eax, eax
jmp 0x508485
call fcn.00508514
xchg al, dh
call 0x508468
dec eax
sub edx, 0xb162d248
je 0x508499
xchg dx, ax
jmp 0x5084c6
mov esp, edi
mov ax, word [esp]
lea eax, [ecx*4]
bswap eax
stc
jbe 0x50845b
ja 0x5084c2
jmp 0x5084c4
xchg dx, ax
call fcn.0050849b
lea esp, [esp]
jmp 0x508568
bt eax, ebx
shr dl, cl
rdtsc
mov dl, 0x8e
setae dh
stc
jmp 0x50857f
jl 0x5084d3
bt eax, ebx
shr dl, cl
jmp 0x508573
dec dx
lea esp, [esp + 4]
not bl
cmc
jmp 0x508552
rdtsc
mov dl, 0x8e
setae dh
jmp 0x5084df
lea edx, [esi*4]
not bl
mov al, byte [esp]
mov al, 0x43
or ax, 0xb57c
jmp 0x5085b6
jo 0x5085cc
mov al, 0xc1
jmp 0x5085ce
mov al, 0xc1
xor bl, 0x22
inc ax
jmp 0x5085d9
jl 0x5085ef
pushfd
bsr eax, ebp
jmp 0x509d0b
pushfd
bsr eax, ebp
lea edx, [edx*4]
cmc
add esp, 2
lea esp, [esp + 2]
jmp 0x509a8a
jmp 0x508651
xchg edx, eax
ror ah, 3
jg 0x508638
mov ax, word [esp]
jmp 0x508671
mov dx, word [esp]
mov dx, 0x8af8
and ebx, 0x3c
inc ax
jge 0x508608
mov ax, dx
xor eax, esi
jmp 0x508656
mov ax, word [esp]
jmp 0x508671
mov ax, dx
xor eax, esi
sub ebp, 4
jmp 0x50860a
lea esp, [esp + 3]
jmp 0x5086da
mov edx, dword [ebx + edi]
mov eax, 0x2887fb43
xchg bh, bl
push cx
sub esp, 1
jmp 0x50879a
xchg edx, eax
mov dl, 0xe2
jmp 0x508c30
bsf ax, bx
jl 0x5086ae
lea ebx, reloc.WINMM.dll_midiStreamOut
mov bl, 0x6f
jmp 0x5086bd
jmp 0x508696
lea ebx, reloc.WINMM.dll_midiStreamOut
mov bl, 0x6f
jmp 0x5086bd
lea eax, [edi + 0x50]
xchg dx, bx
sub esp, 0
jno 0x50872c
jo 0x508709
add edx, 0x6c29306e
call int.00509413
fdivr dword [ebx]
adc cl, byte [ebp + 0x55891c]
mov dword [ebp], edx
rdtsc
mov bl, byte [esp]
mov dx, word [esp]
lea edx, [esi*4]
jmp 0x5086ac
movzx ebx, byte [esi]
neg dl
jmp 0x50874f
mov edx, 0x4f1941a7
jmp 0x508731
add ax, 0x5d36
bswap eax
xchg dx, ax
lea edx, [esp + eax]
bsr dx, si
mov ax, word [esp]
jmp 0x50876f
mov edx, 0x4f1941a7
cmp ebp, eax
jmp 0x508c95
xchg dx, ax
lea edx, [esp + eax]
bsr dx, si
jmp 0x508720
jge 0x508710
add ax, 0x5d36
bswap eax
jmp 0x508739
xor ah, bl
inc ax
lea eax, [esi*4]
sub esp, 0x1f
jmp 0x5087df
mov al, 0xe5
xchg dh, dl
add bl, cl
jae 0x508759
jb 0x508781
inc edi
lds edx, [ebp + 0x3c]
iretd
xor ah, bl
inc ax
lea eax, [esi*4]
jmp 0x508839
jnp 0x50865b
lea esp, [esp + 3]
jmp 0x5086da
jg 0x5087bf
mov eax, 0x5c4ece01
jmp 0x5087c4
mov eax, 0x5c4ece01
call fcn.00508801
not ax
mov ax, 0x4fb1
lea eax, reloc.WINMM.dll_midiStreamOut
sub esp, 0x17
jmp 0x508809
lea esp, [esp + 3]
mov dl, bl
mov ah, al
neg ah
jmp 0x5087a9
pop ax
lea esp, [esp + 1]
jmp 0x508867
call 0x508816
jmp 0x509b0a
mov dword [esp + 0x28], eax
jmp 0x509b18
sub esp, 0x1f
lea esp, [esp + 3]
jmp 0x5087e3
mov ah, byte [esp]
jmp 0x508874
mov ah, byte [esp]
mov ax, si
pushal
setl ah
jmp 0x508881
lea esp, [esp + 0x18]
sub dl, 0x67
neg ah
jg 0x508842
jle 0x50884b
mov ax, si
pushal
setl ah
jmp 0x508881
ror dl, 0
jmp 0x508a9c
mov ax, 0xaf64
shl ax, 1
jmp 0x508a11
sbb edx, 0x1c4ac45f
dec ax
mov edx, eax
jmp 0x50868e
pushfd
bsr eax, ecx
jnp 0x5088d3
clc
jmp 0x508914
lea esp, [esp + 2]
lea esp, [esp + 8]
neg dl
mov ah, 0x1f
jmp 0x5088af
clc
mov ax, cx
add cl, dl
mov ax, 0x4b04
bswap eax
shr ah, 6
jmp 0x508919
pushfd
mov eax, dword [esp + 4]
pop word [esp + 5]
jmp 0x5088c5
mov dx, 0x85bb
inc esi
sub esp, 0x10
jmp 0x5089c1
mov ax, cx
jmp 0x5088d7
jbe 0x5088f9
mov dx, 0x85bb
jmp 0x5088fd
dec eax
mov ax, word [esp]
sub esp, 0xf
jmp 0x50898f
sub esp, 0xf
stc
rol eax, 0x17
jmp 0x508993
jmp 0x5088ed
stc
rol eax, 0x17
lea esp, [esp + 3]
call fcn.00508947
btc eax, esp
jl 0x508a35
mov dh, byte [esp]
not edx
mov edx, ecx
bsf edx, esi
pushfd
jmp 0x508a61
je 0x508921
dec eax
mov ax, word [esp]
jmp 0x50892f
lea esp, [esp + 0x20]
not dl
pushfd
push dword [esp + 1]
ja 0x508945
pushfd
mov eax, dword [esp + 4]
pop word [esp + 5]
lea esp, [esp + 2]
jmp 0x5088c9
mov dh, byte [esp]
not edx
jmp 0x508a77
bts eax, ebp
call fcn.00508bca
call 0x508a6e
jmp 0x509fdc
mov edx, ecx
bsf edx, esi
pushfd
jmp 0x508a61
jne 0x50888a
mov ax, 0xaf64
shl ax, 1
jmp 0x508a11
mov dword [esp + 0x24], eax
jmp 0x509f47
mov dword [esp + 0x24], eax
jmp 0x50a13b
mov dword [esp + 0x28], eax
jmp 0x50a336
call 0x508bc0
jmp 0x50a105
sbb edx, 0x1c4ac45f
dec ax
mov edx, eax
xchg edx, eax
mov dl, 0xe2
sub bl, 0x89
sete al
jmp 0x508622
call 0x508c4b
jmp 0x50a48c
ja 0x5086f3
setl dl
mov ebx, 0xc51845a6
jmp 0x508cb7
mov ebx, edi
shr eax, cl
jp 0x508d22
not dl
rdtsc
jmp 0x508cec
setb dh
lea edx, [ebx*4]
jmp 0x508dc8
rdtsc
lea eax, [edi + 0x40]
mov dx, word [esp]
rol dl, cl
jmp 0x508cfb
jg 0x508cd4
setb dh
lea edx, [ebx*4]
jmp 0x508dc8
lea edx, [edi + ebp]
call fcn.00508d26
call 0x508d19
pop ecx
jmp 0x50a369
not dl
jmp 0x508cea
lea edx, [ebp - 0x80]
sub esp, 0
jns 0x508da4
stc
jmp 0x508dab
lea edx, [edi + ebp]
jmp 0x508d3c
stc
call fcn.00508df4
dec esp
and dl, 0xfc
push sp
call fcn.00508e5e
call 0x508dc2
ja 0x508e1f
jae 0x508e30
arpl word [eax + 0x72], bp
add cl, ch
lea edx, [eax + eax]
add bh, bl
sub eax, ebx
mov dx, 0x433b
btr dx, ax
jne 0x508d0c
je 0x508d72
in al, dx
pop ds
sub bl, 0x73
xchg edx, eax
bsr eax, ecx
ja 0x508c23
jbe 0x5088a0
push eax
call fcn.004f5c99
jmp 0x508811
lea esp, [esp + 8]
sub ecx, 0x100167ee
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
movzx ebx, byte [eax]
jmp 0x509b38
not ecx
push bp
lea esp, [esp + 2]
mov ecx, dword [esp]
push ebx
jmp 0x509ae2
popal
jmp 0x509b32
popfd
lea esp, [esp + 4]
ret
add ebx, 0xccd2ac4
jmp 0x509be0
cmp ebx, 0xccd2b90
je 0x509c44
jne 0x50882c
lea esp, [esp + 0xc]
sub eax, 0x3ed4e280
jmp 0x509c49
call 0x509c33
inc edi
je 0x509c6f
outsb dx, byte [esi]
je 0x509c8e
jb 0x509c91
popal
arpl word [ebp + 0x49], sp
outsb dx, byte [esi]
outsw dx, word [esi]
add byte [eax - 0x15], dl
invalid
adc eax, 0xb43d8f7c
call 0x509c5b
dec ecx
push eax
dec eax
dec esp
push eax
inc ecx
push eax
dec ecx
inc esp
dec esp
dec esp
add bh, bh
nop
les ecx, [edi]
sar dword [esi], cl
jmp 0x509c1d
push ecx
invalid
test byte [edi - 0x36], dh
idiv dword [esi - 0x14]
mov eax, dword [esi - reloc.WINMM.dll_midiStreamOut]
mov edi, 0x16e9fffe
in al, dx
invalid
lea edx, [edx*4]
cmc
add esp, 2
jmp 0x5085fe
popal
inc dword [esp + 8]
pushal
call fcn.0050a002
movsd dword es:[edi], dword [esi]
xor eax, 0xfe3fcca5
mov ch, 0x26
mov ah, 0xd3
pushfd
xlatb
or dword ds:[eax + reloc.WINMM.dll_midiStreamOut], ebp
add byte [eax], al
add byte [ebp + 0x53], cl
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
xchg edx, eax
mov dword [reloc.WINMM.dll_midiStreamOut], eax
ljmp 0
pop ecx
sub ecx, 0x10016a46
jmp 0x50a018
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
jmp 0x50a03d
movzx ebx, byte [eax]
jmp 0x50a06b
add ebx, 0x9bad3a9d
cmp ebx, 0x9bad3b69
je 0x50a0d5
jne 0x508ae0
push bx
lea esp, [esp + 2]
jmp 0x50a233
fidiv dword [eax]
and al, 0x9a
jmp 0x50a0df
call 0x50a0f0
pop edi
pop edi
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
js 0x50a157
je 0x50a0f0
jmp 0x50a130
pop ecx
sub ecx, 0x10016b98
push ebx
jmp 0x50a113
mov ebx, ecx
lea ebx, reloc.WINMM.dll_midiStreamOut
mov dword [ebx], eax
pop ebx
jmp 0x50a153
push eax
call fcn.004f5c99
jmp 0x508bbb
popal
jmp 0x50a169
movzx ebx, byte [eax]
jmp 0x50a181
sub dword [edx - 0x21], edx
dec edi
sub bl, cl
pop ecx
mov eax, 0x30c1a630
invalid
popfd
ret
add ebx, 0x5e53363d
cmp ebx, 0x5e533709
je 0x50a1eb
jne 0x508b24
lodsb al, byte [esi]
pop es
push 0
pushfd
call 0x50a1ae
pop ecx
jmp 0x50a275
sub ecx, 0x10016bf3
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
movzx ebx, byte [eax]
add ebx, 0xff2bca67
jmp 0x50a2ec
lea esp, [esp + 4]
ret
cmp ebx, 0xff2bcb33
je 0x50a350
jne 0x508b4e
mov ch, 0x63
bswap ecx
mov dword [esp + 5], ebx
mov ch, 0x70
xchg ebx, edx
bswap ebx
jmp 0x50a316
mov cx, word [esp]
pushal
mov ebx, dword [esp + 0x25]
mov dx, cx
not ch
call fcn.0050a35c
push edi
retf 0x3f58
popal
popfd
jmp 0x50a29d
mov dh, byte [esp]
jmp 0x50a385
inc dword [esp + 8]
jmp 0x50a494
sub ecx, 0x10016cf1
lea eax, reloc.WINMM.dll_midiStreamOut
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
popal
jmp 0x50a35f
lea edx, [ebx*4]
lea edx, [ecx*4]
sete dh
mov edx, dword [esp + 0x30]
lea esp, [esp + 0x34]
push 0
jmp 0x50a3ce
jne 0x50a35f
je 0x50a4c0
mov eax, dword [reloc.WINMM.dll_midiStreamOut]
cwde
rcl dword [esi - 0x3c]
mov dword [reloc.WINMM.dll_midiStreamOut], eax
pushfd
pushfd
lea esp, [esp + 4]
cmp dword [esp + 4], 0
jmp 0x50a3b8
mov ecx, dword [reloc.WINMM.dll_midiStreamOut]
lea esp, [esp - 4]
ret
call 0x50a452
dec ebp
push ebx
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
div byte [ebp - 0x68147890]
pop dword [ebx]
jmp 0x508d14
pop eax
sub eax, 0x87728ca1
jmp 0x50a442
popfd
lea esp, [esp + 4]
push dword [esp]
lea esp, [esp + 8]
jmp 0x50a430
pushal
jmp 0x508c46