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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 8], eax
mov ecx, 7
lea eax, [ebp - 0x2c]
mov edx, 0x40107c
call fcn.00403980
xor eax, eax
push ebp
push 0x497e40
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x49d550], 0
je 0x4975b0
xor eax, eax
call fcn.0047eb34
mov byte [ebp - 1], 0
mov eax, dword [0x49d450]
shr eax, 0x10
cmp eax, 0x600
setge byte [0x49d447]
xor edx, edx
push ebp
push 0x497d9d
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x49d560], 0
je 0x4975eb
mov dl, 1
mov eax, dword [0x49d560]
call fcn.00457154
cmp byte [0x49d54e], 0
je 0x497658
xor eax, eax
push ebp
push 0x49762b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x49d554], 0
jne 0x497617
mov eax, 0x497e58
call fcn.00457afc
jmp 0x497621
mov eax, dword [0x49d554]
call fcn.00457cb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x497658
mov eax, 0x497e94
call fcn.00457d10
mov edx, 0x497ec8
lea eax, [ebp - 0x30]
call fcn.00403494
lea eax, [ebp - 0x30]
mov edx, dword [0x49d538]
call fcn.0040357c
mov eax, dword [ebp - 0x30]
call fcn.00457d10
mov edx, 0x497eec
lea eax, [ebp - 0x30]
call fcn.00403494
lea eax, [ebp - 0x30]
mov edx, dword [0x49d53c]
call fcn.0040357c
mov eax, dword [ebp - 0x30]
call fcn.00457d10
mov edx, 0x497f04
lea eax, [ebp - 0x30]
call fcn.00403494
lea eax, [ebp - 0x34]
call fcn.0042d32c
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
call fcn.0040357c
mov eax, dword [ebp - 0x30]
call fcn.00457d10
call fcn.0047ebd0
xor eax, eax
call fcn.00496f44
mov dword [0x49d544], eax
mov dl, 1
mov eax, 0x4964e0
call fcn.0045a148
mov dword [0x49b0f0], eax
mov ecx, dword [0x49d53c]
mov edx, dword [0x49d544]
mov eax, dword [0x49b0f0]
call fcn.0045c748
lea ecx, [ebp - 0x30]
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
mov al, 0xb7
call fcn.00451458
mov edx, dword [ebp - 0x30]
mov eax, 0x49d548
call fcn.00403450
mov eax, dword [0x49b0f0]
test byte [eax + 0x1d], 0x20
je 0x497764
cmp byte [0x49d43e], 0
jne 0x497764
push 1
push 1
mov eax, dword [0x49d548]
call fcn.00403738
push eax
mov eax, dword [0x49cf4c]
call fcn.00403738
mov ecx, 0x30
pop edx
call fcn.0047f2c0
call fcn.00408be0
mov eax, dword [0x49b0f0]
test byte [eax + 0x1d], 1
je 0x4977a1
call fcn.0042e2b8
test al, al
jne 0x4977a1
push 1
push 1
mov eax, dword [0x49d548]
call fcn.00403738
push eax
mov eax, dword [0x49ce2c]
call fcn.00403738
mov ecx, 0x30
pop edx
call fcn.0047f2c0
call fcn.00408be0
mov eax, 0x49d544
call fcn.0042e384
mov al, 2
call fcn.00496f44
mov dword [0x49d544], eax
lea eax, [ebp - 0x2c]
push eax
push 6
mov ecx, 0x5050500
mov dx, 0x20
mov eax, dword [0x49b0f0]
call fcn.0045a628
test al, al
jne 0x4977de
mov eax, 0x497f28
call fcn.00453344
cmp dword [0x49d560], 0
je 0x4977f7
lea eax, [ebp - 8]
mov edx, dword [0x49d010]
call fcn.00403494
jmp 0x497802
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x2c]
call fcn.0049751c
mov eax, dword [ebp - 0x28]
call fcn.00403574
cmp eax, 0x20
je 0x497819
mov eax, 0x497f78
call fcn.00453344
mov edx, 0x49d568
mov eax, dword [ebp - 0x28]
mov ecx, 0x20
call fcn.00402738
mov dword [0x49a784], 0x49d568
mov eax, dword [0x49b0f0]
cmp byte [eax + 0x10], 0
je 0x49785c
cmp byte [0x49d43e], 0
jne 0x497853
mov eax, 0x497fa0
call fcn.00453344
mov al, 1
call fcn.0047f718
jmp 0x497863
xor eax, eax
call fcn.0047f718
call fcn.0047cf70
cmp dword [ebp - 8], 0
je 0x497949
call fcn.0047ca48
call fcn.0047d254
mov eax, 0x49d1c4
mov edx, dword [0x49d538]
call fcn.00403450
mov eax, 0x49d1c8
mov edx, dword [0x49b0f0]
mov edx, dword [edx + 0x14]
call fcn.00403450
mov al, byte [0x49d54f]
or al, byte [0x49d550]
mov byte [0x49d1dc], al
mov eax, 0x49d1cc
mov edx, dword [ebp - 0x24]
call fcn.00403450
mov eax, 0x49d1d0
mov edx, dword [ebp - 0x20]
call fcn.00403450
mov eax, 0x49d1d4
mov edx, dword [ebp - 0x1c]
call fcn.00403450
mov eax, 0x49d1d8
mov edx, dword [ebp - 0x18]
call fcn.00403450
mov eax, dword [ebp - 0x14]
call fcn.00403574
mov edx, eax
mov eax, dword [ebp - 0x14]
call fcn.0049746c
mov dl, 1
mov eax, 0x494af8
call fcn.00495090
mov dword [0x49d488], eax
mov eax, dword [0x49d488]
mov dword [eax + 0xc], 0x47e640
mov eax, dword [0x49d488]
mov dword [eax + 0x10], 0x47e824
mov eax, dword [0x49d488]
mov dword [eax + 0x14], 0x47e830
mov eax, dword [0x49d488]
mov dword [eax + 0x18], 0x47e83c
mov ecx, dword [0x49d014]
mov edx, dword [ebp - 8]
mov eax, dword [0x49d488]
call fcn.00495148
xor edx, edx
push ebp
push 0x497d5d
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x497ca4
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x49d488], 0
je 0x4979d5
xor edx, edx
push ebp
push 0x4979a9
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 0
push 1
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
lea ecx, [ebp - 0x3c]
mov edx, 0x497fec
mov eax, dword [0x49d488]
call fcn.004952e0
pop dword fs:[0]
add esp, 8
jmp 0x4979c2
test al, al
jne 0x4979d5
mov eax, 0x498044
call fcn.00457d10
call fcn.00408be0
cmp byte [0x49d54f], 0
jne 0x497a0f
cmp byte [0x49d550], 0
jne 0x497a0f
push 0x124
push 1
push 6
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x49d548]
mov al, 0x27
call fcn.004967c4
cmp eax, 6
je 0x497a0f
call fcn.00408be0
xor edx, edx
xor eax, eax
call fcn.00496e28
jmp 0x497a3d
push 0x31
push 1
push 2
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x49d548]
mov al, 0xbd
call fcn.004967c4
dec eax
je 0x497a3d
call fcn.00408be0
mov eax, dword [0x49b0f0]
call fcn.0045a664
test al, al
jne 0x497a1a
jmp 0x497a5e
push 0xa
call sub.kernel32.dll_Sleep
mov eax, dword [0x49c628]
call fcn.004244ac
cmp byte [0x49d448], 0
jne 0x497a4d
mov byte [0x49d447], 0
lea ecx, [ebp - 0x30]
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
mov al, 0xa7
call fcn.00451458
mov edx, dword [ebp - 0x30]
mov eax, dword [0x49c628]
mov eax, dword [eax + 0x20]
call fcn.0042eaa8
call fcn.0049665c
xor edx, edx
mov al, 1
call fcn.00496e28
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x10], eax
mov eax, dword [0x49b0f0]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x24], edx
mov ecx, 0x496a34
mov dl, 1
mov eax, dword [0x49b0f0]
call fcn.0045b174
mov byte [ebp - 9], al
xor eax, eax
mov al, byte [ebp - 9]
mov eax, dword [eax*4 + 0x49ab10]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, 0x49807c
call fcn.00457f1c
mov eax, dword [0x49b0f0]
cmp byte [eax + 0x1c], 0
jne 0x497b01
mov eax, dword [0x49b0f0]
test byte [eax + 0x1d], 8
jne 0x497b01
xor eax, eax
jmp 0x497b03
mov al, 1
mov byte [ebp - 0xa], al
cmp dword [0x49d488], 0
je 0x497b9c
mov edx, 0x498094
mov eax, dword [0x49d488]
call fcn.004951d0
test al, al
je 0x497b9c
cmp byte [ebp - 0xa], 0
jne 0x497b92
xor eax, eax
push ebp
push 0x497b77
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
lea ecx, [ebp - 0x3c]
mov edx, 0x498094
mov eax, dword [0x49d488]
call fcn.004952e0
test al, al
je 0x497b6d
mov byte [ebp - 0xa], 1
mov eax, 0x4980b4
call fcn.00457d10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x497b9c
mov eax, 0x49812c
call fcn.00457d10
xor eax, eax
mov al, byte [ebp - 0xa]
mov eax, dword [eax*4 + 0x49ab10]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, 0x49818c
call fcn.00457f1c
cmp byte [0x49d550], 0
jne 0x497bf4
mov eax, dword [0x49c628]
call fcn.004244ac
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x10]
cmp eax, 0x3e8
jae 0x497bf4
push 0xff
push 0xa
push 0
push 0
push 0
call sub.user32.dll_MsgWaitForMultipleObjects
jmp 0x497bc7
mov eax, 0x49d524
call fcn.0042e384
mov dl, 1
mov al, 2
call fcn.00496e28
cmp byte [ebp - 0xa], 0
jne 0x497c48
cmp byte [0x49d54f], 0
jne 0x497c91
cmp byte [0x49d550], 0
jne 0x497c91
push 0x10040
push 1
push 1
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
xor eax, eax
mov al, byte [ebp - 9]
mov al, byte [eax + 0x49b0fc]
mov ecx, dword [0x49d548]
call fcn.004967c4
jmp 0x497c91
cmp byte [0x49d551], 0
jne 0x497c81
cmp byte [0x49d550], 0
jne 0x497c7d
push 0x10044
push 1
push 6
mov eax, dword [0x49b0f0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x49d548]
mov al, 0xbb
call fcn.004967c4
cmp eax, 6
jne 0x497c81
mov byte [ebp - 1], 1
cmp byte [ebp - 1], 0
jne 0x497c91
mov eax, 0x4981b0
call fcn.00457d10
mov dl, 1
mov al, 3
call fcn.00496e28
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x497cb8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497d67
xor eax, eax
push ebp
push 0x497ce7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x49d524
call fcn.0042e384
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x497cf6
cmp dword [0x49d488], 0
je 0x497d4f
xor eax, eax
push ebp
push 0x497d36
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
lea ecx, [ebp - 0x3c]
mov edx, 0x4981e0
mov eax, dword [0x49d488]
call fcn.0049522c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x497d4f
mov eax, dword [0x49c628]
mov eax, dword [eax + 0x20]
call fcn.0042eb54
ret