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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
push ebx
mov ebx, dword [ebp + 0x18]
xor eax, eax
cmp ebx, eax
je 0x40333b
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], ecx
jmp 0x403342
mov dword [ebp - 0x18], 0x8000
cmp ebx, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ebx
jne 0x403359
mov dword [ebp - 0x1c], 0x411950
push dword [ebp + 8]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004032df
push dword [ebp + 8]
lea eax, [ebp - 0x24]
push 8
push eax
call fcn.004032aa
add esp, 0x18
test eax, eax
jne 0x403387
push 0xfffffffffffffffd
pop eax
or edx, 0xffffffff
jmp 0x403666
push esi
mov esi, dword [ebp - 0x20]
mov ecx, esi
and ecx, 0x80000000
xor eax, eax
or eax, ecx
push edi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0xc], esi
je 0x40355c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x1c], eax
call fcn.00406735
push eax
push 0x421958
call fcn.00407602
and dword [ebp - 0xc], 0x7fffffff
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
jl 0x40363a
jg 0x4033df
test edi, edi
jbe 0x40363a
mov ebx, 0x40d950
jmp 0x4033e9
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0xc], 0
jg 0x4033fd
jl 0x4033f9
cmp edi, 0x4000
jae 0x4033fd
mov esi, edi
jmp 0x403402
mov esi, 0x4000
push dword [ebp + 8]
push esi
push ebx
call fcn.004032aa
add esp, 0xc
test eax, eax
je 0x403614
cmp dword [0x4219b8], 0
je 0x40342d
push esi
push ebx
push dword [ebp - 0x14]
call fcn.00406ec2
mov dword [ebp - 0x14], eax
mov eax, esi
cdq
sub edi, eax
sbb dword [ebp - 0xc], edx
mov dword [0x421958], ebx
mov dword [0x42195c], esi
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
push 0x421958
mov dword [0x421960], edi
mov dword [0x421964], eax
call fcn.0040736e
test eax, eax
pop ecx
mov dword [ebp + 0x10], eax
jl 0x403555
mov esi, dword [0x421960]
sub esi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test byte [0x42a654], 1
mov edi, eax
je 0x4034e4
sub eax, dword [ebp + 0x1c]
cmp eax, 0xc8
ja 0x403496
mov eax, dword [ebp - 0x10]
or eax, dword [ebp - 0xc]
jne 0x4034e4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [0x4219b0], eax
sub eax, dword [ebp - 0x10]
mov dword [0x4219b4], ecx
sbb ecx, dword [ebp - 0xc]
mov dword [0x4219a8], eax
mov dword [0x4219ac], ecx
call fcn.004030d3
push eax
lea eax, [ebp - 0xac]
push str....__d__
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xac]
push eax
push 0
call fcn.0040523e
mov dword [ebp + 0x1c], edi
xor edi, edi
cmp esi, edi
je 0x403537
cmp dword [ebp + 0x18], edi
jne 0x40350e
push esi
push dword [ebp - 0x1c]
push dword [ebp + 0x14]
call fcn.00406213
test eax, eax
je 0x4035ea
mov eax, esi
cdq
add dword [ebp - 8], eax
adc dword [ebp - 4], edx
jmp 0x403522
mov eax, esi
cdq
add dword [ebp - 8], eax
mov eax, dword [0x421960]
mov dword [ebp - 0x1c], eax
adc dword [ebp - 4], edx
sub dword [ebp - 0x18], esi
cmp dword [ebp + 0x10], 1
jne 0x403444
cmp dword [0x4219b8], edi
jmp 0x403641
cmp dword [ebp - 0xc], edi
jg 0x4033e6
jl 0x40363a
cmp dword [ebp - 0x10], 0
ja 0x4033e6
jmp 0x40363a
push 0xfffffffffffffffc
jmp 0x403616
test ebx, ebx
jne 0x4035ee
test esi, esi
jl 0x40363a
jg 0x403576
test edi, edi
jbe 0x40363a
mov eax, dword [ebp - 0x18]
cdq
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], edx
mov ebx, 0x40d950
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0xc], eax
jg 0x403598
jl 0x403594
cmp edi, dword [ebp + 0xc]
jae 0x403598
mov esi, edi
jmp 0x40359b
mov esi, dword [ebp - 0x18]
push dword [ebp + 8]
push esi
push ebx
call fcn.004032aa
add esp, 0xc
test eax, eax
je 0x403614
cmp dword [0x4219b8], 0
je 0x4035c2
push esi
push ebx
push dword [ebp - 0x14]
call fcn.00406ec2
mov dword [ebp - 0x14], eax
push esi
push ebx
push dword [ebp + 0x14]
call fcn.00406213
test eax, eax
je 0x4035ea
xor eax, eax
add dword [ebp - 8], esi
adc dword [ebp - 4], eax
sub edi, esi
sbb dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jg 0x403585
jl 0x40363a
test edi, edi
ja 0x403585
jmp 0x40363a
push 0xfffffffffffffffe
jmp 0x403616
mov eax, dword [ebp + 0x1c]
cdq
cmp esi, edx
jg 0x403600
jl 0x4035fc
cmp edi, eax
jae 0x403600
mov esi, edi
jmp 0x403603
mov esi, dword [ebp + 0x1c]
push dword [ebp + 8]
push esi
push ebx
call fcn.004032aa
add esp, 0xc
test eax, eax
jne 0x40361c
push 0xfffffffffffffffd
pop eax
or edx, 0xffffffff
jmp 0x403664
cmp dword [0x4219b8], 0
je 0x403631
push esi
push ebx
push 0
call fcn.00406ec2
mov dword [ebp - 0x14], eax
mov eax, esi
cdq
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
cmp dword [0x4219b8], 0
je 0x40365e
push 8
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x14]
call fcn.00406ec2
cmp eax, dword [ebp + 0x20]
je 0x40365e
push 0xfffffffffffffffd
or edx, 0xffffffff
pop eax
jmp 0x403664
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 0x1c