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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1001baa0
push 0x10016c99
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1001d018]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
wait
xor esi, esi
mov dword [ebp - 4], esi
mov ecx, dword [0x10020210]
mov edx, dword [ecx]
mov eax, dword [0x10022ce0]
add eax, 0x1c
push eax
mov edx, dword [edx + 4]
call edx
cmp dword [eax], esi
je 0x1000d45d
cmp dword [0x10022ea4], esi
jne 0x1000d134
cmp dword [0x10022ea8], esi
je 0x1000d463
mov dword [0x10022e70], esi
mov dword [0x10022e54], esi
mov dword [0x10022e60], esi
mov dword [0x10022e3c], esi
mov dword [0x10022db0], esi
mov dword [0x10022db4], esi
mov eax, dword [0x10022ce0]
mov ecx, dword [eax + 0x1fc]
mov edx, dword [0x1001ee18]
mov eax, dword [edx + ecx]
push eax
call fcn.10006b20
add esp, 4
test eax, eax
jle 0x1000d463
call fcn.10007400
cmp eax, esi
je 0x1000d18f
cmp eax, 1
jne 0x1000d463
mov eax, 1
cmp dword [0x10022ea4], eax
je 0x1000d1a8
cmp dword [0x10022ea8], eax
jne 0x1000d233
mov eax, dword [0x10022ce0]
mov ecx, dword [eax + 0x84]
mov edx, dword [eax + 0x1fc]
mov esi, dword [0x1001ee18]
mov edx, dword [esi + edx]
mov esi, dword [eax + 0x1f4]
imul esi, edx
add esi, dword [eax + 0x1f8]
mov ecx, dword [esi + ecx + 0x9c]
mov eax, 0x4f8b588f
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x10
imul eax, eax, 0x186a0
sub ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
cmp edx, 3
je 0x1000d206
cmp edx, 4
jne 0x1000d210
mov dword [0x10022548], 0x64
cmp edx, 5
je 0x1000d21a
cmp edx, 6
jne 0x1000d224
mov dword [0x10022548], 0x3e8
cmp edx, 2
jne 0x1000d233
mov dword [0x10022548], 0x1f4
call fcn.10006900
mov ecx, eax
call fcn.100068b0
mov edi, eax
call fcn.100068d0
mov ecx, eax
call fcn.10006810
mov ebx, eax
call fcn.100068d0
mov ecx, eax
call fcn.10006830
mov esi, eax
cmp ebx, 1
jg 0x1000d2aa
test edi, edi
jle 0x1000d2aa
test esi, esi
jle 0x1000d2aa
cmp esi, edi
jge 0x1000d28b
push esi
call fcn.100068d0
mov ecx, eax
call fcn.10006850
push 0
call fcn.100068d0
mov ecx, eax
call fcn.10006880
cmp esi, edi
jle 0x1000d2aa
sub esi, edi
inc esi
push edi
call fcn.100068d0
mov ecx, eax
call fcn.10006850
push esi
call fcn.100068d0
mov ecx, eax
call fcn.10006880
or esi, 0xffffffff
mov eax, dword [0x10022ef8]
test eax, eax
jne 0x1000d2c0
mov dword [0x10022efc], 0x28
cmp eax, 1
jne 0x1000d2cf
mov dword [0x10022efc], 0x1e
cmp eax, 2
jne 0x1000d2de
mov dword [0x10022efc], 0x14
cmp eax, 3
jne 0x1000d2ed
mov dword [0x10022efc], 0xa
mov dword [0x1001fd44], 0xffffff00
mov edi, dword [ebp - 0x38]
call fcn.1000b8b0
cmp eax, 0xffffffff
je 0x1000d310
mov dword [0x1001fd44], 0xffff0000
mov esi, eax
cmp esi, 0xffffffff
je 0x1000d469
mov ecx, dword [0x10022ce0]
mov edx, dword [ecx + 0x1fc]
mov eax, dword [0x1001ee18]
mov eax, dword [eax + edx]
mov ecx, dword [0x10022768]
push ecx
push eax
lea edx, [ebp - 0x28]
push edx
call fcn.10008760
add esp, 0xc
test al, al
je 0x1000d469
mov eax, dword [0x10022768]
push eax
push esi
lea ecx, [ebp - 0x34]
push ecx
call fcn.10008760
add esp, 0xc
test al, al
je 0x1000d469
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
cmp dword [0x1001ee8c], eax
ja 0x1000d3d3
call fcn.100068d0
mov ecx, eax
call fcn.10006810
test eax, eax
jle 0x1000d3c6
mov eax, 1
cmp dword [0x10022ea4], eax
je 0x1000d399
cmp dword [0x10022ea8], eax
jne 0x1000d3c6
call fcn.100068d0
mov esi, eax
mov ecx, dword [0x10020210]
mov edx, dword [ecx]
push 0x100227a4
mov eax, dword [edx + 4]
call eax
add eax, dword [0x100222f4]
push 0
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x28]
push edx
mov ecx, esi
call eax
call ebx
add eax, dword [0x10022548]
mov dword [0x1001ee8c], eax
cmp dword [0x10022e7c], 0
je 0x1000d469
fld dword [ebp - 0x30]
fadd qword [0x1001acc0]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x34]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x38]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x2c]
fstp dword [ebp - 0x3c]
push edi
lea eax, [ebp - 0x44]
push eax
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x40]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 8], ecx
call fcn.10007060
mov ecx, eax
call fcn.10006e80
test al, al
je 0x1000d469
push str.TARGET
push 0xff00ff00
fld dword [ebp - 0x40]
fsub qword [0x1001adc0]
call fcn.10017010
push eax
fld dword [ebp - 0x44]
call fcn.10017010
mov ecx, eax
mov esi, dword [0x10022cdc]
call fcn.10005d80
add esp, 0xc
wait
jmp 0x1000d47f
mov dword [0x10022eac], esi
mov dword [0x1001ef30], esi
wait
jmp 0x1000d47f
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1001660c
mov esp, ebp
pop ebp
ret