Function at 0x4031a5
Capabilities:
Check for time delay via gettickcount
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
cmp dword [ebp + 0x10], 0
jne 0x4031ca
mov dword [ebp - 0x6c], 0x410c60
mov dword [ebp - 0x68], 0x8000
jmp 0x4031d3
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], edx
test eax, eax
js 0x4031e9
sub esp, 0xc
add eax, dword [0x7a34f8]
push eax
call fcn.00403150
add esp, 0xc
lea eax, [ebp - 0x10]
push esi
push esi
push 4
push eax
call fcn.0040316c
pop edx
test eax, eax
pop ecx
je 0x4033cf
mov eax, dword [ebp - 0x10]
test eax, eax
jns 0x40335f
call sub.KERNEL32.dll_GetTickCount
xor esi, esi
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x10]
and eax, 0x7fffffff
mov byte [0x420ca0], 0xb
mov dword [0x420cb8], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], eax
jmp 0x403352
mov ebx, eax
cmp eax, 0x4000
jle 0x403247
mov ebx, 0x4000
push edi
push edi
push ebx
push 0x40cc60
call fcn.0040316c
pop edx
test eax, eax
pop ecx
je 0x4033cf
sub dword [ebp - 0x10], ebx
mov dword [0x420c90], 0x40cc60
mov dword [0x420c94], ebx
sub esp, 0xc
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [0x420c98], edx
mov dword [0x420c9c], eax
push 0x420c90
call fcn.00406e50
add esp, 0xc
mov dword [ebp - 0x60], eax
test eax, eax
jns 0x4032a3
mov esi, 0xfffffffc
jmp 0x4033db
mov ebx, dword [0x420c98]
sub ebx, dword [ebp - 0x6c]
call sub.KERNEL32.dll_GetTickCount
test byte [0x7a3484], 1
mov edi, eax
je 0x4032ff
sub eax, dword [ebp - 0x64]
cmp eax, 0xc8
ja 0x4032cc
cmp dword [ebp - 0x10], 0
jne 0x4032ff
push eax
mov eax, dword [ebp - 0x70]
push dword [ebp - 0x70]
sub eax, dword [ebp - 0x10]
push 0x64
push eax
call sub.KERNEL32.dll_MulDiv
lea edx, [ebp - 0x54]
push eax
push str....__d__
push edx
call sub.USER32.dll_wsprintfA
pop ecx
pop eax
lea eax, [ebp - 0x54]
push eax
push 0
call fcn.00403dcf
mov dword [ebp - 0x64], edi
pop eax
pop edx
test ebx, ebx
je 0x403352
cmp dword [ebp + 0x10], 0
jne 0x403336
sub esp, 0xc
lea edx, [ebp - 0x14]
push 0
push edx
push ebx
push dword [ebp - 0x6c]
push dword [ebp + 0xc]
call sub.KERNEL32.dll_WriteFile
add esp, 0xc
test eax, eax
je 0x4033d6
cmp dword [ebp - 0x14], ebx
jne 0x4033d6
add esi, ebx
jmp 0x403343
sub dword [ebp - 0x68], ebx
mov eax, dword [0x420c98]
add esi, ebx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x60], 4
je 0x4033db
jmp 0x403271
mov eax, dword [ebp - 0x10]
test eax, eax
jg 0x403239
jmp 0x4033db
cmp dword [ebp + 0x10], 0
jne 0x4033b6
xor esi, esi
lea edi, [ebp - 0x14]
jmp 0x4033ad
mov ebx, dword [ebp - 0x68]
cmp ebx, eax
jle 0x403375
mov ebx, eax
push eax
push eax
push ebx
push 0x40cc60
call fcn.0040316c
pop edx
test eax, eax
pop ecx
je 0x4033cf
sub esp, 0xc
push 0
push edi
push ebx
push 0x40cc60
push dword [ebp + 0xc]
call sub.KERNEL32.dll_WriteFile
add esp, 0xc
test eax, eax
je 0x4033d6
cmp ebx, dword [ebp - 0x14]
jne 0x4033d6
sub dword [ebp - 0x10], ebx
add esi, ebx
mov eax, dword [ebp - 0x10]
test eax, eax
jg 0x40336c
jmp 0x4033db
cmp ebx, eax
jle 0x4033bc
mov ebx, eax
push esi
push esi
push ebx
mov esi, ebx
push dword [ebp + 0x10]
call fcn.0040316c
pop edx
test eax, eax
pop ecx
jne 0x4033db
mov esi, 0xfffffffd
jmp 0x4033db
mov esi, 0xfffffffe
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret 0x10