Function at 0x646281
Capabilities:
Execute anti-debugging instructions

Disassembly:
movzx ebx, byte [esi - 1]
call fcn.0064610e
mov dl, bl
btc ax, bp
jb 0x6461bb
lea eax, [ebx*4]
jmp 0x6461a5
lea eax, reloc.KERNEL32.dll_GetSystemTimeAsFileTime
cmp ax, 0x8762
sete al
jmp 0x6461cf
lea eax, [ebx*4]
lea eax, reloc.KERNEL32.dll_GetSystemTimeAsFileTime
cmp ax, 0x8762
sete al
jmp 0x6461e5
neg dl
pushfd
mov ah, 0xd0
mov ah, 0x34
not ax
jmp 0x64621b
mov ah, cl
lea esp, [esp + 4]
neg dl
push esi
xchg dword [esp], eax
jmp 0x64626c
ror dl, 0
mov ax, si
not eax
mov ah, byte [esp]
mov ah, byte [esp]
jmp 0x646202
rcr eax, cl
mov ah, byte [esp + 0x10]
jmp 0x646245
push ecx
pushal
jmp 0x64622b
lea esp, [esp + 0x2c]
xor dl, 0x51
mov al, bh
mov ax, di
mov ax, 0xb1c2
jmp 0x64627b
push dword [esp]
jnp 0x646241
push ecx
pushal
rcr eax, cl
mov ah, byte [esp + 0x10]
jmp 0x646245
dec ax
jp 0x6462f9
jnp 0x6462f9
pop ax
jmp 0x6462c6
mov al, bl
lea esp, [esp + 2]
jmp 0x6462a9
add cl, dl
mov dh, 0x57
jmp 0x646368
or eax, ebp
jne 0x64629d
mov al, bl
lea esp, [esp + 2]
call 0x6462d6
push ebx
setge al
mov ah, bl
mov ax, 0xb61d
lea eax, [eax*4]
xchg dword [esp], edx
jmp 0x646319
rol dl, 0
mov al, 0xd3
call 0x646281
lea eax, [ecx*4]
not al
xchg dword [esp], edx
shr ax, 6
jmp 0x6463d8
bsr ax, bx
shr ax, 0xd
mov ah, al
mov ax, di
lea edx, [edx - 0x2c]
lea eax, reloc.KERNEL32.dll_GetSystemTimeAsFileTime
jmp 0x646303
ror dl, 5
mov ax, cx
jmp 0x64638f
bsr eax, esp
jg 0x646352
ror dl, 5
mov ax, cx
jmp 0x64638f
mov dx, word [esp]
mov al, 0x14
xchg dx, ax
lea edx, [edx + ebp]
mov ax, 0x41f8
clc
jmp 0x6466c4
dec esi
mov dx, word [esp]
bsf dx, si
js 0x646375
jns 0x6463ba
lea edx, [edx + ebp]
mov ax, 0x41f8
jmp 0x646384
mov dx, word [esp]
mov al, 0x14
xchg dx, ax
jmp 0x64639c
mov ah, 0x3c
mov ax, word [esp]
mov ax, si
push dword [esp]
ret 4
ror ah, cl
mov al, ch
jmp 0x6464e0
ror ah, cl
mov al, ch
call fcn.006463fd
jmp 0x646501
bswap eax
bsf edx, ecx
mov edx, ebx
jmp 0x64650e
setg ah
not eax
mov ax, word [esp]
pushfd
jmp 0x6465d0
shl edx, 2
mov ax, word [esp]
mov ax, word [esp]
call fcn.00646584
jmp 0x646616
mov esp, ebp
lea eax, [edi + edi]
push sp
call fcn.006465e2
push edx
ret
dec bl
mov eax, dword [esp]
btc eax, edi
jb 0x6464dc
jae 0x646473
mov dh, al
jmp 0x646b24
lea esp, [esp + 2]
lea esp, [esp + 0x18]
jmp 0x646830
xchg byte [esp + 4], al
xchg word [esp + 3], dx
bswap eax
jmp 0x6467c1
sub bl, 0xac
bsf edx, esp
jnp 0x646905
btr eax, eax
jmp 0x6468aa
mov byte [esp + 0x10], al
jmp 0x6467f5
call 0x646881
mov eax, dword [esp]
shr ax, 0xc
jge 0x646888
mov eax, 0xe0e74cd0
jmp 0x64688d
mov dx, sp
stc
jg 0x64684c
jle 0x64684c
mov cs, word [eax]
sahf
stc
or dh, dh
and eax, 0x3ce38354
mov dh, 0x90
jmp 0x646851
mov eax, 0xe0e74cd0
jmp 0x6468cc
jmp 0x6468b1
bswap eax
jmp 0x6468dd
neg eax
mov eax, dword [esp]
jmp 0x64690d
mov edx, dword [ebx + ebp]
lea ebx, [ebp*4]
btr ax, cx
jge 0x646891
bswap eax
jmp 0x6468dd
sub edi, 4
mov edx, 0x9db740f
mov edx, dword [esp]
inc ax
ja 0x64688f
jbe 0x64688f
pushal
mov dword [esp + 0x1c], edi
bsr ebx, edi
jmp 0x646986
jl 0x646905
sbb al, 0xf
mov ebp, 0x9ce9df
add byte [eax], al
out dx, eax
mov ebx, ebp
call fcn.0064692e
cmc
je 0x6468df
lea edi, [ecx + ebx*4 - 0x1b]
popal
int1
nop
arpl word [edi + 0x5730a225], bx
mov byte [0xb30f6325], al
sal bh, 0xd8
btr eax, eax
neg eax
mov eax, dword [esp]
ror bl, 0
not ax
jmp 0x646871
jl 0x6468eb
mov ebx, ebp
jmp 0x6468ed
mov dh, 0xa8
lea edx, [esp + ecx]
mov dx, word [esp]
ror dx, cl
sets dh
jmp 0x646c27
not dx
lea eax, [ebx + ebp]
sub esp, 0x1a
jb 0x646846
mov byte [esp + 0x10], al
xchg byte [esp + 4], al
xchg word [esp + 3], dx
bswap eax
lea esp, [esp + 2]
call fcn.006467a6
jo 0x646ac5
mov dh, 0xa8
lea edx, [esp + ecx]
jmp 0x6475f2
mov ah, 0xb5
lea eax, reloc.KERNEL32.dll_GetSystemTimeAsFileTime
inc bl
jmp 0x646ae3
neg dx
jmp 0x646b8c
not dx
jmp 0x646b30
mov dx, 0x5ef2
mov edx, esp
neg edx
jle 0x646b46
not dx
neg dx
jmp 0x646b8c
xchg dl, dh
bsf edx, esi
jno 0x646b9b
mov dx, 0x3ce0
jmp 0x646bed
neg al
lea edx, [ebx - 1]
lea edx, [esi + 0x5f]
mov dh, ch
not dx
jmp 0x646b72
mov dx, 0x3ce0
mov dl, al
xor al, 0x51
cmp dh, bh
jno 0x646bce
jo 0x646bd6
ret 0xd141
mov dh, byte [esp]
lea edx, [eax*4]
mov dl, 0x22
mov edx, edi
ror al, 0
jmp 0x646b60
xchg dh, dl
jmp 0x646c07
xchg dh, dl
pushal
mov dx, 0x88b6
jmp 0x646c0c
mov dl, al
jmp 0x646ba1
pushal
mov dx, 0x88b6
rol al, 0
jmp 0x646bf1
neg al
lea edx, [ecx*4]
mov edx, dword [esp]
lea edx, [ecx*4]
not edx
jmp 0x646bbb
mov dx, word [esp]
ror dx, cl
sets dh
jmp 0x646c27
jmp 0x659c13
lea eax, [ebp + 0x50]
not bx
mov dx, word [esp]
add bl, 0x96
jae 0x659bba
jb 0x659bba
mov ax, bx
mov dx, bx
sub esp, 2
jg 0x659c31
lea esp, [esp + 2]
jmp 0x659c1b
mov dh, dl
ja 0x64614b
jbe 0x659be1
xchg edx, eax
or eax, 0xf139ef9c
or al, 7
push ebp
add eax, 0xf6ed4cde
loope 0x659c31
arpl word [edx - 0x1f8707c5], bx
cmp edi, eax
js 0x659bf7
mov dh, dl
jmp 0x659bf9
mov edx, ebp
bt bx, bp
jge 0x659c37
mov eax, ebp
mov ebx, dword [esp]
jmp 0x659c64
lea esp, [esp + 2]
jmp 0x659c1b
mov eax, ebp
jmp 0x659c3f
mov ebx, dword [esp]
bsr bx, di
lea ebx, [ebp + 0x40]
mov ax, 0xb765
btr ax, ax
jmp 0x659cac
mov bl, 0xa
mov ax, cx
inc ebx
jmp 0x659c91
bsr bx, di
jmp 0x659c46
lea eax, [esi + edi]
setne ah
jmp 0x659c96
lea eax, [edx + esi]
neg al
jmp 0x659cd0
mov bl, 0xa
mov ax, cx
inc ebx
jmp 0x659bd0
sub ebx, edx
bts eax, ebx
jne 0x659c72
lea eax, [edx + esi]
jmp 0x659ce6
jge 0x659c6a
lea eax, [esi + edi]
setne ah
jmp 0x659c70
bsf bx, sp
jno 0x659c8b
jo 0x659c5c
lea eax, [edi - 0x80]
sub esp, 0xb
jp 0x659d0f
lea esp, [esp + 7]
add esp, 3
jmp 0x659cf7
neg al
jmp 0x659cd0
add esp, 3
lea esp, [esp + 1]
call fcn.00659d15
stosd dword es:[edi], eax
lea esp, [esp + 1]
jmp 0x659d2b
lea esp, [esp + 7]
jmp 0x659cea
and al, 0xfc
sub esp, 9
jmp 0x659d87
stc
pop word [esp + 1]
lea esp, [esp + 3]
call fcn.00659dd4
push 0xb5375d5a
call fcn.00643db2
and dword [ecx - 0x57], esi
pushal
bswap ebx
rdtsc
jmp fcn.00659cc8
jl 0x659d36
stc
pop word [esp + 1]
jmp 0x659dbe
sub eax, ebx
sub esp, 0x14
ja 0x659e5f
clc
jmp 0x659e61
lea esp, [esp + 3]
jmp 0x659da8
clc
jmp 0x659e61
jmp 0x659e49
mov esp, eax
pushfd
lea ebp, [eax + ebx - 0x40]
jmp 0x659ee6
cld
jmp 0x659ebb
mov esi, edx
mov edi, eax
mov ecx, ebx
jmp 0x659e87
pop esi
jmp 0x659ec1
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
jmp 0x659ea5
popfd
jmp 0x64614b
push esi
push edi
push ecx
jmp 0x659e9d