Function at 0x4231ed
Capabilities:
Check for time delay via gettickcount
Create directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2560
call fcn.00465440
push esi
push edi
cmp dword [0x4ba9fc], 0
je 0x42349a
xor eax, eax
mov al, byte [0x4afa10]
and eax, 1
test eax, eax
jne 0x42323d
mov cl, byte [0x4afa10]
or cl, 1
mov byte [0x4afa10], cl
mov ecx, 0x4af9f0
call fcn.0042b580
push 0x4237d6
call fcn.00466de5
add esp, 4
mov ecx, 0x4af9f0
call fcn.0040a260
xor edx, edx
mov dl, byte [0x4afa10]
and edx, 2
test edx, edx
jne 0x42326d
mov al, byte [0x4afa10]
or al, 2
mov byte [0x4afa10], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4af9e8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 8], eax
mov ecx, dword [0x4baa00]
imul ecx, ecx, 0x3e8
imul ecx, ecx, 0x3c
mov edx, dword [0x4af9e8]
add edx, ecx
cmp dword [ebp - 8], edx
jbe 0x423490
mov eax, dword [ebp - 8]
mov dword [0x4af9e8], eax
mov cl, byte [0x4afebc]
mov byte [ebp - 0x124], cl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x123]
rep stosd dword es:[edi], eax
push 0x4ba5e4
push 0x4a6388
lea edx, [ebp - 0x124]
push edx
call fcn.004650e4
add esp, 0xc
push 0
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov cl, byte [0x4afec0]
mov byte [ebp - 0x1128], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x1127]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp - 0x16]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x1a]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x1c]
and edx, 0xffff
push edx
push 0x4a638c
lea eax, [ebp - 0x1128]
push eax
call fcn.004650e4
add esp, 0x14
lea ecx, [ebp - 0x1128]
push ecx
push 0x4ba5e4
push 0x4a639c
lea edx, [ebp - 0x124]
push edx
call fcn.004650e4
add esp, 0x10
mov dword [ebp - 0xc], 0
push 0x4a63ac
lea eax, [ebp - 0x124]
push eax
call fcn.004669ba
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x423490
mov cl, byte [0x4afec4]
mov byte [ebp - 0x212c], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x212b]
rep stosd dword es:[edi], eax
push 0x4a63b0
lea edx, [ebp - 0x212c]
push edx
call fcn.004650e4
add esp, 8
mov eax, dword [ebp - 0xc]
push eax
push 1
lea ecx, [ebp - 0x212c]
push ecx
call fcn.00465470
add esp, 4
push eax
lea edx, [ebp - 0x212c]
push edx
call fcn.00466850
add esp, 0x10
mov dword [ebp - 0x2130], 0
jmp 0x4233ee
mov eax, dword [ebp - 0x2130]
add eax, 1
mov dword [ebp - 0x2130], eax
mov ecx, 0x4afe38
call fcn.00404620
cmp dword [ebp - 0x2130], eax
jae 0x423484
mov ecx, dword [ebp - 0x2130]
push ecx
mov ecx, 0x4afe38
call fcn.00404660
mov edx, dword [eax + 0x170]
push edx
mov eax, dword [ebp - 0x2130]
push eax
mov ecx, 0x4afe38
call fcn.00404660
mov ecx, dword [eax + 0x16c]
push ecx
mov edx, dword [ebp - 0x2130]
push edx
mov ecx, 0x4afe38
call fcn.00404660
push eax
push 0x4a63d8
lea eax, [ebp - 0x212c]
push eax
call fcn.004650e4
add esp, 0x14
mov ecx, dword [ebp - 0xc]
push ecx
push 1
lea edx, [ebp - 0x212c]
push edx
call fcn.00465470
add esp, 4
push eax
lea eax, [ebp - 0x212c]
push eax
call fcn.00466850
add esp, 0x10
jmp 0x4233df
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004667d3
add esp, 4
mov ecx, 0x4af9f0
call fcn.0042b650
mov ecx, 0x4afe7c
call fcn.0040a260
mov dword [ebp - 4], 0
jmp 0x4234b6
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov ecx, 0x4afe48
call fcn.0042c2f0
cmp dword [ebp - 4], eax
jae 0x4237c4
push 0x10
mov eax, dword [ebp + 8]
add eax, 8
push eax
mov ecx, dword [ebp - 4]
push ecx
mov ecx, 0x4afe48
call fcn.0042c330
add eax, 0x13c
push eax
call fcn.004672c0
add esp, 0xc
test eax, eax
je 0x4234f4
jmp 0x4234ad
mov dword [ebp - 0x2134], 0
jmp 0x42350f
mov edx, dword [ebp - 0x2134]
add edx, 1
mov dword [ebp - 0x2134], edx
mov ecx, 0x4afe38
call fcn.00404620
cmp dword [ebp - 0x2134], eax
jae 0x4237bf
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x4afe48
call fcn.0042c330
push eax
mov ecx, dword [ebp - 0x2134]
push ecx
mov ecx, 0x4afe38
call fcn.00404660
push eax
call fcn.0046b9a0
add esp, 8
test eax, eax
je 0x423554
jmp 0x423500
push 0x400
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
push eax
lea eax, [ebp - 0x253c]
push eax
call fcn.004669d0
add esp, 0xc
mov byte [ebp - 0x213d], 0
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2138], ecx
cmp dword [ebp + 0x10], 0
jne 0x4235dc
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
add eax, 0x170
mov dword [ebp - 0x2544], eax
mov eax, dword [ebp - 0x2544]
mov ecx, dword [eax]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2544]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2134]
push eax
mov ecx, 0x4afe38
call fcn.00404660
mov ecx, dword [eax + 0x170]
mov dword [ebp - 0x213c], ecx
cmp dword [ebp + 0x10], 1
jne 0x42362e
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
add eax, 0x16c
mov dword [ebp - 0x2548], eax
mov eax, dword [ebp - 0x2548]
mov ecx, dword [eax]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2548]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2134]
push eax
mov ecx, 0x4afe38
call fcn.00404660
mov ecx, dword [eax + 0x16c]
mov dword [ebp - 0x213c], ecx
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
cmp dword [eax + 0x160], 0xffffffff
jne 0x423659
mov ecx, 0x4afe7c
call fcn.0042b650
xor eax, eax
jmp 0x4237d0
mov eax, dword [ebp - 0x2134]
push eax
mov ecx, 0x4afe38
call fcn.00404660
cmp dword [eax + 0x174], 0
jne 0x4236a3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov ecx, dword [ebp - 0x2134]
push ecx
mov ecx, 0x4afe38
call fcn.00404660
mov dword [eax + 0x174], esi
mov ecx, 0x4afe7c
call fcn.0042b650
xor eax, eax
jmp 0x4237d0
fild dword [ebp + 0xc]
fmul qword [0x492b30]
fstp qword [ebp - 0x2550]
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
fild dword [eax + 0x160]
fdivr qword [ebp - 0x2550]
fstp qword [ebp - 0x2558]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, dword [ebp - 0x2134]
push eax
mov ecx, 0x4afe38
call fcn.00404660
sub esi, dword [eax + 0x174]
mov dword [ebp - 0x2560], esi
mov dword [ebp - 0x255c], 0
fild qword [ebp - 0x2560]
fsubr qword [ebp - 0x2558]
call fcn.00466f70
mov dword [ebp - 0x2540], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov ecx, dword [ebp - 0x2134]
push ecx
mov ecx, 0x4afe38
call fcn.00404660
mov dword [eax + 0x174], esi
cmp dword [ebp - 0x2540], 0
jle 0x42379b
cmp dword [0x4cfe8c], 0
je 0x42376a
cmp dword [0x4cfe8c], 1
jne 0x42375b
cmp dword [ebp + 0x10], 0
je 0x42376a
cmp dword [0x4cfe8c], 2
jne 0x423791
cmp dword [ebp + 0x10], 1
jne 0x423791
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
add esi, dword [ebp - 0x2540]
mov edx, dword [ebp - 0x2134]
push edx
mov ecx, 0x4afe38
call fcn.00404660
mov dword [eax + 0x174], esi
jmp 0x42379b
mov dword [ebp - 0x2540], 0
mov ecx, 0x4afe7c
call fcn.0042b650
cmp dword [ebp - 0x2540], 0
jle 0x4237bb
mov eax, dword [ebp - 0x2540]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x4237d0
jmp 0x4234ad
mov ecx, 0x4afe7c
call fcn.0042b650
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret