Function at 0x401275
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Resolve path using msvcrt
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push 0x4019d8
push 0x4019c8
mov eax, dword [eax]
mov dword [0x40316c], eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov eax, dword [ebp - 4]
cmp byte [eax], 0x22
jne 0x4012a9
inc dword [ebp - 4]
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll___p__pgmptr]
push esi
push edi
call ebx
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
call ebx
mov eax, dword [eax]
push esi
push eax
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsnbicmp]
mov esi, dword [sym.imp.MSVCRT.dll__ismbcspace]
add esp, 0xc
test eax, eax
je 0x401b53
mov edx, dword [0x40316c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x401b5c
mov edi, dword [0x40316c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp byte [eax], 0x22
jne 0x401328
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
call esi
test eax, eax
pop ecx
je 0x40134b
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov dword [ebp - 4], eax
movsx eax, byte [eax]
push eax
call esi
pop ecx
jmp 0x401331
mov ebx, dword [sym.imp.MSVCRT.dll__mbsnbcmp]
push 2
push 0x4019a0
push dword [ebp - 4]
call ebx
mov edi, eax
push 2
neg edi
push 0x40199c
push dword [ebp - 4]
sbb edi, edi
inc edi
call ebx
add esp, 0x18
test eax, eax
jne 0x401baa
add dword [ebp - 4], 2
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
call esi
test eax, eax
pop ecx
je 0x4013a2
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov dword [ebp - 4], eax
movsx eax, byte [eax]
push eax
call esi
pop ecx
jmp 0x401388
test edi, edi
jne 0x401bbc
lea eax, [ebp - 4]
push 0xa
push eax
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll_strtoul]
mov dword [0x403164], eax
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
call esi
add esp, 0x10
test eax, eax
je 0x401bc9
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
call esi
test eax, eax
pop ecx
je 0x4013f5
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov dword [ebp - 4], eax
movsx eax, byte [eax]
push eax
call esi
pop ecx
jmp 0x4013db
mov eax, dword [ebp - 4]
cmp byte [eax], 0
je 0x401bd3
push 2
push 0x401998
push dword [ebp - 4]
call ebx
add esp, 0xc
test eax, eax
jne 0x401c8d
and dword [ebp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [ebp - 4], 2
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [ebp - 8], 0
movsx eax, byte [eax]
push eax
call esi
test eax, eax
pop ecx
je 0x40144f
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov dword [ebp - 4], eax
movsx eax, byte [eax]
push eax
call esi
pop ecx
jmp 0x401435
push 0x401994
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbstok]
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x4014ce
mov ebx, dword [sym.imp.MSVCRT.dll_fflush]
movsx eax, byte [edi]
push eax
call esi
test eax, eax
pop ecx
jne 0x401bdd
push 8
push 0x4019a4
push edi
call dword [sym.imp.MSVCRT.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
jne 0x4014e2
movsx eax, byte [edi + 8]
add edi, 8
push eax
call esi
pop ecx
test eax, eax
push edi
jne 0x401bf2
call dword [sym.imp.MSVCRT.dll_puts]
mov eax, dword [sym.imp.MSVCRT.dll__iob]
add eax, 0x20
push eax
call ebx
pop ecx
pop ecx
inc dword [ebp + 0xc]
push 0x401994
push 0
call dword [sym.imp.MSVCRT.dll__mbstok]
mov edi, eax
pop ecx
test edi, edi
pop ecx
jne 0x40146b
push dword [0x403164]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret
push 8
push 0x4019b0
push edi
call dword [sym.imp.MSVCRT.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
je 0x401c06
push 9
push 0x4019bc
push edi
call dword [sym.imp.MSVCRT.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
je 0x401c6a
push edi
call fcn.00401523
test eax, eax
je 0x4014b6
jmp 0x401c7a
call ebx
mov edi, dword [eax]
jmp 0x401310
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
call esi
test eax, eax
pop ecx
je 0x401b7f
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov dword [ebp - 4], eax
movsx eax, byte [eax]
push eax
call esi
pop ecx
jmp 0x401b65
mov eax, dword [ebp - 4]
mov al, byte [eax]
test al, al
je 0x401328
movsx eax, al
push eax
call esi
test eax, eax
pop ecx
jne 0x401328
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll__mbsinc]
pop ecx
mov dword [ebp - 4], eax
jmp 0x401b82
test edi, edi
jne 0x40137b
call fcn.00401b13
jmp 0x40137b
push dword [ebp - 4]
call fcn.00401e71
jmp 0x4014dd
call fcn.00401b13
jmp 0x4013d2
call fcn.00401b13
jmp 0x401401
push edi
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov edi, eax
movsx eax, byte [edi]
push eax
call esi
pop ecx
jmp 0x401471
call dword [sym.imp.MSVCRT.dll__mbsinc]
mov edi, eax
movsx eax, byte [edi]
push eax
call esi
pop ecx
jmp 0x401499
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
xor edx, edx
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov edi, 0x3e8
push 0x64
mov eax, ecx
div edi
pop edi
mov eax, edx
xor edx, edx
div edi
xor edx, edx
mov edi, 0xea60
push eax
mov eax, ecx
div edi
mov edi, 0x3e8
mov eax, edx
xor edx, edx
div edi
xor edx, edx
push eax
mov eax, ecx
mov ecx, 0xea60
div ecx
push eax
push 0x401ae8
call dword [sym.imp.MSVCRT.dll_printf]
mov eax, dword [sym.imp.MSVCRT.dll__iob]
add eax, 0x20
push eax
call ebx
add esp, 0x14
jmp 0x4014b6
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4014b6
mov ecx, dword [ebp + 0xc]
movzx eax, ax
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 8], ecx
jmp 0x4014ce
push dword [ebp - 4]
call fcn.00401523
mov dword [ebp - 8], eax
jmp 0x4014ce