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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x4eb724]
push ebx
push esi
push edi
mov dword [esp + 0x14], ecx
cmp eax, dword [0x4e88c8]
jl 0x43ba8e
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x4eb720]
mov al, byte [0x4eb61b]
mov byte [esp + 0x13], al
mov byte [0x4eb61b], 1
cmp byte [esi + 0x17], 0
jne 0x43baad
mov esi, dword [esi + 0xc]
test byte [esi + 0x15], 8
je 0x43baba
mov ecx, esi
call fcn.004013b0
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x43bad2
test byte [esi + 0x15], 4
je 0x43bacd
push esi
call fcn.0043f490
mov ecx, dword [esi + 8]
jmp 0x43bb25
cmp al, 2
jne 0x43bb20
mov ecx, dword [0x4ed820]
test ecx, ecx
jne 0x43bb25
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x43bb03
push 0xf
call esi
test eax, eax
mov ecx, 0x4d522c
mov edx, 0x4d5231
cmove ecx, edx
jmp 0x43bb25
push 0
mov ecx, 0x4ed814
call fcn.004053d0
cmp eax, 0xffffffff
mov ecx, 0x4d5231
cmovne ecx, dword [0x4ed81c]
jmp 0x43bb25
mov ecx, 0x4ec1bf
push 0x7f
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.004ba990
mov ebx, dword [0x4e88cc]
add esp, 0xc
inc dword [0x4eb724]
add ebx, 0xe8
mov byte [esp + 0xb7], 0
mov ecx, 0x3a
mov esi, 0x4eb628
mov dword [0x4e88cc], ebx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, 0x4ed830
mov dword [ebx + 0x2c], 0
call fcn.004238a0
cmp dword [0x4eb738], 0
xorps xmm0, xmm0
movlpd qword [0x4ede68], xmm0
je 0x43bba6
mov eax, dword [0x4ea23c]
mov ecx, 0x4d5231
test eax, eax
je 0x43bb9f
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov al, byte [ebx + 0xce]
test al, al
jne 0x43bbcd
mov byte [ebx + 0xce], 1
mov al, 1
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 0x24], 0xffffffff
cmp dword [0x4ede74], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x43bbe9
cmp dword [0x4ede70], 0
jne 0x43bbe9
test al, al
je 0x43bc1c
mov byte [ebx + 0xcc], 0
test al, al
jne 0x43bc1c
cmp dword [0x4ede74], 0
jge 0x43bc09
mov dword [ebx + 0xc0], 0xffffffff
jmp 0x43bc1c
call esi
mov dword [ebx + 0xbc], eax
mov eax, dword [0x4ede74]
mov dword [ebx + 0xc0], eax
mov ecx, dword [0x4eddd8]
mov eax, dword [0x4eddd4]
mov edx, dword [0x4ede40]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x4ede3c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
mov dword [0x4eddd8], eax
mov dword [0x4ede40], ecx
mov dword [0x4eddd4], ebx
call esi
mov dword [0x4ede7c], eax
mov dword [0x4ede78], eax
mov dword [0x4ede3c], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 5
mov edi, dword [eax + 0xc]
jne 0x43bcd4
mov eax, dword [0x4e88cc]
mov dword [0x4edbbc], edi
cmp byte [eax + 0xd9], 0
je 0x43bcb5
mov eax, dword [0x4ec22c]
mov dword [eax*4 + 0x4ec870], edi
call esi
mov ecx, dword [0x4ec22c]
mov dword [ecx*4 + 0x4ec230], eax
inc ecx
xor eax, eax
cmp ecx, 0x190
cmovge ecx, eax
mov dword [0x4ec22c], ecx
push 0
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00474c20
mov esi, eax
cmp esi, 1
jne 0x43bd10
mov ecx, edi
call fcn.0043a040
mov esi, eax
jmp 0x43bd10
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 str.call
mov edx, edi
mov ecx, edi
call fcn.0048cb70
mov esi, eax
add esp, 0x14
test esi, esi
je 0x43bd10
mov esi, dword [esp + 0x14]
neg esi
sbb esi, esi
add esi, 4
mov eax, dword [0x4e88cc]
lea ecx, [esp + 0x38]
mov eax, dword [eax + 0xa4]
mov dword [0x4eb728], eax
mov eax, dword [esp + 0x18]
mov dword [0x4eddd4], eax
mov eax, dword [esp + 0x1c]
mov dword [0x4ede3c], eax
mov eax, dword [esp + 0x20]
mov dword [0x4eddd8], eax
mov eax, dword [esp + 0x24]
mov dword [0x4ede40], eax
call fcn.00404190
mov al, byte [esp + 0x13]
pop edi
mov byte [0x4eb61b], al
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4