Function at 0x42d260
Capabilities:
Check for time delay via gettickcount
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x4dc40c]
push ebx
push esi
push edi
mov dword [esp + 0x14], ecx
cmp eax, dword [0x4d98d4]
jl 0x42d28e
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x4dc408]
mov al, byte [0x4dc2e3]
mov byte [esp + 0x13], al
mov byte [0x4dc2e3], 1
cmp byte [esi + 0x17], 0
jne 0x42d2ad
mov esi, dword [esi + 0xc]
test byte [esi + 0x15], 8
je 0x42d2ba
mov ecx, esi
call fcn.00401330
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42d2d2
test byte [esi + 0x15], 4
je 0x42d2cd
push esi
call fcn.00430a80
mov ecx, dword [esi + 8]
jmp 0x42d325
cmp al, 2
jne 0x42d320
mov ecx, dword [0x4de7ec]
test ecx, ecx
jne 0x42d325
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 0xd
call esi
test eax, eax
jne 0x42d303
push 0xf
call esi
test eax, eax
mov ecx, 0x4b70d0
mov edx, 0x4b70dc
cmove ecx, edx
jmp 0x42d325
push 0
mov ecx, 0x4de7e0
call fcn.004052a0
cmp eax, 0xffffffff
mov ecx, 0x4b70dc
cmovne ecx, dword [0x4de7e8]
jmp 0x42d325
mov ecx, 0x4ddc74
push 0x7f
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.004a1eb4
mov ebx, dword [0x4d98d8]
xor eax, eax
inc dword [0x4dc40c]
add ebx, 0x108
add esp, 0xc
mov word [esp + 0x136], ax
mov ecx, 0x42
mov dword [0x4d98d8], ebx
mov esi, 0x4dc2f0
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x4ddca0
mov dword [ebx + 0x2c], eax
call fcn.004174d0
cmp dword [0x4dc420], 0
xorps xmm0, xmm0
movlpd qword [0x4de788], xmm0
je 0x42d3a3
mov eax, dword [0x4db004]
mov ecx, 0x4b70dc
test eax, eax
je 0x42d39c
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov al, byte [ebx + 0xee]
test al, al
jne 0x42d3ca
mov byte [ebx + 0xee], 1
mov al, 1
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 0x24], 0xffffffff
cmp dword [0x4de794], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x42d3e2
cmp dword [0x4de790], 0
jne 0x42d3e6
test al, al
je 0x42d419
mov byte [ebx + 0xec], 0
test al, al
jne 0x42d419
cmp dword [0x4de794], 0
jge 0x42d406
mov dword [ebx + 0xe0], 0xffffffff
jmp 0x42d419
call edi
mov dword [ebx + 0xdc], eax
mov eax, dword [0x4de794]
mov dword [ebx + 0xe0], eax
mov ecx, dword [0x4de6f8]
mov eax, dword [0x4de6f4]
mov edx, dword [0x4de760]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x4de75c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
mov dword [0x4de6f8], eax
mov dword [0x4de760], ecx
mov dword [0x4de6f4], ebx
call edi
mov dword [0x4de79c], eax
mov dword [0x4de798], eax
mov dword [0x4de75c], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 5
mov esi, dword [eax + 0xc]
jne 0x42d4d1
mov eax, dword [0x4d98d8]
mov dword [0x4de2d4], esi
cmp byte [eax + 0xf9], 0
je 0x42d4b2
mov eax, dword [0x4dcf2c]
mov dword [eax*4 + 0x4dd570], esi
call edi
mov ecx, dword [0x4dcf2c]
mov dword [ecx*4 + 0x4dcf30], eax
inc ecx
xor eax, eax
cmp ecx, 0x190
cmovge ecx, eax
mov dword [0x4dcf2c], ecx
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.00460800
mov edi, eax
cmp edi, 1
jne 0x42d50d
mov ecx, esi
call fcn.0042ba00
mov edi, eax
jmp 0x42d50d
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], 0
push eax
push 1
lea eax, [esp + 0x34]
mov dword [esp + 0x34], ebx
push eax
push 0x4b7154
mov edx, esi
mov ecx, esi
call fcn.00473ca0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x42d50d
mov edi, dword [esp + 0x14]
neg edi
sbb edi, edi
add edi, 4
mov eax, dword [0x4d98d8]
lea ecx, [esp + 0x38]
mov eax, dword [eax + 0xc4]
mov dword [0x4dc410], eax
mov eax, dword [esp + 0x18]
mov dword [0x4de6f4], eax
mov eax, dword [esp + 0x1c]
mov dword [0x4de75c], eax
mov eax, dword [esp + 0x20]
mov dword [0x4de6f8], eax
mov eax, dword [esp + 0x24]
mov dword [0x4de760], eax
call fcn.00404810
mov al, byte [esp + 0x13]
mov byte [0x4dc2e3], al
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4