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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], 0xbc6
mov eax, dword [0x57357c]
cmp byte [eax + 0x53], 6
jne 0x539a41
mov dword [ebp - 0x18], 0xbc7
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 8]
call fcn.004e7334
and eax, 0xff
mov dword [ebp - 0xc], eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x539d40
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x539d40
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2c], 0
jne 0x539d40
mov eax, dword [ebp - 4]
call fcn.00540ae8
test al, al
je 0x539d2e
mov eax, dword [ebp - 4]
call fcn.00540aa4
test al, al
je 0x539d2e
mov eax, dword [ebp - 4]
call fcn.00540b38
test al, al
je 0x539d2e
mov eax, dword [0x573b90]
cmp byte [eax], 0
je 0x539b10
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 7
jb 0x539b10
mov eax, dword [0x573b90]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbd1
jmp 0x539ccc
mov eax, dword [0x573ef8]
cmp byte [eax], 0
je 0x539b3c
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 7
jb 0x539b3c
mov eax, dword [0x573ef8]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbd7
jmp 0x539ccc
mov eax, dword [0x573e64]
cmp byte [eax], 0
je 0x539b68
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539b68
mov eax, dword [0x573e64]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe2
jmp 0x539ccc
mov eax, dword [0x573894]
cmp byte [eax], 0
je 0x539b86
mov eax, dword [0x573894]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbca
jmp 0x539ccc
mov eax, dword [0x5737c4]
cmp byte [eax], 0
je 0x539bb2
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539bb2
mov eax, dword [0x5737c4]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbdd
jmp 0x539ccc
mov eax, dword [0x573aac]
cmp byte [eax], 0
je 0x539bde
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539bde
mov eax, dword [0x573aac]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe1
jmp 0x539ccc
mov eax, dword [0x573e70]
cmp byte [eax], 0
je 0x539c0a
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539c0a
mov eax, dword [0x573e70]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe0
jmp 0x539ccc
mov eax, dword [0x574418]
cmp byte [eax], 0
je 0x539c4a
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x539c4a
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005394b0
test al, al
je 0x539c4a
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 3
jb 0x539c4a
mov dword [ebp - 0x18], 0xbd0
jmp 0x539ccc
mov eax, dword [0x573840]
cmp byte [eax], 0
je 0x539c6b
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 3
jb 0x539c6b
mov dword [ebp - 0x18], 0xbd0
jmp 0x539ccc
mov eax, dword [0x573cc8]
cmp byte [eax], 0
je 0x539c8c
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 6
jb 0x539c8c
mov dword [ebp - 0x18], 0xbdc
jmp 0x539ccc
mov eax, dword [0x573980]
cmp byte [eax], 0
je 0x539cac
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x539cac
mov dword [ebp - 0x18], 0xbcb
jmp 0x539ccc
mov eax, dword [0x573714]
cmp byte [eax], 0
je 0x539ccc
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00539408
test al, al
je 0x539ccc
mov dword [ebp - 0x18], 0xbcb
mov eax, dword [0x573fa0]
cmp byte [eax], 0
je 0x539cde
mov eax, dword [ebp - 4]
call fcn.0053a1a0
mov eax, dword [0x573d10]
cmp byte [eax], 0
je 0x539cf0
mov eax, dword [ebp - 4]
call fcn.0053a268
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov dx, word [ebp - 0x18]
call fcn.004dd094
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573f10]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b40]
mov dword [edx], eax
jmp 0x53a19a
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x539f58
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x539f58
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2c], 0
jne 0x539f58
mov eax, dword [0x573aac]
cmp byte [eax], 0
je 0x539e6a
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539e6a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.005392ac
test al, al
je 0x539e6a
mov eax, dword [ebp - 4]
call fcn.00540ae8
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540aa4
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540b38
test al, al
je 0x53a16a
mov eax, dword [0x573aac]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe1
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov dx, word [ebp - 0x18]
call fcn.004dd094
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573f10]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b40]
mov dword [edx], eax
jmp 0x53a16a
mov eax, dword [0x573e64]
cmp byte [eax], 0
je 0x539f4b
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x539f4b
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.00539338
test al, al
je 0x539f4b
mov eax, dword [ebp - 4]
call fcn.00540ae8
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540aa4
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540b38
test al, al
je 0x53a16a
mov eax, dword [0x573e64]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe2
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov dx, word [ebp - 0x18]
call fcn.004dd094
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573f10]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b40]
mov dword [edx], eax
jmp 0x53a16a
mov eax, dword [0x573f24]
mov byte [eax], 1
jmp 0x53a16a
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
jg 0x53a162
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
jg 0x53a162
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2c], 0
jne 0x53a162
mov eax, dword [0x5737c4]
cmp byte [eax], 0
je 0x53a082
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x53a082
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.00539338
test al, al
je 0x53a082
mov eax, dword [ebp - 4]
call fcn.00540ae8
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540aa4
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540b38
test al, al
je 0x53a16a
mov eax, dword [0x5737c4]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbdd
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov dx, word [ebp - 0x18]
call fcn.004dd094
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573f10]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b40]
mov dword [edx], eax
jmp 0x53a16a
mov eax, dword [0x573e64]
cmp byte [eax], 0
je 0x53a158
mov eax, dword [0x57382c]
mov eax, dword [eax]
cmp word [eax + 0x55], 0xa
jb 0x53a158
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.00539338
test al, al
je 0x53a158
mov eax, dword [ebp - 4]
call fcn.00540ae8
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540aa4
test al, al
je 0x53a16a
mov eax, dword [ebp - 4]
call fcn.00540b38
test al, al
je 0x53a16a
mov eax, dword [0x573e64]
mov byte [eax], 0
mov dword [ebp - 0x18], 0xbe2
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x57382c]
mov eax, dword [eax]
mov dx, word [ebp - 0x18]
call fcn.004dd094
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573f10]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b40]
mov dword [edx], eax
jmp 0x53a16a
mov eax, dword [0x573f24]
mov byte [eax], 1
jmp 0x53a16a
mov eax, dword [0x573f24]
mov byte [eax], 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
call fcn.004e74f4
mov eax, dword [0x57396c]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
mov eax, dword [0x573808]
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
mov esp, ebp
pop ebp
ret