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

Disassembly:
mov eax, dword [0x4d1670]
sub esp, 0x108
push ebx
push ebp
mov ebp, ecx
push esi
push edi
cmp eax, dword [0x4ce8c4]
jl 0x42a4bb
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret 4
mov esi, dword [0x4d166c]
cmp byte [esi + 0x17], 0
jne 0x42a4ca
mov esi, dword [esi + 0xc]
test byte [esi + 0x15], 8
je 0x42a4d7
mov ecx, esi
call fcn.00401b40
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42a4ef
test byte [esi + 0x15], 4
je 0x42a4ea
push esi
call fcn.0042db20
mov ecx, dword [esi + 8]
jmp 0x42a53d
cmp al, 2
jne 0x42a538
mov ecx, dword [0x4d3e90]
test ecx, ecx
jne 0x42a53d
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 0xd
call esi
test eax, eax
jne 0x42a520
push 0xf
call esi
test eax, eax
mov ecx, 0x4ac220
mov edx, 0x4ac22c
cmove ecx, edx
jmp 0x42a53d
push 0
call fcn.004053d0
cmp eax, 0xffffffff
mov ecx, 0x4ac22c
cmovne ecx, dword [0x4d3e8c]
jmp 0x42a53d
mov ecx, 0x4d3e58
push 0x7f
push ecx
lea eax, [esp + 0x20]
push eax
call fcn.00497e59
mov ebx, dword [0x4ce8c8]
xor eax, eax
inc dword [0x4d1670]
add ebx, 0x110
add esp, 0xc
mov word [esp + 0x116], ax
mov ecx, 0x44
mov dword [0x4ce8c8], ebx
mov esi, 0x4d1340
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x4d3ee0
mov dword [ebx + 0x2c], eax
call fcn.00415dc0
cmp dword [0x4d1680], 0
xorps xmm0, xmm0
movlpd qword [0x4d49b0], xmm0
je 0x42a5aa
push 0x4d1460
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov al, byte [ebx + 0xee]
test al, al
jne 0x42a5d1
mov byte [ebx + 0xee], 1
mov al, 1
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 0x24], 0xffffffff
cmp dword [0x4d49bc], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x42a5e9
cmp dword [0x4d49b8], 0
jne 0x42a5ed
test al, al
je 0x42a620
mov byte [ebx + 0xec], 0
test al, al
jne 0x42a620
cmp dword [0x4d49bc], 0
jge 0x42a60d
mov dword [ebx + 0xe0], 0xffffffff
jmp 0x42a620
call esi
mov dword [ebx + 0xdc], eax
mov eax, dword [0x4d49bc]
mov dword [ebx + 0xe0], eax
mov eax, dword [0x4d4934]
mov edi, dword [0x4d4930]
mov ebx, dword [0x4d4988]
mov dword [esp + 0x10], eax
mov eax, dword [0x4d498c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x11c]
mov dword [0x4d4934], edi
mov dword [0x4d498c], ebx
mov dword [0x4d4930], eax
call esi
mov dword [0x4d49c4], eax
mov dword [0x4d49c0], eax
mov dword [0x4d4988], eax
mov eax, dword [0x4ce8c8]
mov dword [0x4d4510], ebp
cmp byte [eax + 0xf9], 0
je 0x42a6a8
mov eax, dword [0x4d3110]
mov dword [eax*4 + 0x4d3758], ebp
call esi
mov ecx, dword [0x4d3110]
mov dword [ecx*4 + 0x4d3118], eax
inc ecx
xor eax, eax
cmp ecx, 0x190
cmovge ecx, eax
mov dword [0x4d3110], ecx
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebp
call fcn.004596a0
mov esi, eax
cmp esi, 1
jne 0x42a6c5
mov ecx, ebp
call fcn.00428cd0
mov esi, eax
mov eax, dword [0x4ce8c8]
lea ecx, [esp + 0x18]
mov eax, dword [eax + 0xc4]
mov dword [0x4d1674], eax
mov eax, dword [esp + 0x10]
mov dword [0x4d4934], eax
mov eax, dword [esp + 0x14]
mov dword [0x4d4930], edi
mov dword [0x4d4988], ebx
mov dword [0x4d498c], eax
call fcn.004048b0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret 4