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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], eax
mov ecx, 7
lea eax, [ebp - 0x20]
mov edx, dword [0x4012b8]
call fcn.0040a328
xor eax, eax
push ebp
push 0x705443
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x7a7f48], 0
je 0x704b11
xor eax, eax
call fcn.006fbb40
mov byte [ebp - 0x21], 0
mov eax, dword [0x78bb74]
mov eax, dword [eax]
shr eax, 0x10
cmp eax, 0x600
mov eax, dword [0x78b628]
setae byte [eax]
xor ecx, ecx
push ebp
push 0x705384
push dword fs:[ecx]
mov dword fs:[ecx], esp
cmp dword [0x7a7f58], 0
je 0x704b4f
mov dl, 1
mov eax, dword [0x7a7f58]
call fcn.006b3f34
cmp byte [0x7a7f46], 0
je 0x704bbc
xor eax, eax
push ebp
push 0x704b8f
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x7a7f4c], 0
jne 0x704b7b
mov eax, 0x705460
call fcn.006b4a78
jmp 0x704b85
mov eax, dword [0x7a7f4c]
call fcn.006b4c5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x704bbc
mov eax, 0x7054c8
call fcn.006b4cb8
lea eax, [ebp - 0x2c]
mov ecx, dword [0x7a7f30]
mov edx, 0x70552c
call fcn.00409ad4
mov eax, dword [ebp - 0x2c]
call fcn.006b4cb8
lea eax, [ebp - 0x30]
mov ecx, dword [0x7a7f34]
mov edx, 0x70556c
call fcn.00409ad4
mov eax, dword [ebp - 0x30]
call fcn.006b4cb8
lea eax, [ebp - 0x38]
call fcn.005e67f0
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x705598
call fcn.00409ad4
mov eax, dword [ebp - 0x34]
call fcn.006b4cb8
call fcn.006fbcf0
xor eax, eax
call fcn.007043ec
mov dword [0x7a7f3c], eax
mov dl, 1
mov eax, dword [0x703684]
call fcn.006d2a38
mov dword [0x78acf0], eax
mov ecx, dword [0x7a7f34]
mov edx, dword [0x7a7f3c]
mov eax, dword [0x78acf0]
call fcn.006d5684
lea ecx, [ebp - 0x3c]
mov eax, dword [0x78acf0]
mov edx, dword [eax + 0x18]
mov al, 0xc7
call fcn.005ee438
mov edx, dword [ebp - 0x3c]
mov eax, 0x7a7f40
call fcn.00408b94
mov eax, dword [0x78acf0]
test byte [eax + 0x1d], 0x20
je 0x704cb7
mov eax, dword [0x78b7bc]
cmp byte [eax], 0
jne 0x704cb7
push 1
push 1
mov eax, dword [0x7a7f40]
call fcn.00409868
push eax
mov eax, dword [0x78bcc8]
mov eax, dword [eax + 0x354]
call fcn.00409868
mov ecx, 0x30
pop edx
call fcn.006fc5d8
call fcn.00428154
mov eax, dword [0x78acf0]
test byte [eax + 0x1d], 1
je 0x704cfb
mov eax, dword [0x78ba74]
cmp byte [eax], 0
jne 0x704cfb
push 1
push 1
mov eax, dword [0x7a7f40]
call fcn.00409868
push eax
mov eax, dword [0x78bcc8]
mov eax, dword [eax + 0x1f8]
call fcn.00409868
mov ecx, 0x30
pop edx
call fcn.006fc5d8
call fcn.00428154
mov eax, dword [0x7a7f3c]
xor edx, edx
mov dword [0x7a7f3c], edx
call fcn.00406a20
mov al, 2
call fcn.007043ec
mov dword [0x7a7f3c], eax
lea eax, [ebp - 0x20]
push eax
push 6
mov ecx, 0x86000500
mov dx, 0x20
mov eax, dword [0x78acf0]
call fcn.006d2ef4
test al, al
jne 0x704d40
mov eax, 0x7055d8
call fcn.006abc48
cmp dword [0x7a7f58], 0
je 0x704d5b
lea eax, [ebp - 4]
mov edx, dword [0x78bb0c]
mov edx, dword [edx]
call fcn.00408c78
jmp 0x704d66
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x20]
call fcn.00704a60
mov eax, dword [0x78acf0]
test byte [eax + 0x1d], 0x80
setne al
call fcn.006fcc0c
mov eax, dword [0x78acf0]
cmp byte [eax + 0x10], 0
je 0x704d9f
mov eax, dword [0x78b7bc]
cmp byte [eax], 0
jne 0x704d96
mov eax, 0x705670
call fcn.006abc48
mov al, 1
call fcn.006fcd34
jmp 0x704da6
xor eax, eax
call fcn.006fcd34
call fcn.006f9d68
cmp dword [ebp - 4], 0
je 0x704ee0
call fcn.006f96d0
call fcn.006fa0a0
mov eax, dword [0x78b65c]
mov edx, dword [0x7a7f30]
call fcn.00408b94
mov eax, dword [0x78bbe8]
mov edx, dword [0x78acf0]
mov edx, dword [edx + 0x14]
call fcn.00408b94
movzx eax, byte [0x7a7f47]
or al, byte [0x7a7f48]
mov edx, dword [0x78b880]
mov byte [edx], al
mov eax, dword [0x78bf0c]
mov edx, dword [ebp - 0x18]
call fcn.00408b94
mov eax, dword [0x78ba04]
mov edx, dword [ebp - 0x14]
call fcn.00408b94
mov eax, dword [0x78b7e0]
mov edx, dword [ebp - 0x10]
call fcn.00408b94
mov eax, dword [0x78b8b4]
mov edx, dword [ebp - 0xc]
call fcn.00408b94
mov edx, dword [ebp - 8]
mov eax, edx
test eax, eax
je 0x704e39
sub eax, 4
mov eax, dword [eax]
add eax, eax
xchg edx, eax
call fcn.007049a8
mov dl, 1
mov eax, dword [0x6eefd0]
call fcn.006f048c
mov edx, dword [0x78b8f4]
mov dword [edx], eax
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
add eax, 4
mov edx, 0x705704
call fcn.00408b94
mov eax, 0x6fb5b0
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x10], eax
mov eax, 0x6fb5b8
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x14], eax
mov eax, 0x6fb5c0
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x18], eax
mov eax, 0x6fb7e0
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x1c], eax
mov eax, 0x6fb7f8
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x20], eax
mov eax, 0x6fb804
mov edx, dword [0x78b8f4]
mov edx, dword [edx]
mov dword [edx + 0x24], eax
mov ecx, dword [0x78b9b4]
mov ecx, dword [ecx]
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.006f0584
xor edx, edx
push ebp
push 0x705330
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x705263
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x78b8f4]
cmp dword [eax], 0
je 0x704f71
xor edx, edx
push ebp
push 0x704f45
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 2
push 0
push 1
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
mov edx, 0x70571c
call fcn.006f0bec
pop dword fs:[0]
add esp, 8
jmp 0x704f5e
test al, al
jne 0x704f71
mov eax, 0x7057ac
call fcn.006b4cb8
call fcn.00428154
cmp byte [0x7a7f47], 0
jne 0x704fab
cmp byte [0x7a7f48], 0
jne 0x704fab
push 0x124
push 1
push 6
mov eax, dword [0x78acf0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x7a7f40]
mov al, 0x2c
call fcn.00703b24
cmp eax, 6
je 0x704fab
call fcn.00428154
xor edx, edx
xor eax, eax
call fcn.00704260
jmp 0x704fd9
push 0x31
push 1
push 2
mov eax, dword [0x78acf0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x7a7f40]
mov al, 0xd3
call fcn.00703b24
dec eax
je 0x704fd9
call fcn.00428154
mov eax, dword [0x78acf0]
call fcn.006d2f3c
test al, al
jne 0x704fb6
jmp 0x704ffc
push 0xa
call sub.kernel32.dll_Sleep
mov eax, dword [0x78bcb4]
mov eax, dword [eax]
call fcn.005d945c
mov eax, dword [0x78bfbc]
cmp byte [eax], 0
jne 0x704fe9
mov eax, dword [0x78b628]
mov byte [eax], 0
lea ecx, [ebp - 0x48]
mov eax, dword [0x78acf0]
mov edx, dword [eax + 0x18]
mov al, 0xb7
call fcn.005ee438
mov edx, dword [ebp - 0x48]
mov eax, dword [0x78bcb4]
mov eax, dword [eax]
mov eax, dword [eax + 0x188]
call fcn.005e80f0
call fcn.00703944
xor edx, edx
mov al, 1
call fcn.00704260
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x28], eax
mov eax, dword [0x78acf0]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x24], edx
mov ecx, 0x703da8
mov dl, 1
mov eax, dword [0x78acf0]
call fcn.006d3d10
mov byte [ebp - 0x22], al
movzx eax, byte [ebp - 0x22]
mov edx, dword [0x78bb6c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x705814
call fcn.006b4f3c
mov eax, dword [0x78acf0]
cmp byte [eax + 0x1c], 0
jne 0x7050a7
mov eax, dword [0x78acf0]
test byte [eax + 0x1d], 8
jne 0x7050a7
xor eax, eax
jmp 0x7050a9
mov al, 1
mov byte [ebp - 0x23], al
mov eax, dword [0x78b8f4]
cmp dword [eax], 0
je 0x70514b
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x705840
call fcn.006f07e0
test al, al
je 0x70514b
cmp byte [ebp - 0x23], 0
jne 0x705141
xor eax, eax
push ebp
push 0x705126
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 1
push 0
push 0
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
mov edx, 0x705840
call fcn.006f0bec
test al, al
je 0x70511c
mov byte [ebp - 0x23], 1
mov eax, 0x705864
call fcn.006b4cb8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x70514b
mov eax, 0x705944
call fcn.006b4cb8
movzx eax, byte [ebp - 0x23]
mov edx, dword [0x78bb6c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x7059fc
call fcn.006b4f3c
cmp byte [0x7a7f48], 0
jne 0x7051a6
mov eax, dword [0x78bcb4]
mov eax, dword [eax]
call fcn.005d945c
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x28]
cmp eax, 0x3e8
jae 0x7051a6
push 0x4ff
push 0xa
push 0
push 0
push 0
call sub.user32.dll_MsgWaitForMultipleObjects
jmp 0x705177
mov eax, dword [0x78b7fc]
mov eax, dword [eax]
mov edx, dword [0x78b7fc]
xor ecx, ecx
mov dword [edx], ecx
call fcn.00406a20
mov dl, 1
mov al, 2
call fcn.00704260
cmp byte [ebp - 0x23], 0
jne 0x705207
cmp byte [0x7a7f47], 0
jne 0x705250
cmp byte [0x7a7f48], 0
jne 0x705250
push 0x10040
push 1
push 1
movzx eax, byte [ebp - 0x22]
movzx eax, byte [eax + 0x78acfc]
mov edx, dword [0x78acf0]
mov edx, dword [edx + 0x18]
mov ecx, dword [0x7a7f40]
call fcn.00703b24
jmp 0x705250
cmp byte [0x7a7f49], 0
jne 0x705240
cmp byte [0x7a7f48], 0
jne 0x70523c
push 0x10024
push 1
push 6
mov eax, dword [0x78acf0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x7a7f40]
mov al, 0xd1
call fcn.00703b24
cmp eax, 6
jne 0x705240
mov byte [ebp - 0x21], 1
cmp byte [ebp - 0x21], 0
jne 0x705250
mov eax, 0x705a40
call fcn.006b4cb8
mov dl, 1
mov al, 3
call fcn.00704260
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x705277
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x70533a
xor edx, edx
push ebp
push 0x7052b2
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x78b7fc]
mov eax, dword [eax]
mov edx, dword [0x78b7fc]
xor ecx, ecx
mov dword [edx], ecx
call fcn.00406a20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7052c1
mov eax, dword [0x78b8f4]
cmp dword [eax], 0
je 0x70531d
xor eax, eax
push ebp
push 0x705304
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x78b8f4]
mov eax, dword [eax]
mov edx, 0x705a9c
call fcn.006f0984
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x70531d
mov eax, dword [0x78bcb4]
mov eax, dword [eax]
mov eax, dword [eax + 0x188]
call fcn.005e8180
ret