Function at 0x16ca2fb
Capabilities:
Execute anti-debugging instructions

Disassembly:
pop ax
mov edx, 0x9e3733aa
mov edx, dword [esp + 2]
push eax
rdtsc
jmp 0x16ca324
xchg byte [esp + 0xa], ah
xchg dword [esp + 2], edx
add esp, 7
mov dl, 0xee
mov bp, 0x99c9
jmp 0x16ca2e5
lea edx, [esp + edx]
seto ah
mov dword [esp + 8], esi
mov dh, byte [esp]
pop bp
jmp 0x16ca389
mov byte [esp + 3], dl
push word [esp + 4]
clc
lea eax, reloc.kernel32.dll_GetProcAddress
rdtsc
push dword [esp + 2]
jmp 0x16ca30e
sub esp, 0x1d
mov bp, 0xe30
mov dl, 0x4f
call fcn.016ca36e
lea eax, [ecx*4]
or ebp, 0xbbe1713c
rdtsc
lea eax, reloc.kernel32.dll_GetProcAddress
btr edx, ecx
ror eax, 0
jmp 0x16ca3e9
lea esp, [esp + 0x37]
stc
mov edx, dword [esp + 2]
lea ebp, [ebp + ebp]
pop dx
jmp 0x16ca473
dec ax
xchg bp, ax
xchg word [esp + 0x2f], ax
rdtsc
mov byte [esp + 4], ch
sub esp, 8
jmp 0x16ca3d3
xchg dword [esp + 4], ebp
rdtsc
rdtsc
mov dl, bl
adc eax, 0xace5758c
jmp 0x16ca44c
rdtsc
lea edx, reloc.kernel32.dll_GetProcAddress
mov al, 7
sub esp, 1
mov eax, ecx
push word [esp]
jmp 0x16ca421
not ebp
push dword [esp + 4]
mov dx, word [esp + 4]
bsf eax, edi
mov edx, dword [esp + 0xa]
bswap ebp
jmp 0x16ca487
neg dl
mov ax, cx
setle ah
mov dx, 0x35ec
mov ax, word [esp + 1]
push eax
jmp 0x16ca437
mov word [esp + 1], si
xchg edx, ebp
lea eax, [ebx + 0xd7]
cmp ax, bp
xchg dword [esp + 6], edx
setb al
jmp 0x16cbed5
mov dh, 0x5e
mov byte [esp + 9], ah
mov ebp, dword [esp + 7]
xchg byte [esp + 0xb], ah
mov eax, dword [esp + 0xd]
mov eax, 0xa1fa1fcd
jmp 0x16ca506
rcr dh, 4
rdtsc
xchg byte [esp + 2], ah
mov word [esp + 4], si
mov ax, 0xc10
mov eax, edi
jmp 0x16ca4ca
pop ax
mov dx, word [esp + 0xf]
cmc
xchg word [esp + 8], bp
dec ebp
xchg dx, bp
jmp 0x16ca58b
mov eax, 0x1b07acc3
neg bp
push dword [esp + 0xe]
push dword [esp + 8]
jmp 0x16ca557
xchg dl, ah
cld
bswap edx
push word [esp + 5]
xchg byte [esp + 0xa], al
push ebp
jmp 0x16ca4f0
push dword [esp + 0x10]
lea edx, [ebp - 0xd7]
mov eax, ebx
sub esp, 0x16
jmp 0x16ca56d
mov dh, dl
pop eax
rdtsc
mov ax, word [esp + 0x14]
mov edx, 0x55ebc166
mov ax, word [esp + 5]
jmp 0x16ca541
setbe dl
lea eax, [esp + 0xc4]
pop dx
pop edx
neg dh
not al
jmp 0x16ca5be
mov dh, byte [esp + 4]
push word [esp + 9]
bsf dx, dx
xchg bp, ax
pop dword [esp + 7]
mov word [esp + 0xd], dx
jmp 0x16ca519
mov dh, byte [esp + 0x18]
xchg dword [esp + 0xd], ebp
mov al, byte [esp + 7]
stc
jmp 0x16ca5d3
mov bp, si
mov bp, 0x818a
pop dword [esp + 0xa]
mov bp, 0xa642
stc
add esp, 0xa
jmp 0x16ca5a8
xchg byte [esp + 9], dh
mov ah, byte [esp + 7]
not ah
pop dword [esp + 3]
setle dl
mov al, 0xd3
jmp 0x16ca603
lea esp, [esp + 1]
xor edx, edx
not ax
bt ebp, edx
sub esp, 0xe
neg edx
jmp 0x16ca530
xchg word [esp + 5], ax
pop edx
mov ax, cx
xchg word [esp + 4], bp
mov dh, 0xa
mov edx, 0xb02daf2e
jmp 0x16ca658
mov ebp, eax
lea esp, [esp]
mov ax, word [esp + 1]
mov bp, word [esp + 1]
lea ebp, [edx*4]
not al
jmp 0x16ca5ed
lea edx, [ebp*4]
xchg dx, bp
xchg dx, ax
jmp 0x16ca6b9
pop eax
lea eax, [edi + ebp]
cld
not bp
mov dword [esp + 8], ebp
bswap ebp
jmp 0x16ca642
lea ebp, [edi*4]
shr ah, cl
not bp
not ebp
not edx
jmp 0x16ca6a1
bswap eax
mov eax, edx
pop ebp
std
not al
mov ax, di
jmp 0x16ca668
lea edx, reloc.kernel32.dll_GetProcAddress
pop ax
mov bp, word [esp + 1]
push esp
jmp 0x16ca714
mov dword [esp + 4], edi
bt bp, si
btc dx, dx
jmp 0x16ca68b
mov ebp, 0x9807776e
mov ah, dh
push word [esp + 4]
pop word [esp + 6]
mov byte [esp + 2], cl
mov ebp, dword [esp + 8]
jmp 0x16ca67e
bt dx, cx
mov dx, word [esp + 1]
rcr dl, 1
xchg byte [esp], al
neg ebp
jmp 0x16ca75b
mov dl, ah
rol dh, 4
mov ebp, 0x71d24b4
btr ebp, ebp
mov dx, 0x653c
mov eax, dword [esp]
jmp 0x16ca6d4
lea esp, [esp + 0xb]
push word [esp + 1]
xchg edx, ebp
xchg edx, eax
neg al
pop word [esp]
jmp 0x16ca6ea
lea ebp, [ebx*4]
mov ax, word [esp]
sets al
jmp 0x16ca771
btc eax, esi
not dl
sbb dl, 0x34
not ax
bsf ebp, ebx
mov eax, 0x7e6a4b8c
jmp 0x16ca728
pop dx
not ax
mov dx, word [esp]
mov bp, word [esp]
bts ax, di
mov ebp, dword [esp]
jmp 0x16ca73e
lea edx, [esi + ebp]
mov ax, word [esp]
xchg ebp, eax
mov dx, sp
xchg bp, dx
lea edx, [eax + esi]
jmp 0x16ca7e6
add ebp, 0xfb6b52c6
rdtsc
inc bp
xchg word [esp], bp
xchg ah, dl
cmp ah, 0xa6
jmp 0x16ca628
std
neg dh
shr dh, cl
mov dh, byte [esp]
dec eax
xchg ah, dh
jmp 0x16ca80e
bsr edx, eax
not bp
mov edx, dword [esp]
bsf eax, esp
mov ah, byte [esp]
mov edx, dword [esp]
jmp 0x16ca7ae
rdtsc
mov dx, 0xb4d2
rdtsc
mov bp, word [esp]
mov ah, dl
xor edx, ecx
jmp 0x16ca7c4
mov ebp, dword [esp]
mov ebp, dword [esp]
pushal
call fcn.016ca820
mov dword [ebp - 0x2b], 0x74ac4fbc
mov ds, word [bx + di]
xchg edx, eax
lea edx, reloc.kernel32.dll_GetProcAddress
setae ah
lea ebp, [edx + esi]
std
clc
jmp 0x16ca7f8
inc ax
mov eax, edi
bts ebp, esp
add esp, 3
mov eax, 0x10d5f5ed
mov word [esp], si
jmp 0x16ca796
mov dx, cx
not edx
mov al, byte [esp + 2]
mov dl, byte [esp + 1]
sub esp, 2
mov ah, ch
jmp 0x16ca83e
lea edx, reloc.kernel32.dll_GetProcAddress
mov eax, 0xcd7f89b2
xchg dx, ax
mov ah, 0x80
add esp, 8
pop ax
jmp 0x16caec2