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

Disassembly:
sub esp, 0x44
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0
push 0x1c
mov eax, ebp
add eax, 0x2c
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040c983
push 0
push 4
mov eax, ebp
add eax, 0x28
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x24
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x20
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
call main
mov dword [ebp + 0x1c], eax
push 0
push 4
mov eax, ebp
add eax, 0x18
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0x80000000
push dword [ebp + 0x4c]
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.00408e3a
push eax
push 0
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x406fb9
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x40701a
push 0x41084f
push 0x410860
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
jmp 0x407a26
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040d372
push eax
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040d372
push eax
push dword [ebp + 0x4c]
push 0x410863
call fcn.00408504
push 0x8000
call fcn.0040341d
push eax
pop eax
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040d372
push eax
call fcn.0040341d
push eax
pop eax
mov dword [ebp + 0x28], eax
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040d372
push eax
push dword [ebp + 0x28]
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.00408c83
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.0040d372
push eax
pop eax
mov dword [ebp + 0x20], eax
push dword [ebp + 0x50]
pop eax
mov dword [ebp + 0x24], eax
push 0
push 4
mov eax, ebp
add eax, 0x14
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x28]
push dword [ebp + 0x24]
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x20]
pop eax
push 0
push eax
fild qword [esp]
add esp, 8
pop eax
push 0
push eax
fild qword [esp]
add esp, 4
fdivrp st(1)
fstp dword [esp]
push 0x64
fild dword [esp]
add esp, 4
fld dword [esp]
fmulp st(1)
fstp dword [esp]
fld dword [esp]
sub esp, 0x10
mov dword [esp + 4], eax
fnstcw word [esp]
mov ax, word [esp]
or ah, 0xc
mov word [esp + 2], ax
fldcw word [esp + 2]
mov eax, dword [esp + 4]
add esp, 0x10
fistp dword [esp]
sub esp, 0x10
fldcw word [esp]
add esp, 0x10
push dword [ebp + 0x20]
push dword [ebp + 0x24]
push 0x410884
call fcn.00408504
push 0
push 0x8000
push dword [ebp + 0x24]
mov eax, 0x411fb0
mov eax, dword [eax]
mov ecx, eax
call fcn.00406146
push 0
mov eax, 0x411f9c
mov eax, dword [eax]
mov ecx, eax
call fcn.00406aee
push 0x8000
push dword [ebp + 0x18]
mov eax, 0x411f9c
mov eax, dword [eax]
mov ecx, eax
call fcn.004049e2
push 0
push 4
mov eax, ebp
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
pop eax
mov dword [ebp + 0xc], eax
jmp 0x407211
push dword [ebp + 0xc]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 0xc], eax
push 0xffffffffffffffff
pop eax
cmp eax, 0
je 0x407250
push dword [ebp + 0xc]
push 0x8000
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jle 0x407247
mov ecx, 0
mov dword [esp], ecx
pop eax
jmp 0x40727e
push dword [ebp + 0xc]
push 0x8000
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jae 0x40727a
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x407961
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0xc]
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x4072cf
mov eax, 0xffffffff
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x40795c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0xc]
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 0x4108b5
call fcn.00408504
push dword [ebp + 0x18]
push dword [ebp + 0xc]
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop ebx
pop ecx
add ecx, ebx
xor eax, eax
mov al, byte [ecx]
push eax
call fcn.0040a5c1
sub esp, 8
fstp qword [esp]
push 0
fild dword [esp]
add esp, 4
fld qword [esp]
add esp, 4
fcompp
fnstsw ax
mov ecx, 0xffffffff
test ah, 0x40
jne 0x4073b2
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x40741f
push 4
call fcn.0040cc0d
push 0x4108ec
push 0x4108f5
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
push 1
call fcn.0040cc0d
jmp 0x40747a
push 2
call fcn.0040cc0d
push 0x4108f8
push 0x410901
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
push 1
call fcn.0040cc0d
lea eax, [ebp + 0x1c]
push eax
xor ecx, ecx
push ecx
push 0
push 0
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x41144c], eax
push 0xb
xor ecx, ecx
push ecx
push 0
push 0
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x4114cc], eax
push 0
xor ecx, ecx
push ecx
push 0
push 1
pop eax
imul eax, eax, 1
add dword [esp], eax
pop eax
imul eax, eax, 4
pop ecx
add ecx, eax
pop eax
mov dword [ecx + 0x41144c], eax
push 0x410904
pop eax
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push eax
call fcn.00403fff
push 0x410919
push 0x41091a
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
mov eax, dword [ebp + 0x1c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x41091d
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x4075ab
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x407609
push 0
push 1
push dword [ebp + 0x28]
push dword [ebp + 0x24]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
mov eax, 0x411fb0
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c679
jmp 0x407957
mov eax, dword [ebp + 0x1c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x41091f
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x40765b
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x40769c
push 0
push 0x8000
push dword [ebp + 0x28]
push dword [ebp + 0x24]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push dword [ebp + 0x24]
mov eax, 0x411fb0
mov eax, dword [eax]
mov ecx, eax
call fcn.0040c679
jmp 0x407957
mov eax, dword [ebp + 0x1c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x410921
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x4076ee
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x4077ea
mov eax, 0x30
mov dword [ebp + 8], eax
push 0
push 4
mov eax, ebp
add eax, 4
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push dword [ebp + 0x24]
push dword [ebp + 0xc]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 0x10
pop ebx
pop eax
sub esp, 4
cdq
idiv ebx
mov dword [esp], edx
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 4], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x410923
call fcn.00408504
push 0
push dword [ebp + 4]
push dword [ebp + 8]
push dword [ebp + 0x28]
push dword [ebp + 4]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
call fcn.00404fb2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x410930
call fcn.00408504
push dword [ebp + 4]
call fcn.0040a3b2
jmp 0x4072dc
mov eax, dword [ebp + 0x1c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x41093e
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x40783c
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x4078eb
push 0x410940
push 0x41098e
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
push 0x410991
push 0x410992
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.00406dac
push eax
call fcn.00404c5e
jmp 0x4072dc
mov eax, dword [ebp + 0x1c]
push eax
push dword [eax - 4]
call main
pop ebx
push eax
push dword [eax - 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_RtlMoveMemory]
pop eax
push eax
push 0x410995
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.00407f3b
mov ecx, 0xffffffff
cmp eax, 2
je 0x40793d
mov ecx, 0
push ecx
pop eax
cmp eax, 0
je 0x407952
jmp 0x4079b6
jmp 0x40795c
jmp 0x4071f8
jmp 0x4071f8
mov eax, dword [ebp + 0x24]
push ecx
push eax
push 0x8000
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
pop ecx
mov dword [ebp + 0x24], eax
push dword [ebp + 0x24]
push dword [ebp + 0x20]
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
ja 0x40799f
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x4079b1
jmp 0x4079b6
jmp 0x4070f0
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
pop eax
mov dword [ebp + 0x10], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 0x10]
push dword [ebp + 0x14]
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
push 0x410997
call fcn.00408504
push 0
mov eax, 0x411f9c
mov eax, dword [eax]
mov ecx, eax
call fcn.00406aee
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.00408a8b
push dword [ebp + 0x18]
call fcn.0040337c
lea eax, [ebp + 0x2c]
mov ecx, eax
call fcn.004084dc
push dword [ebp + 0x1c]
call fcn.00403b1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
add esp, 0x44
ret 8