Function at 0x640139
Capabilities:
Execute anti-debugging instructions

Disassembly:
neg dl
rdtsc
mov bh, dl
or dl, ch
rdtsc
mov dl, byte [esp + 1]
jmp 0x63ff9d
mov edx, 0x93c8da6
mov ah, bl
pushfd
bt ebx, edx
inc al
inc edx
jmp 0x63ff77
mov esi, dword [esp]
push word [esp + 1]
lea eax, [ecx*4]
add esp, 1
sub esp, 7
jmp 0x6400b5
pushfd
push esp
lea esp, [esp + 3]
lea esp, [esp + 1]
pushal
lea eax, [esi - 0xbe0d]
jmp 0x63ff8d
lea esp, [esp + 0xa]
ror bp, 0xd
xchg ebp, esi
stc
push word [esp + 1]
call fcn.0064005f
lea edi, [esp - 0xe2f]
lea ebx, [eax*4]
mov edi, 0x77ed6d50
mov bp, bx
jmp 0x6400fd
mov bx, bp
lea ebx, [edi*4]
std
btc ecx, edx
cpuid
jmp 0x64016a
call 0x640139
push ebx
popal
outsb dx, byte gs:[esi]
imul ebp, dword [bp + 0x65], 0x69685320
insb byte es:[edi], dx
outsb dx, byte gs:[esi]
and byte [esi + 0x32], dh
xor ebp, dword cs:[esi]
xor ebp, dword [esi]
xor byte [eax], al
jmp 0x63ffba
mov eax, 0x96e28cba
rol ax, 0xf
mov ax, cx
mov ax, 0x56ac
mov esi, eax
call fcn.0064013e
mov esi, dword [esp + 9]
not dl
mov dword [esp + 0xd], eax
add esp, 0xd
pop dword [esp]
jmp 0x640199
std
xchg dword [esp], edx
pop word [esp]
add esp, 1
sub esp, 0x1f
mov al, bl
jmp 0x6401d6
rcr ah, 6
call fcn.006401c0
lea esi, [ebp*4]
mov ebx, 0xb6604c83
push dword [esp + 0x17]
bsf ax, bx
mov ebx, 0x1cf13155
mov dword [esp + 0x20], esi
jmp 0x640add
rcr si, cl
sub esp, 0
btr eax, esp
sub esp, 0x13
mov bl, byte [esp + 0xa]
lea eax, [edi + 0x25]
jmp 0x64025b
setb bl
mov bx, si
mov ecx, 0x66b57098
dec ecx
mov ax, bx
lea esp, [esp + 1]
jmp 0x640212
pop word [esp + 6]
pop word [esp + 9]
xchg dword [esp + 9], esi
not bh
jmp 0x640285
pop di
rdtsc
push dword [esp]
push word [esp + 0x16]
add esp, 2
lea esi, [edx + esi]
jmp 0x640245
xchg word [esp + 9], dx
pop eax
push dword [esp + 3]
bsf ax, cx
xchg ebp, ecx
jmp 0x6402ac
inc bp
not eax
mov al, byte [esp + 6]
pop dx
not cl
mov si, bx
jmp 0x64026f
xchg bx, dx
mov al, 0xd4
sub esp, 0
rdtsc
inc ah
shr cl, 6
jmp 0x6402f4
mov dl, bh
neg dx
push esi
xchg word [esp + 9], bx
mov dx, 0xad92
lea edx, [ebx + esi]
jmp 0x640296
not edi
setg ah
pop esi
mov ebx, 0x8497ef59
clc
bsr ax, bx
jmp 0x640230
add esp, 0xe
bt edi, edi
pop esi
mov ch, 0x83
mov byte [esp + 4], dl
std
jmp 0x64034b
mov dword [esp + 3], esi
mov ebp, esp
bswap esi
xchg ebp, ecx
push dword [esp + 0xc]
mov esi, ebp
jmp 0x6402de
mov cx, word [esp + 1]
mov edi, 0xd14e36d0
mov dword [esp + 2], ecx
mov dl, dh
xchg esi, eax
mov cx, sp
jmp 0x6402c9
lea esp, [esp]
lea esi, [edx + edi]
std
call 0x640335
add dword [esi - 1], esp
je 0x64035d
add cl, byte [ecx - 0x78fedbac]
sbb al, 0x24
jmp 0x640564
pop edx
pop word [esp]
mov byte [esp], dl
lea edx, [eax + esi]
mov bp, word [esp + 1]
stc
jmp 0x640328
retf 0xcf0f
bswap edi
cpuid
btr esi, eax
mov cx, word [esp]
lea edi, [edx + 0x3db2]
push ax
call fcn.006403aa
cmp al, 0xbb
sub ecx, dword [esi - 0x43]
push esp
adc bl, byte [edx + esi + 0x694aa455]
mov byte [ebx], ch
inc dh
mov al, bh
shl edi, 0x13
bswap edx
xchg bp, di
dec ebx
jmp 0x64035e
mov bl, byte [esp]
inc edi
mov ah, 0xbf
rdtsc
mov bl, 0x33
mov ch, byte [esp]
jmp 0x640385
bswap edx
shr eax, 0x11
sub esp, 0x1a
xchg byte [esp + 0x12], dl
pushal
lea esp, [esp + 0x42]
jmp 0x6403ca
not al
inc bp
add esp, 0x21
mov edi, 0xc1a4f36a
mov bx, si
bsr ax, si
jmp 0x640311
mov cl, bl
mov bp, word [esp + 6]
lea ebx, [ecx + ebp]
xchg byte [esp], ah
bswap eax
btr eax, ebp
jmp 0x64065f
shl ebp, 2
mov word [esp + 0xd], sp
cpuid
mov bp, 0x2151
mov dword [esp + 7], edi
xchg byte [esp + 0x12], bl
jmp 0x640712
lea ebx, [edx + 0x39]
mov bx, 0xbb9b
setg ch
pop di
std
lea esi, [esi*4]
jmp 0x640aaf
jmp 0x641049
jmp 0x640118