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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], eax
push 0x3ff
push 0x40b668
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4011b0
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x405018]
imul eax, dword [0x405018]
sub eax, 3
mov dword [0x405014], eax
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
push 0x40b668
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 0x40b668
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x405018]
add eax, 8
mov dword [0x405018], eax
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4013a4
mov eax, dword [0x405014]
imul eax, eax, 0x63
mov dword [0x405014], eax
mov eax, dword [0x405014]
sub eax, 4
mov dword [0x405018], eax
push 2
push 0
push 0xfffffffffffffff0
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0x40ba78
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
lea eax, [ebp - 8]
push eax
push 4
push 0x40ba70
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x405018]
shl eax, 1
mov dword [0x405014], eax
mov eax, dword [0x405014]
sub eax, 4
mov dword [0x405018], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x405018]
shl eax, 3
mov dword [0x405018], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0x40ba78
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [0x405014]
mov ecx, dword [0x405018]
lea eax, [ecx + eax - 9]
mov dword [0x405014], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
cmp dword [ebp - 0xc], 0x221c
jne 0x401373
mov eax, dword [0x405018]
add eax, 8
mov dword [0x405018], eax
mov eax, dword [0x405014]
sub eax, 4
mov dword [0x405018], eax
mov eax, dword [ebp - 0x14]
mov dword [0x40500c], eax
mov eax, dword [0x405018]
add eax, 7
mov dword [0x405014], eax
push 0x40ba78
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x18]
mov dword [0x405008], eax
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
jmp 0x40137b
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x405014]
sub eax, 4
mov dword [0x405018], eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x405018]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x405018], eax
jmp 0x4013c0
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x405018]
add eax, 7
mov dword [0x405014], eax
leave
ret