Function at 0x640bf0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebx
push eax
push edx
push edi
pop edi
rdtsc
push eax
push edx
rdtsc
pop edx
pop eax
push esi
pop esi
pop edx
pop eax
push esi
push eax
push edx
rdtsc
pop edx
pop eax
pop esi
pop ebx
push edi
mov edi, esp
push edx
mov edx, 4
add edi, edx
pop edx
sub edi, 4
xchg dword [esp], edi
pop esp
mov dword [esp], edi
mov dword [esp], 0x5ff3a5eb
push edi
push ebp
push 0x5bc6f9c0
pop ebp
xor ebp, 0x673f67b2
sub ebp, 0x7f6f8bc9
sub ebp, 0xb97d1421
mov edi, ebp
pop ebp
xor dword [esp + 4], edi
pop edi
shl dword [esp], 8
xor dword [esp], 0x89b44941
xor dword [esp], edi
xor edi, dword [esp]
xor dword [esp], edi
not edi
push edi
push dword [esp + 4]
pop edi
pop dword [esp]
push ecx
mov ecx, 0x7fb71d4d
add dword [esp + 4], ecx
pop ecx
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], edi
mov edi, 0x6426bf32
xor dword [esp + 4], edi
pop edi
mov dword [esp], eax
mov dword [esp], edi
mov dword [esp], ebx
mov dword [esp], eax
push edi
push esp
pop edi
push ecx
mov ecx, 0x759fa490
and ecx, 0x7e1f7ad3
xor ecx, 0x161b0274
not ecx
inc ecx
sub ecx, 0x9dfbdd18
add edi, 0x1cf7b408
add edi, 0x6bcfca1b
add edi, ecx
push 0x43c915ca
mov dword [esp], edx
mov edx, 0x6bcfca1b
sub edi, edx
pop edx
push ecx
mov ecx, 0x1cf7b408
add edi, 0x7dd7b437
sub edi, ecx
sub edi, 0x7dd7b437
pop ecx
pop ecx
push ebp
mov ebp, 4
add edi, 0x7ffa691c
sub edi, ebp
sub edi, 0x7ffa691c
push dword [esp]
push dword [esp]
pop ebp
push edx
mov edx, esp
add edx, 4
add edx, 4
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
pop esp
add esp, 4
push edi
push dword [esp + 4]
pop edi
pop dword [esp]
pop esp
mov dword [esp], ecx
sub esp, 4
mov dword [esp], eax
mov dword [esp], edi
mov dword [esp], 0x49def81a
shl dword [esp], 2
push eax
mov dword [esp], edx
mov dword [esp], 0x79d7a3b
mov dword [esp], edi
push ebp
mov dword [esp], 0x1efd0e5a
push dword [esp]
pop edi
add esp, 4
sub dword [esp + 4], edi
pop edi
push eax
mov dword [esp], edx
push ecx
mov ecx, 0x572779d0
inc ecx
xor ecx, 0x2748731d
push edi
mov edi, ecx
push ebx
push edi
xor dword [esp], 0x5bdfce9b
pop ebx
xor ebx, 0x5bdfce9b
mov edx, ebx
pop ebx
pop edi
mov ecx, dword [esp]
add esp, 4
add dword [esp + 4], edx
pop edx
mov dword [esp], edx
sub esp, 4
mov dword [esp], esi
mov esi, esp
push ebx
mov ebx, 0x2fcf4d30
push edx
mov edx, 0x3d3ba422
or edx, 0x7ff98db2
xor edx, 0x421c4763
sub ebx, edx
mov edx, dword [esp]
add esp, 4
neg ebx
and ebx, 0x1b87b244
push eax
mov eax, 0xa008ffc
add ebx, 0x7f864900
sub ebx, eax
sub ebx, 0x7f864900
pop eax
push ebx
push edx
mov edx, 0x2fdbf300
push edx
pop ebx
pop edx
add esi, ebx
pop ebx
add esi, ebx
sub esi, 0x2fdbf300
mov ebx, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], eax
mov eax, 4
add esi, 0x7eb9853
sub esi, eax
sub esi, 0x7eb9853
pop eax
push 0x69098860
mov dword [esp], esi
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
mov dword [esp], ebx
push ecx
mov dword [esp], edx
mov dword [esp], 0x68727dde
mov dword [esp], edx
push esi
mov dword [esp], esp
add dword [esp], 4
pop edx
add edx, 4
sub esp, 4
mov dword [esp], eax
push 4
pop eax
sub edx, eax
mov eax, dword [esp]
add esp, 4
push ebx
mov dword [esp], eax
mov dword [esp], edx
push dword [esp + 4]
mov edx, dword [esp]
add esp, 4
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], ebx
mov dword [esp], edx
mov dword [esp], esi
mov dword [esp], ecx
mov dword [esp], ebx
push 0x4eee5fd6
mov dword [esp], ebx
mov dword [esp], 0x3153c3b3
mov dword [esp], ebx
mov dword [esp], 0x5fefb108
push eax
mov eax, 0x7ff8682
add dword [esp + 4], eax
pop eax
push edx
mov edx, 0x76f9f921
add dword [esp + 4], edx
pop edx
xchg dword [esp], ebx
push ebx
not dword [esp]
pop ebx
xchg dword [esp], ebx
add dword [esp], 1
push edi
push ebp
push 0x35735b89
mov ebp, dword [esp]
add esp, 4
add ebp, 0x7cf74a01
neg ebp
sub ebp, 0x7ffe4f4a
push esi
mov esi, 0x6b6f1bb6
and esi, 0x567b9a36
add esi, 0x50fd9d3f
xor ebp, esi
pop esi
mov edi, ebp
pop ebp
xor dword [esp + 4], edi
pop edi
push esi
mov esi, 0x7d9df2c6
add dword [esp + 4], esi
pop esi
add dword [esp], 0x7fe5fd49
push edx
mov edx, 0xdda2f4be
add dword [esp + 4], edx
pop edx
mov dword [esp], ecx
mov dword [esp], ebp
push esi
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
mov esi, dword [esp]
push eax
push 0x72e04300
mov dword [esp], esp
add dword [esp], 4
mov eax, dword [esp]
push esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
add eax, 4
push ecx
mov ecx, 4
add eax, ecx
pop ecx
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
add esi, 4
push ebp
push eax
push 0x57d3df62
pop eax
and eax, 0x57b75d4f
neg eax
sub eax, 0x6467f5ff
mov ebp, eax
pop eax
dec ebp
push edi
mov edi, 0x7fe79101
and ebp, edi
pop edi
push esi
mov esi, 0xffffffff
sub ebp, esi
pop esi
add ebp, 0x6feb1b36
xor ebp, 0xb3ef9b33
sub esi, ebp
push dword [esp]
pop ebp
add esp, 4
xchg dword [esp], esi
pop esp
mov dword [esp], esi
push edi
mov edi, esp
push ebx
mov ebx, 4
add edi, ebx
mov ebx, dword [esp]
add esp, 4
sub edi, 4
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
pop esp
mov dword [esp], edx
mov edx, esp
add edx, 4
push esi
push edx
mov edx, 0x6fffed8e
shl edx, 2
inc edx
and edx, 0x6ff35762
add edx, 0xd00ce9e4
mov esi, edx
mov edx, dword [esp]
add esp, 4
sub edx, esi
pop esi
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
mov dword [esp], eax
mov dword [esp], 0x1d9b2def
push edx
mov edx, 0xffffffff
sub dword [esp + 4], edx
pop edx
push ebx
push esi
mov dword [esp], 0x1b3fc7d3
pop ebx
add dword [esp + 4], ebx
pop ebx
add dword [esp], 1
sub dword [esp], 0x1f4ba3c4
mov dword [esp], edi
call fcn.005d07bd
add byte [edi], cl
add byte [eax], 0
add byte [eax], al
push eax
push edx
pushal
popal
rdtsc
pushal
popal
pushal
popal
pop edx
pop eax
jbe 0x640af6
jmp 0x640ae3
jmp 0x640af6
popal
pushfd
push eax
mov eax, esp
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], edx
push 0x5afd75cf
mov dword [esp], eax
mov eax, 0x504
mov dword [esp + 4], eax
pop eax
push ecx
push esi
mov esi, 0x6eff220a
mov dword [esp + 4], esi
pop esi
sub dword [esp], 0x372b2419
dec dword [esp]
shr dword [esp], 3
add dword [esp], 0x7d8ffd11
jge 0x640abf
add al, 0x24
test al, 0xa1
and dword [ebp - 0x77], edi
adc al, 0x24
jge 0x640abf
add al, 0x24
test al, 0xa1
and dword [ebp - 0x77], edi
adc al, 0x24
mov dword [esp], 0x23c911
push 0x716a1eaf
mov dword [esp], edx
mov dword [esp], ecx
mov dword [esp], 0x360d2af5
mov dword [esp], ecx
mov dword [esp], eax
push ecx
mov dword [esp], 0x3b770f60
push edi
mov edi, 0x3ebf619c
or dword [esp + 4], edi
pop edi
push ebp
mov ebp, 0x7bff60b2
xor dword [esp + 4], ebp
pop ebp
add dword [esp], 0xd4b5a42c
mov dword [esp], ebx
push dword [esp + 0x10]
push dword [esp]
push dword [esp]
pop eax
add esp, 4
add esp, 4
push dword [esp + 8]
mov ebx, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
push edx
mov edx, 4
add ebx, edx
pop edx
xchg dword [esp], ebx
pop esp
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push edx
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push dword [esp]
push dword [esp]
pop eax
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
add esp, 4
jmp 0x5d034e