Function at 0x218dba1
Capabilities:
Execute anti-debugging instructions

Disassembly:
push word [esp + 0x10]
rdtsc
mov cx, di
mov eax, 0x9336a621
jmp 0x218dbb9
jmp 0x218db8b
btr cx, sp
xchg bl, cl
sub esp, 0x19
lea esp, [esp + 0x49]
mov ah, byte [esp]
jmp 0x218df5d
pop dx
mov al, 0xcd
neg bp
adc bp, 0x1e12
std
lea edx, [eax + esi]
jmp 0x218dba3
lea esp, [esp + 0x2f]
xchg word [esp + 1], bp
add esp, 5
sets al
jmp 0x218dc21
neg dh
lea edi, reloc.kernel32.dll_DeleteCriticalSection
xchg dx, ax
sub esp, 0x13
bswap esi
pop dx
jmp 0x218dbf8
cpuid
not ebx
cld
rdtsc
mov dh, byte [esp]
mov bx, word [esp]
jmp 0x218dcbb
pop dword [esp + 3]
pop si
xchg dh, bl
xchg ebp, esi
pushal
pop dword [esp + 7]
jmp 0x218dc0e
sub esp, 0x1e
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [esp + 0x13]
mov di, si
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
dec ah
jmp 0x218dc93
setp ch
lea esi, [eax + eax]
setbe ch
cmc
bsf eax, esp
stc
jmp 0x218dc4a
xchg word [esp + 0x1a], bp
xchg dl, ch
pop bp
lea esi, reloc.kernel32.dll_DeleteCriticalSection
pop edx
jmp 0x218dce6
mov bp, di
btc ecx, ebp
mov dh, byte [esp + 0x16]
cld
not dx
sub esp, 4
jmp 0x218dc7d
mov cx, word [esp]
mov di, ax
push edi
lea esp, [esp]
push word [esp + 4]
clc
jmp 0x218dc6d
bsr edi, ebx
mov dword [esp + 0xb], ecx
mov al, 0xce
mov cx, 0xcb29
lea ebx, [ebp + ebp]
pushfd
jmp 0x218dd25
xchg edx, eax
push word [esp + 0xe]
mov bp, word [esp + 0x1d]
mov ah, 0x94
lea ebp, [ecx + ebx]
mov dl, bh
jmp 0x218dcce
bsf dx, cx
not cx
mov bl, byte [esp]
sub esp, 3
mov ch, byte [esp]
mov si, dx
jmp 0x218dd55
mov ax, word [esp]
sub esp, 0x15
neg bx
push di
jmp 0x218dd3f
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
lea edx, [edx*4]
pushal
lea esp, [esp + 0x49]
btr ebp, edx
xchg si, di
jmp 0x218dcfa
mov ax, word [esp + 0xb]
xchg word [esp + 6], cx
mov bx, 0x2300
not bl
jmp 0x218ddc9
xchg ecx, edx
mov di, bp
mov byte [esp + 1], dh
xchg edx, edi
xchg bh, ah
lea edx, [edx + esi]
jmp 0x218dd0f
neg cl
sub esp, 0xe
mov ax, word [esp + 8]
rdtsc
xchg word [esp + 6], bx
lea ecx, [eax*4]
jmp 0x218dc39
pop dword [esp + 0xd]
pop edx
mov byte [esp + 1], cl
xchg dword [esp + 0x13], ebx
mov bh, al
jmp 0x218de8d
lea esp, [esp + 0x10]
mov byte [esp + 0x21], ch
cpuid
xchg byte [esp + 0x15], bh
mov ah, byte [esp + 8]
xor ax, 0xa8dc
jmp 0x218dd8c
pop si
mov ax, si
setp al
pushal
mov cx, sp
lea ebx, [ebx + edi]
jmp 0x218dda2
ror byte [edi], cl
popfd
les esp, [esi - 0x79]
je 0x218de9a
add ecx, dword [edi]
xor dword [ebx - reloc.kernel32.dll_DeleteCriticalSection], ecx
salc
mov cx, word [esp + 1]
jmp 0x218df16
mov word [edi], ds
or edx, ebp
call fcn.0218de09
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov cl, 0x29
push dword [esp + 4]
mov al, 0xfb
push dword [ecx + 0x2474ff29]
add al, 0xb0
sti
jmp 0x218def1
mov si, cx
dec di
lea ebx, [esi*4]
neg ebx
setb cl
sub dh, ch
jmp 0x218de94
xchg dh, cl
bsf si, si
neg ebx
xchg bl, bh
btc ecx, esp
mov si, word [esp + 8]
jmp 0x218deaa
push word [esp + 6]
call fcn.0218df3e
out dx, al
insb byte es:[edi], dx
loop 0x218de6e
je 0x218de8b
stc
fdivr dword [ebx]
adc cl, byte [ebp - 0x36f0e4]
je 0x218df1a
bswap ecx
push dword [esp + 0xc]
lea edi, [edx + ebp]
or al, 0x8d
cmp al, 0x2a
pushal
cmp edi, 0xa2fcdcd
push dword [esp + 0x1a]
jmp 0x218dedb
pop ecx
lea eax, [esi*4]
add byte [eax], al
add byte [eax], al
xchg ecx, edx
not cx
push esi
cmp edi, ebp
jmp 0x218dec7
mov dx, 0x4f7e
xchg ebx, ecx
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
btr bp, sp
mov edx, esi
lea eax, [eax*4]
jmp 0x218dd6f