Function at 0x647e22
Capabilities:
Execute anti-debugging instructions

Disassembly:
lea edi, [ebp - 0x54]
not dl
call fcn.0065a88e
mov esi, eax
rdtsc
lea esp, [esp + 0xc]
js 0x649ce3
setg cl
cwde
mov ecx, 0x11
jbe 0x65b7c7
lea edi, [0x7dac498d]
push edx
lea edi, [ebp - 0x54]
pop eax
cdq
mov al, bl
pushfd
rep movsd dword es:[edi], dword [esi]
xor dx, bx
rcr ch, 2
mov ecx, dword [ebp + 8]
rdtsc
dec eax
mov edx, dword [ebp - 0x44]
xor ax, bx
rol al, 2
not al
rol eax, cl
mov dword [ecx + 0x10], edx
rol cl, cl
cdq
aad 0x6c
inc al
mov eax, dword [ebp + 8]
rcl cx, cl
movsx cx, bl
shl cx, cl
btc cx, si
mov ecx, dword [ebp - 0x40]
sal dx, cl
sbb dh, 0x27
cmp ax, 0xf29f
mov dword [eax + 0x14], ecx
jmp 0x660a00
movsx edi, cl
push 0x717e9193
mov ecx, 0x11
push ecx
push 0xcea21c08
jmp 0x63d4ad
xchg dword [esp + 0x50], eax
mov dword [esp], 0x63ee8408
mov word [esp + 8], dx
mov dword [esp], ebx
mov word [esp], 0xef2
push dword [esp + 0x50]
ret 0x54
setno ah
mov eax, dword [ebp - 0x10]
bswap cx
setp cl
pushfd
mov ecx, dword [eax]
call fcn.00656a01
call fcn.0066e882
mov dword [ebp - 0xc], 1
lea esp, [esp + 4]
lahf
rdtsc
cwde
lea edi, [ebp - 0x54]
not dx
pushfd
pushal
call fcn.0065dc34
mov byte [esp + 8], ah
mov dword [ebp - 0x24], edx
pushfd
mov dword [ebp - 0x3c], 0
pushfd
mov dword [esp], 0x37eb653d
lea esp, [esp + 0x38]
jmp 0x670c45
movsx dx, dl
movzx ax, bl
mov edx, dword [ebp + 8]
xadd ah, cl
mov eax, dword [ebp - 0x3c]
pop ecx
pushal
shrd cx, di, cl
mov dword [edx + 0x18], eax
cmc
mov ecx, dword [ebp + 8]
bt sp, 2
movsx ax, bl
mov edx, dword [ebp - 0x38]
sal al, cl
test bl, 0xe3
mov dword [ecx + 0x1c], edx
pop eax
xor eax, ebx
mov eax, dword [ebp + 8]
ror ch, 3
mov ecx, dword [ebp - 0x34]
pushfd
mov dword [eax + 0x20], ecx
bswap ecx
mov edx, dword [ebp + 8]
movzx ax, bl
shr al, 4
mov eax, dword [ebp - 0x30]
pushal
add ch, dh
rcr ch, 5
btc cx, bp
mov dword [edx + 0x24], eax
shl cx, cl
bsf ax, bx
movzx cx, dl
mov ecx, dword [ebp + 8]
btr eax, eax
pop eax
daa
mov edx, dword [ebp - 0x2c]
push esp
lea eax, [edi - 0x126aa3ad]
adc al, 0x4b
mov dword [ecx + 0x28], edx
ror al, cl
push eax
mov eax, dword [ebp + 8]
sub ecx, 0xfe13e719
sbb cx, si
mov ecx, dword [eax + 0x20]
bt di, 3
mov byte [esp + 0x10], dh
clc
cmc
mov dword [ebp - 0x10], ecx
cmp ax, 0x4638
cmp dword [ebp - 0x10], 0
jmp 0x66de63
call fcn.0065549f
pushfd
lea esp, [esp + 0x48]
je 0x673a95
adc dh, 0x3f
shr edx, cl
mov edx, dword [ebp - 0x10]
cwde
pushfd
adc cx, 0x58a7
rcr ecx, cl
mov eax, dword [ebp + 8]
shld cx, ax, cl
shl cx, cl
sbb ecx, 0x214f514d
mov ecx, dword [edx]
bt sp, sp
stc
mov word [esp], sp
cmp ecx, dword [eax + 0x1c]
mov word [esp], bx
lea esp, [esp + 4]
jne 0x6727ac
lea eax, [esi - 0x4c7cc4df]
xchg dh, al
jmp 0x66e43c
shrd dx, bp, 8
sar dh, 1
rcl dx, cl
rol dx, cl
mov edx, dword [ebp - 0x34]
clc
bt bp, 0xf
test al, dh
push 0x5a070d5a
sub eax, eax
movzx ax, al
btc ax, 9
call fcn.0066d5c9
mov byte [esp + 0x14], ah
lea eax, [eax - 0x54beee2e]
jmp 0x64ac68
setns al
jno 0x653cde
mov al, 0x87
not ecx
mov eax, dword [ebp - 0x10]
sete cl
push edi
mov ecx, dword [eax]
push dword [esp]
mov word [esp], 0x3e9
mov byte [esp + 4], bl
mov dword [ebp - 0x10], ecx
push 0xa9e179cf
pushfd
mov dword [esp + 0xc], edi
pushfd
lea esp, [esp + 0x14]
jmp 0x664f26
push edx
jmp 0x658169