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

Disassembly:
jmp 0x447f20
push ecx
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
mov ebp, 1
mov dword [0x54c1f0], ebx
mov dword [esi + 0x540], ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esi + 0x53c]
mov dword [esi + 0x538], eax
sub eax, edx
cmp eax, 0x21
jle 0x44818b
cmp dword [esi + 0x550], 2
je 0x447f6a
push ebx
mov ecx, 0x54c1a0
call fcn.00403a17
mov eax, dword [esi + 0x550]
dec eax
je 0x447f9a
dec eax
jne 0x448033
mov eax, dword [0x54c1f8]
mov ecx, esi
cmp eax, 0x1b
jne 0x447f90
call fcn.004011a4
jmp 0x448075
call fcn.00401b36
jmp 0x448033
cmp dword [0x54c1f8], 0x1b
jne 0x44802c
mov eax, dword [esi + 0x554]
mov dword [esi + 0x550], ebx
push eax
mov dword [esi + 0x564], ebx
mov dword [esi + 0x568], ebx
call fcn.0050ff0f
mov ecx, dword [esi + 0x554]
lea edx, [esi + 0x558]
push ecx
push ebp
push 4
push edx
call fcn.0050fdd6
mov eax, dword [esi + 0x554]
push eax
call fcn.0050fbd7
add esp, 0x18
cmp eax, 0xffffffff
je 0x448075
cmp dword [esi + 0xbc], ebx
jne 0x448019
mov ecx, 0x551ed0
call fcn.00402aa4
mov ecx, 0x551ed0
call fcn.00403215
mov ecx, 0x551ed0
call fcn.0040201d
mov ecx, 0x5550c8
call fcn.00401ef6
mov ecx, esi
call fcn.004032ce
jmp 0x448075
mov ecx, esi
call fcn.004031ac
cmp dword [0x54c1f8], 0x1b
jne 0x44807b
cmp dword [esi + 0x550], 2
jne 0x44804e
mov ecx, esi
call fcn.004011a4
jmp 0x448075
mov eax, dword [esi + 0x10c]
mov ecx, 0x54b2b8
cmp eax, ebx
jne 0x44806a
call fcn.0040105f
mov dword [esi + 0x10c], ebp
jmp 0x448075
call fcn.00401d11
mov dword [esi + 0x10c], ebx
mov dword [0x54c1f8], ebx
cmp dword [esi + 0x10c], ebx
je 0x4480a8
cmp dword [0x546efc], 2
jne 0x44809c
cmp dword [0x542eec], ebx
jne 0x44809c
mov dword [esi + 0x10c], ebx
jmp 0x4480f4
mov ecx, 0x54b2b8
call fcn.004039fe
jmp 0x4480f4
push ebp
mov ecx, 0x54c4e4
call fcn.00402310
mov eax, dword [esi + 0x54c]
sub eax, ebx
je 0x4480ce
sub eax, 2
jne 0x4480d8
mov ecx, 0x542a20
call fcn.0040319d
jmp 0x4480d8
mov ecx, 0x550f58
call fcn.004032b5
mov ecx, 0x54c598
call fcn.00401d61
cmp dword [0x546a6c], ebx
je 0x4480f4
mov ecx, 0x54a738
call fcn.00402a81
mov ecx, 0x54a738
call fcn.00402504
cmp dword [esi + 0x550], 2
jne 0x448132
fild dword [0x54c1c8]
push 0x300
fstp dword [esp + 0x10]
fild dword [0x54c1c4]
mov ecx, dword [esp + 0x10]
push ecx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
push edx
call fcn.00509200
add esp, 0xc
cmp dword [esi + 0x568], ebx
je 0x448145
lea ecx, [esi + 0x56c]
call fcn.0040372e
cmp dword [esi + 0xc4], ebx
je 0x448164
call fcn.004029d2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x538]
mov dword [esi + 0x544], eax
cmp dword [esi + 0xf4], ebx
je 0x448171
call fcn.00401eb5
mov eax, dword [esi + 0x538]
mov dword [esi + 0x53c], eax
mov dword [0x54c1f0], ebp
mov dword [esi + 0x548], ebp
jmp 0x4481c9
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x548], ebx
cmp eax, ebx
je 0x4481c9
mov ecx, dword [0x54c4e8]
push 9
call fcn.004010ff
mov ecx, dword [0x54c4e8]
push 4
call fcn.0040325b
mov ecx, dword [0x54c4e8]
push 0x532770
push 0x2d
push 5
call fcn.004021d0
cmp dword [esi + 0x550], 2
je 0x4481d8
mov dword [0x54c1e0], ebx
pop esi
pop ebp
pop ebx
pop ecx
ret