Function at 0x470ac5
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.004aa400
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x2c], ecx
call fcn.0043dae7
lea ecx, [ebp + 0x40]
mov dword [esp], 0x4c7580
call fcn.0044cd74
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x78]
xor eax, eax
pop ecx
xor ecx, ecx
mov word [ebp + 0x54], cx
lea edi, [ebp + 0x56]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x190c]
mov dword [ebp + 0x68], eax
xor eax, eax
mov dword [ebp + 0x4c], ecx
lea edi, [ebp + 0x50]
stosd dword es:[edi], eax
mov dword [ebp + 0x38], ecx
lea edi, [ebp + 0x3c]
mov word [ebp - 0x190c], cx
stosd dword es:[edi], eax
mov byte [ebp + 0x66], al
mov byte [ebp + 0x6f], al
mov byte [ebp + 0x67], al
mov ax, word [esi]
xor bl, bl
cmp ax, 0x2d
mov dword [ebp + 0x28], ecx
mov cl, 0x2a
jne 0x470b4a
mov cl, al
mov edi, dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
movsx ecx, cl
movzx eax, ax
cmp ecx, eax
mov dword [ebp + 0x34], ecx
jne 0x470bc1
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c757c
call fcn.00445fa6
add esp, 0xc
test al, al
je 0x470b78
mov bl, 1
jmp 0x470ba1
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c72f4
call fcn.00445fa6
add esp, 0xc
test al, al
je 0x470bae
push 0x4d7d48
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push 0x4d801c
call edi
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x34], eax
je 0x470b5d
jmp 0x470bb1
mov esi, dword [ebp + 0x78]
test bl, bl
je 0x470bc1
lea eax, [ebp + 0x4c]
push eax
call fcn.00442250
pop ecx
jmp 0x470bc7
lea eax, [ebp + 0x4c]
push eax
call edi
movzx eax, word [esi]
cmp dword [ebp + 0x34], eax
jne 0x470dc4
push 4
pop ebx
push ebx
lea edi, [esi + 2]
push edi
push 0x4c7574
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470c13
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00450152
test eax, eax
pop ecx
pop ecx
jg 0x470db5
mov esi, 0x80070057
jmp 0x47134a
push ebx
push edi
push 0x4c756c
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470c66
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00450152
test eax, eax
pop ecx
pop ecx
jle 0x470c09
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x50]
push 0
add eax, 0xb6109100
push 0x989680
adc ecx, 2
push ecx
push eax
call fcn.004aa130
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x470db5
push 7
push edi
push 0x4c7564
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470c80
mov byte [ebp + 0x48], 1
jmp 0x470c98
push 6
push edi
push 0x4c755c
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470cdf
mov byte [ebp + 0x48], 0
movsx eax, byte [ebp + 0x48]
push dword [ebp + 0x48]
lea eax, [esi + eax*2 + 0xe]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044ab09
add esp, 0xc
test eax, eax
jle 0x470c09
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
call dword [sym.imp.KERNEL32.DLL_SystemTimeToFileTime]
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.KERNEL32.DLL_LocalFileTimeToFileTime]
jmp 0x470dab
push 5
push edi
push 0x4c7554
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470cf9
mov byte [ebp + 0x48], 1
jmp 0x470d10
push ebx
push edi
push 0x4c754c
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x470d46
mov byte [ebp + 0x48], 0
movsx eax, byte [ebp + 0x48]
push dword [ebp + 0x48]
lea eax, [esi + eax*2 + 0xa]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044ab09
add esp, 0xc
test eax, eax
jle 0x470c09
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call dword [sym.imp.KERNEL32.DLL_SystemTimeToFileTime]
jmp 0x470dab
push ebx
push edi
push 0x4c7544
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x470d5f
mov byte [ebp + 0x66], 1
jmp 0x470dab
push 6
push edi
push 0x4c753c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x470d79
mov byte [ebp + 0x6f], 2
jmp 0x470dab
push 5
push edi
push 0x4c7534
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x470d93
mov byte [ebp + 0x6f], 1
jmp 0x470dab
push 2
push edi
push 0x4c7530
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x470dab
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
pop ecx
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x34], eax
je 0x470bd6
xor edi, edi
cmp word [esi], di
je 0x470df3
lea eax, [ebp + 0x78]
push eax
call fcn.00405615
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.0044407f
mov ecx, dword [ebp + 0x2c]
push edi
lea eax, [ebp + 0x40]
push eax
call fcn.00402eb0
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x78]
pop ecx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x78], esi
call dword [sym.imp.KERNEL32.DLL_FileTimeToLocalFileTime]
cmp byte [ebp + 0x66], 0
lea eax, [ebp + 0x4c]
jne 0x470e1d
lea eax, [ebp + 0x38]
lea ecx, [ebp + 0x54]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_FileTimeToSystemTime]
cmp word [esi], di
mov esi, dword [sym.imp.USER32.DLL_wsprintfW]
je 0x471267
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x471259
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x471259
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x470e6a
mov word [ebx], 0x20
inc ebx
inc ebx
mov dword [ebp + 0x68], ebx
or edi, 0xffffffff
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c752c
call fcn.00445f31
add esp, 0xc
test al, al
je 0x470ec3
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.004aa080
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.00497eb9
and dword [ebp + 0x30], 0
xor eax, eax
lea edi, [ebp + 0x34]
stosd dword es:[edi], eax
add esp, 0xc
lea eax, [ebp + 0x30]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
jmp 0x47123b
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c7524
call fcn.00445f31
add esp, 0xc
test al, al
je 0x470f0f
and dword [ebp - 0x124], 0
push 0x2a
pop ecx
xor eax, eax
lea edi, [ebp - 0x120]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.DLL_GetTimeZoneInformation]
mov eax, dword [ebp - 0x124]
push 0xffffffffffffffc4
pop ecx
cdq
idiv ecx
cdq
push edx
push eax
push ebx
jmp 0x47118a
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c7520
call fcn.00445f31
add esp, 0xc
test al, al
je 0x470f31
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push ebx
jmp 0x4711bd
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c7518
call fcn.00445f31
add esp, 0xc
test al, al
je 0x470f4e
call fcn.004422f1
jmp 0x470f69
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c750c
call fcn.00445f31
add esp, 0xc
test al, al
je 0x470f6d
call fcn.00442376
push edx
push eax
jmp 0x470f2b
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c7508
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x471229
or edi, 0xffffffff
push 0x4c7504
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.00443b8a
test al, al
pop ecx
jne 0x471229
push edi
mov eax, ebx
push eax
push 0x4c7500
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x471223
push 0x4c74fc
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x471223
push edi
mov eax, ebx
push eax
push 0x4c74f8
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x47121d
push 0x4c74f4
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x47121d
push edi
mov eax, ebx
push eax
push 0x4c74f0
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x471217
push 0x4c74e8
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x471217
push edi
mov eax, ebx
push eax
push 0x4c5d04
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x471211
push 0x4c74e4
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x471211
push edi
mov eax, ebx
push eax
push 0x4bde40
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x47120b
push 0x4c74e0
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x47120b
push edi
mov eax, ebx
push eax
push 0x4c1acc
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x471205
push 0x4c74dc
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x471205
push edi
mov eax, ebx
push eax
push 0x4c74d8
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x4711ff
push 0x4c74d0
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x4711ff
push edi
mov eax, ebx
push eax
push 0x4c74cc
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x4711e4
push 0x4c74c8
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x4711e4
push edi
mov eax, ebx
push eax
push 0x4c74c4
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x4711e0
push 0x4c74bc
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x4711e0
push edi
mov eax, ebx
push eax
push 0x4c74b8
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x4711d0
push 0x4c74b4
mov eax, edi
call fcn.00443b8a
test al, al
pop ecx
jne 0x4711d0
push edi
mov eax, ebx
push eax
push 0x4c74ac
call fcn.00445f31
add esp, 0xc
test al, al
je 0x471194
push dword [0x4d7d44]
push dword [0x4d7d40]
push dword [ebp + 0x68]
call fcn.00497eb9
jmp 0x471238
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c74a4
call fcn.00445f31
add esp, 0xc
test al, al
je 0x4711c4
lea eax, [ebp + 0x44]
push eax
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
push dword [ebp + 0x68]
call fcn.00497ed3
jmp 0x471238
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
pop ecx
jmp 0x47123b
lea edi, [ebp + 0x54]
call fcn.00442170
push eax
push 0x4bdab8
jmp 0x471233
push 1
jmp 0x4711e6
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.0044220c
push eax
push 0x4bdab8
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x47123b
movzx eax, word [ebp + 0x62]
jmp 0x47122d
movzx eax, word [ebp + 0x60]
jmp 0x47122d
movzx eax, word [ebp + 0x5e]
jmp 0x47122d
movzx eax, word [ebp + 0x5c]
jmp 0x47122d
movzx eax, word [ebp + 0x58]
jmp 0x47122d
movzx eax, word [ebp + 0x5a]
jmp 0x47122d
movzx eax, word [ebp + 0x56]
jmp 0x47122d
movzx eax, word [ebp + 0x54]
push eax
push 0x4bd214
push dword [ebp + 0x68]
call esi
add esp, 0xc
mov edi, dword [ebp + 0x68]
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2]
lea ecx, [ebp - 0x19c]
cmp eax, ecx
mov dword [ebp + 0x68], eax
jb 0x470e46
cmp word [ebp - 0x190c], 0
jne 0x471347
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x471293
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.004ac8d0
push eax
lea eax, [ebp - 0x78]
push 0x4c7494
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x4712cc
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x58]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push 0x4c7460
jmp 0x471336
cmp byte [ebp + 0x6f], 1
jne 0x471305
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x58]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push 0x4c742c
jmp 0x471336
movzx eax, word [ebp + 0x58]
push eax
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push 0x4c73d8
lea eax, [ebp - 0x190c]
push eax
call esi
add esp, 0x2c
jmp 0x470e37
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.00443666
lea ecx, [ebp + 0x40]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8