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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe98
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov eax, 0x534c3c
call fcn.00508d0c
mov ecx, 2
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
call fcn.00457430
test al, al
jne 0x446629
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov eax, edx
jmp 0x446c5e
mov ecx, dword [ebp - 0x4c]
mov dword [0x54351c], 3
xor eax, eax
mov dword [0x556f40], ecx
mov dword [0x556f44], eax
mov dword [0x556f48], eax
xor edx, edx
mov ecx, 0xc8
mov dword [0x556f24], edx
mov dword [0x556f34], 0x20
mov dword [0x556f0c], ecx
mov eax, 0xc8
mov dword [0x556f10], eax
mov edx, 0x258
mov dword [0x556f14], edx
mov ecx, 0x258
mov dword [0x556f18], ecx
mov eax, dword [0x556f14]
sub eax, dword [0x556f0c]
mov dword [0x556f1c], eax
mov edx, dword [0x556f18]
sub edx, dword [0x556f10]
mov dword [0x556f20], edx
mov dl, 1
mov eax, dword [0x4c0400]
call fcn.004c67cc
mov dword [0x556f38], eax
mov dl, 6
mov eax, dword [0x556f38]
call fcn.004c7e84
mov edx, dword [0x556f1c]
mov eax, dword [0x556f38]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x556f20]
mov eax, dword [0x556f38]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x4c0400]
call fcn.004c67cc
mov dword [0x556f3c], eax
mov dl, 6
mov eax, dword [0x556f3c]
call fcn.004c7e84
mov edx, dword [0x556f1c]
mov eax, dword [0x556f3c]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x556f20]
mov eax, dword [0x556f3c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x4789e8]
call fcn.004057f4
mov dword [0x556f28], eax
xor ecx, ecx
mov dword [ebp - 0x58], ecx
xor eax, eax
mov dword [ebp - 0x64], eax
mov edx, 1
mov dword [0x556f30], edx
mov dword [0x556f2c], edx
jmp 0x446baf
mov eax, dword [0x547b08]
mov ecx, dword [ebp - 0x58]
mov al, byte [eax + ecx]
mov byte [ebp - 0x5d], al
inc dword [ebp - 0x58]
mov dl, byte [ebp - 0x5d]
sub dl, 0x2a
je 0x446775
sub dl, 0x16
je 0x446775
jmp 0x446b2b
xor ecx, ecx
mov dword [ebp - 0x64], ecx
xor eax, eax
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x168]
mov dword [ebp - 0x68], edx
mov ecx, dword [0x547b08]
mov eax, dword [ebp - 0x58]
mov dl, byte [ecx + eax]
mov byte [ebp - 0x5d], dl
inc dword [ebp - 0x58]
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x61
jl 0x4467b0
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x7a
jg 0x4467b0
add byte [ebp - 0x5d], 0xe0
mov edx, dword [ebp - 0x68]
mov cl, byte [ebp - 0x5d]
mov byte [edx], cl
movsx eax, byte [ebp - 0x5d]
cmp eax, 9
je 0x4467d9
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x20
je 0x4467d9
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0xd
je 0x4467d9
cmp byte [ebp - 0x5d], 0
jne 0x4467e1
mov eax, dword [ebp - 0x68]
mov byte [eax], 0
jmp 0x4467ed
inc dword [ebp - 0x54]
inc dword [ebp - 0x68]
cmp dword [ebp - 0x54], 0xa
jl 0x446788
lea eax, [ebp - 0x168]
mov edx, 0x534bc4
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x446834
test cl, cl
je 0x446814
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x446834
add eax, 2
add edx, 2
test cl, cl
jne 0x4467f8
jne 0x446834
mov eax, dword [0x547b08]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408748
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00439cc8
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bca
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x446873
test cl, cl
je 0x44685b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x446873
add eax, 2
add edx, 2
test cl, cl
jne 0x44683f
jne 0x446873
mov edx, dword [0x547b08]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00447284
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bce
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4468b2
test cl, cl
je 0x44689a
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4468b2
add eax, 2
add edx, 2
test cl, cl
jne 0x44687e
jne 0x4468b2
mov edx, dword [0x547b08]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00447484
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bd2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4468f9
test cl, cl
je 0x4468d9
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4468f9
add eax, 2
add edx, 2
test cl, cl
jne 0x4468bd
jne 0x4468f9
mov eax, dword [0x547b08]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408748
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00446e48
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bd6
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x446940
test cl, cl
je 0x446920
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x446940
add eax, 2
add edx, 2
test cl, cl
jne 0x446904
jne 0x446940
mov eax, dword [0x547b08]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408748
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00446cbc
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bda
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x44697a
test cl, cl
je 0x446967
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x44697a
add eax, 2
add edx, 2
test cl, cl
jne 0x44694b
jne 0x44697a
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
sub dword [ebp - 0x58], 2
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534be0
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4469a1
test cl, cl
je 0x4469a7
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4469a1
add eax, 2
add edx, 2
test cl, cl
jne 0x446985
jne 0x446a2c
mov eax, dword [0x547b08]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408748
pop ecx
mov edx, eax
shl edx, 2
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], edx
jmp 0x446a15
mov ecx, dword [0x543010]
mov eax, dword [ecx]
call fcn.004d525c
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0x50]
sub edx, eax
cmp edx, 0x64
jb 0x4469ee
push 0x64
call sub.kernel32.dll_Sleep
jmp 0x446a0c
call sub.kernel32.dll_GetTickCount
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 0
jle 0x446a1f
mov eax, dword [ebp - 0x50]
push eax
call sub.kernel32.dll_Sleep
jmp 0x446a1f
cmp dword [0x556f44], 0
jne 0x446a1f
call sub.kernel32.dll_GetTickCount
cmp eax, dword [ebp - 0x50]
jb 0x4469c9
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534be5
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x446ae2
test cl, cl
je 0x446a5b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x446ae2
add eax, 2
add edx, 2
test cl, cl
jne 0x446a37
jne 0x446ae2
xor eax, eax
mov dword [0x556f30], eax
mov dword [0x556f2c], eax
jmp 0x446ac3
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x78
je 0x446a81
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x58
jne 0x446a8b
mov dword [0x556f2c], 1
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x79
je 0x446a9d
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x59
jne 0x446aa7
mov dword [0x556f30], 1
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x72
je 0x446ab9
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x52
jne 0x446ac3
mov dword [0x556f2c], 2
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x547b08]
inc dword [ebp - 0x58]
mov al, byte [ecx + edx]
mov byte [ebp - 0x5d], al
test al, al
jne 0x446a6f
sub dword [ebp - 0x58], 2
jmp 0x446b8b
lea eax, [ebp - 0x168]
mov edx, 0x534bec
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x446b8b
test cl, cl
je 0x446b11
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x446b8b
add eax, 2
add edx, 2
test cl, cl
jne 0x446aed
jne 0x446b8b
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
mov dword [0x556f24], 1
sub dword [ebp - 0x58], 2
jmp 0x446b8b
cmp dword [ebp - 0x64], 0
jne 0x446b3b
mov eax, dword [0x556f28]
mov edx, dword [eax]
call dword [edx + 0x44]
inc dword [ebp - 0x64]
lea eax, [ebp - 4]
mov word [ebp - 0x30], 8
mov edx, dword [ebp - 0x58]
add edx, dword [0x547b08]
dec edx
call fcn.005145e8
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [0x556f28]
mov ecx, dword [eax]
call dword [ecx + 0x38]
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.00514748
jmp 0x446b8b
mov ecx, dword [0x543010]
mov eax, dword [ecx]
call fcn.004d525c
push 0x64
call sub.kernel32.dll_Sleep
cmp dword [0x556f48], 0
jne 0x446b77
cmp dword [0x556f44], 0
jne 0x446bbe
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x547b08]
inc dword [ebp - 0x58]
cmp byte [ecx + edx], 0
jne 0x446b9d
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x547b10]
jl 0x446752
mov edx, dword [0x556f3c]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x446bee
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov dword [ebp - 8], eax
mov word [ebp - 0x30], 0x20
mov edx, 3
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x30], 0x14
mov edx, dword [0x556f38]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x446c1e
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov dword [ebp - 0x10], edx
mov word [ebp - 0x30], 0x38
mov edx, 3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x30], 0x2c
mov eax, dword [0x556f28]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x446c4d
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx]
mov dword [ebp - 0x18], ecx
mov word [ebp - 0x30], 0x50
mov edx, 3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x30], 0x44
xor eax, eax
mov dword [0x54351c], eax
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret