Function at 0x1006f10
Capabilities:
Execute anti-debugging instructions

Disassembly:
add cl, byte [edx + ecx]
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 2
jns 0x1006e6b
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 2
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + eax], dh
pop ecx
sldt word [eax]
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 2
adc byte ss:[eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub eax, dword [edx]
push es
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
cmpsd dword [esi], dword es:[edi]
push es
les ecx, [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
stc
or dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0xe], al
and dword [eax], eax
add byte [ecx], al
add byte [eax], al
add byte [esi + ecx], ah
add byte [eax], al
mov eax, 0x1000021
add byte [eax], al
add ah, ah
or eax, 0x70000
add eax, dword [eax]
or byte [eax], al
add eax, dword [eax]
or dword [eax], eax
add eax, dword [eax]
or al, byte [eax]
add eax, dword [eax]
or eax, dword [eax]
add eax, 0x5000c00
add byte [ecx + 0x12c00], dl
add byte [eax], al
push edi
imul ebp, dword [esi + 0x64], 0x5f73776f
xor dword [eax], esi
add byte [edi + eax*2 + 0x5f], cl
push esp
xor esi, dword [0x474c0030]
pop edi
xor dword [eax], esi
xor byte [ebx + esi + 0x36], dl
xor byte [eax], al
dec esp
inc edi
pop edi
xor dword [0x30363555], esi
add byte [edi + eax*2 + 0x5f], cl
xor dword [edx + ebx*2], esi
cmp dword [esi], esi
xor byte [eax], al
dec esp
inc edi
pop edi
xor dword [0x3036395a], esi
add byte [edi + eax*2 + 0x5f], cl
xor dh, byte [edx]
push esi
xor dh, byte [edi]
xor byte [eax], al
dec edi
outsb dx, byte [esi]
push ebx
je 0x1006fa4
jb 0x1006fb9
inc esi
outsd dx, dword [esi]
jb 0x1006f7b
xor dl, byte [esi + 0x32]
aaa
xor byte [eax], al
dec esp
inc edi
pop edi
xor dword [eax], esi
push esp
xor esi, dword [edi]
xor byte [eax], al
dec esp
inc edi
pop edi
xor dword [0x30373555], esi
add byte [edi + eax*2 + 0x5f], cl
xor dh, byte [esi + edx*2]
xor eax, 0x4f003037
outsb dx, byte [esi]
push ebx
je 0x1006fd3
jb 0x1006fe8
inc esi
outsd dx, dword [esi]
jb 0x1006faa
xor al, 0x56
xor eax, 0x4c003037
aaa
xor byte [eax], al
dec esp
inc edi
pop edi
xor dword [ebx], esi
push ebp
xor eax, 0x57003038
imul ebp, dword [esi + 0x64], 0x5f73776f
cmp byte [ecx], dh
add byte [ecx + 0x45], cl
outsb dx, byte [esi]
jne 0x1007005
jb 0x1006ffc
bound ebp, qword [ebp + 0x60]
xor dword [eax], eax
push ebx
jb 0x100701b
jbe 0x100700f
imul esp, dword [ebx + 0x65], 0x65730031
arpl word [ebp + 0x31], sp
add byte [ebx + 0x65], dh
jae 0x1007011
jb 0x1007024
imul esp, dword [ebx + 0x65], 0x74736e49
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
jb 0x1006fec
jb 0x1006fec
add byte [ebx + 0x65], dh
jb 0x1007036
imul esp, dword [ebx + 0x65], 0x636f7250
jae 0x100703d
dec ecx
outsb dx, byte [esi]
jae 0x1007042
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
jb 0x1007005
xor dword [eax], eax
dec ebp
imul esp, dword [ebx + 0x72], 0x666f736f
je 0x100700d
add byte [ebp + 0x69], cl
arpl word [edx + 0x6f], si
jae 0x100704b
je 0x100700d
push edi
imul ebp, dword [esi + 0x33], 0x6f540032
dec ecx
outsb dx, byte [esi]
je 0x100701e
xor al, byte [eax]
arpl word [edx + 0x52], sp
add byte [ebx + 0x62], ah
push edx
jae 0x1007058
jb 0x100706b
xor al, byte fs:[eax]
insb byte es:[edi], dx
jo 0x100704e
jae 0x1007064
jb 0x1007077
xor al, byte fs:[eax]
dec esp
inc edi
pop edi
inc edi
jb 0x100706c
insd dword es:[edi], dx
xor dword [0x6e495500], esi
xor eax, 0x6e495500
push ebp
dec ecx
outsb dx, byte [esi]
je 0x1007045
add byte ss:[edi + ebp*2 + 0x49], dl
outsb dx, byte [esi]
je 0x100704d
xor dword [esi], esi
add byte [ecx + 0x6e], cl
add byte ss:[ecx + 0x6e], cl
dec ecx
outsb dx, byte [esi]
imul esi, dword [ecx + ebp*2 + 0x61], 0x6d69546c
jb 0x100708a
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x49415f72
inc ecx
dec ecx
dec edi
pop edi
xor dword [edi], esi
add byte [edi + eax*2 + 0x5f], cl
inc edi
jb 0x1007099
insd dword es:[edi], dx
xor dword [edi], esi
add byte [ecx + 0x6e], cl
outsb dx, byte [esi]
imul esi, dword [ecx + ebp*2 + 0x61], 0x6d69546c
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x72475f72
insd dword es:[edi], dx
jb 0x10070a8
inc edi
jb 0x10070ad
popal
insd dword es:[edi], dx
xor dword [edi], esi
aaa
add byte [edi + 0x6e], cl
push ebx
je 0x10070b6
jb 0x10070cb
inc esi
outsd dx, dword [esi]
dec esp
inc edi
pop edi
jae 0x10070ed
push ebx
push edx
inc ebp
push esp