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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1010
call fcn.00409050
mov eax, dword [0x4162dc]
push ebx
push esi
push edi
add eax, 0x18f06
push 1
mov dword [ebp - 0xc], eax
pop ebx
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], ebx
push eax
call fcn.00405d7b
test eax, eax
je 0x406c0a
mov esi, 0x104
lea eax, [ebp - 0xc]
push eax
call fcn.00405d24
test eax, eax
mov dword [ebp - 8], eax
je 0x406bf0
mov edi, 0x800
lea eax, [ebp - 0x1010]
push edi
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00405db7
mov eax, dword [0x4162dc]
mov ecx, dword [ebp - 8]
mov edx, dword [eax + 0x60]
neg edx
sbb edx, edx
and edx, 0xfffffff7
add edx, 9
sub ecx, edx
lea edx, [ebp - 0x1010]
cmp ecx, 5
mov dword [ebp - 4], edx
jne 0x406787
xor edx, edx
cmp dword [eax + 0x40], edx
je 0x406789
add eax, 0x2ac6e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2ad0e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x28f06
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2adae
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push 0
push ebx
add eax, 0x28f06
push esi
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
add eax, 0x29316
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
call fcn.0040623c
jmp 0x406bf0
xor edx, edx
cmp ecx, 7
jne 0x4068da
cmp dword [eax + 0x3c], edx
je 0x4068da
cmp dword [ebp - 0x10], edx
je 0x4067d3
cmp word [eax + 0x2abce], dx
lea ecx, [eax + 0x2abce]
je 0x4067d3
cmp dword [eax + 0x64], edx
mov eax, str.true
jne 0x4067be
mov eax, str.false
push eax
push 0x40bd58
push ecx
call fcn.00404f87
and dword [ebp - 0x10], 0
mov eax, dword [0x4162dc]
add eax, 0x2af8e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2932e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x28f06
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push 0
push ebx
add eax, 0x28f06
push esi
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
add eax, 0x2910e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push 0
push ebx
add eax, 0x2910e
push esi
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
add eax, 0x29316
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
push ebx
push dword [ebp + 8]
call fcn.00406174
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
cmp dword [0x416340], 0xffffffff
je 0x406898
add eax, 0x3a98
mov dword [ebp - 8], eax
call edi
cmp eax, dword [ebp - 8]
ja 0x406c2d
push dword [ebp + 8]
call fcn.0040450a
cmp dword [0x416340], 0xffffffff
jne 0x40687c
push 3
push dword [ebp + 8]
call fcn.00406174
call edi
cmp dword [0x416340], 0xfffffffe
je 0x406bf0
add eax, 0x3a98
mov dword [ebp - 8], eax
call edi
cmp eax, dword [ebp - 8]
ja 0x406c2d
push dword [ebp + 8]
call fcn.0040450a
cmp dword [0x416340], 0xfffffffe
jne 0x4068b9
jmp 0x406bf0
mov edx, dword [ebp - 8]
cmp edx, 0x16
jne 0x406940
add eax, 0x2b16e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x293ce
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push 0
push ebx
add eax, 0x293ce
push edi
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
lea ecx, [eax + 0x293ce]
add eax, 0x2b16e
push ecx
push eax
push dword [ebp + 8]
call fcn.0040658c
mov eax, dword [0x4162dc]
mov dword [eax + 0x54], ebx
jmp 0x406bf0
cmp edx, 0x17
jne 0x406a14
add eax, 0x2b20e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2b20e
mov cx, word [eax]
cmp cx, 0x43
je 0x406986
cmp cx, 0x63
je 0x406986
cmp cx, 0x4c
je 0x40697d
cmp cx, 0x6c
jne 0x406986
mov dword [ebp - 8], 0x80000002
jmp 0x40698d
mov dword [ebp - 8], 0x80000001
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2ac6e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
add eax, 0x2ad0e
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
mov cx, word [eax + 0x2ad0e]
cmp cx, 0x44
je 0x4069db
cmp cx, 0x64
je 0x4069db
mov edi, ebx
jmp 0x4069de
push 4
pop edi
add eax, 0x293ce
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
lea ecx, [eax + 0x293ce]
push ecx
lea ecx, [eax + 0x2ac6e]
push edi
add eax, 0x2b20e
push ecx
push eax
push dword [ebp - 8]
call fcn.00404d51
jmp 0x406bf0
cmp ecx, 9
jne 0x406ab6
lea ecx, [eax + 0x14506]
push esi
add eax, 0x2b2ae
push ecx
push eax
call fcn.00402c83
mov eax, dword [0x4162dc]
push esi
add eax, 0x2b2ae
push 0x40b544
push eax
call fcn.00402d14
mov eax, dword [0x4162dc]
add eax, 0x2b2ae
push eax
call fcn.00402e91
mov edi, eax
lea eax, [ebp - 4]
push edi
push eax
call fcn.00405dfd
push 0x40bd54
push edi
call fcn.00402ea4
test eax, eax
jne 0x406a87
mov eax, dword [0x4162dc]
push esi
add eax, 0x2b2ae
push str..INF
push eax
call fcn.00402d14
mov eax, dword [0x4162dc]
cmp dword [eax + 0x4c], 0
je 0x406aae
lea ecx, [eax + 0x2b2ae]
add eax, 0x2abce
push ecx
push str.InfFile
push eax
call fcn.00404f87
mov eax, dword [0x4162dc]
mov dword [eax + 0x58], ebx
jmp 0x406bf0
mov cl, byte [0x4162f0]
cmp edx, 0x18
jne 0x406b6a
test bl, cl
jne 0x406b6a
add eax, 0x13a70
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push ebx
push ebx
add eax, 0x13a70
push esi
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
add eax, 0x140fe
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push ebx
add eax, 0x140fe
push eax
call fcn.00403eac
push eax
mov eax, dword [0x4162dc]
add eax, 0x140fe
push 0x204
push eax
call fcn.0040406d
mov eax, dword [0x4162dc]
push 0
lea ecx, [eax + 0x140fe]
add eax, 0x13a70
push ecx
push eax
call dword [0x416270]
mov eax, dword [0x4162dc]
cmp dword [eax + 0x4c], 0
je 0x406bf0
lea ecx, [eax + 0x2abce]
add eax, 0x140fe
push ecx
push eax
call fcn.00404fa2
jmp 0x406bf0
cmp edx, 0x19
jne 0x406ba4
test bl, cl
jne 0x406ba4
add eax, 0x2b4b6
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push 0
push ebx
add eax, 0x2b4b6
push 0x400
push eax
call fcn.004065bc
mov eax, dword [0x4162dc]
mov dword [eax + 0x5c], ebx
jmp 0x406bf0
cmp edx, 0x1b
jne 0x406bf0
add eax, 0x140fe
push eax
lea eax, [ebp - 4]
push eax
call fcn.00405dfd
mov eax, dword [0x4162dc]
push ebx
add eax, 0x140fe
push eax
call fcn.00403eac
push eax
mov eax, dword [0x4162dc]
add eax, 0x140fe
push 0x204
push eax
call fcn.0040406d
mov eax, dword [0x4162dc]
add eax, 0x140fe
push eax
call dword [0x4162b0]
lea eax, [ebp - 0xc]
push eax
call fcn.00405da2
lea eax, [ebp - 0xc]
push eax
call fcn.00405d7b
test eax, eax
jne 0x4066b0
cmp dword [0x4162f0], 0x10
jl 0x406c24
push 0
push 0
push 0x1a
push pe_overlay
call dword [0x4162c4]
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 4
xor eax, eax
jmp 0x406c26