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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100ab0e0
push 0x10085f9a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x100ae8c8]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
wait
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [0x10119568], ebx
mov eax, dword [0x361f6dc]
mov eax, dword [eax + 0x1d24]
mov dword [ebp - 0x28], eax
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x100721ad
cmp edi, 3
jne 0x100722eb
cmp dword [0x10191928], ebx
jne 0x100722e0
mov dword [ebp - 0x38], ebx
mov ecx, 0x101a2044
call fcn.10001240
cmp ebx, eax
jge 0x100722db
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x101a2038]
mov edx, dword [ecx + ebx*4]
sub eax, dword [edx]
cmp eax, 0xbb8
jae 0x100722d5
mov eax, 0x4a3a6d0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 0
lea esp, [esp]
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [0x362e168]
jge 0x100722d5
mov esi, dword [eax]
add eax, 4
mov dword [ebp - 0x30], eax
cmp dword [esi], 0xaf2ae4
jne 0x100722cd
mov edi, dword [esi + 0x10a4]
test edi, edi
je 0x100722cd
mov edx, dword [0x101a2044]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esi + 0x14]
cmp edx, dword [ecx]
jne 0x100722cd
fld dword [edi + 0x280]
call fcn.10085e30
mov dword [ebp - 0x34], eax
fld dword [edi + 0x288]
call fcn.10085e30
mov dword [ebp - 0x2c], eax
sub esp, 0x10
fld dword [0x1012d2ac]
fstp dword [esp + 0xc]
fld dword [0x1012d2a8]
fstp dword [esp + 8]
fild dword [ebp - 0x2c]
fstp dword [esp + 4]
fild dword [ebp - 0x34]
fstp dword [esp]
call fcn.100081f0
add esp, 0x10
fild dword [0x1012d2cc]
fcompp
fnstsw ax
test ah, 1
jne 0x100722d5
mov esi, dword [esi + 0xc]
cmp dword [0x1011cd68], 4
je 0x100722b1
push esi
call fcn.1006ecd0
add esp, 4
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc dword [ebp - 0x1c]
jmp 0x10072200
inc ebx
jmp 0x100721b9
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp edi, 3
jne 0x100722eb
wait
jmp 0x10072680
cmp edi, 2
jne 0x10072308
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax*4 + 0x361f6e0]
fld dword [ecx + 0x35c]
call fcn.10085e30
mov dword [ebp - 0x2c], eax
mov dword [0x1012d2d0], 0xffff
mov dword [ebp - 0x24], 0x4a3a6d0
mov dword [ebp - 0x20], ebx
lea esp, [esp]
mov edx, dword [ebp - 0x20]
cmp edx, dword [0x362e168]
jge 0x1007258d
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
add eax, 4
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10072582
cmp dword [esi], 0xaf2ae4
jne 0x10072582
cmp dword [esi + 0x10a4], 0
je 0x10072582
mov edi, dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1012d224]
cmp eax, 0x1388
jae 0x1007237d
cmp dword [0x1012d3bc], edi
je 0x10072582
cmp dword [esi + 0x3b0], 0x3e7
jl 0x10072582
cmp dword [ebp - 0x28], edi
je 0x10072582
cmp dword [ebp + 8], 2
jne 0x100723b2
fild dword [ebp - 0x2c]
fld dword [esi + 0x35c]
fcompp
fnstsw ax
test ah, 0x41
je 0x10072582
cmp dword [0x1019192c], 1
jne 0x100723fe
xor ecx, ecx
xor eax, eax
mov edx, dword [0x1018de68]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jge 0x100723dc
cmp dword [eax*4 + 0x1018dcd8], edi
je 0x10072582
inc eax
jmp 0x100723c5
cmp ecx, 1
je 0x10072582
fld dword [esi + 0x35c]
fild dword [0x10191de4]
fcompp
fnstsw ax
test ah, 1
je 0x10072582
mov ebx, dword [esi + 0x10a4]
cmp dword [0x10191918], 1
jne 0x1007241f
mov eax, dword [esi + 0x5f4]
cmp eax, dword [esi + 0x610]
jne 0x10072582
cmp dword [ebp + 8], 4
jne 0x10072441
cmp byte [ebx + 0x1d1], 0
jne 0x10072441
fld dword [esi + 0x1074]
call fcn.10085e30
fld dword [esi + 0x107c]
jmp 0x10072452
fld dword [ebx + 0x280]
call fcn.10085e30
fld dword [ebx + 0x288]
mov edi, eax
call fcn.10085e30
test edi, edi
jne 0x10072465
test eax, eax
je 0x10072582
cmp dword [0x10191bc4], 3
jne 0x1007250d
mov ecx, dword [esi + 0x3b0]
cmp ecx, 0x2af9
jl 0x1007248c
cmp ecx, 0x2b35
jle 0x10072582
mov ecx, dword [esi + 0x5f4]
mov edx, dword [0x10119568]
mov dword [edx*4 + 0x10116e58], ecx
mov ecx, dword [esi + 0x610]
mov edx, dword [0x10119568]
mov dword [edx*4 + 0x10117628], ecx
mov ecx, dword [0x10119568]
mov dword [ecx*4 + 0x101185c8], edi
mov edx, dword [0x10119568]
mov dword [edx*4 + 0x10118d98], eax
lea edx, [esi + 0x360]
mov eax, dword [0x10119568]
imul eax, eax, 0xc8
add eax, 0x100fe7b8
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x100724e2
mov eax, dword [esi + 0xc]
mov ecx, dword [0x10119568]
mov dword [ecx*4 + 0x10117df8], eax
inc dword [0x10119568]
inc dword [ebp - 0x20]
mov edi, dword [ebp + 8]
jmp 0x10072320
mov edx, dword [esi + 0x5f4]
mov ecx, dword [0x10119568]
mov dword [ecx*4 + 0x10116e58], edx
mov edx, dword [esi + 0x610]
mov ecx, dword [0x10119568]
mov dword [ecx*4 + 0x10117628], edx
mov edx, dword [0x10119568]
mov dword [edx*4 + 0x101185c8], edi
mov ecx, dword [0x10119568]
mov dword [ecx*4 + 0x10118d98], eax
lea edx, [esi + 0x360]
mov eax, dword [0x10119568]
imul eax, eax, 0xc8
add eax, 0x100fe7b8
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x10072563
mov edx, dword [esi + 0xc]
mov eax, dword [0x10119568]
mov dword [eax*4 + 0x10117df8], edx
inc dword [0x10119568]
inc dword [ebp - 0x20]
mov edi, dword [ebp + 8]
jmp 0x10072320
cmp dword [0x10191854], 1
jne 0x100725a5
mov ecx, dword [0x1012d2cc]
push ecx
call fcn.1003ddd0
add esp, 4
mov eax, dword [0x10191bc4]
cmp eax, 1
je 0x100725b4
cmp eax, 2
jne 0x100725be
push 1
call fcn.1004a580
add esp, 4
cmp dword [0x10191bc4], 3
jle 0x100725d1
push 0
call fcn.1004a580
add esp, 4
call fcn.10037550
call fcn.100374c0
mov esi, eax
test esi, esi
jne 0x100725f9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov eax, 0x10624dd3
mul edx
shr edx, 6
mov dword [0x1012d218], edx
cmp edi, 2
jne 0x1007229f
test esi, esi
je 0x100722e5
fild dword [ebp - 0x2c]
mov eax, dword [esi*4 + 0x361f6e0]
fld dword [eax + 0x35c]
fcompp
fnstsw ax
test ah, 5
jp 0x10072636
push 0x100a14bc
call fcn.10008090
push esi
call fcn.1006ecd0
add esp, 8
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret