Function at 0x815ad8
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov word [esp + 2], dx
xchg word [esp + 0x17], bp
mov word [esp + 0x2c], sp
jmp 0x815b2e
xchg esi, edi
mov al, ah
xchg byte [esp + 0x2e], bl
btr ecx, esp
popal
mov byte [esp + 0x19], bh
jmp 0x815bbc
inc esi
push dword [esp + 8]
pop dword [esp + 0x10]
lea edi, [edx + edi]
mov cx, bx
not ecx
jmp 0x815f08
xchg byte [esp + 5], al
mov si, 0x412b
sub esp, 6
xchg ah, bl
xchg dword [esp + 2], esi
pushal
jmp 0x815b4f
lea edi, [esi*4]
bsr si, cx
lea edx, [esi + 0x45]
cld
bsr cx, cx
add esp, 0x13
jmp 0x815b6e
mov edi, dword [esp + 6]
not dh
xchg si, bx
mov bp, word [esp + 0x19]
mov cl, ch
xchg word [esp + 0x16], di
jmp 0x815b96
mov al, 0x36
pop esi
xchg word [esp + 1], dx
mov edx, dword [esp + 0xb]
jmp 0x815c12
mov al, ah
not cx
btr edx, edx
cpuid
btc edi, ebx
xchg byte [esp + 0x11], cl
jmp 0x815bd3
lea esp, [esp + 0x46]
mov si, word [esp]
mov bl, byte [esp]
mov cl, ch
mov al, 0xee
jmp 0x815cb3
lea eax, [ecx - 0x44b6830d]
sub esp, 0x12
stc
mov byte [esp + 0x1e], ah
mov ebp, esi
sub esp, 0x1e
jmp 0x815bfc
xchg ebx, esi
not dh
not bx
xchg word [esp + 0xd], bx
mov word [esp + 0xe], sp
shr bh, 3
jmp 0x815be9
xchg byte [esp], dl
cpuid
setg ch
mov al, ah
lea edx, [esi + edi]
xchg ebx, edx
jmp 0x815d34
not di
add esp, 1
inc cl
mov cx, bx
cpuid
mov cl, 0x62
jmp 0x815c42
bswap edi
mov word [esp + 2], sp
lea esi, [ebp + 0x13922437]
lea esp, [esp + 3]
mov si, 0xfdfd
btc ecx, ebx
jmp 0x815c67
neg eax
setg bh
mov si, 0xb05d
sub esp, 6
inc bp
bswap ebx
jmp 0x815c8a
mov si, word [esp]
mov bp, dx
xchg byte [esp], al
add esp, 0
mov cx, 0x56ed
not bx
jmp 0x815d1a
stc
bsf dx, si
lea edx, [eax*4]
btr edx, edx
mov dl, dh
cpuid
jmp 0x815cc5
xchg cx, ax
neg bx
cpuid
inc bl
btr esi, esp
mov bh, byte [esp]
jmp 0x815ce2
lea edi, [esp + edi]
rdtsc
xchg byte [esp], cl
sub esp, 0xe
pop cx
pushal
jmp 0x815d48
add esp, 1
lea ebx, [edx*4]
inc edi
mov bx, di
mov ecx, ebp
cpuid
jmp 0x815d09
xchg esi, edi
pop ecx
bswap ebx
pop dword [esp + 0xa]
push dword [esp + 0xf]
lea esi, [eax - 0x31e2c4cf]
jmp 0x815ebe
sub esp, 8
xchg word [esp + 0x17], cx
btc edx, edi
mov eax, dword [esp + 0x13]
mov byte [esp + 0xd], bh
mov eax, dword [esp + 0xd]
jmp 0x815c2c
pushal
lea esp, [esp + 0x49]
mov ebx, dword [esp]
mov edi, eax
mov cl, 0x82
mov si, 0xfe9f
jmp 0x815ddf
bsf bp, si
mov cx, 0x51c5
sub esp, 0x18
push dword [esp + 0x12]
mov bp, word [esp + 0x1c]
jmp 0x815dc3
pop word [esp + 0xa]
inc di
setae ch
not esi
rdtsc
sub esp, 0x14
jmp 0x815d84
cpuid
rdtsc
xchg ch, dl
mov edx, dword [esp + 0x11]
mov cl, 0xca
push word [esp + 7]
jmp 0x815e68
lea esi, [ecx*4]
inc cl
not si
push esp
cpuid
rdtsc
jmp 0x815d96
pop ebp
mov bl, 0x88
mov dword [esp + 4], ecx
bsr bx, bp
cpuid
mov byte [esp + 5], bh
jmp 0x815db0
mov edx, eax
pop dword [esp + 2]
call fcn.00815e40
rcr dword [eax - 0x32], 1
test eax, 0xb539b758
and eax, 0x2953bf4c
cmpsb byte [esi], byte es:[edi]
xor al, 0x53
scasb al, byte es:[edi]
dec esp
push edi
mov esi, 0x2124748a
mov dh, byte [esp + 0x21]
mov dx, 0x3a7
stc
lea edi, [ebp - 0xcf]
not bx
xchg ecx, ebx
jmp 0x815e0b
mov ah, byte [esp + 1]
inc dl
mov ebx, dword [esp + 5]
mov bx, word [esp]
cpuid
rdtsc
jmp 0x815e2a
pop word [esp + 0x20]
push word [esp]
pop edx
popal
sub esp, 0x16
mov dword [esp + 0x10], eax
jmp 0x815df8
mov cx, word [esp + 0xe]
popal
cpuid
mov cx, word [esp + 0xa]
xchg dword [esp + 2], ebp
push dword [esp + 8]
jmp 0x815d68