Function at 0x403150
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x431040]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
push edi
push 0x80
lea eax, [esp + 0x8c]
mov esi, edx
mov edi, ecx
mov dword [esp + 0x4c], esi
push 0
push eax
mov dword [esp + 0x90], edi
call fcn.0040b2a0
mov al, byte [edi + 4]
add esp, 0xc
mov byte [esp + 0xf], al
movzx eax, al
cmp eax, 0xa
ja case.default.0x4031a5
jmp dword [eax*4 + 0x4038b4]
mov word [esp + 0x48], 0x5c1
call fcn.0040cd00
and eax, 0x800000ff
jns 0x4031c6
dec eax
or eax, 0xffffff00
inc eax
mov byte [esp + 0x4a], al
mov al, byte [esp + 0xf]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x48]
push 5
push eax
push esi
mov byte [esp + 0x57], 3
call fcn.004085a0
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0040971a
mov esp, ebp
pop ebp
ret
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x40326b
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
push str.DUMP_DETECTION
movaps xmm0, xmmword [esp + 0x64]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.DUMP_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x4032f8
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.EXECUTABLE_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.EXECUTABLE_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x403385
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.FILE_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.FILE_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x403412
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.FILE_MAPPING_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.FILE_MAPPING_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x40349f
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.LIBRARY_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.LIBRARY_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x40352c
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.REGISTRY_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.REGISTRY_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x4035b9
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.MEMORY_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.MEMORY_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x403646
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.WINDOW_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.WINDOW_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x4036d3
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.MACRO_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.MACRO_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x403760
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
push str.DEBUGGER_DETECTION
movaps xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037fa
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.DEBUGGER_DETECTION
jmp 0x4037fa
imul esi, esi, 0x54
movups xmm0, xmmword [esi + 0x437940]
mov eax, dword [esi + 0x437960]
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esi + 0x437950]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x34], eax
mov eax, dword [0x435b5c]
cmp eax, dword [0x435b60]
je 0x4037e5
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [eax + 0x20], xmm0
add dword [0x435b5c], 0x28
jmp 0x4037f5
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, 0x435b58
call fcn.00403ff0
push str.DEFAULT_DETECTION
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x8c]
add esp, 8
mov edi, 0x437940
mov word [esp + 0x7c], 0x5c1
mov al, byte [eax + 4]
mov byte [esp + 0xf], al
call fcn.0040cd00
and eax, 0x800000ff
jns 0x403838
dec eax
or eax, 0xffffff00
inc eax
mov byte [esp + 0x7e], al
mov al, byte [esp + 0xf]
mov byte [esp + 0x80], al
lea eax, [esp + 0x7c]
push 5
push eax
push dword [esp + 0x50]
mov byte [esp + 0x8b], 3
call fcn.004085a0
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x5b]
push eax
lea eax, [ecx + 0x1b]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [edi + esi]
push eax
lea eax, [esi + 0x437924]
push eax
lea eax, [ecx + 0x10]
push eax
lea eax, [ecx + 5]
push eax
push str._HackDetected___s___s__IpAddress:__s__HardwareId:__s__DetectionType:__s__CaptionName:__s__ProcessName:__s
push 1
push 0x435b70
call fcn.00405010
mov ecx, dword [esp + 0x134]
add esp, 0x28
pop edi
pop esi
xor ecx, esp
call fcn.0040971a
mov esp, ebp
pop ebp
ret