Function at 0x44fec4
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, 0x5313c8
call fcn.00503ebc
mov ecx, 2
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
call fcn.0045f15c
test al, al
jne 0x44ff05
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov eax, edx
jmp 0x45053a
mov ecx, dword [ebp - 0x4c]
mov dword [0x53d868], 3
xor eax, eax
mov dword [0x5512a8], ecx
mov dword [0x5512ac], eax
mov dword [0x5512b0], eax
xor edx, edx
mov ecx, 0xc8
mov dword [0x55128c], edx
mov dword [0x55129c], 0x20
mov dword [0x551274], ecx
mov eax, 0xc8
mov dword [0x551278], eax
mov edx, 0x258
mov dword [0x55127c], edx
mov ecx, 0x258
mov dword [0x551280], ecx
mov eax, dword [0x55127c]
sub eax, dword [0x551274]
mov dword [0x551284], eax
mov edx, dword [0x551280]
sub edx, dword [0x551278]
mov dword [0x551288], edx
mov dl, 1
mov eax, dword [0x4bb520]
call fcn.004c18ec
mov dword [0x5512a0], eax
mov dl, 6
mov eax, dword [0x5512a0]
call fcn.004c2fa4
mov edx, dword [0x551284]
mov eax, dword [0x5512a0]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x551288]
mov eax, dword [0x5512a0]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x4bb520]
call fcn.004c18ec
mov dword [0x5512a4], eax
mov dl, 6
mov eax, dword [0x5512a4]
call fcn.004c2fa4
mov edx, dword [0x551284]
mov eax, dword [0x5512a4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x551288]
mov eax, dword [0x5512a4]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x474bd4]
call fcn.00405618
mov dword [0x551290], eax
xor ecx, ecx
mov dword [ebp - 0x58], ecx
xor eax, eax
mov dword [ebp - 0x64], eax
mov edx, 1
mov dword [0x551298], edx
mov dword [0x551294], edx
jmp 0x45048b
mov eax, dword [0x541e54]
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 0x450051
sub dl, 0x16
je 0x450051
jmp 0x450407
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 [0x541e54]
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 0x45008c
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x7a
jg 0x45008c
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 0x4500b5
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x20
je 0x4500b5
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0xd
je 0x4500b5
cmp byte [ebp - 0x5d], 0
jne 0x4500bd
mov eax, dword [ebp - 0x68]
mov byte [eax], 0
jmp 0x4500c9
inc dword [ebp - 0x54]
inc dword [ebp - 0x68]
cmp dword [ebp - 0x54], 0xa
jl 0x450064
lea eax, [ebp - 0x168]
mov edx, 0x531350
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x450110
test cl, cl
je 0x4500f0
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x450110
add eax, 2
add edx, 2
test cl, cl
jne 0x4500d4
jne 0x450110
mov eax, dword [0x541e54]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408540
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00439c50
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x531356
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x45014f
test cl, cl
je 0x450137
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x45014f
add eax, 2
add edx, 2
test cl, cl
jne 0x45011b
jne 0x45014f
mov edx, dword [0x541e54]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00450b60
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x53135a
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x45018e
test cl, cl
je 0x450176
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x45018e
add eax, 2
add edx, 2
test cl, cl
jne 0x45015a
jne 0x45018e
mov edx, dword [0x541e54]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00450d60
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x53135e
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4501d5
test cl, cl
je 0x4501b5
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4501d5
add eax, 2
add edx, 2
test cl, cl
jne 0x450199
jne 0x4501d5
mov eax, dword [0x541e54]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408540
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00450724
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x531362
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x45021c
test cl, cl
je 0x4501fc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x45021c
add eax, 2
add edx, 2
test cl, cl
jne 0x4501e0
jne 0x45021c
mov eax, dword [0x541e54]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408540
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x44]
call fcn.00450598
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x531366
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x450256
test cl, cl
je 0x450243
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x450256
add eax, 2
add edx, 2
test cl, cl
jne 0x450227
jne 0x450256
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
sub dword [ebp - 0x58], 2
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x53136c
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x45027d
test cl, cl
je 0x450283
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x45027d
add eax, 2
add edx, 2
test cl, cl
jne 0x450261
jne 0x450308
mov eax, dword [0x541e54]
add eax, dword [ebp - 0x58]
push eax
call fcn.00408540
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 0x4502f1
mov ecx, dword [0x53d35c]
mov eax, dword [ecx]
call fcn.004d040c
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0x50]
sub edx, eax
cmp edx, 0x64
jb 0x4502ca
push 0x64
call sub.kernel32.dll_Sleep
jmp 0x4502e8
call sub.kernel32.dll_GetTickCount
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 0
jle 0x4502fb
mov eax, dword [ebp - 0x50]
push eax
call sub.kernel32.dll_Sleep
jmp 0x4502fb
cmp dword [0x5512ac], 0
jne 0x4502fb
call sub.kernel32.dll_GetTickCount
cmp eax, dword [ebp - 0x50]
jb 0x4502a5
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x531371
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4503be
test cl, cl
je 0x450337
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4503be
add eax, 2
add edx, 2
test cl, cl
jne 0x450313
jne 0x4503be
xor eax, eax
mov dword [0x551298], eax
mov dword [0x551294], eax
jmp 0x45039f
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x78
je 0x45035d
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x58
jne 0x450367
mov dword [0x551294], 1
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x79
je 0x450379
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x59
jne 0x450383
mov dword [0x551298], 1
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x72
je 0x450395
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x52
jne 0x45039f
mov dword [0x551294], 2
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x541e54]
inc dword [ebp - 0x58]
mov al, byte [ecx + edx]
mov byte [ebp - 0x5d], al
test al, al
jne 0x45034b
sub dword [ebp - 0x58], 2
jmp 0x450467
lea eax, [ebp - 0x168]
mov edx, 0x531378
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x450467
test cl, cl
je 0x4503ed
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x450467
add eax, 2
add edx, 2
test cl, cl
jne 0x4503c9
jne 0x450467
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
mov dword [0x55128c], 1
sub dword [ebp - 0x58], 2
jmp 0x450467
cmp dword [ebp - 0x64], 0
jne 0x450417
mov eax, dword [0x551290]
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 [0x541e54]
dec edx
call fcn.0050f7a0
inc dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [0x551290]
mov ecx, dword [eax]
call dword [ecx + 0x38]
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0050f900
jmp 0x450467
mov ecx, dword [0x53d35c]
mov eax, dword [ecx]
call fcn.004d040c
push 0x64
call sub.kernel32.dll_Sleep
cmp dword [0x5512b0], 0
jne 0x450453
cmp dword [0x5512ac], 0
jne 0x45049a
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x541e54]
inc dword [ebp - 0x58]
cmp byte [ecx + edx], 0
jne 0x450479
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x541e5c]
jl 0x45002e
mov edx, dword [0x5512a4]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x4504ca
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 [0x5512a0]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x4504fa
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 [0x551290]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x450529
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 [0x53d868], eax
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret