Function at 0x83f51e
Capabilities:
Execute anti-debugging instructions

Disassembly:
setbe al
xchg word [esp + 2], dx
pop word [esp]
mov al, ch
pushfd
jmp 0x83f61f
pushfd
lea esp, [esp]
shl dl, 6
xchg bl, bh
mov dword [esp], ecx
xchg word [esp], dx
jmp 0x83f4a6
xchg byte [esp], dl
setnp ah
pop dword [esp + 2]
mov al, byte [esp + 4]
not ah
cld
jmp 0x83f57d
xchg byte [esp + 2], dh
xchg dx, ax
bswap ebx
xchg byte [esp + 0xe], bh
mov dh, byte [esp + 7]
bt dx, si
jmp 0x83f4ce
mov eax, ecx
push dword [esp + 0x1b]
mov ebx, dword [esp + 0x18]
and bh, 0xf
call 0x83f51e
sbb esp, dword [esi + 0xf]
mov esp, 0xeb310fc4
cmp dword [edi + 0x61], esi
jbe 0x83f58f
dec edi
jne 0x83f5a1
push edi
jb 0x83f599
je 0x83f597
add byte [edx + 0x6d], dh
jl 0x83f59d
pop dx
pop edx
lea eax, [edi*4]
mov ah, 0x75
stc
sub esp, 0x1e
neg edx
jmp 0x83f50b
pop eax
mov dword [esp + 1], edx
pop ax
lea edx, [eax + ebx]
mov ax, word [esp + 5]
mov dword [esp], edx
jmp 0x83f536
rdtsc
pop dx
mov ax, word [esp + 2]
inc esp
and al, 2
add al, byte [edi + 0x53eb241c]
push ebx
je 0x83f5f5
xchg dword [esp], ebx
jmp 0x83f5f2
je 0x83f5f5
arpl word gs:[eax + eax + 0x66], si
push dword [esp + 1]
bsr ebx, edx
btr bx, dx
mov ebx, 0xed175f06
mov bl, byte [esp + 6]
add esp, 0
jmp 0x83f591
pop bx
mov bh, byte [esp + 0x13]
btr ax, sp
mov dx, ax
mov ebx, ebp
jmp 0x83f608
setne dh
add esp, 1
add esp, 0
mov bx, word [esp]
mov bx, word [esp]
sub esp, 0x1e
jmp 0x83f5c1
push word [esp + 1]
and al, 1
mov bl, 0xf8
sub esp, 7
lea esp, [esp + 0xc]
xchg dh, dl
mov ah, byte [esp + 1]
jmp 0x83f5d7
xchg word [esp + 0xe], bx
bswap ebx
bsr ebx, edx
xchg dword [esp + 6], eax
neg ax
jmp 0x83f648
mov bx, dx
pop ax
sub esp, 0xb
lea edx, [edi + edi]
neg bl
cld
jmp 0x83f4f4
mov dl, dh
bswap ebx
rdtsc
stc
xchg dword [esp + 0x13], eax
pop word [esp + 0x15]
jmp 0x83f6a2
ror ax, 4
std
mov dword [esp + 7], esp
lea edx, [edi*4]
mov bx, 0x4746
lea edx, [edx*4]
jmp 0x83f632
push word [esp + 0x18]
setne ah
lea esp, [esp + 0x32]
pop bx
lea eax, [edi - 0xb]
mov edx, 0xe38425a9
jmp 0x83f4bc
not bh
setg bl
mov ebx, dword [esp + 0x16]
pop ax
mov dl, byte [esp + 0x11]
pushal
jmp 0x83f6cb
mov bh, 0x83
ror bh, cl
pop ebx
xchg byte [esp + 0x15], dh
push dword [esp + 7]
bsr dx, di
jmp 0x83f68c
mov bx, cx
xchg dword [esp], edx
mov byte [esp + 0x2f], ch
pop eax
jmp 0x83f7c2
mov word [esp + 0x23], sp
shl bl, cl
not edx
not bl
pop edx
inc eax
jmp 0x83f6b5
sub esp, 0x1a
bswap ebx
bswap edx
or al, 0xa6
pop dword [esp + 0x27]
lea eax, [ebx + esi]
jmp 0x83f671
xchg word [esp + 0x23], dx
lea eax, [edi + edi]
add esp, 2
btc edx, ecx
push word [esp]
dec ax
jmp 0x83f746
dec edx
push eax
mov ax, 0x8efb
mov dx, word [esp + 0xa]
setne dl
cld
jmp 0x83f700
mov ax, bp
rdtsc
mov ah, byte [esp]
shr dl, cl
mov ax, 0xdc23
jmp 0x83f772
mov bx, 0xd031
btr dx, ax
sub esp, 0x17
lea esp, [esp + 0x4a]
dec dl
not ax
jmp 0x83f730
bswap eax
mov ax, word [esp]
bsr bx, bp
push ax
mov dl, ch
stc
jmp 0x83f7a7
lea edx, [edi*4]
xchg dx, bx
xchg al, bh
xchg bx, ax
sub esp, 1
lea esp, [esp]
jmp 0x83f75c
inc ebx
mov ebx, 0x8fd92b1c
setl dl
pop ax
mov dword [esp + 0x26], ebx
mov dl, dh
jmp 0x83f71f
not edx
call 0x83f83a
insd dword es:[edi], dx
imul esp, dword [ecx + ebp*2 + 0x53], 0x61657274
insd dword es:[edi], dx
push eax
jb 0x83f82a
jo 0x83f822
jb 0x83f833
jns 0x83f7c1
stosb byte es:[edi], al
lea edx, reloc.WINMM.dll_midiStreamStop
lea edx, reloc.WINMM.dll_midiStreamStop
mov ax, 0x1971
rcr eax, cl
xchg word [esp + 0xe], dx
xchg dword [esp + 0x1c], ebx
jmp 0x83f791
sub esp, 0x19
bts bx, ax
mov bx, word [esp + 0x1d]
cld
mov bh, byte [esp + 0xc]
jmp 0x83f823
add esp, 0
xchg byte [esp], al
mov ebx, dword [esp]
mov dl, byte [esp + 1]
push word [esp + 1]
sub esp, 0xf
jmp 0x83f7df
push word [esp + 0xf]
btc ebx, ebx
not edx
xchg word [esp + 0xb], ax
jmp 0x83f941
js 0x83f88a
mov bx, ax
mov ebx, eax
lea esp, [esp + 0x1b]
push ax
mov bx, word [esp + 2]
jmp 0x83f80d
inc ebp
outsb dx, byte [esi]
inc esp
outsd dx, dword [esi]
arpl word [eax], ax
pop edx
rdtsc
push word [esp]
mov ax, 0x8c21
add esp, 3
jmp 0x83f7f6
pop dword [esp + 9]
cld
sub esp, 0x1d
push word [esp + 0x22]
jmp 0x83f8a6
sub eax, edx
mov dl, cl
std
add esp, 6
mov dx, word [esp + 0xb]
cmp ah, 0xe0
jmp 0x83f84a
sub bh, 0x67
mov bh, 0x89
lea edx, [eax - 0x69]
btc ax, dx
mov bx, cx
jmp 0x83f8d0
xchg al, bl
lea ebx, reloc.WINMM.dll_midiStreamStop
mov dl, byte [esp]
bswap eax
bts dx, si
setb bl
jmp 0x83f872
mov ax, word [esp + 0x26]
pop bx
mov dl, al
sub esp, 0x15
lea esp, [esp + 0x41]
mov ebx, esp
jmp 0x83f888
mov dx, ax
mov bx, word [esp]
mov eax, ecx
bswap edx
jmp 0x83f8e0
mov ax, bx
neg edx
mov dl, cl
rcl dx, 4
bswap eax
clc
jmp 0x83f8ba
lea eax, reloc.WINMM.dll_midiStreamStop
mov dx, di
push ebx
mov edx, esp
pop ebx
bswap eax
jmp 0x83f91a
mov byte [esp + 0xb], al
push ebx
bsf ax, dx
mov word [esp + 0x14], bp
std
mov bx, 0xea52
jmp 0x83f860
xchg bx, ax
mov bx, 0x709d
mov edx, ecx
mov bl, 0xef
mov ah, 0x51
not eax
jmp 0x83f957
xchg dh, al
neg dx
xchg edx, eax
rdtsc
mov bx, di
not ebx
jmp 0x83fdd4
sub bh, 0x35
pop word [esp + 0xb]
mov eax, esi
mov bx, 0xbb64
push ebp
pop word [esp + 5]
jmp 0x83f902
mov edx, dword [esp]
lea ebx, [edx*4]
xchg bx, ax
mov ebx, 0xdcd991ed
jmp 0x83f92a
cmp eax, 0x734fbc19
push dword [esp + 2]
and ebx, esp
lea edx, [eax + ecx]
neg edx
mov dword [esp + 0x12], edi
jmp 0x83f6eb
xchg dword [esp], eax
lea eax, reloc.WINMM.dll_midiStreamStop
mov bh, byte [esp + 1]
add esp, 0
jmp 0x83f9d1
cld
std
sub ax, ax
neg ebx
mov byte [esp], ah
mov dh, byte [esp + 2]
jmp 0x83f988
setg bl
mov eax, edx
cld
mov eax, edx
xchg dword [esp], ebx
bsr edx, eax
jmp 0x83fa31
lea eax, [esi*4]
lea eax, reloc.WINMM.dll_midiStreamStop
mov ah, 0x15
xchg dword [esp], eax
mov edx, ebx
push word [esp]
jmp 0x83f9ae
push edi
bswap ebx
mov dword [esp], edi
add esp, 0
mov ebx, edx
xchg byte [esp + 2], dh
jmp 0x83f99e
add esp, 7
bswap ebx
inc ax
xchg ebx, eax
push word [esp + 1]
bswap eax
jmp 0x83fa45
mov eax, 0xf85907d9
lea esp, [esp + 1]
std
setne bl
mov word [esp], cx
pushfd
jmp 0x83fa10
lea esp, [esp + 2]
mov dh, 3
mov dh, bh
neg ax
pop bx
dec edx
jmp 0x83fa8b
mov ax, word [esp + 3]
pop edx
lea eax, reloc.WINMM.dll_midiStreamStop
mov bx, word [esp]
rdtsc
neg ebx
jmp 0x83f9ff
xchg ebx, edx
mov bh, byte [esp]
bswap edx
mov ax, bp
call fcn.0083fa75
bswap ebx
mov ebx, dword [esp]
push cx
stc
mov dh, byte [esp]
lea esp, [esp + 1]
jmp 0x83faec
mov dx, word [esp]
mov edx, dword [esp + 0x1f]
lea esp, [esp + 0x34]
popfd
jmp 0x83fb1b
lea esp, [esp + 1]
mov ebx, dword [esp + 0xe]
neg edx
mov edx, dword [esp]
dec edx
bsf edx, edx
jmp 0x83fad6
bts edx, ebx
xchg ah, al
rcl ebx, 3
neg ebx
lea eax, [ecx + edx]
push eax
jmp 0x83fa5f
push 0x7c4a7d41
add dword [esp], reloc.WINMM.dll_midiStreamStop
push esp
mov dword [esp], esp
jmp 0x83fbc7
lea esp, [esp + 1]
mov word [esp], dx
mov word [esp], bx
call fcn.0083fb64
jmp 0x83fdaf
pop word [esp + 3]
lea esp, [esp + 3]
mov byte [esp], bh
mov byte [esp], ch
lea esp, [esp]
mov word [esp], bx
call fcn.0083fd99
insb byte es:[edi], dx
jae 0x83fe41
jb 0x83fe32
insd dword es:[edi], dx
jo 0x83fe3b
inc ecx
add byte [ebp + 0x8504], cl
add byte [eax], al
lea eax, [eax*4]
neg dh
rol bx, cl
inc dl
xchg al, bh
std
jmp 0x83fb08
push dword [esp + 8]
mov dword [esp], esi
mov dword [esp + 8], ebx
and al, 8
jmp 0x83fe15
je 0x83fe90
outsb dx, byte gs:[esi]
jne 0x83fe47
mov ebx, dword [esp + 4]
stc
rcr dh, 4
pop dword [esp + 2]
pop ebx
mov ax, word [esp + 8]
jmp 0x83f96f
mov ebx, dword [esp + 3]
jmp 0x83feb3
mov ebx, dword [esp + 1]
pop eax
mov cx, bp
mov ah, 0x28
mov bx, sp
lea eax, [ebx*4]
jmp 0x83fefd
mov al, byte [esp]
lea ecx, [eax + ebp]
xchg ah, ch
mov ebx, 0xc82fb1ae
call 0x83fee7
fisubr word [ecx]
dec eax
jmp 0x83ff16