Function at 0x1007147
Capabilities:
Execute anti-debugging instructions

Disassembly:
push edx
dec edi
inc ebx
inc ebp
push ebx
push ebx
pop edi
dec ecx
dec esi
inc esi
dec edi
push edx
dec ebp
inc ecx
push esp
dec ecx
dec edi
dec esi
add byte [ebx + 0x54], dl
inc ecx
push edx
push esp
push ebp
push eax
dec ecx
dec esi
inc esi
dec edi
add byte [edi + 0x54], dl
push ebx
pop edi
push ebx
inc ebp
push ebx
push ebx
dec ecx
dec edi
dec esi
pop edi
dec ecx
dec esi
inc esi
dec edi
add byte [ebx + 0x79], dl
jae 0x10071ef
insd dword es:[edi], dx
dec ecx
dec edi
add byte [edi + eax*2 + 0x5f], cl
inc edi
jb 0x10071e8
insd dword es:[edi], dx
xor dword [edi], esi
push edx
add byte [ebx + 0x45], dl
inc ebx
push ebp
push edx
dec ecx
push esp
pop ecx
pop edi
inc ecx
push esp
push esp
push edx
dec ecx
inc edx
push ebp
push esp
inc ebp
push ebx
add byte [edi + 0x54], dl
push ebx
pop edi
inc ebx
dec edi
dec esi
dec esi
inc ebp
inc ebx
push esp
push ebx
push esp
inc ecx
push esp
inc ebp
pop edi
inc ebx
dec esp
inc ecx
push ebx
push ebx
add byte [ebx + 0x54], dl
inc ecx
push edx
push esp
inc esi
pop edi
push ebp
push ebx
inc ebp
push ebx
dec eax
dec edi
push edi
push edi
dec ecx
dec esi
inc esp
dec edi
push edi
add byte [edi + esi*2 + 0x58], ah
add byte [edi + esi*2 + 0x59], ah
add byte [esi + 0x61], dh
insb byte es:[edi], dx
jne 0x100723e
pop edi
pop edi
add byte [eax + 0x72], dl
outsd dx, dword [esi]
jo 0x1007246
jb 0x1007257
jns 0x1007229
popal
je 0x1007249
add byte [ebx + 0x62], ah
add byte [ebp + 0x73], ch
arpl word [edi + 0x72], bp
insb byte es:[edi], dx
outsd dx, dword [esi]
jb 0x100725e
imul esp, dword [edx], 0x74737953
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x1007236
inc edi
outsb dx, byte gs:[esi]
jb 0x1007277
arpl word [eax], ax
ja 0x1007267
push 0x64616572
dec ecx
add byte fs:[ebx + 0x65], dh
jae 0x1007292
imul ebp, dword [edi + 0x6e], 0x64006449
ja 0x1007278
jb 0x1007299
outsd dx, dword [esi]
arpl word [ebp + 0x73], sp
jae 0x1007278
add byte fs:[eax + 0x54], ch
push 0x64616572
add byte [eax + 0x6c], dl
popal
add byte fs:[eax + 0x6c], dl
popal
je 0x100728b
jb 0x1007286
jbe 0x10072a8
outsb dx, byte [esi]
je 0x100729a
push 0x64616572
add byte [ebp + 0x61], cl
popal
add byte fs:[ebp + 0x61], cl
imul esp, dword [ebp + 0x53], 0x75
jb 0x10072b9
inc esp
jbe 0x10072c1
imul esp, dword [ebx + 0x65], 0x62616e45
arpl word [ebp + 0x45], sp
outsb dx, byte [esi]
popal
bound ebp, qword [ebp + 0x64]
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
add byte fs:[ebx + 0x65], dl
je 0x10072aa
jbe 0x10072d2
jbe 0x10072d2
arpl word [ebp + 0x45], sp
outsb dx, byte [esi]
popal
bound ebp, qword [ebp + 0x64]
add byte [ecx + 0x64], ah
pop edi
inc ebp
insb byte es:[edi], dx
popal
jo 0x10072ef
add byte fs:[edx + 0x65], dl
jae 0x10072f8
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x6c455f72
inc ebp
insb byte es:[edi], dx
popal
jo 0x1007303
add byte fs:[ecx + 0x6e], cl
add byte [ecx + 0x6e], cl
imul esi, dword [ecx + ebp*2 + 0x61], 0x6d69546c
jb 0x10072ff
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x6c455f72
inc ebp
insb byte es:[edi], dx
popal
jo 0x1007318
add byte fs:[edi + ebp*2 + 0x67], cl
dec edi
dec esp
outsd dx, dword [esi]
dec edi
outsb dx, byte [esi]
push esp
imul ebp, dword [ebp + 0x65], 0x6c455f72
popal
jo 0x100732b
add byte fs:[edi + 0x54], dl
add byte fs:[edi + 0x54], dl
push ebx
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
arpl word gs:[ebp + 0x64], si
arpl word [ebp + 0x64], si
add byte [edi + 0x54], dl
push ebx
inc esp
imul esi, dword [ebx + 0x63], 0x656e6e6f
arpl word [ebp + 0x64], si
arpl word gs:[ebp + 0x64], si
add byte [eax + esi*2 + 0x52], ch
jae 0x1007343
jb 0x1007356
add byte fs:[edi + 0x75], al
imul esp, dword [eax + eax + 0x47], 0x5f444955
push ebx
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x76], si
push ebx
jne 0x100736c
jae 0x100736a
jo 0x1007360
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
add byte fs:[ebp + 0x43], dl
inc ebx
push ebx
dec ecx
pop edi
push edi
outsd dx, dword [esi]
jb 0x1007372
popal
jb 0x1007379
jne 0x100737a
add byte fs:[ebp + 0x53], dl
inc edx
pop edi
push eax
outsd dx, dword [esi]
jb 0x100738a
push edx
jae 0x100737f
jae 0x100737f
je 0x100737b
push edi
outsd dx, dword [esi]
jb 0x100738b
popal
jb 0x1007392
jne 0x1007393
add byte fs:[ecx + 0x6e], cl
jbe 0x100739a
imul esp, dword [ebp + 0x4d], 0x65
je 0x1007399
outsd dx, dword [esi]
add byte fs:[ebx + 0x65], dh
je 0x1007397
push eax
popal
jae 0x10073af
ja 0x10073ad
jb 0x10073a4
add byte [edx + esi*2 + 0x61], dl
popal
arpl word [ebp], sp
inc edi
je 0x1007391
popal
imul ebp, dword [ebp + 0x64], 0x44627355
jbe 0x10073c0
imul esp, dword [ebx + 0x65], 0x6f6c4300
arpl word [ebp], sp
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x10073c4
inc esp
jbe 0x10073cc
arpl word [ebp], sp
dec edi
jo 0x10073ce
outsb dx, byte [esi]
inc esp
jbe 0x10073d7
jbe 0x10073d7
arpl word [ebp], sp
inc edi
je 0x10073d4
inc ecx
jne 0x10073dc
imul ebp, dword [edi + 0x44], 0x63697665
outsd dx, dword [esi]
inc esp
jbe 0x10073e7
arpl word [ebp], sp
push ebx
je 0x10073e4
add byte gs:[ebx + 0x65], dl
je 0x10073e4
inc ecx
jne 0x10073ec
imul ebp, dword [edi + 0x44], 0x63697665
add byte gs:[eax + 0x6c], dl
inc esp
jbe 0x10073f7
arpl word [ebp], sp
push eax
insb byte es:[edi], dx
popal
je 0x10073fc
outsd dx, dword [esi]
jb 0x1007406
dec ebp
jb 0x10073f0
push ebx
jb 0x100741e
imul esp, dword [ebx + 0x65], 0x72617453
popal
je 0x10073fe
add byte gs:[ebp + 0x6e], ah
outsb dx, byte gs:[esi]
add byte [ebp + 0x6e], al
jo 0x1007455
jae 0x1007449
popal
bound ebp, qword [ebp]
push edi
push esp
inc ebx
insb byte es:[edi], dx
imul ebp, dword [esp + 0x50], 0x4e636f72
popal