Function at 0x401190
Capabilities:
Check for time delay via queryperformancecounter
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x405018]
shl eax, 1
mov dword [0x405014], eax
push 0x3ff
push 0x40b6b0
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
test eax, eax
jne 0x4011d0
mov eax, dword [0x405018]
add eax, 7
mov dword [0x405014], eax
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], eax
push 0x40bac0
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push 0x40b6b0
call section..text
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [0x405014]
imul eax, dword [0x405018]
mov ecx, dword [0x405018]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x405014], eax
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x40b6b0
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [ebp - 0xac], eax
push 0x40bac0
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
cmp dword [ebp - 0xac], 0xffffffff
je 0x4013d8
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], eax
push 2
push 0
push 0xfffffffffffffff0
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
mov eax, dword [0x405018]
shl eax, 1
mov dword [0x405014], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
push 0x40bab8
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 0
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 0x40bac0
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
mov eax, dword [0x405014]
mov ecx, dword [0x405018]
lea eax, [ecx + eax - 9]
mov dword [0x405014], eax
push dword [ebp - 0xc]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push dword [0x40bab8]
push str._d__d__d__d
lea eax, [ebp - 0x8c]
push eax
call fcn.0040380b
add esp, 0x18
cmp dword [ebp - 0xc], 0x221c
jne 0x40138a
mov eax, dword [0x405014]
imul eax, eax, 0x63
mov dword [0x405014], eax
mov eax, dword [ebp - 0x94]
mov dword [0x40500c], eax
mov eax, dword [0x405014]
imul eax, dword [0x405018]
mov ecx, dword [0x405018]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x405014], eax
mov eax, dword [ebp - 0x98]
mov dword [0x405008], eax
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
jmp 0x4013ae
mov eax, dword [0x405014]
imul eax, dword [0x405018]
mov ecx, dword [0x405018]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x405014], eax
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 0x40bac0
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
jmp 0x401404
mov eax, dword [0x405014]
imul eax, dword [0x405018]
mov ecx, dword [0x405018]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x405014], eax
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], eax
leave
ret