Function at 0x43f750
Capabilities:
Check for time delay via gettickcount
Enumerate files on windows
Enumerate files recursively
Timestomp file

Disassembly:
sub esp, 0x3ec
push ebx
push ebp
push esi
mov esi, dword [0x49f430]
mov ebx, ecx
xor ebp, ebp
cmp byte [esp + 0x410], 0
push edi
mov edi, dword [esp + 0x404]
mov dword [esp + 0x20], ebx
jne 0x43f7e8
cmp byte [edi], 0
jne 0x43f7d1
mov eax, esi
cmp byte [eax + 0xe0], 0
mov dword [eax + 0x30], 0x57
jne 0x43f7b2
mov eax, dword [0x4a3434]
push eax
or eax, 0xffffffff
mov ecx, 0x493f08
call fcn.004011f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18
push 0x4927e9
push ebp
push 0x493f08
call fcn.0042c9e0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18
cmp dword [esp + 0x40c], ebp
jne 0x43f7e5
mov dword [esp + 0x40c], 1
mov dword [esi + 0x30], ebp
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f7f0
sub eax, edx
cmp eax, 0x104
jb 0x43f853
mov dword [esi + 0x30], 0x6f
cmp byte [esi + 0xe0], cl
jne 0x43f832
mov ecx, dword [0x4a3434]
push ecx
or eax, 0xffffffff
mov ecx, 0x493f08
call fcn.004011f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18
push 0x4927e9
push ebp
push 0x493f08
mov ecx, ebx
call fcn.0042c9e0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18
mov edx, dword [esp + 0x400]
push 0x3f
push edx
lea eax, [esp + 0x50]
push eax
call fcn.00481870
lea edx, [esp + 0x2fc]
add esp, 0xc
mov byte [esp + 0x87], 0
mov eax, edi
sub edx, edi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x43f880
cmp byte [esp + 0x48], cl
je 0x43f905
push ebp
lea esi, [esp + 0x3c]
lea eax, [esp + 0x4c]
call fcn.0046be80
add esp, 4
lea ecx, [esp + 0x30]
push ecx
mov edx, esi
push edx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
je 0x43f8c7
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
test eax, eax
jne 0x43f910
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x49f430]
mov dword [ecx + 0x30], eax
cmp byte [ecx + 0xe0], 0
jne 0x43f832
mov eax, dword [0x4a3434]
push eax
or eax, 0xffffffff
mov ecx, 0x493f08
call fcn.004011f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea edx, [esp + 0x1e8]
mov eax, edi
sub edx, edi
jmp 0x43f920
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x43f920
lea edx, [esp + 0x1e8]
push 0x5c
push edx
call fcn.0048091e
add esp, 8
cmp eax, ebp
je 0x43f95b
mov byte [eax + 1], 0
lea eax, [esp + 0x1e8]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f950
sub eax, edx
jmp 0x43f965
mov byte [esp + 0x1e8], 0
xor eax, eax
lea ecx, [esp + eax + 0x1e8]
mov dword [esp + 0x14], ecx
mov ecx, 0x103
lea edx, [esp + 0x2f0]
sub ecx, eax
push 0x5c
push edx
mov dword [esp + 0x24], ecx
call fcn.0048091e
add esp, 8
cmp eax, ebp
je 0x43f994
inc eax
jmp 0x43f99b
lea eax, [esp + 0x2f0]
mov edi, 0x497b2c
mov dword [esp + 0x18], eax
call fcn.00408ea0
test eax, eax
jne 0x43f9b8
mov dword [esp + 0x40c], 2
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x2f4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x43fb82
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x4a5294]
mov edx, dword [0x49f430]
cmp eax, dword [edx + 0xb0]
jbe 0x43fa2a
push 0
push 0
push 0
push 0
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x43fa23
push 1
push 0xffffffffffffffff
call fcn.004012a0
add esp, 8
call esi
mov dword [0x4a5294], eax
test byte [esp + 0xa8], 0x10
je 0x43fa6e
cmp byte [esp + 0xd4], 0x2e
jne 0x43fa5f
mov al, byte [esp + 0xd5]
test al, al
je 0x43fb60
cmp al, 0x2e
jne 0x43fa5f
cmp byte [esp + 0xd6], 0
je 0x43fb60
cmp dword [esp + 0x40c], 1
jne 0x43fa7c
jmp 0x43fb60
cmp dword [esp + 0x40c], 3
je 0x43fb60
lea eax, [esp + 0xd4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43fa86
sub eax, edx
cmp eax, dword [esp + 0x1c]
jbe 0x43faa8
mov ecx, dword [0x49f430]
mov dword [ecx + 0x30], 0x6f
inc ebp
jmp 0x43fb60
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xd4]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x43fab7
push 0
push 0x22000000
push 3
push 0
push 3
push 0x40000000
lea edx, [esp + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x43faf6
call ebx
mov ecx, dword [0x49f430]
mov dword [ecx + 0x30], eax
inc ebp
jmp 0x43fb60
movzx esi, byte [esp + 0x408]
test esi, 0xffffff80
jne 0x43fb18
push 2
push esi
call fcn.0047ff4e
add esp, 8
test eax, eax
je 0x43fb18
and esi, 0xffffffdf
mov eax, esi
movsx eax, al
sub eax, 0x41
lea edx, [esp + 0x24]
je 0x43fb37
sub eax, 2
je 0x43fb30
push edx
push 0
jmp 0x43fb3a
push 0
push 0
push edx
jmp 0x43fb3c
push 0
push edx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x43fb53
call ebx
mov ecx, dword [0x49f430]
mov dword [ecx + 0x30], eax
inc ebp
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0xa8]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x43f9e7
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [esp + 0x410]
test bl, bl
je 0x43fcdf
cmp dword [esp + 0x1c], 2
jbe 0x43fcdf
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0x1ec]
push edx
mov dword [eax], 0x2a2e2a
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x43fcdf
mov eax, dword [esp + 0x18]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43fbd0
sub eax, edx
mov esi, eax
jmp 0x43fbe0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4a5294]
mov ecx, dword [0x49f430]
cmp eax, dword [ecx + 0xb0]
jbe 0x43fc2b
push 0
push 0
push 0
push 0
lea edx, [esp + 0x9c]
push edx
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x43fc20
push 1
push 0xffffffffffffffff
call fcn.004012a0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4a5294], eax
test byte [esp + 0xa8], 0x10
je 0x43fcc1
cmp byte [esp + 0xd4], 0x2e
jne 0x43fc5c
mov al, byte [esp + 0xd5]
test al, al
je 0x43fcc1
cmp al, 0x2e
jne 0x43fc5c
cmp byte [esp + 0xd6], 0
je 0x43fcc1
lea eax, [esp + 0xd4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43fc66
sub eax, edx
add eax, esi
cmp eax, dword [esp + 0x1c]
jae 0x43fcc1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xd8]
push ecx
push 0x494794
push edx
call fcn.0047ef68
mov eax, dword [esp + 0x41c]
mov ecx, dword [esp + 0x418]
add esp, 0x10
push 1
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x1f8]
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.0043f750
add ebp, eax
lea ecx, [esp + 0xa8]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x43fbe0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0x414], 0
jne 0x43fcf4
mov edx, dword [esp + 0x20]
push ebp
push edx
call fcn.0042cb90
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x3ec
ret 0x18