Function at 0x40116c
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 [0x408040]
shl eax, 1
mov dword [0x40803c], eax
push 0x3ff
push 0x40ef10
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4011b0
mov eax, dword [0x40803c]
mov ecx, dword [0x408040]
lea eax, [ecx + eax - 9]
mov dword [0x40803c], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x408040]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x408040], eax
push 0x40f320
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x40ef10
call section..text
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [0x408040]
imul eax, dword [0x408040]
sub eax, 3
mov dword [0x40803c], eax
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x40ef10
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4013ce
mov eax, dword [0x40803c]
mov ecx, dword [0x408040]
lea eax, [ecx + eax - 9]
mov dword [0x40803c], eax
mov eax, dword [0x408040]
add eax, 7
mov dword [0x40803c], eax
push 2
push 0
push 0xfffffffffffffff0
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [0x408040]
xor edx, edx
push 0xc
pop ecx
div ecx
mov dword [0x408040], eax
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
lea eax, [ebp - 8]
push eax
push 4
push 0x40f318
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x408040]
shl eax, 1
mov dword [0x40803c], eax
mov eax, dword [0x40803c]
imul eax, eax, 0x63
mov dword [0x40803c], 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 [0x408040]
add eax, 8
mov dword [0x408040], eax
mov eax, dword [0x408040]
imul eax, dword [0x408040]
sub eax, 3
mov dword [0x40803c], 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]
mov eax, dword [0x408040]
shl eax, 3
mov dword [0x408040], eax
mov eax, dword [0x40803c]
imul eax, dword [0x408040]
mov ecx, dword [0x408040]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x40803c], 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 [0x408040]
imul eax, dword [0x408040]
sub eax, 3
mov dword [0x40803c], eax
mov eax, dword [0x40803c]
sub eax, 4
mov dword [0x408040], eax
cmp dword [ebp - 0xc], 0x221c
jne 0x40138b
mov eax, dword [0x40803c]
imul eax, dword [0x408040]
mov ecx, dword [0x408040]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x40803c], eax
mov eax, dword [ebp - 0x14]
mov dword [0x408034], eax
mov eax, dword [0x40803c]
imul eax, eax, 0x63
mov dword [0x40803c], eax
mov eax, dword [ebp - 0x18]
mov dword [0x408030], eax
mov eax, dword [0x40803c]
sub eax, 4
mov dword [0x408040], eax
jmp 0x4013a7
mov eax, dword [0x40803c]
mov ecx, dword [0x408040]
lea eax, [ecx + eax - 9]
mov dword [0x40803c], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x40803c]
imul eax, dword [0x408040]
mov ecx, dword [0x408040]
imul ecx, ecx, 5
sub eax, ecx
mov dword [0x40803c], eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4013e1
push 0x40f320
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x408040]
imul eax, dword [0x408040]
sub eax, 3
mov dword [0x40803c], eax
leave
ret