Function at 0x801af7
Capabilities:
Execute anti-debugging instructions

Disassembly:
xchg ecx, ebx
lea eax, [edi*4]
mov ecx, 0xf840d0ac
xchg byte [esp + 0xc], al
xchg bh, cl
pop word [esp + 8]
jmp 0x801b27
lea edi, [esi*4]
lea ebx, [esi + edi]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x13]
mov edi, 0xde264412
not dh
jmp 0x801ab6
push dword [esp + 7]
add al, dh
xchg ecx, ebx
mov ecx, 0xa6313256
jmp 0x801ad5
mov ecx, 0x22f2094a
mov bh, byte [esp + 0xe]
mov ebp, 0xd2bdeab6
xchg byte [esp + 6], bl
mov dword [esp + 0xa], esi
xchg bp, cx
jmp 0x801bdd
xchg di, cx
lea edx, [esi*4]
setl ah
bsf bx, si
mov ah, byte [esp + 0xf]
jmp 0x801b06
add esp, 2
lea esp, [esp + 0xb]
pop edi
not cx
setns bh
xchg cx, di
jmp 0x801bc4
xchg dword [esp + 4], eax
xchg dword [esp + 3], edi
mov ecx, dword [esp + 0xf]
shr ebp, 0x19
mov cx, 0x110d
xchg ecx, eax
jmp 0x801b5b
inc bp
sub esp, 0x14
bswap edx
sub esp, 0x16
mov bp, word [esp + 0x1b]
xor dl, ch
jmp 0x801cfe
cmc
cpuid
mov dh, byte [esp]
bswap eax
mov ecx, esi
lea ebp, [eax + 0x89]
jmp 0x801b94
rdtsc
pop dx
lea esp, [esp + 1]
mov di, 0x6bab
mov si, sp
not edx
jmp 0x801bab
mov ax, word [esp]
mov al, ah
mov ah, byte [esp + 0xd]
xchg bh, cl
bsr ax, bp
xchg word [esp + 5], di
jmp 0x801b7e
xchg dword [esp + 0xa], esi
bswap esi
call fcn.00801c1d
add esp, 5
not dx
and edi, ecx
pop dx
pop si
bswap ecx
jmp 0x801c60
btr ebp, esp
rdtsc
mov dl, dh
mov si, word [esp + 0xb]
jmp 0x801cb1
mov ecx, 0xd4262606
mov eax, dword [esp]
btc ebp, edi
cpuid
lea edi, [esp + ecx]
xchg edi, eax
jmp 0x801ce4
mov word [esp + 0x12], di
xor bx, 0x189c
sub esp, 0x1e
lea esp, [esp + 0x45]
lea ebp, [edx + ebp]
mov di, word [esp]
jmp 0x801c8d
mov edx, 0x6f0ba728
not bh
mov cl, 0xf2
stc
sub esp, 0
mov cl, 0xfa
jmp 0x801e86
mov cl, ch
mov cl, byte [esp]
mov edi, dword [esp]
mov edx, dword [esp]
mov cx, 0xb9a3
mov bx, 0xcd57
jmp 0x801ccb
inc di
pop di
pop word [esp + 0x1f]
lea esp, [esp + 0x17]
cpuid
rdtsc
jmp 0x801c38
cpuid
mov dx, word [esp + 7]
not ch
clc
rdtsc
mov bl, bh
jmp 0x801e08
mov bl, bh
lea esp, [esp + 3]
xchg ah, bl
not ch
lea esi, [eax - 0x79]
bsf bp, si
jmp 0x801d14
ror ecx, 0x15
neg ebx
pushal
push edx
mov ch, byte [esp + 9]
xchg edi, ecx
jmp 0x801d2f
btc eax, ebx
mov esi, 0x695416a6
xchg di, bx
setl ah
lea edi, [esi*4]
mov esi, 0x712fecb6
jmp 0x801d48
setnp ch
neg ax
neg edx
pop ax
mov byte [esp + 0xf], dh
lea esp, [esp + 5]
call fcn.00801da7
btr ebp, edx
lea ecx, [ebx*4]
add esp, 0
xchg byte [esp], al
mov bl, bh
lea ebx, [edx*4]
jmp 0x801e6d
mov esi, dword [esp]
mov al, byte [esp]
inc al
xchg bh, cl
bsr di, bp
mov cl, ch
jmp 0x801d6c
lea esp, [esp]
xchg byte [esp], dl
mov ax, word [esp]
clc
lea edi, [ecx + edx]
mov byte [esp], ch
jmp 0x801e96
mov si, 0x9123
btc edi, edi
clc
mov byte [esp], dh
xchg edi, ebp
add esp, 0
jmp 0x801e55
xchg ah, bl
mov bp, bx
btr eax, edx
not dh
setl ah
cld
jmp 0x801e40
mov al, 0x6e
xchg byte [esp], dl
not dx
rdtsc
xchg byte [esp], bl
mov edx, dword [esp]
jmp 0x801f7e
mov eax, 0x5d00e044
add esp, 0
rdtsc
shr ch, 5
bsf bp, ax
add esp, 0
jmp 0x801eef
xchg ah, bl
mov ecx, 0x8a6e58f0
btc ebp, ebx
mov cl, ch
mov al, 0x56
not bh
jmp 0x801ebe
bsr bx, bp
setnp dh
mov edi, dword [esp]
neg ah
mov si, di
mov byte [esp], dh
jmp 0x801f5e
not bp
mov ax, 0x48b9
neg edi
sub esp, 0
rdtsc
mov dh, byte [esp]
jmp 0x801edd
lea esp, [esp]
stc
stc
bswap esi
xchg ah, bl
mov ch, byte [esp]
jmp 0x801fe5
mov di, 0xec87
add esp, 0
xor eax, esi
lea edx, [eax + edx]
not ebp
mov eax, 0xf956fd70
jmp 0x801f24
lea edi, [ecx + 0xdb]
mov dx, di
mov al, ah
cld
cpuid
rcr ebx, 0x13
jmp 0x801f3b
lea esp, [esp]
setae ch
rcr ah, 1
setae ch
sub ecx, eax
lea ebp, [ebp - 0xdf]
jmp 0x801f11
mov edx, ecx
lea esi, [edx + edi]
lea ebx, [edx + edi]
btc ebp, ebx
mov dx, 0xfdd5
jmp 0x80244d
inc edx
xchg si, di
call fcn.00801f96
mov eax, dword [esp + 0xf]
push word [esp + 0xd]
mov dh, byte [esp + 0x1f]
push edx
mov ch, byte [esp + 0xb]
setae dh
jmp 0x801fa2
lea ebx, [ebx + ebx]
lea esi, [esp + ebp]
add esp, 0
neg ah
mov cl, ch
pushal
jmp 0x801fb8
pop dword [esp + 2]
mov bp, 0xcd01
xchg ch, dl
push word [esp + 0x1f]
xchg dword [esp + 0x1c], ebx
shr dh, 7
call fcn.00802186
rdtsc
mov word [esp + 0x1a], dx
push edx
cpuid
setl ch
mov al, ah
jmp 0x8024d2
inc edx
mov bp, dx
clc
mov si, sp
mov ah, byte [esp + 0xc]
push dword [esp + 0x16]
jmp 0x802468
mov dl, 0xac
xchg dword [esp + 7], ecx
xchg ebp, edx
xchg dword [esp + 0x17], esi
push dword [esp + 0x1e]
jmp 0x80250e
mov word [esp + 0x1b], sp
lea ecx, reloc.WINMM.dll_waveOutUnprepareHeader
sub esp, 0
lea ebp, [esi - 0x75]
mov edi, eax
pop bp
jmp 0x80249e
mov byte [esp + 5], bh
bswap edi
mov word [esp + 8], dx
push esp
mov ecx, eax
mov cl, 2
jmp 0x8024b5
xchg dh, al
mov dword [esp + 5], ebp
ror ah, 1
call 0x8024e4
push edx
inc ecx
push ebx
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp + 0x66], ch
pop ebx
push dword [esp + 5]
mov bl, bh
mov di, sp
cpuid
pop dx
jmp 0x80248c