Function at 0x4474a8
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, 0x52fadc
call fcn.00503ebc
mov ecx, 2
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
call fcn.0045f15c
test al, al
jne 0x4474e9
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
mov eax, edx
jmp 0x447b1e
mov ecx, dword [ebp - 0x4c]
mov dword [0x53d868], 3
xor eax, eax
mov dword [0x55128c], ecx
mov dword [0x551290], eax
mov dword [0x551294], eax
xor edx, edx
mov ecx, 0xc8
mov dword [0x551270], edx
mov dword [0x551280], 0x20
mov dword [0x551258], ecx
mov eax, 0xc8
mov dword [0x55125c], eax
mov edx, 0x258
mov dword [0x551260], edx
mov ecx, 0x258
mov dword [0x551264], ecx
mov eax, dword [0x551260]
sub eax, dword [0x551258]
mov dword [0x551268], eax
mov edx, dword [0x551264]
sub edx, dword [0x55125c]
mov dword [0x55126c], edx
mov dl, 1
mov eax, dword [0x4bb520]
call fcn.004c18ec
mov dword [0x551284], eax
mov dl, 6
mov eax, dword [0x551284]
call fcn.004c2fa4
mov edx, dword [0x551268]
mov eax, dword [0x551284]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x55126c]
mov eax, dword [0x551284]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x4bb520]
call fcn.004c18ec
mov dword [0x551288], eax
mov dl, 6
mov eax, dword [0x551288]
call fcn.004c2fa4
mov edx, dword [0x551268]
mov eax, dword [0x551288]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [0x55126c]
mov eax, dword [0x551288]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x474bd4]
call fcn.00405618
mov dword [0x551274], eax
xor ecx, ecx
mov dword [ebp - 0x58], ecx
xor eax, eax
mov dword [ebp - 0x64], eax
mov edx, 1
mov dword [0x55127c], edx
mov dword [0x551278], edx
jmp 0x447a6f
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 0x447635
sub dl, 0x16
je 0x447635
jmp 0x4479eb
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 0x447670
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x7a
jg 0x447670
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 0x447699
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x20
je 0x447699
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0xd
je 0x447699
cmp byte [ebp - 0x5d], 0
jne 0x4476a1
mov eax, dword [ebp - 0x68]
mov byte [eax], 0
jmp 0x4476ad
inc dword [ebp - 0x54]
inc dword [ebp - 0x68]
cmp dword [ebp - 0x54], 0xa
jl 0x447648
lea eax, [ebp - 0x168]
mov edx, 0x52fa64
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4476f4
test cl, cl
je 0x4476d4
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4476f4
add eax, 2
add edx, 2
test cl, cl
jne 0x4476b8
jne 0x4476f4
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 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa6a
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x447733
test cl, cl
je 0x44771b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x447733
add eax, 2
add edx, 2
test cl, cl
jne 0x4476ff
jne 0x447733
mov edx, dword [0x541e54]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00448144
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa6e
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x447772
test cl, cl
je 0x44775a
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x447772
add eax, 2
add edx, 2
test cl, cl
jne 0x44773e
jne 0x447772
mov edx, dword [0x541e54]
mov eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x58]
call fcn.00448344
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa72
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4477b9
test cl, cl
je 0x447799
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4477b9
add eax, 2
add edx, 2
test cl, cl
jne 0x44777d
jne 0x4477b9
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.00447d08
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa76
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x447800
test cl, cl
je 0x4477e0
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x447800
add eax, 2
add edx, 2
test cl, cl
jne 0x4477c4
jne 0x447800
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.00447b7c
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa7a
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x44783a
test cl, cl
je 0x447827
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x44783a
add eax, 2
add edx, 2
test cl, cl
jne 0x44780b
jne 0x44783a
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
sub dword [ebp - 0x58], 2
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa80
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x447861
test cl, cl
je 0x447867
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x447861
add eax, 2
add edx, 2
test cl, cl
jne 0x447845
jne 0x4478ec
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 0x4478d5
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 0x4478ae
push 0x64
call sub.kernel32.dll_Sleep
jmp 0x4478cc
call sub.kernel32.dll_GetTickCount
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 0
jle 0x4478df
mov eax, dword [ebp - 0x50]
push eax
call sub.kernel32.dll_Sleep
jmp 0x4478df
cmp dword [0x551290], 0
jne 0x4478df
call sub.kernel32.dll_GetTickCount
cmp eax, dword [ebp - 0x50]
jb 0x447889
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa85
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4479a2
test cl, cl
je 0x44791b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4479a2
add eax, 2
add edx, 2
test cl, cl
jne 0x4478f7
jne 0x4479a2
xor eax, eax
mov dword [0x55127c], eax
mov dword [0x551278], eax
jmp 0x447983
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x78
je 0x447941
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x58
jne 0x44794b
mov dword [0x551278], 1
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x79
je 0x44795d
movsx edx, byte [ebp - 0x5d]
cmp edx, 0x59
jne 0x447967
mov dword [0x55127c], 1
movsx ecx, byte [ebp - 0x5d]
cmp ecx, 0x72
je 0x447979
movsx eax, byte [ebp - 0x5d]
cmp eax, 0x52
jne 0x447983
mov dword [0x551278], 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 0x44792f
sub dword [ebp - 0x58], 2
jmp 0x447a4b
lea eax, [ebp - 0x168]
mov edx, 0x52fa8c
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x447a4b
test cl, cl
je 0x4479d1
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x447a4b
add eax, 2
add edx, 2
test cl, cl
jne 0x4479ad
jne 0x447a4b
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
mov dword [0x551270], 1
sub dword [ebp - 0x58], 2
jmp 0x447a4b
cmp dword [ebp - 0x64], 0
jne 0x4479fb
mov eax, dword [0x551274]
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 [0x551274]
mov ecx, dword [eax]
call dword [ecx + 0x38]
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0050f900
jmp 0x447a4b
mov ecx, dword [0x53d35c]
mov eax, dword [ecx]
call fcn.004d040c
push 0x64
call sub.kernel32.dll_Sleep
cmp dword [0x551294], 0
jne 0x447a37
cmp dword [0x551290], 0
jne 0x447a7e
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x541e54]
inc dword [ebp - 0x58]
cmp byte [ecx + edx], 0
jne 0x447a5d
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x541e5c]
jl 0x447612
mov edx, dword [0x551288]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x447aae
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 [0x551284]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x447ade
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 [0x551274]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x447b0d
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