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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f54e7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x994
push esi
mov dword [ebp - 0x9a0], ecx
mov ecx, dword [ebp - 0x9a0]
add ecx, 0x38
call fcn.00407cb0
test eax, eax
je 0x455c50
xor al, al
jmp 0x4561d9
mov ecx, 0x5362a0
call fcn.00458a30
mov dword [ebp - 0x418], eax
cmp dword [0x5378c0], 0x823
je 0x455dc2
push 1
push 0
mov ecx, 0x5378a0
call fcn.00497e5a
test eax, eax
jne 0x455dc2
mov byte [ebp - 0x820], 1
cmp dword [0x536570], 0
je 0x455cef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x828]
cmp eax, dword [0x536570]
jb 0x455ccf
mov ecx, dword [ebp - 0x828]
sub ecx, dword [0x536570]
mov edx, 0x4ef6d80
cmp edx, ecx
sbb eax, eax
neg eax
mov byte [ebp - 0x820], al
jmp 0x455cef
or ecx, 0xffffffff
sub ecx, dword [0x536570]
add ecx, dword [ebp - 0x828]
mov edx, 0x4ef6d80
cmp edx, ecx
sbb eax, eax
neg eax
mov byte [ebp - 0x820], al
mov dword [ebp - 0x824], 0
lea ecx, [ebp - 0x824]
push ecx
call fcn.004ac0a0
add esp, 4
mov eax, dword [ebp - 0x824]
shr eax, 7
xor edx, edx
mov ecx, 0x2a3
div ecx
mov dword [ebp - 0x824], eax
mov edx, dword [ebp - 0x824]
cmp edx, dword [ebp - 0x418]
jbe 0x455d3d
mov eax, dword [ebp - 0x820]
and eax, 0xff
test eax, eax
jne 0x455d8e
push 0
lea ecx, [ebp - 0x8c0]
call fcn.0044b7f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x8c0]
call fcn.004d4cec
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov byte [eax], 1
mov byte [ebp - 0x984], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c0]
call fcn.0044b910
mov al, byte [ebp - 0x984]
jmp 0x4561d9
push 0xffffffffffffffff
push 0x34
push 0xef2e
call fcn.004df363
cmp eax, 6
je 0x455db6
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov byte [eax], 1
mov al, 1
jmp 0x4561d9
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x9a0]
add edx, 0x38
push edx
lea ecx, [ebp - 0x414]
call fcn.004d3540
mov dword [ebp - 4], 1
push 0x3f
lea ecx, [ebp - 0x414]
call fcn.004d3c92
cmp eax, 0xffffffff
je 0x455f4f
mov eax, dword [ebp + 0x18]
movsx ecx, byte [eax + 0x430]
cmp ecx, 0x3f
jne 0x455f03
push 0
lea ecx, [ebp - 0x974]
call fcn.004427a0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x8d4]
call fcn.004d3904
lea ecx, [ebp - 0x974]
call fcn.004d4cec
mov dword [ebp - 0x8c4], eax
cmp dword [ebp - 0x8cc], 0
je 0x455e55
mov eax, dword [ebp + 0x18]
mov cl, byte [ebp - 0x918]
mov byte [eax + 0x430], cl
jmp 0x455e5f
mov edx, dword [ebp + 0x18]
mov byte [edx + 0x430], 0x3f
cmp dword [ebp - 0x8c4], 2
jne 0x455e9b
mov byte [ebp - 0x988], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x974]
call fcn.00442da0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x988]
jmp 0x4561d9
cmp dword [ebp - 0x8c4], 0x3ed
jne 0x455ee0
mov eax, dword [ebp + 0x14]
mov byte [eax], 1
mov byte [ebp - 0x98c], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x974]
call fcn.00442da0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x98c]
jmp 0x4561d9
lea ecx, [ebp - 0x8d0]
push ecx
lea ecx, [ebp - 0x414]
call fcn.004d3904
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x974]
call fcn.00442da0
jmp 0x455f4f
lea ecx, [ebp - 0x414]
call fcn.00406320
push eax
lea ecx, [ebp - 0x414]
call fcn.004d3bfb
mov dword [ebp - 0x978], eax
cmp dword [ebp - 0x978], 0
je 0x455f4f
mov edx, dword [ebp + 0x18]
mov al, byte [edx + 0x430]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
call fcn.00452672
add esp, 8
push 0xffffffffffffffff
lea ecx, [ebp - 0x414]
call fcn.004d3c4a
mov edx, dword [ebp + 8]
push edx
call fcn.004a9710
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x414]
call fcn.00406320
add esi, eax
cmp esi, 0x104
jb 0x455ff7
cmp dword [ebp + 0x1c], 0
je 0x455fd3
lea ecx, [ebp - 0x97c]
call fcn.00404dc0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x52ec68
lea edx, [ebp - 0x97c]
push edx
call fcn.004cc926
add esp, 0x10
mov eax, dword [ebp - 0x97c]
push eax
push 0xef96
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.00471dc5
add esp, 0x10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x97c]
call fcn.004d37cb
mov byte [ebp - 0x990], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x990]
jmp 0x4561d9
mov edx, dword [ebp - 0x414]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x52ec70
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004a9b8d
add esp, 0x10
mov byte [ebp - 0x410], 0
push 0x400
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x40c]
push ecx
mov ecx, dword [ebp + 0x20]
call fcn.004819c5
and eax, 0xff
test eax, eax
jne 0x45606c
mov byte [ebp - 0x994], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x994]
jmp 0x4561d9
mov edx, dword [ebp - 0x410]
and edx, 0xff
test edx, edx
je 0x456092
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004aa670
add esp, 8
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
xor ecx, ecx
mov cl, byte [eax]
test ecx, ecx
je 0x4560c9
mov edx, dword [ebp + 0x14]
mov byte [edx], 1
mov byte [ebp - 0x998], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x998]
jmp 0x4561d9
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0xc], 0
je 0x4560f0
push 0
lea ecx, [ebp - 0x414]
call fcn.00447470
push eax
push 0x7f5
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
call fcn.004063e0
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov cl, byte [ebp + 0x10]
push ecx
lea edx, [ebp - 0x40c]
push edx
mov eax, dword [ebp - 0x9a0]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [eax + 0x40]
push edx
mov eax, dword [ebp - 0x9a0]
add eax, 0x10
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0xc]
call dword [edx + 0x10]
mov byte [ebp - 0x41c], al
mov eax, dword [ebp - 0x41c]
and eax, 0xff
test eax, eax
je 0x4561b5
mov ecx, dword [ebp - 0x418]
push ecx
mov ecx, 0x5362a0
call fcn.00458a70
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x536570], eax
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
lea edx, [ebp - 0x40c]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x980], eax
cmp dword [ebp - 0x980], 0xffffffff
je 0x4561b5
mov eax, dword [ebp - 0x9a0]
add eax, 0x30
push eax
push 0
mov ecx, dword [ebp - 0x9a0]
add ecx, 0x28
push ecx
mov edx, dword [ebp - 0x980]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov eax, dword [ebp - 0x980]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov cl, byte [ebp - 0x41c]
mov byte [ebp - 0x99c], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.004d37cb
mov al, byte [ebp - 0x99c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x1c