Function at 0x4741b0
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, 0x53c65c
call fcn.0050f344
mov ecx, 2
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
call fcn.00485cd4
test al, al
jne 0x4741f1
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov eax, edx
jmp 0x474826
mov ecx, dword [ebp - 0x4c]
mov dword [0x54aefc], 3
xor eax, eax
mov dword [0x55f534], ecx
mov dword [0x55f538], eax
mov dword [0x55f53c], eax
xor edx, edx
mov ecx, 0xc8
mov dword [0x55f518], edx
mov dword [0x55f528], 0x20
mov dword [0x55f500], ecx
mov eax, 0xc8
mov dword [0x55f504], eax
mov edx, 0x258
mov dword [0x55f508], edx
mov ecx, 0x258
mov dword [0x55f50c], ecx
mov eax, dword [0x55f508]
sub eax, dword [0x55f500]
mov dword [0x55f510], eax
mov edx, dword [0x55f50c]
sub edx, dword [0x55f504]
mov dword [0x55f514], edx
mov dl, 1
mov eax, dword [0x4c6a38]
call fcn.004cce04
mov dword [0x55f52c], eax
mov dl, 6
mov eax, dword [0x55f52c]
call fcn.004ce4bc
mov edx, dword [0x55f510]
mov eax, dword [0x55f52c]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x55f514]
mov eax, dword [0x55f52c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x4c6a38]
call fcn.004cce04
mov dword [0x55f530], eax
mov dl, 6
mov eax, dword [0x55f530]
call fcn.004ce4bc
mov edx, dword [0x55f510]
mov eax, dword [0x55f530]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x55f514]
mov eax, dword [0x55f530]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x449fa8]
call fcn.0040597c
mov dword [0x55f51c], eax
xor ecx, ecx
mov dword [ebp - 0x58], ecx
xor eax, eax
mov dword [ebp - 0x64], eax
mov edx, 1
mov dword [0x55f524], edx
mov dword [0x55f520], edx
jmp 0x474777
mov eax, dword [0x54f4e8]
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 0x47433d
sub dl, 0x16
je 0x47433d
jmp 0x4746f3
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 [0x54f4e8]
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 0x474378
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x7a
jg 0x474378
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 0x4743a1
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x20
je 0x4743a1
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0xd
je 0x4743a1
cmp byte [ebp - 0x5d], 0
jne 0x4743a9
mov eax, dword [ebp - 0x68]
mov byte [eax], 0
jmp 0x4743b5
inc dword [ebp - 0x54]
inc dword [ebp - 0x68]
cmp dword [ebp - 0x54], 0xa
jl 0x474350
lea eax, [ebp - 0x168]
mov edx, 0x53c5e4
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4743fc
test cl, cl
je 0x4743dc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4743fc
add eax, 2
add edx, 2
test cl, cl
jne 0x4743c0
jne 0x4743fc
mov eax, dword [0x54f4e8]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408de8
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.0043d118
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c5ea
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x47443b
test cl, cl
je 0x474423
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x47443b
add eax, 2
add edx, 2
test cl, cl
jne 0x474407
jne 0x47443b
mov edx, dword [0x54f4e8]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00474e4c
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c5ee
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x47447a
test cl, cl
je 0x474462
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x47447a
add eax, 2
add edx, 2
test cl, cl
jne 0x474446
jne 0x47447a
mov edx, dword [0x54f4e8]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.0047504c
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c5f2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4744c1
test cl, cl
je 0x4744a1
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4744c1
add eax, 2
add edx, 2
test cl, cl
jne 0x474485
jne 0x4744c1
mov eax, dword [0x54f4e8]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408de8
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00474a10
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c5f6
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x474508
test cl, cl
je 0x4744e8
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x474508
add eax, 2
add edx, 2
test cl, cl
jne 0x4744cc
jne 0x474508
mov eax, dword [0x54f4e8]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408de8
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00474884
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c5fa
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x474542
test cl, cl
je 0x47452f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x474542
add eax, 2
add edx, 2
test cl, cl
jne 0x474513
jne 0x474542
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
sub dword [ebp - 0x58], 2
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c600
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x474569
test cl, cl
je 0x47456f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x474569
add eax, 2
add edx, 2
test cl, cl
jne 0x47454d
jne 0x4745f4
mov eax, dword [0x54f4e8]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408de8
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 0x4745dd
mov ecx, dword [0x54a9f0]
mov eax, dword [ecx]
call fcn.004db894
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0x50]
sub edx, eax
cmp edx, 0x64
jb 0x4745b6
push 0x64
call sub.kernel32.dll_Sleep
jmp 0x4745d4
call sub.kernel32.dll_GetTickCount
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 0
jle 0x4745e7
mov eax, dword [ebp - 0x50]
push eax
call sub.kernel32.dll_Sleep
jmp 0x4745e7
cmp dword [0x55f538], 0
jne 0x4745e7
call sub.kernel32.dll_GetTickCount
cmp eax, dword [ebp - 0x50]
jb 0x474591
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c605
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4746aa
test cl, cl
je 0x474623
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4746aa
add eax, 2
add edx, 2
test cl, cl
jne 0x4745ff
jne 0x4746aa
xor eax, eax
mov dword [0x55f524], eax
mov dword [0x55f520], eax
jmp 0x47468b
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x78
je 0x474649
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x58
jne 0x474653
mov dword [0x55f520], 1
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x79
je 0x474665
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x59
jne 0x47466f
mov dword [0x55f524], 1
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x72
je 0x474681
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x52
jne 0x47468b
mov dword [0x55f520], 2
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x54f4e8]
inc dword [ebp - 0x58]
mov al, byte [ecx + edx]
mov byte [ebp - 0x5d], al
test al, al
jne 0x474637
sub dword [ebp - 0x58], 2
jmp 0x474753
lea eax, [ebp - 0x168]
mov edx, 0x53c60c
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x474753
test cl, cl
je 0x4746d9
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x474753
add eax, 2
add edx, 2
test cl, cl
jne 0x4746b5
jne 0x474753
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
mov dword [0x55f518], 1
sub dword [ebp - 0x58], 2
jmp 0x474753
cmp dword [ebp - 0x64], 0
jne 0x474703
mov eax, dword [0x55f51c]
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 [0x54f4e8]
dec edx
call fcn.0051ac20
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [0x55f51c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0051ad80
jmp 0x474753
mov ecx, dword [0x54a9f0]
mov eax, dword [ecx]
call fcn.004db894
push 0x64
call sub.kernel32.dll_Sleep
cmp dword [0x55f53c], 0
jne 0x47473f
cmp dword [0x55f538], 0
jne 0x474786
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x54f4e8]
inc dword [ebp - 0x58]
cmp byte [ecx + edx], 0
jne 0x474765
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x54f4f0]
jl 0x47431a
mov edx, dword [0x55f530]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x4747b6
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 [0x55f52c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x4747e6
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 [0x55f51c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x474815
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 [0x54aefc], eax
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret