Function at 0x6850b6
Capabilities:
Execute anti-debugging instructions

Disassembly:
jmp 0x682f91
mov dword [esp + 0x28], eax
jmp 0x682ea3
popal
pushal
push word [esp + 0x1f]
mov byte [esp + 0x1c], ah
push dword [esp + 0x1a]
jmp 0x682fe1
pop ecx
sub ecx, 0x10010efe
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
movzx ebx, byte [eax]
jmp 0x683033
push dword [esp + 0xc]
pop word [esp + 0xb]
or al, 0x66
pop dword [esp + 0xb]
lea esp, [esp + 3]
pop dword [esp + 0xe]
call fcn.00683ffe
jecxz 0x682fe4
invalid
push ds
lea esi, [eax*4]
mov si, 0x3fd1
bswap esi
lea esi, [ebp + 0xd7]
jmp 0x683047
retf
add ebx, 0xf5ac73ae
cmp ebx, 0xf5ac747a
je 0x68309d
jne 0x681d82
mov esi, 0x4ae547c6
mov esi, dword [esp]
lea esi, [edi + ebp]
bswap esi
push ebx
jmp 0x683081
lea esi, [ebp*4]
mov bx, word [esp]
mov bx, word [esp]
xchg bl, bh
mov bl, bh
xchg esi, ebx
jmp 0x6830d2
sbb al, 0x7b
xchg esi, eax
push edi
lahf
mov esi, 0x677b5a9c
lea esi, [ebp - 0x17]
mov esi, ebx
mov si, word [esp]
mov si, 0xece9
setle bh
jmp 0x683063
mov bl, byte [esp]
mov bl, byte [esp]
mov bl, 0x70
lea esi, [ebp - 0x27]
and al, 0xb3
jo 0x68302e
jne 0x68307c
mov bl, bh
setb bl
jmp 0x6830fe
mov ebx, 0x3dfb7af4
xchg dword [esp + 0x15], ebx
mov al, ah
setb al
xchg byte [esp + 0x10], al
mov eax, dword [esp + 0x20]
jmp 0x683098
lea esi, reloc.WINMM.dll_midiStreamOut
mov bl, bh
push eax
xchg bx, ax
mov eax, 0x4aaa84ac
pushal
jmp 0x6830b3
mov esi, 0x8a88f18e
mov si, word [esp + 0x14]
push word [esp + 0xd]
jmp 0x683174
mov bl, 0xc
mov bx, 0x8bb
mov ebx, dword [esp + 0x24]
pushal
lea esi, [ebp - 0x17]
pop si
jmp 0x6830e6
call 0x683155
jmp 0x68337b
push dword [esp + 0x18]
mov esi, dword [esp + 0x21]
mov esi, dword [esp + 0x4c]
lea esp, [esp + 0x50]
jmp 0x68330f
inc dword [esp + 8]
popfd
jmp 0x683466
push 0
pushfd
call fcn.006832c6
cmp dword [esp + 4], 0
jne 0x6832d6
pushal
jmp 0x683150
call 0x68336f
dec ebp
push ebx
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
adc cl, byte [ecx - 0x16dbdbbc]
jp 0x68337c
add byte [eax], al
or byte [eax + 0x2d], bl
stc
cdq
pop ss
shr bl, 1
fdiv st(7), st(0)
nop
bound edx, qword [eax]
push ss
rol byte [ebp + 0x1b4e9c0], 1
add byte [eax], al
pop eax
sub eax, 0xd01799f9
jmp 0x68335f
push 0
jmp 0x68357b
ret 4
call 0x683580
jmp 0x683cbc
push 0
jmp 0x683cad
test eax, eax
jmp 0x683ca1
je 0x683390
jne 0x683daf
call 0x683cb2
jmp 0x684fac
pop eax
sub eax, 0x78ce1b4d
call dword [eax + 0x78cc8d8b]
jmp 0x683c71
call 0x683ccf
jmp 0x684e61
mov dword [esp + 0x24], eax
jmp 0x684ea4
call 0x683dc7
test eax, eax
jmp 0x684ed9
pop ecx
sub ecx, 0x10012e77
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
jmp 0x68504b
call 0x684e99
dec ebp
popal
jo 0x684ee3
imul esp, dword [ebp + 0x77], reloc.WINMM.dll_midiStreamOut
insb byte es:[edi], dx
inc ebp
js 0x684e99
push eax
call fcn.0067637a
jmp 0x683cca
popal
jmp 0x684ec2
inc dword [esp + 8]
pushal
pop word [esp + 0xf]
lea esp, [esp + 0xf]
call fcn.00684f0f
mov byte [ebx], ch
inc edx
std
je 0x6838ee
jne 0x684e84
lea edi, [eax*4]
mov di, word [esp]
test dword [eax], eax
add byte [eax], al
add byte [esi - 0x75], ah
cmp al, 0x24
bswap edi
mov edi, dword [esp]
call fcn.00684f30
int3
pop eax
sub eax, 0x44c9b913
call dword [eax + 0x44c8241f]
jmp 0x684df3
push 0
jmp 0x68501f
je 0x6850b8
jne 0x683cec
pushfd
call 0x685098
call 0x685024
jmp 0x685082
movzx ebx, byte [eax]
add ebx, 0xacbcca81
cmp ebx, 0xacbccb4d
jmp 0x68500d
pop eax
sub eax, 0x2fceaebb
jmp 0x6850ce
call 0x6850b6
dec ebp
popal
jo 0x685102
imul esp, dword [ebp + 0x77], reloc.WINMM.dll_midiStreamOut
insb byte es:[edi], dx
add byte gs:[eax - 0x15], dl
sbb eax, 0xe8
add cl, ch
dec edx
add dword [eax], eax
add byte [ecx - 0x16dbdbbc], cl
in al, dx
add dword [eax], eax
add dh, cl
pop ecx
call dword [eax + 0x2fcd0655]
jmp 0x685112
call 0x6850ee
jmp 0x6853b5
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
jns 0x685134
rcl al, cl
test eax, eax
je 0x685004
jne 0x6850a3
mov dh, byte [esp]
call fcn.00685147
push 0
jmp 0x685159
add bl, ch
and ch, byte [edx]
push 0
jmp 0x6851f1
call 0x68515e
jmp 0x685491
call 0x68519a
insd dword es:[edi], dx
insd dword es:[edi], dx
arpl word [eax + 0x79], si
add cl, ch
pop eax
add al, byte [eax]
add ch, dl
inc esp
jmp 0x685239
ret
call 0x6851d7
jmp 0x6854df
call 0x6851f6
jmp 0x6855ae
call 0x685221
jmp 0x685570
inc dword [esp + 8]
popfd
jmp 0x6851a6
mov dword [esp + 0x24], eax
jmp 0x6854bf
popfd
jmp 0x68541e
cmp dword [esp + 4], 0
jmp 0x6853a9
call 0x685363
jae 0x6853d2
jb 0x6853c3
push 0xfde90072
add dword [eax], eax
add byte [ebx], dh
lea esp, [esp + 0xc]
jmp 0x685350
not ecx
lea esp, [esp]
call fcn.00685382
jne 0x685316
pushal
jmp 0x6850e9
pop eax
sub eax, 0xc11be83e
jmp 0x685541
add byte [eax], al
int 0xf7
ror dword [ebp - reloc.WINMM.dll_midiStreamOut], 1
sub al, 0x24
mov ch, byte [esp]
jmp 0x68539f
ret
lea eax, [esp + edx]
mov eax, dword [esp]
call fcn.00685478
push 0
pushfd
cmp dword [esp + 4], 0
jmp 0x6854f9
jmp 0x68563c
popal
popfd
ret
movzx ebx, byte [eax]
add ebx, 0x89af3990
jmp 0x685625
push 0
jmp 0x6854e7
push 0
jmp 0x68559a
mov eax, dword [esp]
call fcn.00685524
call 0x6854ec
jmp 0x685b0f
jne 0x6854ba
pushal
jmp 0x6851d2
call 0x68551b
jmp 0x685b56
mov dword [esp + 0x24], eax
jmp 0x685b98
call fcn.00685551
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
call dword [eax - 0x3ee5c0f2]
test eax, eax
je 0x685133
jne 0x68518e
push eax
call fcn.0067637a
jmp 0x68521c
pop ecx
sub ecx, 0x100143c9
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
jmp 0x6854c2
je 0x685137
jne 0x685357
call 0x68559f
jmp 0x685cef
mov dword [esp + 0x24], eax
jmp 0x685c04
pop eax
sub eax, 0x27b40dc5
call dword [eax + 0x27b2638d]
jmp 0x685659
call 0x6855d6
jae 0x685644
jb 0x685640
arpl word [ecx + 0x74], sp
add cl, ch
loop 0x6855df
add byte [eax], al
push edx
int 0x60
call fcn.006855bf
fdiv st(7), st(0)
invalid
call 0x6855f2
ja 0x68565d
jo 0x68565e
imul ebp, dword [esi + 0x74], reloc.WINMM.dll_midiStreamOut
mov word [ebx], es
add byte [eax], al
pop esp
je 0x685689
jne 0x685243
cmp ebx, 0x89af3a5c
jmp 0x6855f8
popfd
ret
add byte [eax], al
add byte [eax], ah
test eax, eax
jmp 0x68558e
invalid
invalid
invalid
pop eax
sub eax, 0x2187abe0
jmp 0x685b90
test eax, eax
je 0x6854d0
jne 0x685b6e
push eax
call fcn.0067637a
jmp 0x685516
pop ecx
sub ecx, 0x100146c3
jmp 0x685bb0
call 0x685b7f
dec ebp
jae 0x685bea
popal
inc edx
outsd dx, dword [esi]
js 0x685bd5
add bl, ch
mov cl, 0x89
inc esp
and al, 0x24
call dword [eax + 0x2185feb2]
jmp 0x685b28
popal
inc dword [esp + 8]
call fcn.00685d68
call 0x685ba7
jmp 0x686a0c
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
jmp 0x685be6
je 0x685c53
jne 0x685535
movzx ebx, byte [eax]
add ebx, 0xe5b20012
cmp ebx, 0xe5b200de
jmp 0x685bcf
ret
popal
pushal
cpuid
popal
push esp
call fcn.00685d3b
mov eax, dword [esp]
lea esp, [esp + 4]
sub eax, 0x5ef04b62
jmp 0x685c7a
call 0x685c8a
dec ebp
push ebx
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add cl, ch
mov eax, dword [eax]
add byte [eax], al
mov al, byte [0x47b4ad3d]
or byte [ebp + ecx*4 + 0x68042464], 0
lea esp, [esp + 4]
push 0
pushfd
call 0x685c51
pop ecx
sub ecx, 0x100147da
jmp 0x685cfd
je 0x6854d4
jne 0x6855c9
push 0
jmp 0x685d0b
pop eax
sub eax, 0xc86d45b7
call dword [eax - 0x3794682a]
jmp 0x685d20
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
movzx ebx, byte [eax]
jmp 0x685db8
call 0x685d10
jmp 0x686d00
test eax, eax
jmp 0x685cd6
call 0x685d5b
jmp 0x686d91
add ebx, 0x5a267a9
cmp ebx, 0x5a26875
je 0x685e22
jne 0x6855a4
mov dword [esp + 0x24], eax
jmp 0x686d78
pop eax
sub eax, 0xc5202a85
jmp 0x686a88
call 0x686a9a
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
pushfd
jbe 0x686abd
lds eax, [ebp - 0x167bf040]
out dx, eax
invalid
invalid
pop eax
sub eax, 0xe4ea1adb
jmp 0x686d68
xor esp, dword [ebx - reloc.WINMM.dll_midiStreamOut]
xor al, 0xaa
int 0x3c
stc
mov eax, dword [reloc.WINMM.dll_midiStreamOut]
call dword [eax + 0x55da9641]
test eax, eax
je 0x685ce2
jne 0x686d47
push eax
call fcn.0067637a
jmp 0x685d56
call 0x686d5d
inc edi
je 0x686d99
outsb dx, byte [esi]
je 0x686db8
jb 0x686dbb
popal
arpl word [ebp + 0x49], sp
outsb dx, byte [esi]
outsw dx, word [esi]
add bl, ch
retf 0x2ab2
call dword [eax - 0x1b179a77]
jmp 0x686d1f
popal
call 0x686dbb
imul dword [esi - 4]
wait
jbe 0x686d4c
jecxz 0x686d09
adc esi, dword [esi - 0x7b]
inc esi
fild dword [edx + ebx*8 - 0x43]
dec esp
mov dword [ecx + 0x59], esi
pop ecx
sub ecx, 0x10014f03
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
jmp 0x686dfd
and dword [eax + 0x5e], reloc.WINMM.dll_midiStreamOut
jo 0x686e15
push 0xffffffffffffff85
popfd
ret
fnstcw word [eax]
sbb ecx, dword [ebp - 0x14fbdb9c]
jecxz 0x686e34
lea esp, [esp + 4]
jmp 0x686da4
invalid
je 0x686e6a
jne 0x685dd3
aad 0x54
retf 0x5cad
movzx ebx, byte [eax]
add ebx, 0x905575b6
cmp ebx, 0x90557682
jmp 0x686dde
and edx, dword [ebx - 0x2b]
inc ebp
sub al, 0xdf
push ds
ret
test dword [ebp - 0x12], esi
invalid
add dword [eax], edx