Function at 0x40119d
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]
add eax, 7
mov dword [0x405014], eax
push 0x3ff
push 0x40b6b0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4011dc
push 0x40bac0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x405018]
shl eax, 1
mov dword [0x405014], 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 0x40b6b0
call section..text
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], 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
mov eax, dword [0x405014]
mov ecx, dword [0x405018]
lea eax, [ecx + eax - 9]
mov dword [0x405014], eax
cmp dword [ebp - 0xac], 0xffffffff
je 0x4013f2
mov eax, dword [0x405014]
sub eax, 4
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, 3
mov dword [0x405018], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
push 0x40bab8
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.dll_ReadFile]
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
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]
mov eax, dword [0x405018]
add eax, 8
mov dword [0x405018], eax
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 0
call dword [sym.imp.KERNEL32.dll_Sleep]
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 [0x405018]
shl eax, 3
mov dword [0x405018], 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.0040383a
add esp, 0x18
cmp dword [ebp - 0xc], 0x221c
jne 0x4013aa
mov eax, dword [0x405018]
imul eax, dword [0x405018]
sub eax, 3
mov dword [0x405014], eax
mov eax, dword [ebp - 0x94]
mov dword [0x40500c], eax
push 0x40bac0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x98]
mov dword [0x405008], eax
mov eax, dword [0x405018]
add eax, 8
mov dword [0x405018], eax
jmp 0x4013bf
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], 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]
mov eax, dword [0x405014]
mov ecx, dword [0x405018]
lea eax, [ecx + eax - 9]
mov dword [0x405014], eax
jmp 0x401407
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
leave
ret