Function at 0x40c0dc
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x10
add esp, 0xfffff004
push eax
dec eax
jne 0x40c0e5
mov eax, dword [ebp - 4]
add esp, 0xfffffaf4
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov esi, 0x502926
lea edi, [ebp - 0x8090]
mov ecx, 0x2020
rep movsd dword es:[edi], dword [esi]
push 1
mov eax, dword [ebp + 0x10]
push eax
push 0x20
cmp dword [ebp + 0x1c], 1
jne 0x40c125
mov edx, 0x4b00
jmp 0x40c12a
mov edx, 0x1c200
push edx
push ebx
call fcn.00403068
add esp, 0x14
push ebx
call fcn.00403310
mov eax, dword [ebp + 0xc]
pop ecx
xor ecx, ecx
xor edi, edi
mov byte [eax + 0x39], 0
mov dword [ebp - 0xc], ecx
call fcn.004a2ec0
mov dword [ebp - 8], eax
mov esi, 1
cmp dword [ebp + 0x1c], 1
jne 0x40c227
push 1
mov eax, 1
mov edx, dword [ebp + 0x10]
sub eax, esi
push edx
push 0xa
push 0x2580
push ebx
mov esi, eax
call fcn.00403068
add esp, 0x14
push 0xa0
push ebx
call fcn.004033d4
add esp, 8
push esi
call sub.KERNEL32.DLL_Sleep
push 1
mov ecx, dword [ebp + 0x10]
push ecx
push 0xa
push 0x4b00
push ebx
call fcn.00403068
add esp, 0x14
lea eax, [ebp - 0x10110]
mov byte [ebp - 0x10510], 0xa0
push 1
push 0
push 0xa
push 1
push eax
lea edx, [ebp - 0x10510]
push 1
push edx
push ebx
call fcn.004036f8
add esp, 0x20
dec eax
jne 0x40c1e2
mov al, byte [ebp - 0x10110]
cmp al, 0xa0
je 0x40c20c
cmp al, 0x5f
je 0x40c20c
mov edx, dword [ebp + 0xc]
cmp byte [edx + 0x39], 0
jne 0x40c5c2
call fcn.004a2ec0
sub eax, dword [ebp - 8]
cmp eax, 0x4b0
jl 0x40c160
mov edi, 1
jmp 0x40c5c2
push 1
mov eax, dword [ebp + 0x10]
push eax
push 0x1f40
push 0x4b00
push ebx
call fcn.00403068
add esp, 0x14
jmp 0x40c286
mov byte [ebp - 0x10510], 0xa0
push 1
push 0
push 1
lea edx, [ebp - 0x10110]
push 1
push edx
lea ecx, [ebp - 0x10510]
push 1
push ecx
push ebx
call fcn.004036f8
add esp, 0x20
dec eax
jne 0x40c260
mov al, byte [ebp - 0x10110]
cmp al, 0xa0
je 0x40c286
cmp al, 0x5f
je 0x40c286
mov edx, dword [ebp + 0xc]
cmp byte [edx + 0x39], 0
jne 0x40c5c2
call fcn.004a2ec0
sub eax, dword [ebp - 8]
cmp eax, 0x4b0
jl 0x40c227
mov edi, 1
jmp 0x40c5c2
cmp byte [ebp - 0x10110], 0xa0
jne 0x40c293
xor eax, eax
jmp 0x40c295
mov al, 0xff
mov byte [ebp - 1], al
lea eax, [ebp - 0x8090]
mov byte [ebp - 0x8090], 0xa
mov byte [ebp - 0x808f], 0x50
mov byte [ebp - 0x808e], 5
mov dword [ebp - 0x10], eax
xor esi, esi
push 0
push 0
push 0x320
lea edx, [ebp - 0x10110]
push 1
push edx
lea ecx, [ebp - 0x8090]
push 1
add ecx, esi
push ecx
push ebx
call fcn.004036f8
add esp, 0x20
dec eax
je 0x40c2eb
mov edi, 2
jmp 0x40c5c2
mov al, byte [ebp - 0x10110]
mov edx, dword [ebp - 0x10]
xor al, byte [ebp - 1]
cmp al, byte [edx]
je 0x40c312
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x40c149
mov edi, 3
jmp 0x40c5c2
inc esi
inc dword [ebp - 0x10]
cmp esi, 3
jl 0x40c2b8
lea eax, [ebp - 0x10110]
push eax
push 0xffffffffffffffff
push 1
push SysReAllocStringLen
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c347
mov edi, 4
jmp 0x40c5c2
cmp byte [ebp - 0x10110], 0x8b
jne 0x40c360
cmp byte [ebp - 0x1010f], 2
jne 0x40c360
mov esi, 2
jmp 0x40c362
xor esi, esi
lea eax, [ebp - 0x10110]
push eax
push 0xffffffffffffffff
push 1
push reloc.OLEAUT32.DLL_SysReAllocStringLen
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c38e
mov edi, 5
jmp 0x40c5c2
cmp byte [ebp - 0x10110], 0x8b
jne 0x40c3a7
cmp byte [ebp - 0x1010f], 1
jne 0x40c3a7
mov eax, 1
jmp 0x40c3a9
xor eax, eax
add esi, eax
lea edx, [ebp - 0x10110]
push edx
push 0xffffffffffffffff
push 1
push reloc.OLEAUT32.DLL_VariantClear
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c3d7
mov edi, 6
jmp 0x40c5c2
xor eax, eax
mov al, byte [ebp - 0x10110]
and eax, 0x60
cmp eax, 0x60
jne 0x40c453
cmp esi, 3
jne 0x40c429
xor edx, edx
xor ecx, ecx
mov dl, byte [ebp - 0x10110]
mov cl, byte [ebp - 0x1010f]
shl edx, 8
add edx, ecx
cmp edx, 0x6219
jne 0x40c429
mov eax, dword [ebp + 0x14]
mov byte [eax], 0x62
mov edx, dword [ebp + 0x14]
mov byte [edx + 1], 0x26
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 2], 0x4d
mov eax, dword [ebp + 0x14]
mov byte [eax + 3], 0x41
jmp 0x40c5be
mov edx, dword [ebp + 0x14]
mov cl, byte [ebp - 0x10110]
mov byte [edx], cl
mov eax, dword [ebp + 0x14]
mov dl, byte [ebp - 0x1010f]
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 2], 0
mov eax, dword [ebp + 0x14]
mov byte [eax + 3], 0
jmp 0x40c5c2
lea edx, [ebp - 0x10110]
push edx
push 0xffffffffffffffff
push 1
push 0x80010000
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c47f
mov edi, 7
jmp 0x40c5c2
lea eax, [ebp - 0x10110]
push eax
push 0xffffffffffffffff
push 1
push 0x80010008
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c4ab
mov edi, 8
jmp 0x40c5c2
mov al, byte [ebp - 0x10110]
xor edx, edx
mov dl, al
and edx, 0x60
cmp edx, 0x60
jne 0x40c4e1
mov ecx, dword [ebp + 0x14]
mov byte [ecx], al
mov eax, dword [ebp + 0x14]
mov dl, byte [ebp - 0x1010f]
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 2], 0
mov eax, dword [ebp + 0x14]
mov byte [eax + 3], 0
jmp 0x40c5be
lea edx, [ebp - 0x10110]
push edx
push 0xffffffffffffffff
push 1
push 0x84010008
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c50d
mov edi, 9
jmp 0x40c5c2
mov al, byte [ebp - 0x10110]
xor edx, edx
mov dl, al
and edx, 0x60
cmp edx, 0x60
jne 0x40c540
mov ecx, dword [ebp + 0x14]
mov byte [ecx], al
mov eax, dword [ebp + 0x14]
mov dl, byte [ebp - 0x1010f]
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 2], 0
mov eax, dword [ebp + 0x14]
mov byte [eax + 3], 0
jmp 0x40c5be
lea edx, [ebp - 0x10110]
push edx
push 0xffffffffffffffff
push 1
push 0x80001008
push 0xa2
push ebx
call fcn.004038b4
add esp, 0x18
test al, al
jne 0x40c569
mov edi, 9
jmp 0x40c5c2
mov al, byte [ebp - 0x10110]
xor edx, edx
mov dl, al
and edx, 0x60
cmp edx, 0x60
jne 0x40c59c
mov ecx, dword [ebp + 0x14]
mov byte [ecx], al
mov eax, dword [ebp + 0x14]
mov dl, byte [ebp - 0x1010f]
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 2], 0
mov eax, dword [ebp + 0x14]
mov byte [eax + 3], 0
jmp 0x40c5be
mov edx, dword [ebp + 0x14]
mov byte [edx], 0
mov ecx, dword [ebp + 0x14]
mov byte [ecx + 1], 0
mov eax, dword [ebp + 0x14]
mov byte [eax + 2], 0
mov edx, dword [ebp + 0x14]
mov byte [edx + 3], 0
mov edi, 0xa
jmp 0x40c5c2
xor eax, eax
jmp 0x40c5c4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret