Function at 0x643250
Capabilities:
Execute anti-debugging instructions

Disassembly:
not esi
mov dl, 0xb5
pop dword [esp + 3]
inc esp
and al, 3
call fcn.006431e8
jno 0x6431b2
add edi, esi
push ds
popal
jmp 0x64323e
xlatb
pop word [esp + 0x1a]
mov ebx, 0xefab839f
call 0x643250
or byte [ebx + 0x310fc186], ch
pop dword [esp + 6]
mov cx, word [esp + 1]
jmp 0x64327f
bswap edx
bswap ebx
mov byte [esp + 0xa], ah
add esp, 0xd
mov dl, cl
mov dh, bh
jmp 0x6432b8
mov dword [esp + 8], ebx
call fcn.0064322c
mov eax, ebx
bsr ebx, esi
push si
pop word [esp + 1]
cmc
push edi
jmp 0x643331
mov ebx, dword [esp + 2]
bt cx, dx
mov byte [esp + 0xd], ah
pop dword [esp]
pop edx
mov cl, 0x1f
jmp 0x6432a2
rdtsc
rdtsc
xchg dword [esp + 1], esi
mov byte [esp + 0xb], al
mov ebx, dword [esp + 0x10]
setg cl
jmp 0x643299
mov byte [esp + 3], cl
mov dl, 0x1e
dec cl
mov al, byte [esp + 2]
xchg edx, esi
cpuid
jmp 0x64331a
pushfd
rdtsc
mov cx, di
push word [esp + 1]
shr eax, cl
mov ebp, dword [esp + 6]
jmp 0x6432f1
bt eax, esp
call 0x64339a
insd dword es:[edi], dx
loop 0x643395
pop ss
loop 0x643328
lodsd eax, dword [esi]
daa
mov bh, 0xd2
and esp, eax
fidiv dword [reloc.MSVCRT.dll_strncpy]
add esp, 2
rcr si, cl
shr dh, 5
mov bp, word [esp]
mov dx, 0xfa34
lea ebp, [edx*4]
jmp 0x643307
pop word [esp + 0xb]
cld
xchg si, di
bsr bp, bx
lea edx, [ebx + ebp]
rcr bl, 6
jmp 0x64337f
mov cl, ah
pushfd
mov byte [esp + 3], cl
mov ebx, dword [esp + 6]
push word [esp]
mov di, word [esp + 4]
jmp 0x64334b
mov si, cx
xchg ah, bl
lea esi, [edx*4]
push word [esp + 0xc]
pop ax
jmp 0x6433c5
loop 0x6433b4
insb byte es:[edi], dx
jg 0x6433e0
mov edx, 0xb004883c
mov byte [esp + 3], cl
xchg word [esp + 0xf], dx
add esp, 0xa
inc bl
jmp 0x643369
cld
stc
pushfd
mov dword [esp + 0xb], edx
and al, 0xb
sub esp, 5
xchg cl, ah
jmp 0x643477
mov ebp, dword [esp + 8]
pop word [esp + 1]
mov eax, 0x398502bc
inc dx
not ebx
mov bh, dl
jmp 0x6433af
fsub qword [edi - 0x7099a632]
inc esp
and al, 1
clc
mov al, byte [esp + 7]
mov dword [esp + 0xb], ebx
cpuid
mov ecx, 0x23d0431
jmp 0x6432dc
lea edi, [ebx*4]
rdtsc
mov ebp, 0x52a8c5b5
jmp 0x643455
mov edi, 0x394b97ac
dec dl
mov di, 0x9d89
mov dh, 0x9f
or edx, ebp
cmc
jmp 0x6433fe
add esp, 0xf
dec bp
std
xchg edx, edi
not ebx
add esp, 1
jmp 0x643414
add esp, 0
call fcn.0064343f
mov edx, 0xecfbc3c8
setbe cl
lea ebp, reloc.MSVCRT.dll_strncpy
neg al
inc ah
jmp 0x6434a2
pop dword [esp + 6]
mov dh, dl
std
xchg si, ax
cpuid
xchg bx, di
jmp 0x643430
xchg edi, eax
xchg ecx, edx
inc bl
pop di
not cl
bswap edx
jmp 0x6434cc
mov dword [esp], esp
xchg byte [esp + 5], ah
rdtsc
mov esi, ecx
mov si, word [esp + 2]
xchg edx, eax
jmp 0x643488
mov ebx, dword [esp + 5]
sets cl
mov eax, ebx
mov ecx, esi
xchg byte [esp + 7], ch
jmp 0x6435f6
pushfd
mov ebp, ebx
inc di
mov eax, 0xf5e71c1b
mov dh, dl
xor ebp, 0xb8389
jmp 0x6434b6
mov esi, dword [esp + 4]
inc bx
mov dword [esp], edi
rdtsc
cmc
xchg dx, bp
jmp 0x64356e
lea esi, reloc.MSVCRT.dll_strncpy
mov bp, word [esp + 2]
shl eax, 0xc
bsf di, sp
lea ecx, [esi + esi]
sete ch
jmp 0x643500
xchg esi, eax
pushfd
xchg byte [esp], cl
not eax
xchg byte [esp + 1], al
shr dl, 6
jmp 0x64351a
sub esp, 0xc
xchg dword [esp + 3], ecx
neg cx
rdtsc
jmp 0x643589
lea edx, reloc.MSVCRT.dll_strncpy
bt dx, sp
mov esi, dword [esp + 4]
lea esp, [esp + 1]
or eax, ebx
xchg word [esp + 1], bx
jmp 0x643558
mov word [esp + 2], di
pop dword [esp + 2]
add esp, 4
not si
mov eax, dword [esp + 6]
sbb bl, 0x6f
jmp 0x6435cd
mov ebx, edx
rol ah, 0
mov edx, ecx
lea ecx, [edi*4]
mov ch, 0xb6
lea ecx, [ebx + edi]
jmp 0x643547
mov bh, byte [esp + 2]
mov dword [esp + 2], eax
xchg byte [esp + 3], ah
call 0x6435df
sbb cl, byte [ebp + 0xbd14]
add byte [eax], al
add esp, 0
lea eax, [eax + 0xcc]
jmp 0x643731
lea edi, [ecx*4]
mov esi, 0xbf7212b0
pop dword [esp]
bswap eax
mov cx, 0x453c
pop ecx
jmp 0x6435b5
lea edi, [ebx*4]
lea ebx, [esi + 0x8e]
bswap ecx
jmp 0x643672
mov bx, word [esp]
mov ecx, esp
add esp, 0
mov bx, word [esp + 2]
neg bx
mov byte [esp + 1], ch
jmp 0x64360e
and bp, 0xb72d
mov cx, 0xf36
neg ecx
cmc
neg edi
mov dword [esp + 1], edx
jmp 0x643624
cld
add esp, 0
pop word [esp]
pop word [esp]
lea esp, [esp + 1]
jmp 0x6436b6
bsf bp, cx
add esp, 1
mov bx, word [esp + 2]
pop dword [esp]
xchg byte [esp + 3], al
lea edx, reloc.MSVCRT.dll_strncpy
jmp 0x64365c
lea ebx, [edi*4]
stc
call 0x64369b
xor ecx, dword [edi]
xor dword [esi - 0x47], esp
inc eax
int3
sub esp, 0xd
mov cx, word [esp + 3]
rol ax, 0xd
rdtsc
mov ebp, 0xc1883f9e
add esp, 1
jmp 0x64368d
add esp, 1
mov bh, byte [esp + 2]
push ebp
xchg si, ax
mov word [esp + 2], ax
xchg dword [esp + 5], edx
jmp 0x643648
inc edx
not cx
not dx
bsr edx, ecx
pop dword [esp]
mov byte [esp + 1], ah
jmp 0x643703