Function at 0x43bad0
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 [0x4ca73c]
push ebx
push esi
push edi
mov dword [esp + 0x14], ecx
cmp eax, dword [0x4c8020]
jl 0x43bafe
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x4ca738]
mov al, byte [0x4ca633]
mov byte [esp + 0x13], al
mov byte [0x4ca633], 1
cmp byte [esi + 0x17], 0
jne 0x43bb1d
mov esi, dword [esi + 0xc]
test byte [esi + 0x15], 8
je 0x43bb2a
mov ecx, esi
call fcn.004013b0
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x43bb42
test byte [esi + 0x15], 4
je 0x43bb3d
push esi
call fcn.0043f510
mov ecx, dword [esi + 8]
jmp 0x43bb95
cmp al, 2
jne 0x43bb90
mov ecx, dword [0x4cc838]
test ecx, ecx
jne 0x43bb95
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x43bb73
push 0xf
call esi
test eax, eax
mov ecx, 0x4b6ba4
mov edx, 0x4b6ba9
cmove ecx, edx
jmp 0x43bb95
push 0
mov ecx, 0x4cc82c
call fcn.00405400
cmp eax, 0xffffffff
mov ecx, 0x4b6ba9
cmovne ecx, dword [0x4cc834]
jmp 0x43bb95
mov ecx, 0x4cb1d7
push 0x7f
push ecx
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ebx, dword [0x4c8024]
add esp, 0xc
inc dword [0x4ca73c]
add ebx, 0xe8
mov byte [esp + 0xb7], 0
mov ecx, 0x3a
mov esi, 0x4ca640
mov dword [0x4c8024], ebx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, 0x4cc848
mov dword [ebx + 0x2c], 0
call fcn.00423990
cmp dword [0x4ca750], 0
xorps xmm0, xmm0
movlpd qword [0x4cce80], xmm0
je 0x43bc17
mov eax, dword [0x4c9994]
mov ecx, 0x4b6ba9
test eax, eax
je 0x43bc10
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 0x43bc3e
mov byte [ebx + 0xce], 1
mov al, 1
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 0x24], 0xffffffff
cmp dword [0x4cce8c], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x43bc5a
cmp dword [0x4cce88], 0
jne 0x43bc5a
test al, al
je 0x43bc8d
mov byte [ebx + 0xcc], 0
test al, al
jne 0x43bc8d
cmp dword [0x4cce8c], 0
jge 0x43bc7a
mov dword [ebx + 0xc0], 0xffffffff
jmp 0x43bc8d
call esi
mov dword [ebx + 0xbc], eax
mov eax, dword [0x4cce8c]
mov dword [ebx + 0xc0], eax
mov ecx, dword [0x4ccdf0]
mov eax, dword [0x4ccdec]
mov edx, dword [0x4cce58]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x4cce54]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
mov dword [0x4ccdf0], eax
mov dword [0x4cce58], ecx
mov dword [0x4ccdec], ebx
call esi
mov dword [0x4cce94], eax
mov dword [0x4cce90], eax
mov dword [0x4cce54], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 5
mov edi, dword [eax + 0xc]
jne 0x43bd45
mov eax, dword [0x4c8024]
mov dword [0x4ccbd4], edi
cmp byte [eax + 0xd9], 0
je 0x43bd26
mov eax, dword [0x4cb244]
mov dword [eax*4 + 0x4cb888], edi
call esi
mov ecx, dword [0x4cb244]
mov dword [ecx*4 + 0x4cb248], eax
inc ecx
xor eax, eax
cmp ecx, 0x190
cmovge ecx, eax
mov dword [0x4cb244], ecx
push 0
push 0xffffffffffffffff
push 0
mov ecx, edi
call fcn.00474fa0
mov esi, eax
cmp esi, 1
jne 0x43bd81
mov ecx, edi
call fcn.0043a070
mov esi, eax
jmp 0x43bd81
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.0048cfc0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x43bd81
mov esi, dword [esp + 0x14]
neg esi
sbb esi, esi
add esi, 4
mov eax, dword [0x4c8024]
lea ecx, [esp + 0x38]
mov eax, dword [eax + 0xa4]
mov dword [0x4ca740], eax
mov eax, dword [esp + 0x18]
mov dword [0x4ccdec], eax
mov eax, dword [esp + 0x1c]
mov dword [0x4cce54], eax
mov eax, dword [esp + 0x20]
mov dword [0x4ccdf0], eax
mov eax, dword [esp + 0x24]
mov dword [0x4cce58], eax
call fcn.004041a0
mov al, byte [esp + 0x13]
pop edi
mov byte [0x4ca633], al
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4