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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push edi
push 0xc
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10029d85
cmp byte [esi + 0x1d41], 1
jne 0x10029d85
xor ebx, ebx
mov byte [esi + 0x1d41], bl
mov dword [0xe8cb3c], ebx
jmp 0x10029d87
xor ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [esi + 0x1d84]
cmp eax, 0x64
jae 0x10029da6
mov byte [esi + 0x1d41], bl
mov dword [0xe8cb3c], ebx
call edi
sub eax, dword [esi + 0x1dcc]
cmp eax, 0x64
jae 0x10029dbf
mov byte [esi + 0x1d41], bl
mov dword [0xe8cb3c], ebx
cmp byte [esi + 0x1d41], bl
je 0x1002a044
fld dword [0x1005cf60]
sub esp, 8
fstp dword [esp + 4]
mov eax, 0x66
fld dword [0x1005c514]
mov ecx, 0x100ba618
fstp dword [esp]
call fcn.10026510
fld dword [0x1005cad8]
sub esp, 8
fstp dword [esp + 4]
mov eax, 0x1d
fld dword [0x1005c514]
mov ecx, 0x100ba618
fstp dword [esp]
call fcn.10026510
fld dword [0x1005cf5c]
mov edi, 5
fstp dword [ebp - 4]
fld dword [0x100baf00]
mov eax, dword [0x100baef8]
sub esp, 0x10
fstp dword [esp + 0xc]
mov ecx, 0x790b50
fld dword [0x100baefc]
fstp dword [esp + 8]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x1005c514]
fstp dword [esp]
push eax
call ecx
fld dword [0x100baf00]
fld st(0)
add esp, 0x14
dec edi
fadd dword [ebp - 4]
fstp dword [ebp - 4]
jne 0x10029e29
fstp st(0)
sub esp, 8
fld dword [ebp - 4]
lea eax, [edi + 0x1f]
fstp dword [esp + 4]
mov ecx, 0x100ba618
fld dword [0x1005c514]
fstp dword [esp]
call fcn.10026510
push 0x42
mov ecx, 0x10073f48
call fcn.1001fe70
push eax
push 0xd2
push 0x23
push 0xff19bdff
lea ebx, [edi + 3]
lea ecx, [edi + 0x64]
call fcn.10026c50
add esp, 0x10
push 0x43
mov ecx, 0x10073f48
call fcn.1001fe70
push eax
push 0xd2
push 0x23
push 0xff19bdff
lea ecx, [ebx + 0x7f]
call fcn.10026c50
fldz
fst dword [esp + 0xc]
lea eax, [edi + 0x67]
fstp dword [esp + 8]
mov ecx, esi
fld dword [0x1005ceb8]
fstp dword [esp + 4]
fld dword [0x1005c8fc]
fstp dword [esp]
call fcn.10027c50
fld dword [esi + 0x1d74]
call fcn.100569f0
fld dword [esi + 0x1d78]
mov edi, eax
call fcn.100569f0
fld dword [esi + 0x1d6c]
mov ebx, eax
call fcn.100569f0
fld dword [esi + 0x1d70]
mov dword [ebp - 4], eax
call fcn.100569f0
mov edx, dword [ebp - 4]
push eax
push edx
push ebx
push edi
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10029f8a
cmp byte [esi + 0x1d88], 0
mov dword [ebp - 4], 0x1e
je 0x10029f5b
mov dword [ebp - 4], 0x3c
fild dword [ebp - 4]
sub esp, 0x10
mov eax, 0x67
mov ecx, esi
fstp dword [esp + 0xc]
fldz
fstp dword [esp + 8]
fld dword [0x1005ceb8]
fstp dword [esp + 4]
fld dword [0x1005c8fc]
fstp dword [esp]
call fcn.10027c50
fldz
sub esp, 0x10
fst dword [esp + 0xc]
mov eax, 0x68
fstp dword [esp + 8]
mov ecx, esi
fld dword [0x1005ceb8]
fstp dword [esp + 4]
fld dword [0x1005cf58]
fstp dword [esp]
call fcn.10027c50
fld dword [esi + 0x1dbc]
call fcn.100569f0
fld dword [esi + 0x1dc0]
mov edi, eax
call fcn.100569f0
fld dword [esi + 0x1db4]
mov ebx, eax
call fcn.100569f0
fld dword [esi + 0x1db8]
mov dword [ebp - 4], eax
call fcn.100569f0
mov ecx, dword [ebp - 4]
push eax
push ecx
push ebx
push edi
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x1002a044
cmp byte [esi + 0x1dd0], 0
mov dword [ebp - 4], 0x1e
je 0x1002a015
mov dword [ebp - 4], 0x3c
fild dword [ebp - 4]
sub esp, 0x10
mov eax, 0x68
mov ecx, esi
fstp dword [esp + 0xc]
fldz
fstp dword [esp + 8]
fld dword [0x1005ceb8]
fstp dword [esp + 4]
fld dword [0x1005cf58]
fstp dword [esp]
call fcn.10027c50
pop edi
pop ebx
mov esp, ebp
pop ebp
ret