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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 8], 0
cmp dword [ebp + 8], 0
jne 0x45ddfd
mov eax, dword [ebp + 0xc]
mov dword [0x63e978], eax
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x45dddc
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x40], edx
jmp 0x45dde5
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp + 0x10]
imul edx, edx, 0x3e8
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [0x63ee60], eax
jmp 0x45e0de
cmp dword [0x121bbe0], 9
je 0x45de0b
jmp 0x45e0de
cmp dword [ebp + 8], 4
jne 0x45de38
push 0x45e0f0
call fcn.0045d7d0
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45de38
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004013e0
add esp, 4
jmp 0x45e0de
push 0x45e0f0
call fcn.0045d7d0
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x45de6f
mov dword [ebp - 8], 1
push 0
push 3
call fcn.004010b0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x45de6f
jmp 0x45e0de
mov edx, dword [ebp - 0xc]
mov dword [edx + 8], 0x45e0f0
lea eax, [ebp - 0x10]
push eax
push 0x3937
call fcn.0047dc90
add esp, 8
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
call fcn.0047dad0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x20], edx
movsx eax, word [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x2c8], eax
movsx edx, word [ebp - 4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x2cc], edx
cmp dword [ebp - 8], 0
je 0x45def5
mov ecx, dword [ebp - 0xc]
fldz
fstp dword [ecx + 0x40]
mov edx, dword [ebp - 0xc]
fldz
fstp dword [edx + 0x44]
mov eax, dword [ebp - 0xc]
fld dword [0x5e9770]
fstp dword [eax + 0x54]
mov ecx, dword [ebp - 0xc]
fldz
fstp dword [ecx + 0x50]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x58], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x2c8]
add ecx, 0x56
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x2c8], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x2cc]
sub ecx, 0x5d
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x2cc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x2b0], ecx
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x15], 0xb
push 0
lea ecx, [ebp - 0x24]
call fcn.005b7340
mov eax, dword [ebp - 0xc]
add eax, 0x1e0
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
mov al, byte [ebp - 0x18]
mov byte [edx + 0xc], al
lea ecx, [ebp - 0x24]
call fcn.005b7380
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x34]
call fcn.005b7340
mov edx, dword [ebp - 0xc]
add edx, 0x1f0
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x28]
mov byte [ecx + 0xc], dl
lea ecx, [ebp - 0x34]
call fcn.005b7380
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
je 0x45dfc6
cmp dword [ebp - 0x44], 2
je 0x45e00f
cmp dword [ebp - 0x44], 3
je 0x45e048
jmp 0x45e0cb
mov ecx, dword [ebp - 0xc]
fld dword [0x5e976c]
fstp dword [ecx + 0x40]
mov edx, dword [ebp - 0xc]
fld dword [0x5e9768]
fstp dword [edx + 0x44]
mov eax, dword [ebp - 0xc]
fld1
fstp dword [eax + 0x54]
fild dword [ebp + 0x14]
fmul qword [0x5e96e8]
mov ecx, dword [ebp - 0xc]
fstp dword [ecx + 0x274]
fild dword [ebp + 0x18]
fmul qword [0x5e96e8]
mov edx, dword [ebp - 0xc]
fstp dword [edx + 0x278]
jmp 0x45e0de
mov eax, dword [ebp - 0xc]
fldz
fstp dword [eax + 0x40]
mov ecx, dword [ebp - 0xc]
fldz
fstp dword [ecx + 0x54]
fild dword [ebp + 0x14]
fmul qword [0x5e96e8]
mov edx, dword [ebp - 0xc]
fstp dword [edx + 0x274]
fild dword [ebp + 0x18]
fmul qword [0x5e96e8]
mov eax, dword [ebp - 0xc]
fstp dword [eax + 0x278]
jmp 0x45e0de
push 0xf0
push 0x140
push 0x1bc
call fcn.005af300
add esp, 0xc
push 0xf0
push 0x140
push 0x1bb
call fcn.005af300
add esp, 0xc
push 0xf0
push 0x140
push 0x194
call fcn.005af300
add esp, 0xc
mov ecx, dword [ebp - 0xc]
fldz
fstp dword [ecx + 0x40]
mov edx, dword [ebp - 0xc]
fldz
fstp dword [edx + 0x44]
mov eax, dword [ebp - 0xc]
fldz
fstp dword [eax + 0x54]
fild dword [ebp + 0x14]
fmul qword [0x5e96e8]
mov ecx, dword [ebp - 0xc]
fstp dword [ecx + 0x274]
fild dword [ebp + 0x18]
fmul qword [0x5e96e8]
mov edx, dword [ebp - 0xc]
fstp dword [edx + 0x278]
jmp 0x45e0de
mov eax, dword [ebp - 0xc]
push eax
call fcn.004013e0
add esp, 4
mov dword [ebp - 0xc], 0
mov esp, ebp
pop ebp
ret