Function at 0x418f94
Capabilities:
Check for time delay via gettickcount
Read file on windows
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x4885b4]
mov edx, dword [eax]
sub esp, 0x44c
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, 0x104
push edi
lea esi, [esp + 0x4c]
call fcn.00417e96
mov eax, esi
push str.DebugCrashReport
push eax
mov esi, edi
push str.__s___exe__s
lea edi, [esp + 0x25c]
call fcn.00417ed8
add esp, 0xc
mov eax, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004189e3
cmp dword [esp + 0x1c], 0xffffffff
jne 0x419007
mov edi, dword [ebp + 8]
lea esi, [esp + 0x14]
mov dword [edi], 2
call fcn.004104b4
mov eax, edi
jmp 0x4190da
xor esi, esi
push esi
lea eax, [esp + 0x3c]
push eax
push 0x944
push dword [ebp + 0x10]
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
call dword [eax]
test al, al
jne 0x419277
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
jmp 0x419090
lea esi, [esp + 0x14]
call fcn.00410502
test al, al
jne 0x41909a
mov eax, esi
push eax
call fcn.004104de
test eax, eax
jne 0x41909a
push 0xc8
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebx]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, ebx
call dword [eax + 8]
cmp dword [eax], 1
je 0x41909a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x6ddd00
ja 0x4192b4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
test al, al
je 0x419045
lea eax, [esp + 0x14]
call fcn.00418f7f
test al, al
jne 0x419259
lea esi, [esp + 0x14]
call fcn.00410502
test al, al
jne 0x419259
push dword [esp + 0x2c]
mov ebx, dword [ebp + 8]
mov dword [ebx], 2
call fcn.0043f1ec
pop ecx
lea esi, [esp + 0x14]
call fcn.004104b4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [esp + 0x14]
call fcn.00410502
test al, al
je 0x419267
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
xor esi, esi
push esi
lea eax, [esp + 0x44]
push eax
push 1
lea eax, [esp + 0x1f]
push eax
push dword [esp + 0x2c]
mov byte [esp + 0x27], 0
call edi
cmp dword [esp + 0x40], 1
jne 0x4190bc
cmp byte [esp + 0x13], 0x80
jb 0x419178
push esi
lea eax, [esp + 0x40]
push eax
push 2
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x2c]
mov dword [esp + 0x34], esi
call edi
movzx eax, word [esp + 0x20]
inc eax
push eax
lea esi, [esp + 0x30]
call fcn.0040945b
movzx eax, word [esp + 0x20]
movzx esi, word [esp + 0x20]
mov edi, dword [esp + 0x2c]
add eax, eax
push eax
push edi
lea eax, [esp + 0x1c]
push eax
add esi, esi
call fcn.00410520
cmp eax, esi
jne 0x4192d0
and word [esi + edi], 0
xor esi, esi
jmp 0x41917c
mov edi, dword [esp + 0x2c]
movzx eax, byte [esp + 0x13]
cmp eax, 0x12
jg 0x419202
je 0x4191f9
cmp eax, esi
jl 0x419259
cmp eax, 1
jle 0x4192ec
push 2
pop esi
cmp eax, esi
je 0x4192e1
cmp eax, 0x10
je 0x4191be
cmp eax, 0x11
jne 0x419259
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
jmp 0x419259
fld1
push 0
lea eax, [esp + 0x3c]
fstp qword [esp + 0x24]
push eax
push 8
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x38], 8
jne 0x4192d6
fld qword [esp + 0x20]
mov eax, dword [ebx]
push ecx
push ecx
mov ecx, ebx
fstp qword [esp]
call dword [eax + 0x24]
jmp 0x419259
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2c]
jmp 0x419259
sub eax, 0x80
je 0x419246
dec eax
je 0x419230
dec eax
je 0x419221
dec eax
jne 0x419259
cmp edi, esi
mov eax, edi
jne 0x41921d
mov eax, 0x459720
push 2
jmp 0x41923c
cmp edi, esi
mov eax, edi
jne 0x41922c
mov eax, 0x459720
push 1
jmp 0x41923c
cmp edi, esi
mov eax, edi
jne 0x41923b
mov eax, 0x459720
push esi
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
jmp 0x419259
cmp edi, esi
mov eax, edi
jne 0x419251
mov eax, 0x459720
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
test al, al
je 0x4190e3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
test al, al
je 0x41903b
xor esi, esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
test al, al
je 0x4190bc
lea eax, [esp + 0x14]
call fcn.00418f7f
test al, al
je 0x419352
push esi
lea eax, [esp + 0x40]
push eax
push 1
lea eax, [esp + 0x1f]
push eax
push dword [esp + 0x28]
mov byte [esp + 0x27], 0xff
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x419330
cmp dword [esp + 0x14], 0xffffffff
je 0x4190bc
push 1
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x4190bc
push edi
jmp 0x4190c0
mov ebx, dword [ebp + 8]
mov dword [ebx], esi
push edi
jmp 0x4190c9
mov ebx, dword [ebp + 8]
mov dword [ebx], 1
jmp 0x4192db
mov ebx, 0x944
push ebx
push dword [ebp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.00410520
cmp eax, ebx
jne 0x4192d0
cmp byte [esp + 0x13], 1
mov ebx, dword [ebp + 8]
push edi
jne 0x4190c3
mov dword [ebx], esi
jmp 0x4190c9
mov eax, dword [ebx]
push 0xc8
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
call dword [eax + 4]
cmp esi, 5
je 0x41933f
inc esi
lea eax, [esp + 0x14]
call fcn.00418f7f
test al, al
jne 0x419319
jmp 0x419352
cmp dword [esp + 0x14], 0xffffffff
je 0x419352
push 1
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, dword [ebp + 8]
push dword [esp + 0x2c]
mov dword [ebx], 1
jmp 0x4190c9