Function at 0x645c1e
Capabilities:
Execute anti-debugging instructions

Disassembly:
jmp 0x644024
call fcn.00644029
xchg esi, ebx
jmp 0x645c4d
lea esp, [esp + 4]
setbe bh
lea eax, [ebp*4]
jmp 0x645cdb
clc
dec cl
xchg dh, al
btr ebp, edx
sbb ebp, esp
xchg word [esp], di
jmp 0x645cc0
mov si, word [esp]
lea ecx, [ecx + ebp]
rdtsc
mov byte [esp], al
mov ch, 0xe2
lea ebp, [eax + esi]
jmp 0x645c81
add esp, 3
rcl al, cl
mov di, 0x5a9d
cpuid
xchg si, cx
jmp 0x645d39
mov word [esp], ax
mov ax, dx
sub esp, 7
lea ebp, [ebx + 0x5a]
mov dl, 0x19
mov word [esp + 2], cx
jmp 0x645caa
xchg word [esp], cx
setb dl
xchg bh, cl
mov si, 0x7139
rdtsc
xchg bp, ax
jmp 0x645c97
lea edx, [esi - 0x9b]
mov bx, 0xa524
pop word [esp + 3]
jmp 0x645d19
mov edi, 0xe7bda2b8
rol edx, 0x16
push dword [esp]
mov dword [esp + 5], esp
mov dword [esp], eax
cmc
jmp 0x645cee
pop word [esp + 2]
xchg dword [esp], eax
xchg byte [esp + 1], ah
mov dx, word [esp]
mov cl, byte [esp + 4]
mov bh, 0xea
jmp 0x645d4d
btr di, dx
lea edx, [esi*4]
mov cl, 0xde
std
neg edx
xchg ebx, eax
jmp 0x645d04
pop si
push word [esp + 3]
cmp ebx, 0xffdcb583
mov esi, dword [esp + 1]
mov dx, ax
jmp 0x645d95
mov cl, 0xc5
xchg word [esp + 1], di
pop si
push word [esp + 1]
push dword [esp + 1]
xchg edx, eax
jmp 0x645dac
mov bp, word [esp + 3]
lea esp, [esp + 2]
rdtsc
xchg edi, edx
xchg bp, dx
mov ax, word [esp + 2]
jmp 0x645d7b
mov dx, 0x38ea
sub esp, 0x1f
mov bx, 0xc7a9
mov dl, byte [esp + 0x25]
stc
mov bp, word [esp + 6]
jmp 0x645ead
mov ax, cx
cld
mov edi, esp
push dword [esp + 6]
call fcn.00645de3
mov byte [esp + 1], ch
not dh
popal
push word [esp + 1]
xchg ecx, ebp
add esp, 0
jmp 0x645e34
mov dl, ch
sbb ecx, esi
inc al
bswap edi
mov cl, 6
pop word [esp + 0x14]
jmp 0x645df9
setge dh
and bp, bp
mov byte [esp + 1], dh
cld
push bp
mov byte [esp + 3], bh
jmp 0x645e81
pop dword [esp + 0x14]
cpuid
pop ax
rdtsc
clc
cmp ch, dh
jmp 0x645e23
xchg dword [esp], edi
not edx
cld
xchg dh, al
pushfd
mov edi, 0xf64149dc
jmp 0x645ed8
mov dword [esp], ecx
lea esp, [esp + 2]
mov dh, 0xa8
mov bp, word [esp + 2]
mov dx, 0x73c6
btr si, di
jmp 0x645e5e
pop dword [esp + 7]
not ebx
xchg edx, edi
lea edi, [ebx*4]
neg dh
cpuid
jmp 0x645e4f
neg esi
xchg edi, edx
xchg edi, eax
xchg dword [esp + 4], ebx
xchg dh, dl
sub esp, 0x1d
jmp 0x645f10
not bh
xchg byte [esp + 3], ah
mov bp, 0x77d9
not eax
cpuid
neg esi
jmp 0x645ec2
or ebp, edx
lea ecx, [eax*4]
mov dword [esp], ebx
lea esp, [esp + 0x1f]
xchg dword [esp], esi
mov dx, 0xee83
jmp 0x645f1f
pop di
mov ebp, esp
clc
xchg esi, ebx
push word [esp + 0xf]
clc
jmp 0x645eea
lea ebp, [ecx + edx]
bsf si, bx
pop word [esp + 2]
xchg ch, dh
lea ebx, [ebp*4]
sub esp, 0x12
jmp 0x645f6d
xchg byte [esp + 0x14], ah
lea esp, [esp + 0x15]
bt edi, edx
mov al, 0xa3
mov bl, cl
jmp 0x645faf
neg ecx
dec si
setno cl
pop ecx
rdtsc
push dword [esp + 0xd]
jmp 0x645f57
setnp dh
push word [esp]
push dword [esp + 1]
rdtsc
xchg ebx, edi
jmp 0x645fd7
xchg ebx, esi
clc
mov bh, 0xe5
mov bp, 0xc8a5
mov ch, byte [esp + 1]
add esp, 0
jmp 0x645f98
xor ch, al
cpuid
mov eax, 0x24878309
bt edx, edi
pop edi
jmp 0x646468
mov ebx, dword [esp + 5]
xchg bl, bh
mov edx, 0xf4a1b5f5
mov esi, dword [esp + 2]
mov ebx, 0x1a6bc077
mov ebp, dword [esp + 6]
jmp 0x645fc1
setnp dl
call int.0064603b
call 0x645ffe
jmp 0x646988
mov ebp, dword [esp]
xchg cl, dh
mov dx, 0x4930
lea edx, [ebx + 0x18]
mov bh, byte [esp]
lea eax, [ebp*4]
jmp 0x645ff1
lea esp, [esp]
rcr ebx, cl
neg dl
rcr bx, cl
bswap ecx
bsf dx, bx
jmp 0x64600d
lea edx, [edi*4]
bt di, bp
mov byte [esp], ah
rdtsc
cmp ah, 0xaf
xchg dx, ax
jmp 0x64605f
inc ch
xchg byte [esp + 1], dl
pop bx
cpuid
setbe dl
rol si, 0xc
jmp 0x646118
lea edi, [esp + 0xf6]
lea esp, [esp + 1]
xchg di, ax
std
btc ax, ax
cld
jmp 0x6461f7
pop eax
sub eax, 0x245ffe
push eax
jmp 0x643fc6