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

Disassembly:
push 0x2c
push 0x100a22f0
call fcn.10082b30
wait
xor edi, edi
mov dword [ebp - 4], edi
mov dword [0x1010df10], edi
mov eax, dword [0x2fb7ac4]
mov eax, dword [eax + 0x1d20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 8], edi
je 0x10037d5b
cmp dword [ebp + 8], 3
jne 0x10037e84
cmp dword [0x103c2d58], edi
jne 0x10037e78
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [0x103d5f40]
mov dword [ebp - 0x34], eax
cmp ebx, eax
jge 0x10037e78
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x103d5f2c]
mov ecx, dword [ecx + ebx*4]
sub eax, dword [ecx]
cmp eax, 0xbb8
jae 0x10037e70
mov dword [ebp - 0x1c], 0x2fc6570
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x20]
cmp eax, dword [0x2fb7a9c]
jge 0x10037e70
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
add dword [ebp - 0x1c], 4
cmp dword [esi], 0xd71444
jne 0x10037e68
mov edi, dword [esi + 0x10a4]
test edi, edi
je 0x10037e68
cmp dword [esi + 0x3c0], 1
je 0x10037e68
cmp dword [esi + 0x3b0], 0x270f
jle 0x10037e68
mov eax, dword [0x103d5f38]
mov eax, dword [eax + ebx*4]
mov ecx, dword [esi + 0x14]
cmp ecx, dword [eax]
jne 0x10037e68
fld dword [edi + 0x280]
call fcn.10082ff0
mov dword [ebp - 0x34], eax
fld dword [edi + 0x288]
call fcn.10082ff0
mov dword [ebp - 0x30], eax
sub esp, 0x10
fld dword [0x1035edc8]
fstp dword [esp + 0xc]
fld dword [0x1035edc4]
fstp dword [esp + 8]
fild dword [ebp - 0x30]
fstp dword [esp + 4]
fild dword [ebp - 0x34]
fstp dword [esp]
call fcn.1000640b
add esp, 0x10
fild dword [0x1035ede8]
fcompp
fnstsw ax
test ah, 1
jne 0x10037e70
mov esi, dword [esi + 0xc]
cmp dword [0x101117c4], 4
je 0x100381d0
jmp 0x100381c9
inc dword [ebp - 0x20]
jmp 0x10037da2
inc ebx
xor edi, edi
jmp 0x10037d69
cmp dword [ebp + 8], 3
jne 0x10037e84
wait
jmp 0x10038206
cmp dword [ebp + 8], 2
jne 0x10037ea2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax*4 + 0x2fb7ae0]
fld dword [eax + 0x35c]
call fcn.10082ff0
mov dword [ebp - 0x30], eax
cmp dword [0x103c2c88], 1
jne 0x10037eb8
cmp dword [ebp + 8], 1
jne 0x10037eb8
mov dword [ebp + 8], 4
mov dword [0x1035edec], 0xffff
mov dword [ebp - 0x24], 0x2fc6570
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x28]
cmp eax, dword [0x2fb7a9c]
jge 0x1003812a
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
add dword [ebp - 0x24], 4
cmp esi, edi
je 0x10038120
cmp dword [esi], 0xd71444
jne 0x10038120
cmp dword [esi + 0x10a4], edi
je 0x10038120
cmp dword [esi + 0x3c0], 1
je 0x10038120
cmp dword [esi + 0x3b0], 0x270f
jle 0x10038120
mov edi, dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1035ed48]
cmp eax, 0x1388
jae 0x10037f43
cmp dword [0x1035eed4], edi
je 0x10038120
cmp dword [esi + 0x3b0], 0x3e7
jl 0x10038120
cmp dword [ebp - 0x2c], edi
je 0x10038120
cmp dword [ebp + 8], 2
jne 0x10037f78
fild dword [ebp - 0x30]
fld dword [esi + 0x35c]
fcompp
fnstsw ax
test ah, 0x41
je 0x10038120
cmp dword [0x103c2d5c], 1
jne 0x10037fc2
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bfb30]
jge 0x10037fa0
cmp dword [eax*4 + 0x103bf9a0], edi
je 0x10038120
inc eax
jmp 0x10037f85
cmp ecx, 1
je 0x10038120
fld dword [esi + 0x35c]
fild dword [0x103c3214]
fcompp
fnstsw ax
test ah, 1
je 0x10038120
mov ebx, dword [esi + 0x10a4]
cmp dword [0x103c2d48], 1
jne 0x10037fe3
mov eax, dword [esi + 0x5f4]
cmp eax, dword [esi + 0x610]
jne 0x10038120
cmp dword [ebp + 8], 4
jne 0x10038005
cmp byte [ebx + 0x1d1], 0
jne 0x10038005
fld dword [esi + 0x1074]
call fcn.10082ff0
fld dword [esi + 0x107c]
jmp 0x10038016
fld dword [ebx + 0x280]
call fcn.10082ff0
fld dword [ebx + 0x288]
mov edi, eax
call fcn.10082ff0
mov ebx, eax
test edi, edi
jne 0x1003802b
test ebx, ebx
je 0x10038120
cmp dword [0x2f92a08], 0xa7f9
jne 0x1003808f
lea eax, [esi + 0x360]
push 0x1009757c
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x1003805b
cmp dword [esi + 0x5f4], eax
je 0x10038120
push 0x1009758c
lea eax, [esi + 0x360]
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x1003808f
push 0x1009757c
lea eax, [esi + 0x360]
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x10038120
cmp dword [0x103c2ff4], 3
jne 0x100380ac
mov eax, dword [esi + 0x3b0]
cmp eax, 0x2af9
jl 0x100380ac
cmp eax, 0x2b35
jle 0x10038120
mov ecx, dword [0x1010df10]
mov eax, dword [esi + 0x5f4]
mov dword [ecx*4 + 0x1010b800], eax
mov ecx, dword [0x1010df10]
mov eax, dword [esi + 0x610]
mov dword [ecx*4 + 0x1010bfd0], eax
mov eax, dword [0x1010df10]
mov dword [eax*4 + 0x1010cf70], edi
mov eax, dword [0x1010df10]
mov dword [eax*4 + 0x1010d740], ebx
lea eax, [esi + 0x360]
push eax
mov eax, dword [0x1010df10]
imul eax, eax, 0xc8
add eax, 0x100f3160
push eax
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
mov ecx, dword [0x1010df10]
mov eax, dword [esi + 0xc]
mov dword [ecx*4 + 0x1010c7a0], eax
inc dword [0x1010df10]
inc dword [ebp - 0x28]
xor edi, edi
jmp 0x10037ecc
cmp dword [0x103c2c84], 1
jne 0x10038148
cmp byte [0x1035ef22], 1
jne 0x10038148
push dword [0x1035ede8]
call fcn.10048674
pop ecx
mov eax, dword [0x103c2ff4]
cmp eax, 1
je 0x10038157
cmp eax, 2
jne 0x1003815f
push 1
call fcn.10038215
pop ecx
cmp dword [0x103c2ff4], 3
jle 0x1003816f
push edi
call fcn.10038215
pop ecx
call fcn.10037bcd
call fcn.10037996
mov esi, eax
cmp esi, edi
jne 0x10038193
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x1035ed3c], eax
cmp dword [ebp + 8], 2
jne 0x10037e56
test esi, esi
je 0x10037e7e
fild dword [ebp - 0x30]
mov eax, dword [esi*4 + 0x2fb7ae0]
fld dword [eax + 0x35c]
fcompp
fnstsw ax
test ah, 5
jp 0x100381d0
push 0x10097598
call fcn.100060fb
pop ecx
mov ecx, esi
call fcn.100383fc
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0x1003820f
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
call fcn.10082b75
ret