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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, byte [0x613f29]
test eax, eax
je 0x51a3ea
mov ecx, dword [0x629d28]
push ecx
mov edx, dword [0x629d24]
push edx
mov eax, dword [0x629d20]
push eax
mov ecx, dword [0x629d1c]
push ecx
call fcn.004a2b50
add esp, 0x10
test eax, eax
je 0x51a171
mov byte [0xf1ce44], 0xd4
mov dword [0xf10440], 1
mov dword [0xcb1fe8], 0
mov dword [0xcb1fe0], 0
push 0x629d1c
call fcn.0051a440
add esp, 4
and eax, 1
je 0x51a35f
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x51a1a8
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 4], edx
jmp 0x51a1b1
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
sub edx, dword [0xccdec4]
cmp edx, 0x1388
jbe 0x51a2b6
movzx eax, byte [0x613f2a]
test eax, eax
je 0x51a2b6
movzx ecx, word [0x1210992]
and ecx, 0x200
jne 0x51a2b6
movzx edx, word [0x1210992]
and edx, 0x100
jne 0x51a2b6
call fcn.0051d000
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x51a221
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 8], edx
jmp 0x51a22a
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov dword [0xccdec4], edx
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x51a254
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0xc], edx
jmp 0x51a25d
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov dword [0xcda6fc], edx
cmp dword [0x121bbe0], 9
jne 0x51a2b1
cmp dword [0x121bbdc], 3
jne 0x51a2b1
push 0xf0
push 0x140
push 0x38
call fcn.005af300
add esp, 0xc
mov dword [0x62494c], 9
mov eax, dword [0x121bbdc]
mov dword [0x625554], eax
push 0x10
call fcn.00599ef0
add esp, 4
mov byte [0xf10f82], 1
jmp 0x51a35f
push 0xf0
push 0x140
push 0x37
call fcn.005af300
add esp, 0xc
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x51a2eb
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x10], edx
jmp 0x51a2f4
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
sub edx, dword [0xccdec4]
cmp edx, 0x1388
ja 0x51a316
push 4
push 0x5f26d4
call fcn.00461c60
add esp, 8
jmp 0x51a35f
movzx eax, byte [0x613f2a]
test eax, eax
jne 0x51a332
push 4
push 0x5f26fc
call fcn.00461c60
add esp, 8
jmp 0x51a35f
movzx ecx, word [0x1210992]
and ecx, 0x200
jne 0x51a350
movzx edx, word [0x1210992]
and edx, 0x100
je 0x51a35f
push 4
push 0x5f2734
call fcn.00461c60
add esp, 8
push 0x629d4c
call fcn.0051a440
add esp, 4
and eax, 1
je 0x51a38c
push 0xf0
push 0x140
push 0x33
call fcn.005af300
add esp, 0xc
mov byte [0x613f29], 0
push 0x629d1c
call fcn.0051a440
add esp, 4
and eax, 0x40
je 0x51a3b8
push 0
push 0
push 0
push 0xe6
push 0x629d34
call fcn.0051a550
add esp, 0x14
jmp 0x51a3d0
push 0
push 0
push 0
push 0xe6
push 0x629d1c
call fcn.0051a550
add esp, 0x14
push 0
push 0
push 0
push 0xe6
push 0x629d4c
call fcn.0051a550
add esp, 0x14
jmp 0x51a42f
push 0
push 0
push 0
push 0xe6
push 0x629d64
call fcn.0051a550
add esp, 0x14
push 0x629d64
call fcn.0051a440
add esp, 4
and eax, 1
je 0x51a42f
push 0xf0
push 0x140
push 0x33
call fcn.005af300
add esp, 0xc
mov byte [0x613f29], 1
mov esp, ebp
pop ebp
ret