Function at 0x401170
Capabilities:
Check for debugger via api
Check for outputdebugstring error
Check for peb beingdebugged flag
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1c8
mov eax, dword [0x408040]
xor eax, esp
mov dword [esp + 0x1c4], eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x40144b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
test eax, eax
je 0x4011c8
cmp dword [esp + 0x34], 0
setne al
test al, al
jne 0x40144b
mov dword [esp + 0x34], 0
xor eax, eax
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
jne 0x40144b
call fcn.00401470
test al, al
jne 0x40144b
mov edi, dword [sym.imp.USER32.dll_FindWindowW]
lea esi, [esp + 0x38]
mov dword [esp + 0x38], str.Qt5QWindowIcon
mov dword [esp + 0x3c], str.OLLYDBG
mov dword [esp + 0x40], 0x405268
mov dword [esp + 0x44], str.binaryninja
mov dword [esp + 0x48], str.CFF_Explorer
mov dword [esp + 0x4c], str.x64dbg
mov dword [esp + 0x50], 0x4052b4
mov dword [esp + 0x54], 0x4052bc
mov dword [esp + 0x58], str.WinDbgFrameClass
mov dword [esp + 0x5c], str.Scylla
mov dword [esp + 0x60], str.PROCMON_WINDOW_CLASS
mov dword [esp + 0x64], str.ImmunityDebugger
mov dword [esp + 0x68], str.disassembly
mov dword [esp + 0x6c], str.ResourceHacker
mov dword [esp + 0x70], str.Cheat_Engine
mov dword [esp + 0x74], str.ghidra
mov dword [esp + 0x78], str.OllyDbg
mov dword [esp + 0x7c], str.x32dbg
mov dword [esp + 0x80], str.DbgViewClass
mov dword [esp + 0x84], str.DbgMainWndClass
mov dword [esp + 0x88], str.WinHex
mov dword [esp + 0x8c], str.radare2
mov dword [esp + 0x90], str.Cutter
mov dword [esp + 0x94], str.010_Editor
mov dword [esp + 0x98], str.HexWorkshop
mov dword [esp + 0x9c], str.PEiD
mov dword [esp + 0xa0], str.PE_Explorer
mov dword [esp + 0xa4], str.LordPE
mov dword [esp + 0xa8], str.antidbg
mov dword [esp + 0xac], str.ntdll.dll
mov dword [esp + 0xb0], str.ObsidianGUI
mov dword [esp + 0xb4], str.Rock_Debugger
mov dword [esp + 0xb8], str.SunAwtFrame
mov dword [esp + 0xbc], str.Zeta_Debugger
push 0
push dword [esi]
call edi
test eax, eax
jne 0x40144b
add esi, 4
lea eax, [esp + 0xc0]
cmp esi, eax
jne 0x401342
call fcn.00401500
test al, al
jne 0x40144b
call fcn.00401b80
test al, al
jne 0x40144b
mov esi, dword [sym.imp.KERNEL32.dll_HeapWalk]
xorps xmm0, xmm0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
movaps xmmword [esp + 0x10], xmm0
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x28], 0
nop word [eax + eax]
lea eax, [esp + 0x10]
push eax
call edi
push eax
call esi
test eax, eax
je 0x4013cb
cmp word [esp + 0x1a], 4
jne 0x4013a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp dword [ecx + eax], 0xabababab
je 0x40144b
call fcn.00401fb0
test al, al
jne 0x40144b
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push str.NinjaDBG_caught_you_in_the_act_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x40144b
push 0x104
lea eax, [esp + 0xc4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40142c
push 0
push 0
push 3
push 0
push 0
push 0x80000000
lea eax, [esp + 0xd8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
je 0x40144b
test byte [0x7ffe02d4], 3
jne 0x40144b
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x1c4]
xor ecx, esp
call fcn.00402ccc
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1cc]
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.00402ccc
mov esp, ebp
pop ebp
ret