Function at 0x10001686
Capabilities:
Execute anti-debugging instructions

Disassembly:
rdtsc
mov ecx, eax
rdtsc
sub ecx, eax
not ecx
cmp ecx, 0x5000
jg 0x100015a4
rdtsc
mov ecx, eax
rdtsc
sub ecx, eax
not ecx
cmp ecx, 0x5000
jg 0x100015b6
salc
js 0x1000179c
jns 0x1000179c
rol ebx, 5
rol ebx, 5
ror ebx, 5
jp 0x100017d4
jnp 0x100017d4
pop ebx
call fcn.100015ea
jb 0x10001646
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [eax - 0x15], bl
pop eax
jmp 0x100015ef
adc ch, byte [eax]
call 0x10001632
cdq
dec edi
idiv byte [edi + edi*8]
pop eax
jmp 0x100015ef
call 0x10001632
cdq
dec edi
idiv byte [edi + edi*8]
nop
pop edi
push eax
rdtsc
mov ecx, eax
rdtsc
sub ecx, eax
not ecx
cmp ecx, 0x5000
jl 0x10001613
jmp 0x3082ea
call 0x10001623
jb 0x1000167f
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [eax - 8], bl
je 0x100016cc
jne 0x100016cc
cmp ebp, dword [eax + 0x1d]
and al, 0
add byte [ebx - 0x3b7cfb3c], al
add al, 0xf
test byte [edi], al
add byte [eax], al
add byte [edi], cl
test dword [ecx], eax
add byte [eax], al
add byte [eax - 0x18], cl
or eax, dword [eax]
add byte [eax], al
jb 0x100016b6
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [eax - 0x15], bl
or esi, dword [edx + 0x65]
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [ebp - 8], ah
jae 0x100015c6
add byte [esp + edi*4 - 0x1748291a], ah
or eax, dword [eax]
add byte [eax], al
call 0x10001686
jb 0x100016e2
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [eax - 7], bl
jae 0x100016f5
jb 0x100016e9
add byte fs:[eax - 7], bl
rdtsc
mov ecx, eax
rdtsc
sub ecx, eax
not ecx
cmp ecx, 0x5000
jg 0x10001698
push 0x5419
add esp, 4
salc
jp 0x10001778
jnp 0x10001778
pop eax
jmp 0x100016bf
and byte [bp + di + 0x65], dh
jb 0x10001725
popal
insb byte es:[edi], dx
add cl, ch
cmp bh, bh
invalid
jmp 0x100015fc
call 0x100016d2
xchg al, ch
add dword [eax], eax
add byte [eax], al
mov eax, 0x4244483
adc al, byte [ebx - 0x3cf5dbfc]
clc
push eax
push edx
rdtsc
xor ecx, eax
pop edx
xor ecx, eax
pop eax
push ecx
pop ecx
stc
jb 0x100016fc
add byte [eax], al
imul ebx, dword [ebp - 0x7e], 0x6b
jmp 0x1000170c
add byte [ebx + 0x5d], ch
sub byte [ebx - 0x15], 0xf
iretd
bswap edi
bswap edi
jo 0x100015da
jno 0x100015da
invalid
fcom qword [eax + 0x52]
push eax
push edx
rdtsc
xor ecx, eax
pop edx
xor ecx, eax
pop eax
push 0x4cef
add esp, 4
je 0x10001594
invalid
jne 0x10001594
or cl, byte [edi]
xor dword [ebx + 0x2b310fc8], ecx
enter 0xffffffffffffd1f7, 0xffffffffffffff81
stc
add byte [eax], dl
add byte [edi - 2], bh
jmp 0x1000174d
push 0xac27
add esp, 4
jl 0x1000170e
jge 0x1000170e
xchg esp, eax
push 0x475
add esp, 4
clc
jae 0x10001676
add byte [ebx - 0x68836f73], bh
call 0x1000177e
ljmp 0x800
rdtsc
mov ecx, eax
rdtsc
sub ecx, eax
not ecx
cmp ecx, 0x5000
jg 0x100017ac
call 0x100017be
jb 0x1000181a
imul esi, dword [bp + di + 0x74], 0x64657265
add byte [eax + 0x68], bl
lahf
or al, 0
add byte [ebx - 0x77f0fb3c], al
xchg ebp, eax
invalid
jmp 0x100017e1
js 0x100017ee
jns 0x100017ee
mov eax, dword [0x8bfc458b]
or byte [ecx - 1], dl
adc eax, sym.imp.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 4]
add edx, 0x54
push edx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4c], 0
je 0x1000181d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x50]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor dword [edx], eax
adc byte [ebx - 0x333ca21b], cl
int3
mov esp, ebp
pop ebp
ret